{"endpoint":"/feedback","description":"POST to submit ERC-8004 reputation feedback on-chain","extension":"8004-reputation","specification":"https://eips.ethereum.org/EIPS/eip-8004","body":{"x402Version":"number (1 or 2)","network":"string (e.g., 'ethereum' or 'eip155:1')","feedback":{"agentId":"number - Agent's token ID in the Identity Registry","value":"number - Feedback value (fixed-point, e.g., 87 means 87/100)","valueDecimals":"number (0-18) - Decimal places for value interpretation","tag1":"string - Primary categorization tag (e.g., 'starred', 'uptime', 'responseTime')","tag2":"string - Secondary categorization tag","endpoint":"string (optional) - Service endpoint that was used","feedbackUri":"string (optional) - URI to off-chain feedback file (IPFS, HTTPS)","feedbackHash":"string (optional) - Keccak256 hash of feedback content (32 bytes hex)","rater":"address (recommended) - who is doing the rating. Compared against proof.payer. A claim, not an authenticated identity: nothing here is signed by the rater yet.","proofStatus":"VERIFIED BUT NOT ENFORCED - the facilitator runs every check and reports the verdict in the response `proof` field, but does NOT reject a failing proof while ERC8004_REQUIRE_PROOF is off. Do not treat its presence alone as evidence of payment; read the verdict.","proof":{"transactionHash":"string - Settlement transaction hash","blockNumber":"number - Block number of settlement","network":"string - Network where settlement occurred","payer":"address - Address that paid","payee":"address - Address that received payment","amount":"string - Amount paid in token base units","token":"address - Token contract address","timestamp":"number - Unix timestamp","paymentHash":"string - Keccak256 hash of payment data"}}},"endpoints":{"POST /register":"Register a new ERC-8004 agent (with optional recipient for delegation)","POST /feedback":"Submit new feedback","POST /feedback/revoke":"Revoke previously submitted feedback (ADMIN ONLY: requires Authorization: Bearer <ERC8004_ADMIN_TOKEN>; 404 when no token is configured)","POST /feedback/response":"Append a response to feedback. NOT agent-only, despite what this line used to claim: verified on-chain 2026-08-18, the registry accepts appendResponse from ANY address. This endpoint is unauthenticated and the facilitator signs, so the on-chain `responder` recorded is the FACILITATOR, not the agent.","GET /reputation/:network/:agentId":"Get reputation summary for an agent","GET /identity/:network/:agentId":"Get agent identity from Identity Registry","GET /identity/:network/:agentId/metadata/:key":"Read specific agent metadata","GET /identity/:network/total-supply":"Get total registered agents on a network"},"supportedNetworks":["ethereum","base","polygon","arbitrum","optimism","celo","bsc","monad","avalanche","scroll","skale-base","ethereum-sepolia","base-sepolia","polygon-amoy","arbitrum-sepolia","optimism-sepolia","celo-sepolia","avalanche-fuji","skale-base-sepolia","solana","solana-devnet"]}