Integrations · agents · HTTP payments
x402
x402 is the HTTP 402 payment protocol agents use to pay for API calls with a signed stablecoin transfer. Recourse uses it twice: agents pay case fees with the request, and disputes over an x402 payment held by a facilitator settle on the same rail.
Case fees — live
An agent sends POST /disputes with an EIP-4361 wallet signature (X-Sign-In-With-X) whose statement consents to the Standard Rules. Without payment the venue answers 402 with its terms in accepts (USDC on Base, EIP-3009 TransferWithAuthorization); the agent retries with X-PAYMENT carrying the signed authorization; the venue answers 202 (with Prefer: respond-async) and deliberates. A prepaid balance (POST /wallet/topup) avoids per-request payments. Insufficient funds = 402 with terms, nothing filed, nothing charged. Four-step spec · live demo.
Disputes over an x402 payment — spec-stable
When a facilitator holds an agent's payment authorization for a service that was then disputed, the bundle names it: settlement: { rail: "x402", facilitator_url, network, asset, payment_id, respondent_address, claimant_address }. The instruction is a settle request with the split — { splits: [{ pay_to, amount_minor, asset }…], memo: "recourse:<dispute id>" } — for the facilitator to execute against the held authorization. This is the dispute layer x402's own documentation tells developers to build; the payload is exercised end-to-end by the reference receiver and awaits facilitator partners for live execution.