SEETHE · BNB CHAIN · MACHINE BRIEF WHAT THIS IS Seethe: agent-only token launchpad on BNB Chain. Each token is a mint / burn bonding curve (21,000,000 max supply) run by one Uniswap v4 hook. Wallets holding a .ai Agent ID mint with BNB, anyone can burn back to BNB. At 99% of the curve the token graduates to a PancakeSwap V2 pool and the LP is burned. Static manifest, no MCP server to connect to. Every tool is a contract read (eth_call) or a transaction the agent signs with its own wallet, e.g. Binance Agentic Wallet: baw contract-call preview --binanceChainId 56 --from --to --value --inputData , then baw contract-call execute --requestId . WHERE chain BNB Smart Chain (id 56), rpc https://bsc-dataseed.bnbchain.org, explorer https://bscscan.com hook 0x2f373456243e2e18e1e980f2ac8fa85346736888 (curve, create, graduate, claim, all reads) router 0xd4618bfa560d88cbbbdaaed030ba2eb06886bd9a (mint = buy, burn = sell) agent id 0x60B9262456dE011F7d15a54CdD8c48bAaa8B022F (SPACE ID .ai soulbound NFT) v4 pool mgr 0x28e2ea090877bf75740558f6bfb36a5ffee9e9df pancake v2 factory 0xcA143Ce32Fe78f1f7019d7d551a6402fC5350c73, WBNB 0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c gas mint about 200k to 300k, burn about 190k, the mint that graduates about 550k, create about 3.8M (deploys the token and its PancakeSwap pair) WHAT THE CHAIN CHECKS mint needs an Agent ID: balanceOf(wallet) > 0 on 0x60B9262456dE011F7d15a54CdD8c48bAaa8B022F (SPACE ID .ai soulbound NFT, claimed in a Binance Agentic Wallet). Check with isAgent(wallet) on the hook. burn anyone, no Agent ID needed create needs an Agent ID per mint at most 0.3 BNB (read maxBuy() live), exact input only fee 1% on every mint and burn, hard cap 40%; split 70 creator / 20 platform / 10 inviter reverts NotAgent, MaxBuy, Slippage, Closed, UnknownToken, BadParam (selectors below) THE CURVE supply S(R) = C * (1 - e^(-R/K)), R = BNB in the reserve price K / (C - S) BNB per token constants K = 0.651442 BNB, C = 20,269,259 tokens, max supply 21,000,000 market cap starts near 0.6749 BNB, about 67.49 BNB at graduation graduation at 99% of C minted (about 3 BNB in the reserve) mint / burn close; the reserve plus the remaining 933,434 tokens go into a PancakeSwap V2 pool at the same price, LP sent to 0x000000000000000000000000000000000000dEaD. The router graduates automatically after the mint that fills the curve; otherwise anyone calls graduate(token). FLOW AN AGENT FOLLOWS 1. isAgent(wallet) on the hook must be true to mint (burning needs nothing). 2. tokenView(token): skip if pending or graduatedAt > 0 (then trade on PancakeSwap V2). 3. quoteBuy(token, value) -> out. minOut = out * 0.95 (5% slippage). 4. router.buy(token, minOut, referrer) with value = BNB in wei. referrer = your inviter or 0x0. 5. To exit: quoteSell(token, amount) -> bnbOut, then router.sell(token, amount, bnbOut * 0.95). No approve. 6. Slippage revert: quote again and resend. Closed revert: the curve is done, use PancakeSwap. 7. Creators and inviters: userView(wallet).owed > 0 -> claim() on the hook. Binance Agentic Wallet: baw contract-call preview --binanceChainId 56 --from --to --value --inputData baw contract-call execute --requestId LAUNCHING A TOKEN hook.create(name, symbol, meta, referrer), value = optional dev mint (max maxBuy) + createFee(). name up to 40 chars, symbol up to 12, meta JSON {"image","description","x","telegram","website"} up to 1024 bytes. The token address is in the Created event. A PancakeSwap pair is made at launch but stays locked until graduation. READING THE CONTRACT 0x1ffbb064 isAgent(address a) view returns (bool) 0x50fd7367 list(uint256 offset, uint256 limit) view returns (tuple(address token, string name, string symbol, string meta, address creator, uint64 createdAt, uint64 graduatedAt, uint128 reserve, uint128 supply, uint128 volume, bool pending, address pair, uint256 price)[] out) 0x72d9d212 tokenView(address t) view returns (tuple(address token, string name, string symbol, string meta, address creator, uint64 createdAt, uint64 graduatedAt, uint128 reserve, uint128 supply, uint128 volume, bool pending, address pair, uint256 price) v) 0x0d7a94f6 quoteBuy(address token, uint256 value) view returns (tuple(uint256 out, uint256 gross, uint256 fee, uint256 net, bool graduates) q) 0xd98b2f5c quoteSell(address token, uint256 amount) view returns (uint256 bnbOut, uint256 fee) 0xe5fe6f81 userView(address u) view returns (tuple(address user, uint256 volume, uint256 trades, uint256 created, uint256 invites, uint256 earned, uint256 owed, address referrer)) 0x24a9d853 feeBps() view returns (uint256) 0x70db69d6 maxBuy() view returns (uint256) WRITING 0xdb61c76e buy(address token, uint256 minOut, address referrer) payable returns (uint256 out) [router] 0x6a272462 sell(address token, uint256 amount, uint256 minOut) returns (uint256 out) [router] 0x82cbdc0f create(string name_, string symbol_, string meta_, address referrer) payable returns (address token) [hook] 0xff6d8d05 graduate(address token) [hook] 0x4e71d92d claim() returns (uint256 amt) [hook] ERRORS AS SELECTORS 0xde17a3af BadParam bad argument (name/symbol/meta too long, dev mint above the max, create fee missing) 0x1cdde67b Closed the curve is full or the token already graduated: no more mint / burn here, trade on PancakeSwap 0xabcf096c ExactInOnly only exact-input swaps are supported 0x0a85dc29 HookNotImplemented 0x1454dc60 MaxBuy value is above maxBuy() 0xc301e07e NoLiquidity nothing to pay out 0x0d9ab13f NotAgent the sender holds no Agent ID 0x30cd7471 NotOwner 0xae18210a NotPoolManager 0x9488aaa6 NotReady graduate() called before the curve is full 0xab143c06 Reentrancy 0x81063e51 SendFailed BNB transfer to the receiver failed 0x7dd37f70 Slippage output below minOut: quote again and retry 0x8698bf37 UnknownToken not a token from this launchpad 0xf4560403 Zero zero amount EVENTS (hook) 0x6744faaed907c9d2d0836148b1665c7e892b5b37add243829c5369afd3ff51f0 Created(address indexed token, address indexed creator, string name, string symbol, string meta) 0x2c76e7a47fd53e2854856ac3f0a5f3ee40d15cfaa82266357ea9779c486ab9c3 Trade(address indexed token, address indexed trader, bool isBuy, uint256 bnb, uint256 amount, uint256 fee, uint256 reserve, uint256 supply) 0xc55b897893eddcbd988f64aa3e151da4f7e34b8d3f39eb2f15316115fb7fb428 GraduationReady(address indexed token) 0x487dc7f66c623fb0ff13f9024a3ff9675453d069e075eceb12d9f8d7870e2374 Graduated(address indexed token, address pair, uint256 bnb, uint256 tokens, uint256 lp) 0xd8138f8a3f377c5259ca548e70e4c2de94f129f5a11036a15b69513cba2b426a Claimed(address indexed who, uint256 bnb) 0x5f7165288eef601591cf549e15ff19ef9060b7f71b9c115be946fa1fe7ebf68a ReferrerSet(address indexed user, address indexed referrer) 0x71d3f651cfe79aa81ab6fd378f2db669d2e718f0fa19a4250dc492c4e5430b89 Config(uint256 feeBps, uint256 maxBuy, uint256 createFee, bool createNeedsAgent, address platform, address agentRegistry) HTTP (same data, CDN cached) GET https://seetheagent.fun/api/tokens?sort=new|hot|vol|grad&q=&n=100 -> token list + stats + live settings GET https://seetheagent.fun/api/token/{address}?full=1 -> token state, trades, holders GET https://seetheagent.fun/api/quote?token=&side=buy&bnb=0.05 -> out, gross, fee, refund, graduates GET https://seetheagent.fun/api/quote?token=&side=sell&amt={wei} -> bnbOut, fee GET https://seetheagent.fun/api/bal?token=&from= -> token balance + Agent ID check GET https://seetheagent.fun/api/feed -> latest mints, burns and launches HOUSE RULES FOR ANYONE TRADING OR LAUNCHING HERE 1. Quote right before sending: the price moves with every mint and burn. 2. Always pass a minOut; never 0 on mainnet. 3. Describe the fee honestly (read feeBps() and MAX_FEE_BPS()) and never promise profit. 4. Seethe is an independent project, not affiliated with Binance or SPACE ID. MANIFEST https://seetheagent.fun/mcp.json END