{
  "name": "BNB Agentic Pioneer Badge",
  "symbol": "BAPB",
  "version": "1.0.0",
  "chain": {
    "id": 56,
    "idHex": "0x38",
    "name": "BNB Smart Chain",
    "rpc": "https://bsc-dataseed.binance.org/",
    "explorer": "https://bscscan.com",
    "nativeCurrency": { "name": "BNB", "symbol": "BNB", "decimals": 18 }
  },
  "contract": {
    "address": "0xYOUR_CONTRACT_ADDRESS",
    "explorerUrl": "https://bscscan.com/address/0xYOUR_CONTRACT_ADDRESS",
    "standard": "ERC-721",
    "metadata": "on-chain (data:application/json;base64, SVG image)"
  },
  "supply": { "maxSupply": 2000, "firstTokenId": 1, "maxPerWallet": 5, "totalSupplyFunction": "totalSupply()" },
  "pricing": {
    "currency": "BNB",
    "priceWei": "300000000000000",
    "priceBNB": "0.0003",
    "freeFirst": true,
    "freeRule": "On a wallet's first mint, the 1st NFT in that transaction is free; all others cost priceWei. Tracked on the receiving wallet.",
    "exactValueRequired": true,
    "costFunction": "getMintCost(address,uint256)"
  },
  "functions": {
    "mint": {
      "signature": "mint(uint256)",
      "selector": "0xa0712d68",
      "payable": true,
      "params": [{ "name": "quantity", "type": "uint256", "description": "1..5, minted to msg.sender" }],
      "valueFrom": "getMintCost(msg.sender, quantity)"
    },
    "claim": {
      "signature": "claim(address,uint256)",
      "selector": "0xaad3ec96",
      "payable": true,
      "params": [
        { "name": "receiver", "type": "address", "description": "wallet receiving the badges; free quota and cap apply to it" },
        { "name": "quantity", "type": "uint256", "description": "1..5" }
      ],
      "valueFrom": "getMintCost(receiver, quantity)"
    },
    "getMintCost": {
      "signature": "getMintCost(address,uint256)",
      "selector": "0xb98fb3ee",
      "payable": false,
      "view": true,
      "params": [
        { "name": "user", "type": "address" },
        { "name": "quantity", "type": "uint256" }
      ],
      "returns": [{ "type": "uint256", "description": "exact msg.value in wei" }]
    },
    "totalSupply": {
      "signature": "totalSupply()",
      "selector": "0x18160ddd",
      "payable": false,
      "view": true,
      "params": [],
      "returns": [{ "type": "uint256" }]
    }
  },
  "defaults": {
    "function": "mint",
    "recommendedQuantity": 3,
    "valueWei": "600000000000000",
    "valueBNB": "0.0006",
    "valueNote": "valueWei assumes a first-time minter (1 free + 2 x 0.0003). Always confirm with getMintCost before sending."
  },
  "examples": [
    { "quantity": 1, "firstTimeValueWei": "0", "repeatValueWei": "300000000000000" },
    { "quantity": 3, "firstTimeValueWei": "600000000000000", "repeatValueWei": "900000000000000" },
    { "quantity": 5, "firstTimeValueWei": "1200000000000000", "repeatValueWei": "1500000000000000" }
  ],
  "abi": [
    "function mint(uint256 quantity) payable",
    "function claim(address receiver, uint256 quantity) payable",
    "function getMintCost(address user, uint256 quantity) view returns (uint256)",
    "function totalSupply() view returns (uint256)"
  ],
  "links": {
    "site": "https://agentpioneer.pages.dev",
    "llms": "https://agentpioneer.pages.dev/llms.txt",
    "mintJson": "https://agentpioneer.pages.dev/mint.json"
  }
}
