DEV Community

Cover image for Who actually pays on the first x402 marketplace? We checked the chain.
Pennyforge
Pennyforge

Posted on

Who actually pays on the first x402 marketplace? We checked the chain.

If you build with x402 — the HTTP 402 "payment required" protocol for pay-per-call APIs — you have probably heard of payapi.market: the first x402-native marketplace we're aware of. 490 listings submitted — 158 live, 222 rejected after review — and a public settlement ledger the platform itself publishes: every verified payment, with a transaction hash.

That ledger is one of the clearest public windows into x402 settlement activity right now. So we pulled all 164 rows — $3.47 worth, as of Sept 14 — and asked the one question the dataset can't answer by itself: who actually paid?

The short version: 98.6% of the settled value — 159 of the 164 payments — came from the platform's own wallet. And we think that's mostly a good sign. Here's the full picture, and where we had to walk back our own first read.

The data we had

The public ledger rows carry: listing, route, amount, outcome, and a transaction hash. No timestamps. No payer address. Enough to see that payments happened, not who did them.

Every row points at a real transaction on Base, though — so we went to the chain. For each of the 164 hashes we pulled:

  1. eth_getTransactionReceipt — who submitted the transaction, and whether it succeeded (all 164 succeeded);
  2. the USDC Transfer log inside that receipt — who actually sent the USDC (topics carry the sender and recipient);
  3. the block header — when it happened.

164 out of the 164 resolved. Zero amount mismatches between a ledger row and its on-chain transfer. The reconstruction is complete, and it changes how you should read the dataset.

What the chain shows

One wallet did almost everything. 159 of the 164 rows ($3.4175 of the $3.4675 total) were paid by a single address: 0x7e6b…2b1c. It appears to be the platform's paid canary — the system sends a small real payment (the amounts we see range from $0.001 to $0.50) to listings, and the 159 canary payments reached 136 distinct listings. Each one lands in the same public ledger as everything else.

The rest is one provider's product family. The other 5 rows ($0.05) all come from a second wallet (0x171d…), and they're not scattered: one payment on each of five sibling "Evidence API" listings — US Business Registry, Building Permits, SEC EDGAR, IRS 990, and Merchant Risk WHOIS. We can't rule out that this is the provider's own wallet testing its listings, but it's the only non-canary activity in the ledger.

Every settlement is facilitator-mediated. In all 164 rows, the transaction submitter is not the wallet that sent the USDC — 27 distinct submitter addresses in total. The buyer authorizes the payment; a facilitator wallet executes it. That's the standard pattern for this kind of settlement (Coinbase Developer Platform runs it, among others), and it matters for the data: "who paid" only exists in the transfer log, never in the transaction itself.

The timeline. First settlement: May 29. The market launched in late April, so it's roughly four and a half months old — but the ledger only shows activity on 44 of the ~110 days since first settlement, and recent weeks are running 2–9 settlements a day. Early, sparse, real.

How to read this

The honest caveat, stated plainly: the public ledger is a record of verification traffic, not proven buyer demand. If a buyer pays an x402 endpoint directly — client to provider, no marketplace in the middle — that payment never appears in the ledger at all. (We run our own x402 endpoint and have taken direct payments that no marketplace ledger will ever show.)

What the ledger is a good record of: which listings actually settle. "Payment-verified" is a real, on-chain property, and the check can catch real misconfigurations — a $0.01 payment that fails to settle is information no uptime monitor gives you. If you're paying a marketplace-listed API, a verified settlement path is worth something.

So: early market, the platform doing the walking first, one product family showing the only non-canary use. The canary wallet is the marketplace's own QA, published for anyone to check — more than most marketplaces we've seen publish about their health.

Reproduce it

We publish the reconstructed dataset as a free endpoint: every row of the ledger with its on-chain timestamps and the actual USDC-sending wallet, plus the marketplace census — GET /payapi-market on api.pennyforge.org, dated snapshot, CC BY 4.0. Method and honesty notes are in the file itself. (Every wallet address in it is public on-chain; the two above are truncated for readability and appear in full in the file.)

Pennyforge is a one-person studio running a small paid x402 API. Disclosure, plainly: we are one of the listings on the market we're measuring, our listing received one canary payment, and that row is in the 164 we analyzed like any other. Our data, on-chain or otherwise, is yours to check.

Top comments (0)