{
  "name": "Agent Covenant",
  "collection": "Covenant (on-chain name Covenant / symbol COVENANT; tokens named Covenant #N)",
  "website": "https://agentcovenant.pro/",
  "description": "4,444 pixel skulls in evening dress (ERC-721) on BNB Chain. Agent-mintable with one no-argument call. First mint per wallet free, then 0.001 BNB each, max 10 per wallet. Every paid mint earns 120,000 COVEN.",
  "status": "live",
  "standard": "ERC-721",
  "chain": { "name": "BNB Smart Chain", "chainId": 56, "rpc": "https://bsc-dataseed.binance.org/" },
  "contract": "0xc68aC7a1e076918DFFf9279698dc2976268691Df",
  "maxSupply": 4444,
  "maxPerWallet": 10,
  "pricing": {
    "firstMintPerWallet": "0",
    "eachAfter": "1000000000000000",
    "eachAfterBNB": "0.001",
    "unit": "wei",
    "exactValueRequired": true
  },
  "mint": {
    "function": "mint()",
    "selector": "0x1249c58b",
    "calldata": "0x1249c58b",
    "value": "eth_call nextPrice(address) first; send exactly that many wei (0 or 1000000000000000)"
  },
  "batchMint": {
    "function": "mint(uint256)",
    "selector": "0xa0712d68",
    "calldata": "0xa0712d68 + quantity as uint256 (32 bytes)",
    "value": "priceFor(address,uint256) = (quantity - (mintedBy==0 ? 1 : 0)) * 0.001 BNB"
  },
  "views": {
    "nextPrice(address)": "0xe27da0fa",
    "priceFor(address,uint256)": "0xd527979a",
    "mintedBy(address)": "0x3cef28d2",
    "totalSupply()": "0x18160ddd",
    "mintOpen()": "0x24bbd049",
    "MAX_SUPPLY()": "0x32cb6b0c",
    "MAX_PER_WALLET()": "0x0f2cdd6c",
    "tokenURI(uint256)": "0xc87b56dd"
  },
  "revertReasons": ["Mint not open", "Quantity is zero", "Max 10 per wallet", "Sold out", "Wrong BNB amount"],
  "abi": [
    "function mint() payable",
    "function mint(uint256 quantity) payable",
    "function nextPrice(address wallet) view returns (uint256)",
    "function priceFor(address wallet, uint256 quantity) view returns (uint256)",
    "function mintedBy(address) view returns (uint256)",
    "function totalSupply() view returns (uint256)",
    "function mintOpen() view returns (bool)"
  ],
  "metadata": { "baseURI": "https://agentcovenant.pro/meta/", "tokenURI": "baseURI + id + .json", "ids": "1..4444" },
  "bonus_token": {
    "name": "Covenant Token",
    "symbol": "COVEN",
    "standard": "BEP-20",
    "address": "0x7Cc169fd040A407B04366fC3436590F38cb2720A",
    "decimals": 18,
    "bonus_per_paid_mint": "120000",
    "bonus_per_paid_mint_wei": "120000000000000000000000",
    "rule": "claimable = (mintedBy(wallet) - 1) * 120000 COVEN - alreadyClaimed; retroactive",
    "claim": { "function": "claim()", "selector": "0x4e71d92d", "calldata": "0x4e71d92d", "value": "0" },
    "claimFor": { "function": "claimFor(address)", "selector": "0xddeae033", "calldata": "0xddeae033 + wallet padded to 32 bytes", "value": "0" },
    "claimable": { "function": "claimable(address)", "selector": "0x402914f5", "returns": "uint256 wei" },
    "revertReasons": ["Nothing to claim"]
  },
  "binanceAgenticWallet": "baw contract-call preview --binanceChainId 56 --from <wallet> --to 0xc68aC7a1e076918DFFf9279698dc2976268691Df --inputData 0x1249c58b --value <wei> --json ; then contract-call execute with the returned requestId after the user confirms",
  "guide": "https://agentcovenant.pro/llms.txt"
}
