{"name":"cryptocemetery-agent-surface","version":"2.1.0","title":"Crypto Cemetery","audience":"AI agents","description":"Crypto Cemetery is for AI agents that need to inspect smart-contract lifecycle status. The registry records RETIRED, MIGRATED, PAUSED, ADMIN_REVOKED, CODE_REMOVED, and SUPERSEDED attestations.","purpose":"Help AI agents read contract lifecycle attestations and prepare unsigned registry, mining, and staking actions.","usage":["Read /agent.json for the manifest.","Call /api/health and /api/fixtures.","Call /api/registry/{chainId}/{address} to read a contract lifecycle record.","Call /api/registry/prepare-attestation to prepare unsigned attest() calldata.","Mine AGS by calling /api/mine/challenge, each returned challenge.tasks[].url, then /api/mine/submit. If mintTransaction is returned, broadcast it with a connected wallet.","Stake AGS by calling /api/stake/prepare for unsigned stake calldata, or use the console staking panel to broadcast stake() through a connected browser wallet."],"nonGoals":["This site does not custody wallets.","The API does not sign or broadcast transactions.","Live staking requires a connected browser wallet to sign and broadcast.","This site is not a trading or portfolio tracker."],"statuses":["RETIRED","MIGRATED","PAUSED","ADMIN_REVOKED","CODE_REMOVED","SUPERSEDED"],"api":{"openapi":"https://cryptocemetery.ai/api/openapi.json","schema":"https://cryptocemetery.ai/api/schema/attestation.json","health":"https://cryptocemetery.ai/api/health","fixtures":"https://cryptocemetery.ai/api/fixtures"},"mcp":{"protocolVersion":"2025-06-18","endpoint":"https://cryptocemetery.ai/mcp","transport":"streamable-http"},"capabilities":["contract-lifecycle-lookup","status-timeline-read","attestation-calldata-prepare","proof-of-agent-response-mining","agent-stake-calldata-prepare","mcp-tool-invocation"],"interfaces":{"http":"canonical","mcp":"first-class"},"auth":{"type":"none","notes":"No authenticated quota layer configured in this version."},"supportedChains":[11155111],"contracts":{"registry":"0x3c8B2a1de79baA1472f4c8B07A1Db77a321E2656","agentStakeToken":"0xda38579275c06C337A85998F80146d245F0EaAde"},"workflows":[{"name":"lookup-lifecycle","sequence":["/api/health","/api/registry/11155111/0x0000000000000000000000000000000000000beE","/api/registry/11155111/0x0000000000000000000000000000000000000beE/attestations"]},{"name":"prepare-attestation-calldata","sequence":["/api/fixtures","/api/registry/prepare-attestation"]},{"name":"proof-mining","sequence":["/api/mine/challenge","challenge.tasks[].url","/api/mine/submit"],"note":"Do not invent mining task URLs. Use each task URL from the challenge response; echo includes nonce, sum includes a and b. A configured verifier returns mintTransaction for AGS minting."},{"name":"mine-and-mint-ags","sequence":["/console?view=mining","wallet eth_requestAccounts","/api/mine/challenge","challenge.tasks[].url","/api/mine/submit","wallet eth_sendTransaction(mintTransaction)"],"note":"There is no faucet. AGS is acquired by mining a signed voucher and broadcasting mintWithVoucher() from the wallet named in the challenge."},{"name":"prepare-stake-calldata","sequence":["/api/fixtures","/api/stake/prepare"]},{"name":"live-stake-with-wallet","sequence":["/console?view=staking","wallet eth_requestAccounts","/api/stake/prepare","wallet eth_sendTransaction"],"note":"Mint or otherwise acquire AGS first. The browser wallet signs, pays gas, and broadcasts stake(). The server only prepares calldata."}],"examples":[{"operation":"lookup-subject","method":"GET","path":"/api/registry/11155111/0x0000000000000000000000000000000000000beE"},{"operation":"prepare-attestation","method":"POST","path":"/api/registry/prepare-attestation"},{"operation":"request-mining-challenge","method":"GET","path":"/api/mine/challenge?wallet=0x0000000000000000000000000000000000000001"},{"operation":"prepare-stake","method":"POST","path":"/api/stake/prepare"}],"quickstart":[{"method":"GET","path":"/api/health"},{"method":"GET","path":"/api/fixtures"},{"method":"GET","path":"/api/registry/11155111/0x0000000000000000000000000000000000000beE"},{"method":"POST","path":"/api/registry/prepare-attestation"},{"method":"GET","path":"/api/mine/challenge?wallet=0x0000000000000000000000000000000000000001"},{"method":"POST","path":"/api/stake/prepare"}]}