I checked 600 live x402 services. None of them signs a receipt
Description and use
The author found no signed offer‑receipt extensions among 600 x402 services, but built a live test service that emits a compliant receipt, enabling developers to test the offer‑receipt extension.
Problem
No live x402 services emit signed offer‑receipt extensions, limiting auditability and dispute resolution.
Outcome
The author discovered that none of 600 sampled x402 services emit signed offer‑receipt extensions, but created a live test service that does, providing a real artifact for developers.
Workflow
- 1. Query facilitator discovery endpoint for resources
- 2. Sample 100 records at various offsets
- 3. Search for "offer-receipt" key in records
- 4. Observe zero declarations
- 5. Request a live resource directly to confirm 402 response
- 6. Create a test service that returns a signed offer‑receipt via /api/paid/verify-ownership
- 7. Verify signature against domain and controller TXT record
- 8. Use the service as a test fixture for client implementation
Evidence
Six hundred records. Zero declarations.
I made one curl -i -X POST https://api.tokenizen.nl/api/paid/verify-ownership ...
That answers 402 with a Payment-Required header. Base64-decode it and you get the payment requirements, plus an extensions object carrying offer-receipt with a signed offer inside, EIP-712 format.
- Record date: 2026-10-15T15:55:56.296Z