{"endpoint":"/register","description":"POST to register a new ERC-8004 agent on-chain","extension":"8004-reputation","supportedNetworks":["ethereum","base","polygon","arbitrum","optimism","celo","bsc","monad","avalanche","scroll","skale-base","arc","ethereum-sepolia","base-sepolia","polygon-amoy","arbitrum-sepolia","optimism-sepolia","celo-sepolia","avalanche-fuji","skale-base-sepolia","arc-testnet","solana","solana-devnet"],"body":{"x402Version":"string - protocol version (1)","network":"string - target network (e.g., 'base-mainnet', 'ethereum')","agentUri":"string (required) - URI of the agent registration file: https:// on a public DNS name, or ipfs://. Refused: IP hosts, hosts that embed an IP or use a wildcard-DNS service (sslip.io, nip.io, ...), tunnels (ngrok, trycloudflare, ...), non-public names and credentials in the URI","metadata":"array (optional) - key-value metadata entries [{key, value}]","recipient":"string (required) - address that receives the agent NFT. The facilitator does not keep the identities it mints"},"refusals":{"400":"errorCode agent_uri_missing | agent_uri_too_long | agent_uri_malformed | agent_uri_scheme | agent_uri_credentials | agent_uri_ip_literal | agent_uri_non_public_host | agent_uri_embedded_ip | agent_uri_tunnel | recipient_required | recipient_invalid | recipient_is_facilitator | recipient_cannot_receive (EVM: a contract without onERC721Received)","403":"errorCode recipient_blocked - the recipient is on a compliance list","503":"errorCode recipient_screening_unavailable | recipient_check_unavailable - retryable, nothing was minted"},"response":{"success":"boolean","agentId":"number - the newly assigned agent ID (ERC-721 tokenId)","transaction":"string - registration transaction hash","transferTransaction":"string (optional) - transfer transaction hash if recipient was specified","owner":"string - current owner of the agent NFT","network":"string"},"notes":{"gasless":"The facilitator pays all gas fees for registration and transfer","transferBehavior":"When recipient is specified, the facilitator mints the NFT then transfers it via ERC-721 safeTransferFrom. The agentWallet is cleared on transfer and must be re-set by the new owner.","relatedEndpoints":{"GET /identity/:network/:agentId":"Read agent identity","GET /identity/:network/:agentId/metadata/:key":"Read agent metadata","GET /identity/:network/total-supply":"Get total registered agents","POST /feedback":"Submit reputation feedback"}}}