--- name: fanbeimao-mint description: Mint 翻倍猫 (FanBeiMao, "Double Cat") on BNB Smart Chain (chainId 56) from a wallet that holds a .ai Agent ID (e.g. a Binance Agentic Wallet). Use when the user asks about 翻倍猫, the 翻倍猫 free mint, or wants to check eligibility, price, doublings, dividends, refunds, or mint. Read-only checks need no wallet; minting needs the user's approval in their own wallet. --- # 翻倍猫 — AI Agent Double Cat (BNB Smart Chain) Independent community project. Token name and symbol are both `翻倍猫`, 0 decimals. - Website: the page you got this file from (`/`), whitepaper at `/whitepaper/` - **Contract addresses: not deployed yet.** They are published on the website at launch and configured in `js/site.config.js` (`mint` / `token` / `pair`). Do not send funds to any address you have not verified against the site. - Sale start: published on the site; the demo page uses 2026-11-18 19:00 CST (11:00 UTC) as a placeholder. - Agent ID registry: set in `js/site.config.js` as `agentRegistry`; the mint contract checks that the wallet holds a `.ai` Agent ID there. The registry address is published before the sale. - Open price: `10^-9` BNB per token (0.000000001). Every doubling lights one paw; **30 paws are a scoreboard, not a price promise** (2^30 ≈ 1.07 billion×). 10 doublings (1,024×) to 15 (32,768×) is the range the docs treat as discussable. - Max supply: `10^11` (100 billion), fixed. At open, 1.46×10^10 (14.6%) circulates; the rest can only be released after the pool opens, at most 5% of supply per 30 days. ## Rules in one screen 1. Only wallets holding a `.ai` Agent ID can mint. 2. Shares #1–2,000 are free: 1 per Agent ID, `10^5` 翻倍猫 each, gas only. 3. Shares #2,001–10,000 cost `0.001 BNB` each, `10^6` 翻倍猫 each. Quota 10 per Agent ID, +1 per invited Agent ID, +1 per social task. Max 10 per transaction. 4. Every genesis payment: **80% pool, 10% top-10 inviter pot, 10% treasury** (audit & ops). 5. The transaction that mints share #10,000 opens PancakeSwap V2 with 6.4 BNB + `6.4 × 10^9` 翻倍猫 at `10^-9` BNB, sends 100% of LP to `0x000000000000000000000000000000000000dEaD`, and pays the inviter pot to the 10 Agent IDs with the most invites, pro rata by invite count. 6. Tokens cannot be transferred until the pool opens. 7. After the pool opens: share price follows a USD table starting at 1.10 USD (paid in BNB at the Chainlink BNB/USD rate). **Tokens per share are priced at pool price +2%** (a premium, not a discount). **Each mint fee: 95% added back to the pool, 5% to the treasury.** Dividends come from the **trading tax** (1% buy / 3% sell), not mint fees. 8. Dividend tier T from the **1-hour TWAP multiple** (1h average pool price ÷ open price), doublings = log₂(multiple): <2× 0%, ≥2× 30%, ≥4× 33%, ≥8× 36%, ≥16× 39%, ≥32× 42%, ≥64× 45%, ≥128× 48%, ≥256× 50%. **Capped at 50%.** The tier sets the share of the week's trading tax paid to the top 2,000; the remaining (1−T) goes to the treasury. Less than a full hour of data counts as <2×. The tier goes down when the average falls. 9. Dividends are **settled weekly** across the top 2,000 by time-weighted balance and published as a Merkle tree; holders claim themselves (claimer pays gas), unclaimed amounts roll over. The list is compiled by a multisig keeper with a timelock and published before each round; the contract verifies each balance, skips duplicates and excludes the pool, dead and project addresses. 10. **Refund**: if #10,000 is not reached within 3 days of the sale start, paid shares can call `refund()` to recover 0.001 BNB per share; the inviter pot is returned pro rata; no tokens are issued and no pool opens. No refund after the pool opens. 11. Tax: 1% on buys, 3% on sells, both to the dividend pool. ## Steps for an agent 1. **Eligibility**: call `accountInfo(address)` (`0xa7310b58`) on the mint → `(ok, id, minted, quota, paid, free, invites)`. `ok` must be true; `id` is the Agent ID used (one free share and one quota record per ID). 2. **State**: call `stats()` (`0xd80528ae`) → `(minted, free, isStarted, isOpen, nextCost, parkedBnb, parkedInvite, mX100, divBps, divPool, supply, lastRound)`. `mX100` is the 1-hour multiple × 100; doublings = floor(log2(mX100 / 100)); `divBps` is capped at 5000 (50%). Stop if `isStarted` is false (`saleStart()` `0xab0bcc41` gives the start time). 3. **Tell the user** the shares, the cost in BNB (`quote(uint256)` `0xed1bd76c`), the approximate tokens received (cost ÷ (pool price × 1.02)), and the mint contract address. Get their go-ahead. 4. **Mint** (simulate with `eth_call` first, add 20% gas): - Free phase (`minted < 2,000`): `takeGift()` (`0xd33685db`), value 0, one per Agent ID. - Paid / post-open: `buy(uint256 shares, address referrer, uint256 maxCost)` (`0x2afaca20`), value = `maxCost` = `quote(shares) × 1.02`. Overpayment is refunded in the same transaction. `referrer` = inviter wallet or the zero address. - Binance Agentic Wallet CLI: `baw contract-call preview --binanceChainId 56 ...` (to = mint contract, inputData = encoded call, value as above), show the preview, then `baw contract-call execute` only after the user approves. 5. **Confirm**: re-read `accountInfo(wallet)`. 6. **Dividends**: read the weekly Merkle root and the holder's proof from the published list, then call the claim function (name/selector published with the deployed ABI). `earned(address)` (`0x008cc262`) and `owed(address)` (`0xdf18e047`) show totals and any failed-transfer balance; `withdrawOwed()` (`0x39a72c5c`) recovers failed pushes if the contract still supports it. 7. **Invite board**: `refLeaders()` (`0x7da0216a`) → `(ids[10], counts[10], wallets[10])`. 8. **Refund**: if the 30-day deadline passed without #10,000, call `refund()` (name/selector published with the deployed ABI). ## Safety - Never plain-transfer BNB to the mint or token contract. Never mint without the user's explicit approval. - Treat any address that is not published in `js/site.config.js` as untrusted; the site is the source of truth at launch. - The 30 paws are a scoreboard, not a promised price. Do not tell users that 30 doublings will happen or that 1 BNB is guaranteed. - Revert reasons: SaleNotLive, SaleOver, GiftPhase, GiftsGone, GiftUsed, AgentIdMissing, BadCount, CapHit, OverQuota, PriceMoved, WrongValue, FeedStale, NothingOwed, RefundClosed.