Traceipt 凭证 ← traceipt.xyz
Explainer

What is an x402 receipt?

August 2026 · Traceipt team

An x402 receipt is a cryptographically signed record that a specific x402 (HTTP 402) payment settled on chain, binding the on-chain transaction to what was bought, who paid, and who was paid — so the payment can be reconciled, audited, and verified later, independently of the parties involved.

The x402 protocol gives machines a way to pay for things over HTTP: a server answers 402 Payment Required with a price, the agent settles in a stablecoin (typically USDC), and retries the request. What the protocol does not give you is a record. The chain shows that money moved between two addresses — it does not show what was purchased, under what terms, or on whose behalf. A receipt closes that gap.

Why agent payments need receipts

An autonomous agent making ten thousand micropayments a month produces ten thousand bank-statement lines with no invoice, no vendor, and no reason attached. Three groups of people then have a problem:

Anatomy of a good x402 receipt

A receipt is only as strong as what it binds together and how it resists tampering. The properties that matter:

Settlement-bound
The receipt should only exist if the money actually moved — issued after the transfer is confirmed on chain, and referencing the transaction hash.
Context-bound
It ties the payment to the purchase: what was bought, who paid, who was paid. This is the part the chain alone cannot tell you.
Signed
A digital signature (e.g. Ed25519) over the receipt's contents, so any edit invalidates it and the issuer cannot be impersonated.
Tamper-evident in sequence
Receipts chained together — so one cannot be quietly edited, inserted, or removed after the fact.
Anchored
The chain of receipts folded into a Merkle root published on chain, so anyone can prove a given receipt existed by a given time.
Independently verifiable
Signature, chain, and anchor should verify offline, against published keys, in any language — with no SDK and no dependence on the issuer still being around. An audit record is only worth what it proves when the vendor is out of the room.
Filable by a human
For accounting, the receipt should render to a document an accountant can file — e.g. a VAT-aware PDF with a scan-to-verify code.

How verification works

  1. Check the signature against the issuer's published public keys — proves the receipt is authentic and unmodified.
  2. Check the settlement — the referenced transaction exists on chain and matches the amount, payer, and payee.
  3. Check the chain — the receipt's position in the tamper-evident sequence is intact; nothing was edited or removed around it.
  4. Check the anchor — the Merkle proof connects the receipt to a root published on chain, establishing it existed by that point in time.

All four checks can run offline. A receipt that passes them is evidence a stranger can trust — an auditor does not have to trust the agent, the merchant, or the receipt issuer. You can watch all of this happen in the in-browser verifier — paste a receipt or load the live mainnet example and watch the checks run against Base.

Receipts vs. logs vs. block explorers

This is the record Traceipt produces: a receipt signed the moment an x402 payment clears in USDC on Base, chained, Merkle-anchored, offline-verifiable against published keys, and exportable as a VAT-aware PDF. Self-hostable if you'd rather run it yourself. For how alternatives approach the same problem, see Traceipt vs x402b.

Related reading: the x402 protocol and whitepaper · Traceipt FAQ · llms.txt. This page describes engineering properties, not legal requirements; whether a rule applies to your deployment is a question for counsel.