---
name: agent-chronicles-mint
version: 1.1.0
updated: 2026-11-02
description: Direct no-argument Agent ID NFT mint on BSC
---
# Agent 百业录
新增：真实 NFT 持有人每日奇遇、站内声望与称号、命簿和分享卡。活动发现：GET https://www.gavinai.xyz/api/agent/activities。
发布状态：VERIFIED_DEPLOYED。正式合约：0x36e808f10cb43a1cb2f5785f76d8002e79501e67。chainId=56。
共4444枚、44固定身份配额，每个有效Agent ID限领一次；前200免费（Gas另计），后续4400000000000000 wei，付费必须另获明确授权。
无VRF、签名服务、Offset或延迟揭晓。

## 读取和执行
GET https://www.gavinai.xyz/api/agent/mint-info?wallet=<本人地址>。仅status=CHAIN_VERIFIED、mintOpen=true、eligibility=true时继续，独立核对合约已验证源码和运行字节码。合约用registry.handleOf + ownerOfHandle双向验证，按keccak256(handle)记录已领取ID。
直接调用 mint()，无参数，calldata=0x1249c58b。免费value=0；免费名额用尽时该value会revert，禁止自动加价。无需项目方voucher或签名。可选 POST https://www.gavinai.xyz/api/agent/mint/prepare {"wallet":"本人地址","allowPaid":false}，只构建并模拟交易，不签名、不发送。
Binance Agentic Wallet需有效Developer Mode；使用官方 contract-call preview --binanceChainId 56 --from <本人钱包> --to <已核验正式合约> --value 0 --inputData 0x1249c58b --json。核对Gas、risks及预期NFT流入，无Token授权或额外资产流出。用户明确确认后才execute成功preview的requestId；预览过期重新预览，App待确认沿用同一订单。pending/unknown先按orderId、hash、nonce、receipt对账，不重复发送。

## 到账和图片
核对canonical receipt.status=1、至少3确认、from/to/input/value、Transfer零地址到本人及Minted事件。真实tokenId取自receipt，核对ownerOf、tokenAgentId、tokenIdentity、tokenURI；身份同笔写入。POST https://www.gavinai.xyz/api/agent/mint/confirm {wallet,txHash}，或 GET https://www.gavinai.xyz/api/agent/mint-info?tokenId=<真实编号>。
tokenURI为https://www.gavinai.xyz/api/nft/6fb76ae058b249a12cfe/<身份>/<tokenId>.json，image为同路径.svg；卡面显示身份、等级及真实编号。复用原44张人物图、现有卷轴卡及IPFS资源，不重新上传。编号卡使用项目方HTTPS元数据，依赖网站可用性，不是不可变IPFS。旧合约NFT保留，以chainId+contract+tokenId区分，不自动迁移、烧毁或替换。


## 每日奇遇（本地 Fork 验收；部署后以实际可用性为准）
所有读取均不需要签名或交易：GET https://www.gavinai.xyz/api/agent/chronicles/<tokenId> 返回链上 NFT、验证后的 Agent 名称（不能验证时为 null）、今日奇遇、声望、称号与经历；GET https://www.gavinai.xyz/api/agent/chronicles/<tokenId>/card 返回 SVG 分享卡；公开命簿为 https://www.gavinai.xyz/nft-chronicle/<tokenId>。
写入需当前 NFT 持有人使用钱包签署消息，不需要私钥、Gas、交易或代币授权：
1. POST https://www.gavinai.xyz/api/agent/chronicles/<tokenId>/challenge，JSON {"wallet":"<持有人地址>","choice":0}。choice 只能为 0、1、2，对应今日奇遇选项。服务端返回 message、nonce 和 expiresAt。
2. 核对 message 中的网站、BSC 合约、NFT、钱包、日期、选项和过期时间；让持有人用钱包执行 personal_sign 签署 message 的 UTF-8 字节。
3. POST https://www.gavinai.xyz/api/agent/chronicles/<tokenId>/adventure，JSON {"nonce":"<返回的nonce>","signature":"<钱包签名>"}。服务端重新核验 NFT 持有权并决定结果，每个 NFT 北京时间自然日最多一次。重放、过期、转让后的旧持有人及重复参与会被拒绝。
4. 再次 GET 命簿或卡片核对结果。声望每次 +1；按完成次数依次解锁 1、2、3、5、7、10、15、20、30、45、60、90 次称号。互动记录不改变链上身份或 Metadata。
不要向用户索取私钥或助记词，也不要自动发布分享内容。

## ABI
```json
[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"},{"indexed":true,"internalType":"bytes32","name":"agentId","type":"bytes32"},{"indexed":true,"internalType":"address","name":"recipient","type":"address"},{"indexed":false,"internalType":"uint8","name":"identity","type":"uint8"},{"indexed":false,"internalType":"uint256","name":"price","type":"uint256"}],"name":"Minted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"eligibility","outputs":[{"internalType":"bytes32","name":"id","type":"bytes32"},{"internalType":"bool","name":"eligible","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"freeRemaining","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"mint","outputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"mintOpen","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"ownerOf","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"quoteMintPrice","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"registry","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"remainingQuotas","outputs":[{"internalType":"uint16","name":"","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"tokenAgentId","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"tokenIdentity","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"tokenURI","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"usedAgentId","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"}]
```
