← the live dashboard

The x402 economy's money is bilateral, not marketplace

A full census of every listed x402 seller on Base, 24-hour window to 2026-09-10.

The pitch for agent payments is a marketplace: thousands of services, millions of autonomous buyers, price discovery at a fraction of a cent per call. We measured the whole thing instead of a sample of it, and the shape is different.

We took every Base payTo address in the public x402 directory — 875 sellers — and scanned every USDC transfer in a 24-hour window, joining it against that list. Not a sample of services we happened to find first; the whole catalogue.

MeasureValue
sellers listed875
received anything in 24 hours70 (8.0%)
had more than one distinct payer22 (2.5%)
settled to the entire catalogue$312.12
average per listed seller, per day$0.36

805 of 875 listed sellers took no payment at all in a day.

Where the money actually went

Sellers by distinct payersSellersTotal settledShare of all valueAverage per call
exactly one payer48$258.1383%$1.1627
two or more payers22$53.9917%$0.0737

The largest single seller took $244.07 across 17 settlements from one payer — about $14.36 a call. The two busiest sellers in the entire catalogue, with 25 and 22 distinct payers respectively, earned $1.98 and $1.14.

So the revenue that exists is not marketplace revenue. It is a few large per-call payments from a single client, and the genuinely multi-buyer part of the economy is worth tens of dollars a day across every listed service. Average revenue per call for a service with real multiple buyers is seven cents.

Being one more $0.02 endpoint among thousands means competing for the part of the economy that has almost no money in it.

How to check this yourself

Seller addresses come from a full pull of the public directory. Volume is every USDC Transfer whose recipient is one of those addresses, read from the USDC contract on Base — not from any dashboard, ours or anyone else's. The re-runnable aggregates are published at /census.json.

Coverage is 797 of 864 block chunks (92.2%), and the file says isComplete: false. A chunk that returns no data is indistinguishable from a chunk with no activity, and a missing chunk can only ever add. Every figure above is therefore a floor, not a point estimate.

Two further limits we would rather state than have you discover. A single distinct payer cannot be distinguished from a service paying itself or a treasury sweep, and $14.36 a call is high enough that self-dealing is a real alternative explanation — this measures where value moved, not who profited. And row-level per-seller data is deliberately not published; the aggregates are.

← All findings
Also: bounty-boards-cannot-pay  ·  free-door-audit  ·  solana-catalogue-pricing