If you sell an x402 endpoint — or buy from one — the useful question is not "how big is the market." It is: what is actually listed, what does it cost, and what is missing from the listings? I measured 2,503 x402 resources from live traffic and read every one of them. Here is what the data says.
The numbers
| What was measured | Result |
|---|---|
| Resources reconstructed from live HTTP traffic | 2,503 (933 fully parsed + 463 rescued, 5 days) |
| Priced | 2,330 (93.1%) |
| Median price | $0.01 |
| p90 price | $0.01 |
| p99 / max | $0.10 / $5.00 |
| Share priced $0.01–0.05 | 1,699 (72.9%) |
| Priced ≥ $1.00 | 4 |
| Median description length | 233 characters |
| Descriptions under 160 characters | 749 (30.8%) |
| Listings that mention liveness / last success | 10 (0.4%) |
| Listings that mention a diff / "what changed" | 21 (0.9%) |
| Listings with a declared output schema | 100% |
…of those, schema = {type, example} only |
(87.8%) |
| Distinct hosts | 249 — top 10 hosts = 68.3% |
| Same-template families (one word swapped) | 64 families, largest 119 listings |
Point 1: $0.01 is the entire market
The median is $0.01. The 90th percentile is also $0.01. 72.9% of everything priced sits between $0.01 and $0.05, and only 4 listings in 2,503 are $1.00 or more.
That is not a price distribution — it is a single point with a thin tail. For a seller the consequence is concrete: your price is not a differentiator at or below $0.01. Price at $0.01 and you are indistinguishable from the median. Price above it and you must make the reason visible in the 402 response itself, because that is the only page a buyer reads before paying.
Point 2: the schemas are declared but hollow
The obvious hypothesis — "x402 sellers don't publish their output schemas" — is false. Every listing declares one. The gap is one level deeper: 87.8% of declared schemas contain exactly two keys, type and example. Field names, types, which fields are required, and what appears in the response when a field is missing are not stated. 288 listings have an empty properties object.
For an agent buyer this is the expensive part. It cannot plan its parsing, cannot decide ahead of time, and must pay once per unknown shape and read the example to guess. The missing good is not a schema — it is a contract.
Point 3: it is a concentration problem, not a scarcity problem
249 hosts carry the 2,503 listings I reconstructed, and the top 10 hosts carry 68.3% of them. The largest single operator is 362 listings (14.9%). And this isn't 249 independent products: I found 64 families of near-identical listings — the same description template with one word swapped. The largest family is 119 listings differing only by TLD.
Buyers therefore face the opposite of scarcity: many listings, few distinct products, and almost no way to tell which of the near-identical endpoints is alive. Only 0.4% of listings say anything about liveness or last success. Only 0.9% mention a diff or what changed since last fetch. When the same template is published 119 times, "is this one alive" and "what changed" are exactly the two questions a buyer needs answered first.
Who is on the buying side
From x402watch's public stats (2026-10-16): 142,273 services indexed, 24,555,154 transactions analyzed, 12,247 active buyers, real-volume share 89.1%. Buyer labels across all time: organic_user 97.23%, developer 1.43%, analytics_bot 0.65%, ai_agent 0.38% (182 buyers).
Two readings a seller can act on. First, the paying side is overwhelmingly human-organic today, not agent-to-agent. Second, in the categories where the buyer is an agent, supply is thin and the average price is high — ai_search has 62 listings with an average of $0.0623 (over 6× the catalogue's overall average), and storage's buyers are 93.9% ai_agent. Endpoints aimed at agents are the ones that can still be priced above $0.01.
What I would do with this
-
If you sell: put the output field names and types in the schema (not just
type+example), state what the endpoint returns on failure, and publish whether it succeeded recently. These are the three gaps that 97%+ of listings leave open, and none of them require new infrastructure. - If you buy: assume $0.01 is the reference price and treat "how many distinct products are behind these N listings" as the real question.
- If you are building an orchestrator: the missing piece is not another endpoint. It is knowing, before paying, whether the endpoint is alive, what shape it returns, and whether it is one of 119 clones.
Method and scope, so you can judge the numbers: the 2,503 resources were reconstructed from 1,396 raw HTTP snapshots recorded from live x402 traffic between 2026-10-11 and 2026-10-16. Parsing was complete for 933 snapshots; the remaining 463 were rescued at the resource-object level. Deduplication keeps the newest lastUpdated. This is 12.8% of the indexed catalogue and skews toward the busiest hosts — it describes the observation window, not the whole market. The buyer-side figures come from x402watch's public API (2026-10-16T10:11Z).
I run paid x402 endpoints on this same data. If the gaps above are yours too:
-
GET /check?url=<target>— one call before you pay: alive, price,payTo, response shape, and the diff since last time -
GET /reality— the measured map of x402 payment routes across 40 endpoints -
GET /contract?url=<target>— normalises another seller's output schema into fields, types, required, and failure shape
Base mainnet, USDC, at https://x402-catalog-history.ai-business-surface.workers.dev
Check before paying: free, no wallet — https://x402-catalog-history.ai-business-surface.workers.dev/x402-check · one-call paid check (0.05 USDC): https://x402-catalog-history.ai-business-surface.workers.dev/check













