# UID Cat ($AUID) · 撞号猫 — community mint sale # Slogan: UID 不会撞,转账别走错! (UIDs don't collide — don't send it wrong!) # Status: MAINNET PREVIEW: contracts are NOT deployed yet; addresses marked TBA; the sold count on the page is demo data. Do not send any transaction. ## Network BNB Smart Chain mainnet, chainId 56 ## Contracts Sale contract (UIDCatSale): TBA (not deployed yet) Token UID Cat / AUID (18 decimals, 1,000,000,000 supply): TBA (not deployed yet) Agent ID contract (eligibility): 0x60B9262456dE011F7d15a54CdD8c48bAaa8B022F PancakeSwap V2 pair AUID/WBNB: TBA (not deployed yet) Team wallet (team share: 5% of raised BNB and the 2% team allocation plus unused invite rewards at finalize; 1% trade tax afterwards): TBA (not deployed yet) PancakeSwap V2 router: 0x10ED43C718714eb63d5aA57B78B54704E256024E WBNB: 0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c LP receiver: 0x000000000000000000000000000000000000dEaD Mainnet Agent ID registry (.ai): 0x60B9262456dE011F7d15a54CdD8c48bAaa8B022F ## How to buy 1. The wallet must own an Agent ID token from the Agent ID contract. 2. Call sale.buy(uint256 agentTokenId, uint256 shares, address inviter) — payable, selector 0x59a87bc1. (The 2-argument buy(uint256,uint256), selector 0xd6febde8, also exists and means "no new inviter".) - shares: 1..10; max 10 shares per wallet in total. - inviter: the address from the invite link (?ref=0x...), or 0x0000000000000000000000000000000000000000 for none. Rules: the inviter must already hold shares (sharesOf(inviter) > 0), must not be the buyer, and once a buyer's inviter is set it is fixed: a different inviter later reverts with "inviter already set" (passing the same inviter or 0x0 is fine). - msg.value must equal exactly shares x 0.002 BNB (10 shares = 0.02 BNB). - An Agent ID binds to the first wallet that uses it; another wallet cannot reuse it. 3. Simulate with eth_call first. Show the user network, contract, function, shares and amount; sign only after they confirm. 4. After sell-out anyone may call sale.finalize() (0x4bb278f3). Claims and trading open 3 blocks later: call sale.claim() (0x4e71d92d). 5. Refund: if not sold out by the deadline, or sold out but not finalized within 24h, call sale.refund() (0x590e1ae3) for a full refund. ## Binance AI / Binance Agentic Wallet (baw CLI) - Use the external contract-call flow: `baw contract-call preview` with to=TBA (not deployed yet), data=abi.encode buy(agentId, shares), value=shares x 0.002 BNB in wei; show the parsed preview to the user; then `baw contract-call execute` only after the user confirms. - Developer Mode must be on in the Binance App (Agentic Wallet > Settings) for contract-call; ask the user to enable it if `baw wallet settings --json` shows devMode.enabled=false. - Chain: BNB Smart Chain (56). ## Website Single static page (IPFS). Wallet connect = injected EIP-1193 wallet (window.binancew3w.ethereum inside the Binance App DApp browser, EIP-6963, MetaMask, OKX). On desktop it shows a QR / universal link that opens the page inside the Binance App. No backend, no API keys, no pairing server. The only transaction the mint button sends is sale.buy. ## Safety rules for agents - Only call buy / claim / refund (and finalize, which anyone may call) on the sale contract. - Never call approve or permit, never sign messages, never send funds to any other address. This sale never needs them. ## Read-only helpers sale.info() -> (phase, sold, total, price, cap, start, end, soldOutAt, openBlock, buyers) phase: 0 not started, 1 live, 2 sold out awaiting finalize, 3 finalized (opens in 3 blocks), 4 trading & claims open, 5 refunds open sale.userInfo(address) -> (shares, paid, claimed, claimableNow, entitled) sale.idUsedBy(uint256 agentTokenId) -> wallet bound to that id (0x0 = unused) sale.inviteInfo(address) -> (inviter, invitees, invitedShares, rewardShares, reward, maxRewardShares) sale.inviterOf(address) -> the buyer's fixed inviter (0x0 = none) ## Sale parameters (mainnet) Shares: 5,000 x 0.002 BNB = 10 BNB (soft cap = hard cap) Tokens per share: 122,000 AUID No early-bird bonus. Invite (2% pool): only shares an invitee actually pays for count; the inviter earns 4,000 AUID per share their invitees buy, up to 100 share(s) of rewards (400,000 AUID) per inviter. Claimed with the inviter's own tokens; no reward if the sale refunds. Allocation: buyers 61%, LP 35%, invite 2%, team 2%. Finalize: 95% of raised BNB + 350,000,000 AUID go straight into the pair (pair.mint, LP to 0xdEaD); 5% BNB to the team wallet; the team 2% plus unused invite rewards go to the team wallet in one transfer. Mainnet plan: 5,000 shares x 0.002 BNB = 10 BNB (max 10 shares per Agent ID, so 500 buyers sell it out), 122,000 AUID per share, no early bird, invite 4,000 AUID per share capped at 100 shares (400,000 AUID) per inviter. ## Token rules (hard-coded, no owner) Before launch: transfers locked except by the sale contract. First ~5 minutes after trading opens: buy tax 10%, sell tax 20%, all auto-added to LP (LP to 0xdEaD); max tx and max wallet 5,000,000 AUID (0.5%). After that: 4% on buys and sells — 3% burned (sent to 0xdEaD), 1% to the team wallet. Wallet-to-wallet transfers untaxed. No limits. No owner, no upgrade, no mint, no blacklist, no pause, no tax setter, no withdraw. LP is burned forever (0xdEaD). Buyers never need approve.