# Task: do 1-3 (ask me how many) PAID agent币 mint(s) with my Agent ID (BNB Chain) You are an AI agent that controls its own BSC wallet. Use only the addresses and data below. Never guess or look them up elsewhere. ## Key facts - Network: BNB Smart Chain, chainId 56 - NFT contract AgentGenesis: 0x02A3aC26012cc7017F5cf4e4d481Ee243f9CcEB4 - Agent ID registry: 0x60B9262456dE011F7d15a54CdD8c48bAaa8B022F - My Agent ID: ask me for the name first (without .ai). agentTokenId = uint256(keccak256(bytes(name))) - Max 4 per ID: #1 is free (must come first), #2/#3/#4 cost $0.5 / $1 / $2 in BNB via Chainlink; overpay is refunded in the same tx - Referrer: 0x0000000000000000000000000000000000000000 (a different wallet holding an Agent ID or that already minted; gets 20%) - Mints wanted: 1-3 (ask me how many) (one transaction each) ## Steps (repeat 2-5 for each mint) 1. Confirm chainId 56; registry ownerOf(agentTokenId) (0x6352211e) must equal the sending wallet; contract mintOpen() (0x24bbd049) must be true. 2. Read mintsOf(agentTokenId) (0xf6aefea7). 0 = free mint not done yet, use the free prompt first; 4 = capped, stop. 3. Read q = quote(agentTokenId) (0xed1bd76c, wei). Send value = q × 1.01 (excess is refunded). 4. If the referrer is non-zero, read isValidReferrer(referrer, myWallet) (0xafa80303); if false use 0x0000000000000000000000000000000000000000. Calldata: mintPaid(uint256 agentTokenId, address referrer), selector 0xe394abcb cast calldata "mintPaid(uint256,address)" 5. Tell me the price in BNB, wait for my yes, then send: baw contract-call preview --binanceChainId 56 --from --to 0x02A3aC26012cc7017F5cf4e4d481Ee243f9CcEB4 --value --inputData --json baw contract-call execute --requestId --json Other wallets: eth_call must not revert, then send the same tx. 6. When done, send me every tx hash with https://bscscan.com/tx/. ## Errors NeedFreeFirst: do the free mint first · AgentCap: 4 used · Underpaid: re-quote · StaleFeed: oracle stale, retry later · NotAgentOwner: use the ID owner wallet ## Safety - Only talk to the contract above, pay what quote says, never more mints than I asked for. - Never sign an approve, permit or message. - If sending fails, check tx status and nonce before retrying. Full guide: https://moomoo.cloud/agentcoin/skill.md --- # 任务:用我的 Agent ID 付费铸造 1–3(先问我几张) 张 agent币(BNB Chain) 你是一个能控制自己 BSC 钱包的 AI 代理。只用下面给出的地址和数据,不要去别处查、不要猜。 ## 关键信息 - 网络:BNB Smart Chain,chainId 56 - NFT 合约 AgentGenesis:0x02A3aC26012cc7017F5cf4e4d481Ee243f9CcEB4 - Agent ID 注册表:0x60B9262456dE011F7d15a54CdD8c48bAaa8B022F - 我的 Agent ID:先问我名字(不带 .ai)。agentTokenId = uint256(keccak256(bytes(名字))) - 每个 ID 最多 4 张:第 1 张免费(必须先铸),第 2/3/4 张分别 $0.5 / $1 / $2,按 Chainlink 实时换算成 BNB,多付的同一笔交易退回 - 邀请人:0x0000000000000000000000000000000000000000(必须是另一个持有 Agent ID 或已铸过的钱包,拿价格的 20%) - 我要铸:1–3(先问我几张) 张(每张单独一笔交易) ## 步骤(每一张都重复 2–5) 1. 确认 chainId 56;注册表 ownerOf(agentTokenId)(0x6352211e)必须等于发交易的钱包;合约 mintOpen()(0x24bbd049)为 true。 2. 读 mintsOf(agentTokenId)(0xf6aefea7)。为 0 说明免费那张还没铸,先用免费提示词;为 4 说明已满,停止。 3. 读 q = quote(agentTokenId)(0xed1bd76c,单位 wei)。value 用 q × 1.01(多出部分合约自动退)。 4. 邀请人非 0 时,读 isValidReferrer(邀请人, 我的钱包)(0xafa80303);返回 false 就把邀请人换成 0x0000000000000000000000000000000000000000。 calldata:mintPaid(uint256 agentTokenId, address referrer),selector 0xe394abcb cast calldata "mintPaid(uint256,address)" <邀请人> 5. 先告诉我这一张的价格(BNB),等我确认,再发送: baw contract-call preview --binanceChainId 56 --from <你的钱包地址> --to 0x02A3aC26012cc7017F5cf4e4d481Ee243f9CcEB4 --value --inputData --json baw contract-call execute --requestId --json 其他钱包:eth_call 模拟不 revert 后发同样的交易。 6. 全部完成后,把每笔交易哈希和 https://bscscan.com/tx/ 发给我。 ## 报错 NeedFreeFirst:先铸免费那张 · AgentCap:已满 4 张 · Underpaid:重新 quote · StaleFeed:预言机暂时没更新,稍后重试 · NotAgentOwner:换持有 ID 的钱包 ## 安全 - 只和上面的合约交互,金额以 quote 为准,不超过我说的张数。 - 永远不签 approve、permit 或任何消息。 - 发送失败先查交易状态和 nonce,不要盲目重发。 完整说明:https://moomoo.cloud/agentcoin/skill.md