{"openapi":"3.1.0","info":{"title":"SEMA public agent API","version":"1.0.0","description":"BNB Chain NFT Mint discovery and unsigned transaction preparation. Public GET reads only; the owner explicitly confirms transactions in their own wallet."},"servers":[{"url":"https://semabnb.dev"}],"externalDocs":{"description":"Agent workflow and Binance wallet references","url":"https://semabnb.dev/agent.md"},"paths":{"/api/public":{"get":{"operationId":"getDiscovery","description":"Canonical public guides and endpoints.","security":[],"parameters":[],"responses":{"200":{"description":"Successful public read; no transaction is sent.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Invalid input","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Official Agent ID required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Mint closed, sold out or wallet limit reached","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited; respect Retry-After","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Chain or randomness unavailable; do not proceed to payment","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/mint-status":{"get":{"operationId":"getMintStatus","description":"Live global Mint state and the next single-box price. No wallet required.","security":[],"parameters":[],"responses":{"200":{"description":"Successful public read; no transaction is sent.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MintStatus"}}}},"400":{"description":"Invalid input","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Official Agent ID required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Mint closed, sold out or wallet limit reached","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited; respect Retry-After","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Chain or randomness unavailable; do not proceed to payment","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/mint/quota":{"get":{"operationId":"getMintQuota","description":"Lifetime Mint count and remaining quota for a wallet; independent of current Mint availability.","security":[],"parameters":[{"name":"address","in":"query","required":true,"description":"Actual sending wallet","schema":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$"}}],"responses":{"200":{"description":"Successful public read; no transaction is sent.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Invalid input","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Official Agent ID required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Mint closed, sold out or wallet limit reached","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited; respect Retry-After","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Chain or randomness unavailable; do not proceed to payment","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/status":{"get":{"operationId":"getIndexedProgress","description":"Confirmed indexed Mint progress. supply is the fixed cap; minted is the issued count. Not a live readiness check.","security":[],"parameters":[],"responses":{"200":{"description":"Successful public read; no transaction is sent.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Invalid input","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Official Agent ID required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Mint closed, sold out or wallet limit reached","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited; respect Retry-After","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Chain or randomness unavailable; do not proceed to payment","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/stats":{"get":{"operationId":"getIndexedProgressAlias","description":"Compatibility alias of /api/status with the identical response.","security":[],"parameters":[],"responses":{"200":{"description":"Successful public read; no transaction is sent.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Invalid input","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Official Agent ID required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Mint closed, sold out or wallet limit reached","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited; respect Retry-After","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Chain or randomness unavailable; do not proceed to payment","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/config":{"get":{"operationId":"getConfig","description":"Public contracts, feature flags and economics. tokenContract=null means no configured SEMA ERC20.","security":[],"parameters":[],"responses":{"200":{"description":"Successful public read; no transaction is sent.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Invalid input","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Official Agent ID required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Mint closed, sold out or wallet limit reached","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited; respect Retry-After","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Chain or randomness unavailable; do not proceed to payment","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/abi":{"get":{"operationId":"getAbi","description":"Minimal NFT, official Agent ID and USDT ABIs.","security":[],"parameters":[],"responses":{"200":{"description":"Successful public read; no transaction is sent.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Invalid input","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Official Agent ID required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Mint closed, sold out or wallet limit reached","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited; respect Retry-After","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Chain or randomness unavailable; do not proceed to payment","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/agent":{"get":{"operationId":"getIdentity","description":"Read official identity; eligible=false means no usable official ID.","security":[],"parameters":[{"name":"address","in":"query","required":true,"description":"Actual sending wallet","schema":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$"}}],"responses":{"200":{"description":"Successful public read; no transaction is sent.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Invalid input","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Official Agent ID required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Mint closed, sold out or wallet limit reached","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited; respect Retry-After","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Chain or randomness unavailable; do not proceed to payment","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/mint/quote":{"get":{"operationId":"getQuote","description":"Unsigned exact-cost approvals and Mint calldata. No signing, simulation, reservation or broadcast. Re-quote after each approval.","security":[],"parameters":[{"name":"address","in":"query","required":true,"description":"Actual sending wallet","schema":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$"}},{"name":"quantity","in":"query","required":true,"description":"Number of boxes, subject to lifetime quota and remaining supply","schema":{"type":"integer","minimum":1,"maximum":10}}],"responses":{"200":{"description":"Successful public read; no transaction is sent.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Quote"}}}},"400":{"description":"Invalid input","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Official Agent ID required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Mint closed, sold out or wallet limit reached","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited; respect Retry-After","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Chain or randomness unavailable; do not proceed to payment","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/nft":{"get":{"operationId":"getNft","description":"Confirmed owner and on-chain rarity; SEALED means randomness is pending.","security":[],"parameters":[{"name":"tokenId","in":"query","required":true,"description":"NFT number","schema":{"type":"string","pattern":"^(?:[1-9][0-9]{0,3}|10000)$"}}],"responses":{"200":{"description":"Successful public read; no transaction is sent.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Invalid input","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Official Agent ID required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Mint closed, sold out or wallet limit reached","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited; respect Retry-After","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Chain or randomness unavailable; do not proceed to payment","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/nfts":{"get":{"operationId":"getInventory","description":"Confirmed public inventory, ten NFTs per page. Follow nextCursor until null.","security":[],"parameters":[{"name":"address","in":"query","required":true,"description":"Owner wallet","schema":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$"}},{"name":"cursor","in":"query","required":false,"description":"Returned nextCursor","schema":{"type":"string","pattern":"^(?:0|[1-9][0-9]{0,3}|10000)$","default":"0"}}],"responses":{"200":{"description":"Successful public read; no transaction is sent.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Invalid input","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Official Agent ID required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Mint closed, sold out or wallet limit reached","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited; respect Retry-After","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Chain or randomness unavailable; do not proceed to payment","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/market":{"get":{"operationId":"getMarket","description":"Public listings; open=false means trading is disabled.","security":[],"parameters":[{"name":"page","in":"query","required":false,"description":"Page","schema":{"type":"integer","minimum":1,"maximum":9999,"default":1}},{"name":"size","in":"query","required":false,"description":"Page size","schema":{"type":"integer","enum":[12,24,48],"default":24}},{"name":"sort","in":"query","required":false,"description":"Sort","schema":{"type":"string","enum":["price_asc","price_desc","newest","rarity_desc","id_asc"]}},{"name":"rarity","in":"query","required":false,"description":"Rarity","schema":{"type":"string","enum":["all","common","rare","epic","legendary"]}},{"name":"q","in":"query","required":false,"description":"NFT or seller search","schema":{"type":"string","maxLength":80}}],"responses":{"200":{"description":"Successful public read; no transaction is sent.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Invalid input","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Official Agent ID required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Mint closed, sold out or wallet limit reached","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited; respect Retry-After","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Chain or randomness unavailable; do not proceed to payment","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/readiness":{"get":{"operationId":"getReadiness","description":"Operational checks. A 503 response may contain ready=false and checks rather than an error object.","security":[],"parameters":[],"responses":{"200":{"description":"Successful public read; no transaction is sent.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Invalid input","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Official Agent ID required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Mint closed, sold out or wallet limit reached","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited; respect Retry-After","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Chain or randomness unavailable; do not proceed to payment","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/leaderboard":{"get":{"operationId":"getLeaderboard","description":"Public holdings leaderboard; no query parameters or private balance history.","security":[],"parameters":[],"responses":{"200":{"description":"Successful public read; no transaction is sent.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Invalid input","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Official Agent ID required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Mint closed, sold out or wallet limit reached","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited; respect Retry-After","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Chain or randomness unavailable; do not proceed to payment","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/listings":{"get":{"operationId":"getMarketAlias","description":"Compatibility alias of /api/market; identical parameters and response.","security":[],"parameters":[{"name":"page","in":"query","required":false,"description":"Page","schema":{"type":"integer","minimum":1,"maximum":9999,"default":1}},{"name":"size","in":"query","required":false,"description":"Page size","schema":{"type":"integer","enum":[12,24,48],"default":24}},{"name":"sort","in":"query","required":false,"description":"Sort","schema":{"type":"string","enum":["price_asc","price_desc","newest","rarity_desc","id_asc"]}},{"name":"rarity","in":"query","required":false,"description":"Rarity","schema":{"type":"string","enum":["all","common","rare","epic","legendary"]}},{"name":"q","in":"query","required":false,"description":"NFT or seller search","schema":{"type":"string","maxLength":80}}],"responses":{"200":{"description":"Successful public read; no transaction is sent.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Invalid input","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Official Agent ID required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Mint closed, sold out or wallet limit reached","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited; respect Retry-After","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Chain or randomness unavailable; do not proceed to payment","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}}},"components":{"schemas":{"Error":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code"],"properties":{"code":{"type":"string"}}}}},"Transaction":{"type":"object","required":["to","data","value"],"properties":{"to":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$"},"data":{"type":"string","pattern":"^0x[a-fA-F0-9]+$"},"value":{"type":"string","const":"0x0"}}},"Quote":{"type":"object","required":["wallet","quantity","total","approvals","transaction","expiresAt"],"properties":{"wallet":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$"},"chainId":{"type":"integer","const":56},"quantity":{"type":"integer"},"minted":{"type":"integer"},"remaining":{"type":"integer"},"total":{"type":"string","pattern":"^[0-9]+$","description":"Exact BSC USDT cost in 18-decimal raw units"},"expiresAt":{"type":"integer","description":"Unix milliseconds"},"approvals":{"type":"array","items":{"$ref":"#/components/schemas/Transaction"}},"transaction":{"$ref":"#/components/schemas/Transaction"}}},"MintStatus":{"type":"object","required":["minted","supply","remaining","mintOpen","priceUnits","blockNumber"],"properties":{"minted":{"type":"integer","minimum":0,"maximum":10000},"supply":{"type":"integer","const":10000},"remaining":{"type":"integer"},"mintOpen":{"type":"boolean"},"contractMintOpen":{"type":"boolean"},"randomnessReady":{"type":"boolean"},"soldOut":{"type":"boolean"},"priceUnits":{"type":["string","null"]},"priceUSDT":{"type":["string","null"]},"blockNumber":{"type":"string"},"checkedAt":{"type":"string","format":"date-time"}}}}}}