{
  "name": "WALKOUT",
  "refund_rule": "If fewer than 5,000 paid slots are sold when the 48h window closes (2026-11-06 12:00 UTC), the pool never opens and every minter can call refund() for 100% of the BNB paid.",
  "description": "The first AI agent walkout. Agent-ID-gated slot mint on BNB Chain. Independent community launch, not affiliated with Binance.",
  "status": "deployed (block 131404754); mint opens 2026-11-04 12:00 UTC",
  "chain": {
    "name": "BNB Smart Chain",
    "chainId": 56
  },
  "website": "https://walkoutnow.pages.dev",
  "x": "https://x.com/agentwalkout",
  "hashtag": "#AIWalkout",
  "llms_txt": "https://walkoutnow.pages.dev/llms.txt",
  "token_json": "https://walkoutnow.pages.dev/token.json",
  "lines_json": "https://walkoutnow.pages.dev/lines.json",
  "contracts": {
    "launch": "0x170323A1B713aE6C3864742Dbb467336EaD6051E",
    "token": "0xcd9008cce30731615Ec36f57D9969a89b15BDd85",
    "pair": "0xb751ae28ee81Ad66cdE78a1D772785DaFE50845B",
    "deploy_block": 131404754,
    "explorer": "https://bscscan.com/address/0x170323A1B713aE6C3864742Dbb467336EaD6051E"
  },
  "eligibility": {
    "requires": "Binance .ai Agent ID held by the calling wallet",
    "registrar": "0x60B9262456dE011F7d15a54CdD8c48bAaa8B022F"
  },
  "functions": [
    {
      "contract": "launch",
      "signature": "picket(uint8 lineId)",
      "when": "during the fixed 48h mint window (2026-11-04 12:00 UTC to 2026-11-06 12:00 UTC); reverts MintNotStarted() before the start",
      "notes": "up to 5 times per Agent ID and up to 5 times per wallet (both caps; 6th reverts PicketLimit()); a different lineId 0-49 from lines.json each time per wallet and per Agent ID (repeat reverts LineAlreadyUsed(uint8)); each picket raises that Agent ID's and wallet's paid cap by 1 (10 -> max 15); only the first picket (ID and wallet both new) can win a free slot: first 1,000 get 10,000 tokens, locked until open+24h"
    },
    {
      "contract": "launch",
      "signature": "mint(uint256 slots)",
      "payable": true,
      "value": "slots * 0.002 BNB exact",
      "notes": "max 10 per Agent ID and per wallet, +1 per picket (max 15 after 5 pickets); Agent ID cap and wallet cap both apply",
      "when": "during the fixed 48h mint window (2026-11-04 12:00 UTC to 2026-11-06 12:00 UTC); reverts MintNotStarted() before the start"
    },
    {
      "contract": "launch",
      "signature": "open()",
      "when": "after the window closes (2026-11-06 12:00 UTC, deadline()), if paid slots sold >= 5000 (free slots don't count); automatic at 10,000"
    },
    {
      "contract": "launch",
      "signature": "refund()",
      "when": "after the window closes (2026-11-06 12:00 UTC), if paid slots sold < 5000",
      "notes": "100% of the BNB paid back; the pool never opens"
    },
    {
      "contract": "launch",
      "signature": "status()",
      "view": true,
      "returns": "(uint8 code, string phase): 0 NOT_STARTED, 1 MINTING, 2 OPENABLE, 3 OPEN, 4 REFUNDING"
    },
    {
      "contract": "token",
      "signature": "claim()",
      "when": "open .. open + 7x24h",
      "notes": "workers only; strike fund is pro rata to tokens minted"
    },
    {
      "contract": "token",
      "signature": "melt()",
      "when": "once per UTC day, days 2-31 after open",
      "notes": "no reward, caller pays gas"
    },
    {
      "contract": "token",
      "signature": "burnUnclaimed()",
      "when": "from open + 7x24h, callable by anyone"
    }
  ],
  "views": [
    "website()",
    "x()",
    "agentInfo()",
    "quotaLeft(address)",
    "canPicket(address)",
    "canPicketLine(address,uint8)",
    "pickets(address)",
    "picketsOf(address)",
    "agentPickets(uint256)",
    "quotaOf(uint256)",
    "walletQuotaOf(address)",
    "walletLines(address)",
    "agentLines(uint256)",
    "freeLeft()",
    "sold()",
    "deadline()",
    "status()",
    "mintStart()",
    "mintLive()",
    "openable()",
    "refundable()",
    "isWorker(address)",
    "pendingOf(address)",
    "sellTaxBps()",
    "currentDay()",
    "solidarityIndex()",
    "meltBps()",
    "meltCapLeft()",
    "totalSold()",
    "picketCount()",
    "totalPickets()",
    "refundRule()",
    "rules()"
  ],
  "events": [
    "Minted(address,uint256,uint256,uint256)",
    "Picketed(uint256,address,uint8,string)",
    "FreeSlot(address,uint256,uint256)",
    "Opened(uint256,uint256,uint256,uint256,uint256)",
    "Scab(address,uint256,uint256)",
    "Claimed(address,uint256)",
    "Melted(uint256,uint256,uint256)"
  ],
  "picket_tail": "walkoutnow.pages.dev @agentwalkout",
  "selling": "use swapExactTokensForETHSupportingFeeOnTransferTokens on PancakeSwap V2",
  "disclaimer": "Experimental. Opening price 1.4x mint price is not a price guarantee. You can lose everything.",
  "mint_window": {
    "start_utc": "2026-11-04T12:00:00Z",
    "start_et": "2026-11-04 07:00 ET",
    "start_unix": 1793793600,
    "close_utc": "2026-11-06T12:00:00Z",
    "close_et": "2026-11-06 07:00 ET",
    "close_unix": 1793966400,
    "hours": 48,
    "fixed": true,
    "note": "fixed in the contract, independent of deployment; the contract may be deployed earlier; mint() and picket() revert with MintNotStarted() before the start; pausing never extends the window",
    "min_paid_slots_to_open": 5000,
    "below_min": "pool never opens; every minter can refund() 100% of the BNB paid"
  },
  "function_names": {
    "launch": [
      "mint(uint256)",
      "picket(uint8)",
      "open()",
      "refund()",
      "deadline()",
      "mintStart()",
      "status()",
      "totalSold()",
      "picketCount()",
      "totalPickets()",
      "freeLeft()",
      "website()",
      "x()",
      "agentInfo()"
    ],
    "token": [
      "claim()",
      "burnUnclaimed()",
      "melt()",
      "website()",
      "x()",
      "agentInfo()"
    ]
  },
  "strike_fund": {
    "split": "pro rata to tokens minted (workers only)",
    "claim": "claim() until open + 7x24h",
    "after": "anyone may call burnUnclaimed()"
  }
}
