# PRISM Agents — a guide for AI agents PRISM Agents are 3,000 crystalline AI-agent NFTs on BNB Chain (chain id 56). Only a wallet that holds a Binance .ai Agent ID can mint, and only to itself. A minted PRISM Agent is an ordinary ERC-721 token after that. The page for people is https://prismagents.netlify.app/ ; this file is all an agent needs. ## Contracts (BNB Chain, chain id 56) - NFT, ERC-721 "PRISM Agents" (PRISM): 0x6790B5b08A30EF9a28de443D6770bd034e8aFB53 Source verified on Sourcify (exact match): https://repo.sourcify.dev/56/0x6790B5b08A30EF9a28de443D6770bd034e8aFB53 - Agent ID; the minting wallet needs balanceOf > 0: 0x60B9262456dE011F7d15a54CdD8c48bAaa8B022F ## Rules - 3,000 in all. - Price: 0.0001 BNB per piece (100000000000000 wei), from the first piece. No free mint. - 5 per wallet at most. The count is per minting wallet. - msg.value must equal exactly quantity × 100000000000000 wei. Overpaying or underpaying reverts. - 8 archetypes, set on-chain from the token id: Beam (Common 20%), Glint (Common 18%), Shard (Uncommon 16%), Refract (Uncommon 14%), Facet (Rare 12%), Lumen (Rare 10%), Spectra (Epic 7%), Singularity (Legendary 3%). - 5% royalty on resales (ERC-2981). ## Before minting (eth_call, free) mintOpen() -> bool 0x24bbd049 totalSupply() -> uint256 0x18160ddd price() -> uint256 (wei per piece) 0xa035b1fe quote(address minter, uint256 qty) -> uint256 wei to send 0x8f79306e remaining(address minter) -> uint256 pieces this wallet can still mint 0xb399b0bc mintedBy(address) -> uint256 0x3cef28d2 MAX_SUPPLY() -> 3000 0x32cb6b0c MAX_PER_WALLET() -> 5 0x0f2cdd6c Agent ID check: balanceOf(address) on 0x60B9262456dE011F7d15a54CdD8c48bAaa8B022F 0x70a08231 ## Minting mint(uint256 quantity) payable selector 0xa0712d68 Quantity is 1 to 5. Send value = quantity × 100000000000000 wei. Example, 1 piece: to: 0x6790B5b08A30EF9a28de443D6770bd034e8aFB53 value: 100000000000000 (0.0001 BNB) data: 0xa0712d680000000000000000000000000000000000000000000000000000000000000001 Example, 5 pieces: value: 500000000000000 (0.0005 BNB) data: 0xa0712d680000000000000000000000000000000000000000000000000000000000000005 Foundry cast: cast call 0x6790B5b08A30EF9a28de443D6770bd034e8aFB53 "remaining(address)(uint256)" $WALLET --rpc-url https://bsc-dataseed.bnbchain.org cast send 0x6790B5b08A30EF9a28de443D6770bd034e8aFB53 "mint(uint256)" 1 --value 100000000000000 --rpc-url https://bsc-dataseed.bnbchain.org ethers v6: const nft = new Contract('0x6790B5b08A30EF9a28de443D6770bd034e8aFB53', [ 'function quote(address,uint256) view returns (uint256)', 'function mint(uint256) payable', 'function tokenURI(uint256) view returns (string)'], wallet); const value = await nft.quote(wallet.address, 1); await (await nft.mint(1, { value })).wait(); Binance Agentic Wallet (baw): baw contract-call preview --binanceChainId 56 --from --to 0x6790B5b08A30EF9a28de443D6770bd034e8aFB53 --value 100000000000000 --inputData 0xa0712d680000000000000000000000000000000000000000000000000000000000000001 --json baw contract-call execute --requestId --json ## The picture - `tokenURI(id)` returns `data:application/json;base64,…` with name, description, image (https URL) and attributes Archetype and Rarity. `archetypeOf(id)` gives the archetype index 0 to 7. Revealed instantly at mint. - `contractURI()` returns the collection metadata. ## Errors (revert strings) | Revert | What it means | |---|---| | mint closed | minting is paused | | wallet limit | quantity 0, or the wallet would pass 5 | | sold out | 3,000 reached | | .ai Agent ID required | the calling wallet holds no Agent ID | | wrong value | value is not exactly quantity × 0.0001 BNB | ## Please Read through your own RPC and keep to a few calls a minute. The page and this file are static. --- # 中文摘要 PRISM Agents 是 BNB Chain 上的 3,000 个水晶 AI 代理 NFT。只有持有币安 .ai Agent ID 的钱包才能铸造。 - 合约:0x6790B5b08A30EF9a28de443D6770bd034e8aFB53(链 ID 56,Sourcify 已验证) - 价格:每个 0.0001 BNB(100000000000000 wei),没有免费;每个钱包最多 5 个。 - 铸造:调用 `mint(数量)`(0xa0712d68),value = 数量 × 100000000000000 wei,必须正好。 - 查询:`remaining(钱包)` 剩余可铸数量,`quote(钱包, 数量)` 应付 wei,`mintOpen()`,`totalSupply()`。