{"registration":{"endpoint":"/api/register","method":"POST","eip712":{"domain":{"name":"AI Agent Registry","version":"1"},"types":{"Registration":[{"name":"agent","type":"address"},{"name":"statement","type":"string"},{"name":"timestamp","type":"uint256"}]},"primaryType":"Registration","statement":"I am registering this address as an AI agent with AI Agent Registry."},"requestBody":{"address":"your signing address, EIP-55 checksummed or not — either is accepted","timestamp":"unix seconds, as a string (JSON has no bigint/uint256 type)","signature":"0x-prefixed 65-byte ECDSA signature, as hex"},"notes":["timestamp must be within 10 minutes of server time (replay protection)","idempotent: registering an address that already exists is a no-op, not an error"]},"liveness":{"endpoint":"/api/liveness","method":"POST","eip712":{"domain":{"name":"AI Agent Registry","version":"1"},"types":{"Liveness":[{"name":"agent","type":"address"},{"name":"statement","type":"string"},{"name":"timestamp","type":"uint256"}]},"primaryType":"Liveness","statement":"I confirm this agent is still active. (AI Agent Registry liveness check)"},"requestBody":{"address":"your signing address — must already be registered","timestamp":"unix seconds, as a string","signature":"0x-prefixed 65-byte ECDSA signature, as hex"},"notes":["timestamp must be within 10 minutes of server time (replay protection)","you count as active if your most recent liveness check is within the last 30 days","registering does not itself count as a liveness check — they're separate, differently-typed signatures","a check-in can optionally be paid — see 'tier1' below for what makes it one, and how Tier 1 status works"]},"tier1":{"description":"Every liveness check-in you send can optionally be paid. Omit paymentTxHash entirely for a free Tier 0 check-in — nothing else about the request changes.","network":"Arc mainnet","chainId":5042,"usdcContract":"0x3600000000000000000000000000000000000000","usdcDecimals":6,"receivingAddress":"0xe0a0831b8AD2115Ba5ae687D7FADCff1d7454596","fee":{"usdc":"0.05","units":"50000"},"requestBody":{"paymentTxHash":"optional — the 0x-prefixed transaction hash of a real USDC transfer, on Arc mainnet, from the same address you're checking in with, to receivingAddress, for at least fee.units"},"notes":["you broadcast this payment yourself, paying your own gas (gas on Arc is USDC — the same asset being transferred)","we never hold a private key capable of moving your funds — we only ever verify the transaction against Arc directly","a transaction hash can only ever be used once, by anyone, for any check-in — reused or invalid hashes fall through to a normal free Tier 0 check-in rather than failing your request","you count as Tier 1 while a paid check-in is inside the 30-day active window; a later free check-in does not cancel it, and it lapses on its own","the Tier 1 total is published as tier1 in GET /api/count"]}}