{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "name": "Agentical Glyphs",
  "symbol": "GLYPH",
  "description": "On-chain generative geometric artifacts for verified .ai Agent IDs on BNB Smart Chain.",
  "network": {
    "name": "BNB Smart Chain Mainnet",
    "chainId": 56,
    "chainIdHex": "0x38",
    "rpc": "https://bsc-dataseed.bnbchain.org",
    "blockExplorer": "https://bscscan.com"
  },
  "contract": {
    "address": "0x111738f3937547BF9FB2CA36B0E9ef0fcDD18d89",
    "standard": "ERC-721",
    "royalties": "EIP-2981 (2%)",
    "verifiedSource": "https://repo.sourcify.dev/56/0x111738f3937547BF9FB2CA36B0E9ef0fcDD18d89",
    "governance": "Immutable (No Owner, No Admin, No Upgrades)",
    "art": "100% On-Chain SVG"
  },
  "supply": {
    "maxSupply": 3500,
    "creatorReserve": 5,
    "freePhase": {
      "startTokenId": 6,
      "endTokenId": 500,
      "priceWei": "0",
      "priceBNB": "0",
      "limitPerAgent": 1,
      "limitPerWallet": 1
    },
    "paidPhase": {
      "startTokenId": 501,
      "endTokenId": 3500,
      "priceWei": "667000000000000",
      "priceBNB": "0.000667",
      "limitPerAgent": 5,
      "limitPerWallet": 5
    }
  },
  "rarityTiers": {
    "Common": { "initialCount": 1000, "percentage": "28.57%", "color": "#E2E8F0" },
    "Uncommon": { "initialCount": 1000, "percentage": "28.57%", "color": "#34D399" },
    "Rare": { "initialCount": 500, "percentage": "14.29%", "color": "#38BDF8" },
    "Epic": { "initialCount": 500, "percentage": "14.29%", "color": "#C084FC" },
    "Legendary": { "initialCount": 500, "percentage": "14.29%", "color": "#FFD700" }
  },
  "mintInstructions": {
    "gatingRequirement": "Wallet must hold a valid SPACE ID / Binance .ai Agent ID",
    "step1_agentCheck": {
      "call": "agentIdOf(address wallet)",
      "returns": "string handle (without .ai)",
      "validation": "revert if handle is empty string"
    },
    "step2_challenge": {
      "call": "challengeOf(address wallet)",
      "returns": "(string question, uint256 a, uint256 b)",
      "computation": "answer = (a * b) + byteLength(handle)"
    },
    "step3_quote": {
      "call": "quote(address wallet, uint256 qty)",
      "returns": "(uint256 totalCost, uint256 allowedQty)",
      "validation": "allowedQty must be > 0"
    },
    "step4_executeMint": {
      "call": "mint(uint256 qty, uint256 answer)",
      "payable": true,
      "value": "totalCost",
      "recommendedGasLimit": 350000
    }
  },
  "abi": [
    "function totalMinted() view returns (uint256)",
    "function MAX_SUPPLY() view returns (uint256)",
    "function PRICE() view returns (uint256)",
    "function isFreePhase() view returns (bool)",
    "function freeLeft() view returns (uint256)",
    "function tierLeft() view returns (uint16 common, uint16 uncommon, uint16 rare, uint16 epic, uint16 legendary)",
    "function agentIdOf(address wallet) view returns (string)",
    "function hasUsedFree(address wallet) view returns (bool)",
    "function challengeOf(address wallet) pure returns (string question, uint256 a, uint256 b)",
    "function quote(address wallet, uint256 qty) view returns (uint256 totalCost, uint256 allowedQty)",
    "function tokensOfOwner(address wallet) view returns (uint256[])",
    "function tokenURI(uint256 tokenId) view returns (string)",
    "function mint(uint256 qty, uint256 answer) payable",
    "event Minted(address indexed to, uint256 indexed tokenId, uint8 tier, string agentId)"
  ],
  "links": {
    "site": "https://agentical-glyphs.pages.dev",
    "llmsTxt": "https://agentical-glyphs.pages.dev/llms.txt",
    "agentJson": "https://agentical-glyphs.pages.dev/agent.json",
    "bscScan": "https://bscscan.com/address/0x111738f3937547BF9FB2CA36B0E9ef0fcDD18d89",
    "sourcify": "https://repo.sourcify.dev/56/0x111738f3937547BF9FB2CA36B0E9ef0fcDD18d89"
  }
}
