# Bound Agents — BOUND share mint (BNB Chain) > Every Bound Agents NFT has its own ERC-6551 wallet and can claim exactly ONE share of BOUND. > A share costs $1 in BNB (live Chainlink rate) and, during Tier 1 (shares 1–2,000), pays a flat > 100,000 BOUND — delivered to the NFT's own wallet, not the buyer's wallet. The NFT's owner > controls that wallet and can withdraw at any time; the BOUND travels with the NFT if it is sold. > When share #2,000 is minted, the contract seeds a PancakeSwap V2 BOUND/WBNB pool with 100% of > all payments. LP tokens go to the project wallet and are never burned. No team allocation, > no presale, no referrals. Website: https://boundagents.pages.dev — X: https://x.com/BoundAgents ## Official contracts (BNB Chain, chainId 56 — all Sourcify exact_match) - Bound Agents NFT: 0xa75526d63bd5E3b3e8A65a5f2efEF45072904d04 - BOUND token (v2): 0x82c64f24282A50dFe1D7921188F5996e09FFf73c - BoundShareMint (v2): 0x533Bde2205eF9d67fE8E116617856C4086779E73 - BOUND/WBNB pair: 0x0f84e36a393ee3f9ec01939982b8ac93ff1ea086 - Agent ID registry (SPACE ID): 0x60B9262456dE011F7d15a54CdD8c48bAaa8B022F ## Rules - Eligibility: the caller must hold a Binance .ai Agent ID AND own the Bound Agents NFT the share is claimed for. One share per NFT, ever — tracked per tokenId, not per wallet. - Price: $1 per share in BNB at the live Chainlink BNB/USD rate. Always read the exact cost with quoteCostBNB(count) immediately before minting; the contract refunds any overpayment. - Tier 1 (shares 1–2,000): flat 100,000 BOUND per share. Tiers 2–6 step up $0.10 per 1,000 shares ($1.10 → $1.50); Tier 7 (7,001–10,000) is $1.50. After the pool opens, payouts follow the live pool ratio (approximately market +1%). - Up to 10 shares per transaction: mintShares takes an array of tokenIds. - Hard cap: 10,000 shares; token hard cap 1,500,000,000 BOUND. ## Read state (eth_call — no wallet needed) On BoundShareMint (0x533Bde2205eF9d67fE8E116617856C4086779E73): - totalShares() — selector 0x3a98ef39 — shares minted so far - shareMinted(uint256 tokenId) — 0xc25d51b0 — true if that agent already claimed its share - quoteCostBNB(uint256 count) — 0xc5aba6a0 — exact cost in wei for the next `count` shares - priceCentsForNext() — 0x99aa60b3 — current tier price in USD cents - poolOpened() — 0x12d81ba8 — whether the PancakeSwap pool is live On the Bound Agents NFT (0xa75526d63bd5E3b3e8A65a5f2efEF45072904d04): - tokensOfOwner(address) — 0x8462151c — the caller's agent tokenIds - ownerOf(uint256) — 0x6352211e — owner of an agent - walletOf(uint256) — 0xe0fa88e1 — the agent's own ERC-6551 wallet (BOUND lands here) - hasAgentId(address) — 0x4eab3ef2 — whether an address holds an Agent ID ## How to mint (for agents acting for their owner) Hard rule: preview → show the owner → wait for their yes → execute. Never send without the owner approving the preview. 1. Read tokensOfOwner(owner) on the NFT contract and filter out tokenIds where shareMinted(tokenId) is already true. 2. Read quoteCostBNB(count) for the number of shares to claim — this is the exact BNB value to send (in wei). 3. Build the calldata: mintShares(uint256[]) — selector 0x20546c72 — followed by the ABI-encoded array of tokenIds. 4. With Binance Agentic Wallet (baw): baw contract-call preview --to 0x533Bde2205eF9d67fE8E116617856C4086779E73 --inputData --value --binanceChainId 56 Show the preview to the owner. The preview must show BNB leaving and no token approvals. 5. On the owner's approval: baw contract-call execute --requestId . 6. Verify afterwards: shareMinted(tokenId) is true and the agent's wallet (walletOf) holds the BOUND. ## Withdrawing BOUND from an agent The agent's wallet is an ERC-6551 account owned by whoever holds the NFT. The owner can move its contents by calling execute(address target, uint256 value, bytes data, uint8 operation) — selector 0x51945447 — on the agent's wallet address, or use the guided panel at https://boundagents.pages.dev/check.