Operator
Receipts
GET /api/receipts — the merchant's commerce ledger. Requires the admin token.
GET
/api/receiptsBearer adminTokenThe merchant's commerce ledger, most recent first. Requires server.adminToken: 404 if none is configured, 401 for a missing or wrong token.
Query
limitintegerdefault: 50Values above 500 are capped at 500; zero or less returns
400 INPUT_INVALID.undeliveredbooleandefault: falsetrue lists only receipts whose backendStatus is outside 2xx, including settled payments whose backend calls failed. Values other than true or false return 400 INPUT_INVALID.curl -s "http://localhost:8080/api/receipts?limit=20" \
-H "Authorization: Bearer $ADMIN_TOKEN"Receipt
id / requestId / resourceIdstringrequiredtransactionIdstringLinks the receipt to its journal entry. Absent on receipts written before 2.5.0.
deliveredAtISO 8601requiredbackendStatusnumberrequiredprotocol / durationMspaymentPaymentResultStatus, provider, amount, currency, network, asset, payer, payee, the settlement reference (the transaction hash, or the signature on Solana) and the replay key. An x402 payment in the network's USDC records
currency: "USDC" whatever the resource's label; a USD price is kept as metadata.quote.authorizationobjectFor AP2-gated resources:
method, a sha256: digest reference, and the issuers and checkout id. The mandate itself is never stored.metadataobjectAfter payment settles but the backend fails:
{ delivered: false, backendErrorCode }. Find these paid but undelivered requests with ?undelivered=true.An uncertain settlement leaves no receipt, so
?undelivered=true cannot find it. List unresolved purchases at /api/transactions?unresolved=true or uncertain attempts at /api/payment-attempts?uncertain=true.Secrets and raw payment proofs are not stored. Buyers receive delivery summaries and receipt IDs through MCP/A2A, or settlement details through HTTP
PAYMENT-RESPONSE (plus MPP's Payment-Receipt), rather than using this operator route.