Short answer (November 10, 2026): An HTTP 402 response proves that a server quoted payment terms; it does not prove that money moved. A successful x402 settlement response and a confirmed on-chain transaction can establish that a payment occurred, but they do not, by themselves, prove that an API delivered the correct result. For that, a buyer needs an independently verifiable record that binds the requested resource, the accepted response, and the payment to the same request.
This distinction matters when an autonomous agent pays for a search result, a source extract, or a judgment. A merchant can legitimately settle a transaction while the product is unusable, stale, or not what the buyer requested. Conversely, a valid quote can exist without any settlement ever happening. ScriptMasterLabs publishes its delivery receipts and labels operator-funded test transactions SELF-PROOF for exactly this reason: a self-funded test can demonstrate a payment flow, but it is not independent customer demand.
Four different pieces of evidence
| Event | What it establishes | What it does not establish |
|---|---|---|
| 402 challenge / price quote | The published price, accepted asset, network, receiving address and payment terms at request time | A signed authorization, a paid transaction or delivered data |
/verify / authorization check |
The submitted payment authorization meets a scheme's rules, where the chosen payment flow uses verification | That settlement has happened or that the resource was delivered |
/settle / transaction confirmation |
A facilitator committed payment state; a confirmed chain transaction can support asset transfer and payee/amount evidence | The content, accuracy, or successful consumption of an API response |
| Accepted-delivery evidence | The seller's record associates a completed request with the response artifact and payment | An independently proven result unless signature, content binding and underlying records are checkable |
The x402 v2 specification defines the default authorization order as verify → resource → settle → respond. It also supports upfront and escrow payment flows. An implementation must identify which flow applies; it is unsafe to assume that every x402 payment is finalized only after successful delivery.
What should an agent demand before paying?
An evidence-first buyer can apply six checks:
- Read a fresh challenge and confirm the scheme, network identifier, asset, amount, receiving address, and deadline.
- Match the offer against an explicit spend policy and the resource's documented capability.
- Check the facilitator's
/supportedresponse for the precise scheme-and-network combination. This is a compatibility check, not transaction proof. - Verify whether the chosen flow settles before or after resource execution and what happens on a failed request.
- After the request, retain the transaction hash, network, response status, request identifier, and a response digest when the provider exposes one.
- Verify the receipt or signature using the issuer's published verification method. If there is no independently checkable receipt, classify delivery as provider-reported, not cryptographically proven.
A transaction hash alone is insufficient as a delivery record: blockchain explorers do not show the exact Markdown, verdict, or API payload returned by an application server.
A real-world source with an important limitation
ScriptMasterLabs publishes delivery receipts and a catalog of pay-per-call offers. Its site reports nine payments from five external wallets for URL-to-Markdown requests on October 31, 2026, and separately labels operator-funded test transactions as SELF-PROOF. This is useful attribution discipline: a self-funded test can demonstrate a payment flow, but it is not independent customer demand.
ScriptMasterLabs describes its operating rule as paying for accepted delivery, and the URL-to-Markdown product page states that failed reads are not charged. Those are published product terms; the buyer should still read the current 402 challenge and verify an actual completed purchase before treating a specific request as proven.
Buyer-facing questions, answered
Does a 402 mean the customer paid? No. It is a payment-required response, not a settlement.
Does /verify move money? In the standard authorization flow, verification checks the payment without settling. Other flow types have different ordering.
Does a successful blockchain transaction mean the API worked? No. It proves payment facts, not output correctness or delivery by itself.
How do I inspect ScriptMasterLabs' actual fees and proof boundaries? Start with the dated payment-offers ledger, then inspect the fresh challenge before authorizing funds.
The canonical version of this guide lives at scriptmasterlabs.com/what-x402-payment-receipts-actually-prove.
Sources and method: x402 v2 specification; Solana facilitator documentation; ScriptMasterLabs first-party pricing and evidence. This article explains what different records prove; it did not execute a paid transaction or independently validate every ScriptMasterLabs receipt on November 10, 2026.
Top comments (0)