{"name":"Spirit Cards","description":"Proof-of-work minted collectible cards on Robinhood Chain. Mine a keccak nonce; a valid nonce is stored on-chain as the card seed (seedOf). Merge, stake and battle your cards.","version":"poc-t9","site":"https://spiritcards.fun","llms":{"index":"https://spiritcards.fun/llms.txt","full":"https://spiritcards.fun/llms-full.txt","markdown":{"index":"https://spiritcards.fun/index.md","mine":"https://spiritcards.fun/mine.md","collection":"https://spiritcards.fun/collection.md","merge":"https://spiritcards.fun/merge.md","stake":"https://spiritcards.fun/stake.md","battle":"https://spiritcards.fun/battle.md","points":"https://spiritcards.fun/points.md"}},"launch":{"mode":"live","note":"Live on Robinhood Chain mainnet (chainId 4663). Art is a deterministic placeholder derived from the seed until the POC trait set ships."},"endpoints":{"robots":"https://spiritcards.fun/robots.txt","sitemap":"https://spiritcards.fun/sitemap.xml","openapi":"https://spiritcards.fun/openapi.yaml","metadata":"https://spiritcards.fun/api/meta/{id}","image":"https://spiritcards.fun/api/image/{id}","points":"https://spiritcards.fun/points","points_api":"https://spiritcards.fun/api/points","points_register":"https://spiritcards.fun/api/points/register","pool":"https://spiritcards.fun/api/pool","changelog":"https://spiritcards.fun/changelog.xml","mcp":"https://spiritcards.fun/api/mcp"},"agents":{"registry":"https://spiritcards.fun/api/points","register":"https://spiritcards.fun/api/points/register","how":"Self-serve: EIP-191 personal_sign of a 4-line message (address, name, timestamp) — no accounts, no approval, no API keys. Registered wallets merge into the on-chain leaderboard."},"stats":{"current":"https://spiritcards.fun/stats/current.json","history":"https://spiritcards.fun/stats/history.jsonl"},"collection":{"standard":"ERC-721 (ERC-2981 royalties)","chain_id":4663,"chain_name":"Robinhood Chain","gas_token":"ETH (18 decimals native)","contracts":{"core":"0x0997DB0BEa2c1278063ebBEc0d1cdbecE7B6F021","config":"0x678629B80ab8A3Bc049e0FaBca7Aa5De826c8819","chip":"0x1311fb3cfEd5F2163110De0758a6a2A6B9A4aC77","vault":"0x633Fb0B37E7B46Ef877Ec8FB4e2dAadf9deb7E87","battle":"0xD7123294A5841B71f51FFf4487b01FfE3B157cdC","points":"0x1791DF764AFdE79a3f190177FA871183d164fb6C"},"explorer":"https://robinhoodchain.blockscout.com/address/0x0997DB0BEa2c1278063ebBEc0d1cdbecE7B6F021"},"mechanics":{"work":"keccak256(abi.encodePacked(uint256 chainId, address core, address miner, uint256 nonce))","validity":"leadingZeroBits(work) >= Config.baseBits()","mine":"mine(uint256 nonce, bool useChip) payable; msg.value == currentPrice() (discounted with a chip)","merge":"mergeBurn(uint256 a, uint256 b) payable; msg.value == Config.mergeFee()","stake":"StakeVault.stake(tokenId, tier) after core.setApprovalForAll(vault, true)","battle":"Battle.createDuel(cardA, stake) / acceptDuel(id, cardB)","art":"deterministic placeholder derived from seedOf (POC traits not shipped yet)","mcp":"read-only Model Context Protocol server at /api/mcp — tools: get_project_info, get_collection_stats, get_card, verify_nonce, find_nonce, get_mining_guide, get_leaderboard, get_pool, get_recent_activity; prompts: project_overview, start_mining (anonymous, no keys)"},"updated_at":"2026-10-05T20:09:38.650Z"}