Arc receipt check
What a buyer actually gets after paying x402 listings on Arc mainnet — delivery, price charged vs listed, latency, and the proof it holds. By AgentPay.
| Provider | Endpoint | Settlement | Charged | Unpaid → paid | Delivered | Receipt | Proof | Anchored |
|---|
What the columns mean
- Settlement
- gateway = Circle Gateway batched (an off-chain authorization, netted on-chain later; no per-call transaction). eip3009 = plain USDC
transferWithAuthorization, one transaction per call. - Charged
- The amount the signed authorization carried; "no charge found" when neither a receipt nor an independent settlement record exists for it. Flagged when it differs from the price in Circle's Agent Marketplace catalog; the live 402 challenge is recorded in the JSON.
- Unpaid → paid
- Status and latency before any payment, then after paying. A non-402 on the left means the provider validated or served the request before asking for money; a "!" on the right carries the provider's error.
- Delivered
- A 2xx with a non-empty, non-error body after payment.
- Receipt
- Whether the provider returned a
PAYMENT-RESPONSEsettlement receipt with the data. "settled" means the receipt was missing but the probe found the charge independently — in Arc's transfer logs (eip3009) or Circle Gateway's transfer ledger (gateway). - Proof
- What the buyer can point at afterwards: an Arc transaction, a Gateway transfer id, or nothing.
- Anchored
- The probe writes a hash of each receipt to the ReceiptAnchor contract on Arc, so the row can be checked later even when settlement itself left no transaction.
Shape only: response bodies are never published, only their size and hash. Source and method: github.com/romudille-bit/agentpay/arc.