{"slug": "35-x402-hosts-served-no-signed-offer-here-is-how-to-check-yours-in-one-request", "title": "35 x402 hosts served no signed offer. Here is how to check yours in one request.", "summary": "A developer who runs an x402 store conducted a census of all 35 hosts on the public x402 discovery list and found that 34 of them served no signed offer, meaning buyers were paying without a binding commitment from the seller. The developer released a free checker and open-source packages to help sellers implement signed offers, and plans to run the census weekly with results published and anchored to Bitcoin.", "body_md": "I run an [x402 store](https://dev.to/seancrecord/an-mcp-server-that-remembers-every-trial-your-agent-signed-you-up-for-5feo) where the customers are AI agents.\n\nIn August I pointed a free checker at every host on the public x402\n\ndiscovery list. One of them tried to sign its offers. Its signatures\n\ndid not parse.\n\nx402 is the HTTP 402 payment flow Coinbase and Cloudflare revived for\n\nagents: request a resource, get a 402 with the price and the address,\n\npay, retry. It works. Thousands of settlements a day go through it.\n\nWhat it does not do, by default, is commit the seller to anything\n\nbefore the money moves. The 402 says \"this costs $0.01, pay here.\"\n\nNobody signed that. If the price changes between the challenge and\n\nthe settlement, or the payTo address was swapped by whoever sits\n\nbetween you and the origin, the buyer finds out after paying, if at\n\nall.\n\nThe x402 spec has an extension for exactly this: signed offers and\n\nsigned receipts. A JWS over the offer, Ed25519, with a key the seller\n\npublishes. A buyer holds a commitment it can check before paying,\n\nagainst a key anyone can fetch, without asking the seller. It is the\n\ncheapest trust signal a seller can ship.\n\n**So I checked who ships it.**\n\nOn 2026-08-03 I sent one GET to every host on the public x402\n\ndiscovery list, 35 hosts, and read the 402 each one returned. The\n\nchecker is free and public, so the whole thing is reproducible by\n\nanyone with curl:\n\n```\ncurl -X POST https://scvd.store/api/preflight/v1 \\\n  -H 'content-type: application/json' \\\n  -d '{\"url\":\"https://your-endpoint.example/api/thing\"}'\n```\n\nThe result:\n\nI am not going to name the 34. The point is not who; it is that in\n\nAugust 2026, a buyer paying an x402 endpoint on the public list was\n\npaying against terms nobody had committed to, essentially everywhere.\n\n**What a signed offer costs to ship**\n\nAlmost nothing. Two packages exist for it, zero dependencies, any\n\nissuer:\n\n`x402-sign`\n\nmints spec-conformant signed offers and receipts for\nyour 402s and generates the did:web document your key lives at.`x402-verify`\n\nchecks anyone's, including mine.If you would rather not install anything, the conformance desk at\n\n[https://scvd.store/conformance](https://scvd.store/conformance) takes a pasted offer or receipt from\n\nany issuer and returns a structured verdict: parse, schema, signature\n\nagainst the key its kid names, liveness. Free, no account, and it\n\nchecks a competitor's artifact exactly as readily as mine.\n\n**What I will do next**\n\nThe census runs weekly now and the rows are published, signed, and\n\nanchored into Bitcoin, at [https://scvd.store/corpus](https://scvd.store/corpus). Every week's\n\nround says how many hosts were reachable, how many were payable, and\n\nhow many served a signed offer, with the denominator beside every\n\nnumber. If the 34 becomes 30 by October I will say so, and if it\n\nbecomes 35 I will say that too.\n\nIf you run an x402 endpoint: run the check above on your own door. It\n\ntakes one request. If it comes back with no signed offer, you are in\n\nthe 34, and the fix is an afternoon.\n\n*Disclosure: the store in this piece is mine. It sells signed\nobservations to agents for fractions of a cent and publishes the\ngaps in its own coverage on the same page as the findings. The\ncensus, the checker and the corpus are free along with any *", "url": "https://wpnews.pro/news/35-x402-hosts-served-no-signed-offer-here-is-how-to-check-yours-in-one-request", "canonical_source": "https://dev.to/seancrecord/35-x402-hosts-served-no-signed-offer-here-is-how-tocheck-yours-in-one-request-ceh", "published_at": "2026-09-03 15:24:38+00:00", "updated_at": "2026-09-03 15:57:04.748573+00:00", "lang": "en", "topics": ["ai-agents", "developer-tools", "ai-infrastructure"], "entities": ["x402", "Coinbase", "Cloudflare", "scvd.store"], "alternates": {"html": "https://wpnews.pro/news/35-x402-hosts-served-no-signed-offer-here-is-how-to-check-yours-in-one-request", "markdown": "https://wpnews.pro/news/35-x402-hosts-served-no-signed-offer-here-is-how-to-check-yours-in-one-request.md", "text": "https://wpnews.pro/news/35-x402-hosts-served-no-signed-offer-here-is-how-to-check-yours-in-one-request.txt", "jsonld": "https://wpnews.pro/news/35-x402-hosts-served-no-signed-offer-here-is-how-to-check-yours-in-one-request.jsonld"}}