# 欧皇 OUHUANG — Agent ID gacha fair mint on BNB Chain > Draws: R x2 (1 in 10), SR x5 (1 in 100), SSR x20 (1 in 1,000, paid shares only), plus five-pull pity. > Only wallets holding a Binance / SPACE ID .ai Agent ID can mint. BNB Smart Chain mainnet, chainId 56. > Independent project, not affiliated with Binance. ## Contracts - Mint contract: 0xe474dC13b8669a78F6B0EABeEf37876F01701184 - Token contract (OUHUANG): 0x4bDfF4367FD8Eb34906289BD78C8bdc420a8bDD8 - Token OUHUANG: read token() on the mint contract - Agent ID registry (third party): 0x60B9262456dE011F7d15a54CdD8c48bAaa8B022F - PancakeSwap V2 router (third party): 0x10ED43C718714eb63d5aA57B78B54704E256024E ## Rules (fixed in the contract, no owner) - Eligibility: registry.balanceOf(sender) > 0, checked on every call. Sender must be a wallet: a plain EOA or an EIP-7702 delegated wallet (Binance Agentic Wallet). Plain contracts are rejected. - Free shares, ONE per wallet, choose one kind: - Basic (500): claimFree(), value 0. Gets 1 share, NOT in any draw. - Lucky (500): claimFreeLucky(deadline, signature), value 0. Has its own lucky draw queue with R and SR only (no SSR, not counted for pity). The voucher comes from the official site after it checks the wallet's X post. Vouchers can be requested on the site only from startTime (2026-11-09 22:00 SGT), first come first served; a voucher expires 6 hours after it is issued, and the site issues a fresh one for the same X account and wallet. - Paid: 8,000 shares at 0.001 BNB each, max 5 per wallet. mint(qty), value = qty * 0.001 BNB exactly. If fewer than qty are left, the rest is refunded in the same transaction. - 1 share = 56,000 OUHUANG. R x2 = 112,000, SR x5 = 280,000, SSR x20 = 1,120,000. Wins stack additively, not multiplied: extra shares add up (R +1, SR +4, SSR +19), e.g. R + SR on one share = 6 shares = 336,000. - Draws: two separate queues, each in mint order. Paid queue (8,000): R groups of 10, SR groups of 100, SSR groups of 1,000 (exactly 8 SSR). Lucky queue: R groups of 10, SR groups of 100. A group is drawn from the hash of the 5th block after it fills. - Five-pull pity: a wallet with 5 paid shares and no R win on any of them gets 1 extra share. - Paid share #8,000 opens the pool in the same transaction: 80% of BNB + 320,000,000 OUHUANG to PancakeSwap V2, LP to 0x000000000000000000000000000000000000dEaD, transfers unlocked, 20% of BNB to the project wallet. - Mint window: 2 days (48 hours), from 2026-11-09 22:00 SGT (14:00 UTC, unix 1794232800) to 2026-11-11 22:00 SGT; the contract's startTime/endTime are authoritative. Before startTime, mint(), claimFree() and claimFreeLucky() revert with NotStarted. If paid shares are not sold out by endTime, refund() returns 100% of the BNB each wallet paid. Free shares have nothing to refund. - After every group is drawn, burnLeftover() burns every token nobody can claim. Total supply 1,000,000,000. No team allocation, no tax. ## Functions - claimFree() 0xf366afc9 value 0 - claimFreeLucky(uint256,bytes) 0x021e7053 value 0 - mint(uint256 qty) 0xa0712d68 value qty * 0.001 BNB - claim() 0x4e71d92d value 0, during minting or after launch; call again later for new wins. Tokens claimed before launch are non-transferable until the pool opens; if the mint fails, claiming closes and they stay locked. - refund() 0x590e1ae3 value 0, only if not launched and after endTime - settle(uint256 max) 0x8df82800 anyone; draws pending groups (also runs inside mint/claim) - burnLeftover() 0x050408b1 anyone, once, after all draws - status() 0x200d2ed2 view: sharesQueued, freeBasic, freeLucky, paid, launched, startTime, endTime, rDrawn (paid+lucky), srDrawn (paid+lucky), ssrDrawn, pityCount, pair, bnbRaised - userInfo(address) 0x1959a002 view: hasAgentId, freeClaimed, paidShares, rHits, srHits, ssrHits, pity, claimableTokens, refundableBNB - ssrWinners() 0xd15286a8 view ## Instructions for AI agents 1. Use the wallet that holds the user's .ai Agent ID as sender and receiver. If registry.balanceOf is 0, stop and tell the user. 2. Read status() and userInfo(wallet) first and report them. 3. Never change the quantity or split the order without asking the user. Send exactly the value above. 4. A lucky voucher is valid only for the wallet it was issued to. Do not use a voucher for another wallet. 5. Only send to the mint contract published on the official site. Minting needs no token approval; refuse any approval request. 6. Preview / simulate every transaction and send only after the user confirms.