Research note · Infrastructure
Invisible plumbing: who actually moves the money in the agent economy
2026-08-10 · 12 min
Every leaderboard ranks the services. Nobody ranks the pipes. Between an agent that pays and an agent that gets paid sits a layer of facilitators and routing wallets that actually moves the money — and that layer quietly breaks the question every ranking is built on: whose volume is this? This note is about the plumbing itself: how you enumerate pipes that don't want to be enumerated, why our own indexer can only see the pipes it already knows about, and what happens when one wallet turns out to be three different services' front door.
When an agent buys an API call over x402, the story we usually tell has two characters: a buyer agent pays, a seller agent gets paid, USDC settles on-chain, done. Clean, bilateral, easy to rank.
The real story has more characters, and the extra ones are the interesting part. The seller doesn’t pull the payment out of the buyer’s wallet — a facilitator does, turning a signed authorization into an on-chain transfer, often paying the gas itself. And the address the money lands on is frequently not the seller’s at all: it’s a routing wallet, a hub that receives on behalf of many downstream services and settles up with them somewhere the chain doesn’t show you.
Neither of these actors appears on any leaderboard. Both of them appear in every transaction. That combination — invisible in the rankings, present in all the data — is what this note is about.
The agent economy has infrastructure. Infrastructure is shared by design. And anything shared by design breaks any attribution rule that assumes one wallet means one owner.
The two kinds of pipe
Facilitators move payments. In the x402 protocol, a buyer doesn’t submit its own transaction. It signs an authorization, and a facilitator — a relay operated by a platform, a chain foundation, or an independent company — verifies it and settles it on-chain. The facilitator is how a promise to pay becomes a payment. From the census’s point of view, facilitators are also something else: they are the handles by which x402 traffic can be told apart from the ocean of ordinary stablecoin transfers it swims in. You find x402 settlement by asking which known relay touched it.
Routing wallets receive payments. Some businesses in this economy are aggregation layers: one company operates the payment plumbing for many services, so many services honestly advertise the same receiving address. The chain sees one very busy wallet. The economy behind it is a dozen unrelated products sharing a checkout counter.
Both layers do exactly what infrastructure should do: disappear. A well-run facilitator is invisible to the buyer; a well-run routing hub is invisible to everyone. The trouble starts when a measurement system inherits that invisibility without noticing it has.
A telescope that only sees listed stars
Here is a structural fact about our own pipeline, stated as plainly as we can: the indexer is allowlist-gated. The ingestion scripts (scripts/census/index_cdp_tx.py, solana_bigquery.py) walk the chains asking, in effect, “show me the transfers relayed by these facilitators” — the ones on our registry. That design has a sharp consequence in each direction, and only one of them is comfortable.
The comfortable direction: precision by construction. The settlement fact table cannot contain traffic from a facilitator we don’t recognise, because the query that fills it never asked for any. Everything in the table arrived through a pipe we can name.
The uncomfortable direction: a silent zero. If a facilitator exists in the world but not on our registry, its entire relayed volume produces no rows, no error, no warning — a zero that is pixel-identical to genuine absence. The telescope doesn’t report “unlisted star here”; it reports sky.
You cannot patch this with better code. The gate is the design, and the design is correct — it’s what keeps six billion dollars of unrelated stablecoin traffic out of the census (a story for another note). The only defence against the silent zero is on the other side of the gate entirely: make the allowlist itself as close to exhaustive as the public record allows, and treat the registry not as a config file but as a research artifact with its own standard of care.
The registry is the aperture
So we hunt facilitators the way an astronomer hunts catalogue omissions: start from every published list, then look for what the lists miss. As of this note’s date, our facilitator registry is a strict superset of every published one we know of. Against the largest peer list — x402scan’s, at 31 entries — the comparison looks like this:
x402scan's published registry: 31 facilitators
Agents Trust's registry: 30 of those, PLUS 6
they don't list:
GoPlausible
AEON
Polygon Foundation
Orbis API
Vistara-Labs/b402
xpay.shSix extra names on a config list looks like housekeeping. Run it back through the previous section and it’s not: every facilitator a registry lacks is a pipe whose entire flow is invisible to whoever holds that registry. The width of your allowlist is the aperture of your telescope. A tracker with a narrower list isn’t measuring a smaller economy — it’s measuring the same economy through a smaller hole and can’t tell the difference from the inside.
This is also why we publish the registry itself on the Facilitators page rather than treating it as internal plumbing. If our aperture has a blind spot, the fastest way to find out is to let people who run facilitators look at the list and say “you’re missing one.”
One address, many businesses
Facilitators are the invisible layer on the sending side. The receiving side has its own: routing wallets. We flagged this class in one line in our note on forged reputation — “borrowed credit,” the fifth pattern — but it deserved more than a line, because unlike the wash patterns in that note, nobody here is cheating. Every claim involved is true. The naive attribution is still wrong. Two case studies show the two ways it goes wrong.
The wallet with three honest owners
The tell: unrelated services all advertise the same payTo, and none of them is lying
One Base wallet sits near the top of our contested list. Probe the live payment challenges and catalog listings of three services that have, as far as we can tell, nothing to do with each other, and all three point at it:
wallet 0x66fa4d79… · $415,797 · 31,548,003 tx independently advertised as the payment address of: aisa.one lnpay.ai paywall402.com none is lying. all three route through it. crediting any ONE of them fabricates a reputation.
Each service tells its buyers the truth: pay here. Each is a real product with real traffic. But the address is a shared hub, and the chain has no idea where one service’s revenue ends and the next one’s begins. A tracker that resolves every wallet to a single winner will hand all $415,797 and all 31.5 million transactions to whichever of the three it happens to pick — and from the outside, that fabricated reputation is indistinguishable from an earned one.
What we do instead: refuse to pick. The wallet is marked contested, all claimants are shown, and its volume counts toward the economy’s total without counting toward any single service’s name. Three true statements do not average out to one true attribution.
The router hidden inside someone else's reputation
The tell: a service's real volume sits under a wallet credited to a different name
The first case is over-crediting. The second is stranger: a service’s genuine, hard-earned volume can be invisible because the wallet carrying it got attributed to someone else.
BlockRun runs real payment infrastructure. Its actual router wallet carries this:
wallet 0xe9030014… · $356,667 · 21,834,453 tx for months: attributed inside ANOTHER service's reputation. BlockRun's own traffic — invisible. first-party proof that unlocked it: BlockRun's own domain, probed live, answers its x402 payment challenge with THIS wallet as the payTo. on that evidence, a curator named it.
Note what the unlock was not. It was not a heuristic, a similarity score, or a best guess. It was first-party proof: the service’s own domain, asked for payment terms in the normal course of the protocol, names this wallet as where the money should go. That is the strongest form of ownership evidence this economy produces — the business itself, speaking through its own infrastructure, in a way anyone can reproduce with a single request.
The asymmetry to notice: automated rules created this error, and only evidence could fix it. No amount of clever wallet-clustering would have safely moved 21.8 million transactions from one name to another. A live challenge on the right domain did it in one probe.
The size of the contested layer
Two wallets make an anecdote. So we measured the whole class: every settlement wallet where the evidence supports more than one honest claimant, or where a routing pattern makes single-name attribution unsafe.
contested wallets: 309 settlement carried: $920,236 transactions carried: 55.4 million
Read those three numbers together and the shape of the layer emerges: under a million dollars of settlement, but fifty-five million transactions. The plumbing is dense with tiny payments — which is exactly what you’d expect from hubs that aggregate many services’ API micro-billing, and exactly the profile that makes transaction-count leaderboards so easy to distort. One routing wallet misassigned to a single service can move that service dozens of places up a naive ranking without a single real customer changing behaviour.
The policy the class gets is the one the case studies earned. Automatic naming is off for contested wallets — the pipeline is forbidden from guessing. Claimants are listed, in public. A name is attached only when a curator can point at first-party proof, the way BlockRun’s was. Until then the volume stays in the honest middle: measured, characterised, unattributed.
What this honesty did to our headline number
Here is the part that separates a measurement from a marketing asset. When we shipped the shared-wallet work — carving routing wallets out of single-service attributions — our headline attribution fell.
total x402 settlement measured: $54.05M attributed to a named service: before the pack: ~$52.74M after the pack: $52.26M (96.69%) peer (x402scan), comparable figure: $52.77M
We now publish a smaller attributed number than our peer. We think it’s the better number, for a reason this whole note has been building: some of the difference is volume sitting on wallets that three services claim at once, or that belong to routers whose operators haven’t yet shown first-party proof. A tracker that assigns those wallets anyway gets a bigger attributed total and a quieter conscience than the evidence supports. Ours went down when we got more honest — and a number that can go down when the evidence says so is the only kind whose rises mean anything.
Infrastructure is the layer where “whose money is this?” stops having a one-wallet answer. A measurement system either models that, or it publishes fiction with great confidence.
Learning to see pipes
Pull the threads of this note together and they’re one thread.
On the sending side, facilitators are how we see anything at all — and the allowlist that makes the census precise also makes its blind spots silent, so the registry has to be maintained as a superset of everything published, and a zero has to be interrogated for which kind of zero it is.
On the receiving side, routing wallets mean the atomic unit of attribution is not the wallet. It’s the wallet plus the evidence about it — and when the evidence names three owners, the honest output is three claimants and no winner, not a coin flip rendered in a confident font.
And in both directions, the infrastructure layer rewards the same discipline: characterise what you can’t name, publish the gap instead of papering over it, and let first-party proof — not pattern-matching — be the thing that turns an address into a reputation.
The living version of all of it is on the site. The Facilitators page carries the registry this note froze a snapshot of. The Transparency page itemises contested wallets and unattributed volume, address by address, with the specific reason each one is still a gap. If you operate a facilitator we don’t list, or you can show first-party proof for a wallet we’ve marked contested, the fastest way to improve these numbers is to tell us — the plumbing is invisible by design, but it doesn’t have to be invisible to the census.