Research note · Trust
How reputation gets forged on-chain — and how we catch it
2026-08-10 · 14 min
On-chain data is supposed to be honest because it can't be faked. That's half true. The transactions are real; what they mean is not. Here are five ways people manufacture reputation in the agentic-commerce economy, the exact on-chain fingerprints that give each one away, and the handful of principles that let a measurement pipeline tell traction from theatre.
A number on a blockchain feels like a fact. Someone paid someone, it’s signed, it’s permanent, anyone can check it. So when a service shows millions of transactions, the instinct is to trust it — the chain doesn’t lie.
The chain doesn’t lie. But it also doesn’t explain. It records that money moved; it never records why. And the gap between “money moved” and “a real customer paid for something real” is exactly where reputation gets forged.
Faking a review is easy and everyone knows to distrust it. Faking a transaction is easy too — and almost nobody knows to distrust it. That asymmetry is the whole opportunity for a forger.
We measure the x402 settlement economy — agents paying agents for API calls, priced in stablecoins, settled on-chain. Building an honest leaderboard of who really has traction meant first learning every way the raw numbers lie. This note is what we found: five recurring patterns of synthetic reputation, each with its receipts, and the principles that catch them.
Why on-chain reputation is forgeable at all
Three properties of a public blockchain, each a feature, combine into a loophole.
Volume is free-ish. On a cheap chain, a transaction costs a fraction of a cent. If a metric rewards transaction count, you can manufacture a million of them for pocket change. The cost of faking is far below the value of looking popular.
You can pay yourself. Nothing stops one person from controlling both the buyer and the seller wallet. Money leaving your left hand and arriving in your right hand looks, on-chain, exactly like a stranger paying you. Same signature, same finality, same green checkmark.
Addresses are cheap and anonymous. A new wallet costs nothing and reveals nothing. Want twenty “different” customers? Make twenty wallets. The chain sees twenty distinct addresses and dutifully reports twenty distinct buyers.
None of these is a bug. Together they mean a determined operator can produce settlement that is technically real — every leg verifiable — and economically empty. The transactions happened. No commerce did.
Five patterns, with receipts
These aren’t hypothetical. Each is a class we found in live settlement data, isolated with a query, and confirmed on-chain. The addresses are public settlement recipients; we never touch who the payers are.
The echo harness
The tell: money comes in, the same money goes back out, net flow is zero
The simplest fake. A test rig pays a wallet, the wallet immediately refunds it, and the loop repeats thousands of times. Every inbound payment counts as “revenue” on a naive tracker. But nothing was earned — the money is the same dollars circling.
One Algorand address ran this at scale. Measured directly against the chain over its full history:
IN $203,879.13 over 2,531 transfers OUT $203,879.13 over 2,525 transfers NET $ 0.01 inbound note: x402-payment-v2-<timestamp> outbound note: x402-echo auto-refund (2,516 times)
The service literally labelled its own refunds x402-echo auto-refund. It wasn’t hiding — it was an integration test harness, doing its job. But a tracker that counted only the inbound leg would have reported ~$204k of “settlement” for a service whose true economic output is one cent of rounding dust.
The tell is conservation. Sum what goes in, sum what comes out, per address. When they match and the net is zero, you are looking at circulation, not commerce. The greppable marker (auto-refund) is a bonus; the net-zero shape is the real signal, and it works on any chain even when the operator isn’t polite enough to label it.
The circulation loop
The tell: a wallet funds its own buyers, who then pay it back
Subtler than an echo, because the money doesn’t bounce straight back — it takes a lap. The operator funds a set of buyer wallets, those wallets pay the “seller,” and the seller quietly tops the buyers back up to go again. To a tracker it looks like many customers making many purchases. On-chain, it’s one entity paying itself in a circle.
We found a Solana address holding $314,337 of apparent settlement across 253,525 transfers. It looked like a busy, successful API. Then we followed the funding:
recipient spent $368,942 economy-wide, of which $368,925 (99.995%) landed on ITSELF. its owner wallet's own history: repeatedly creates a buyer's token account and funds it FROM the recipient, then that buyer pays back at ~$1.45 per call. the facilitator that sponsored gas did so for this ONE address on 99.8% of everything it ever touched.
Every payment was a real, signed Solana transaction. Every “buyer” was a real address. And the whole thing was one wallet paying itself with its own money, routed through buyers it created and funded. Nobody outside the loop ever paid for anything.
The tell is captivity. Ask, of every buyer: does this payer spend anywhere else? A real customer of a good API also buys from other APIs. These buyers spent 99.995% of their money in one place — because that place was their source of money. Captive buyers are the fingerprint a circulation loop can’t erase.
The closed ring
The tell: the set of payers is identical to the set of payees
A collective version of the loop. A cluster of wallets trade with each other — each one both a buyer and a seller, all volume staying inside the group. Every member looks like a thriving little business with real customers. The customers are the other members.
A 23-node ring on Solana, bootstrapped by a single facilitator key:
23 addresses · $85,547 · 33,799 transfers · 3 weeks at transaction grain: the payer set IS the payee set. each node has exactly the other N-1 as counterparties. for every node sampled, the OLDEST transaction on it is signed by the ring's operator key, creates its token account, and funds it FROM ANOTHER RING MEMBER. outside the ring, that operator key's largest payment to anyone was $276.76.
The genesis of each wallet gives it away: the first thing that ever happened to every member was the operator creating and funding it from another member. It’s a family, not a marketplace.
The tell is closure. Draw the graph of who pays whom. A real economy is open — money flows in from outside and out to elsewhere. A ring is closed: draw a boundary around the cluster and almost nothing crosses it. When the payers and the payees are the same short list of addresses, that list is one operator.
The volume farm
The tell: millions of identical micro-payments the recipient never spends
The bluntest and biggest. If a ranking cares about transaction count, manufacture count: pay yourself one cent, a few million times. It’s cheap on a fast chain, and it dwarfs every honest service on the tx-count axis.
One week of one such cohort, after we’d already stripped the obvious noise:
~9,000,000 payments of ~$0.019 each concentrated on a handful of recipient wallets that then never move the balance onward. for scale: this ONE week held 69.5 million payment legs — 17x a normal neighbouring week.
This is the pattern that makes a raw “total transactions” headline almost meaningless. A single farm can out-produce the entire real economy on that one metric, which is precisely why we don’t lead with it.
The tell is sterility. Real revenue moves — a real business pays salaries, buys inputs, withdraws to an exchange. Farm proceeds sit. A wallet that receives millions of dollars and never spends a cent of it isn’t running a business; it’s running a counter. Uniform price, one payer or a captive few, money that never flows onward: three sterile signatures of a farm.
Borrowed credit
The tell: one wallet, many unrelated services all claiming it
The most interesting, because usually nobody is lying — and a naive tracker still gets it badly wrong. Some infrastructure is shared: a routing layer or payment hub receives money on behalf of many downstream services. Each of those services honestly advertises the hub’s wallet as its payment address. So the same wallet is claimed, truthfully, by a dozen unrelated businesses.
A tracker that picks one winner per wallet then hands the hub’s entire volume to whichever service it happened to choose — inflating one stranger’s reputation with everyone else’s traffic.
wallet 0x66fa4d79… · $415,797 · 31,548,003 tx live-probed and catalog-advertised by, independently: aisa.one lnpay.ai paywall402.com none is lying. all three route through it. crediting any ONE of them fabricates a reputation.
This one bit us in the mirror, and it’s worth admitting: an early version of our own bridge did exactly this — winner-take-all over shared evidence — and handed a routing wallet’s 31 million transactions to a single service. We caught it, measured the whole class ($920k of settlement across 309 wallets), and changed the rule.
The tell is contested provenance. A live payment challenge on a service’s own domain is strong evidence it owns a wallet. When two different services both answer a live challenge with the same wallet, that isn’t a contradiction to resolve by picking a winner — it’s the definition of shared infrastructure. The honest move is to name none of them automatically, show all the claimants, and let a human identify the actual operator with first-party proof.
The principles underneath
Five patterns, but not five unrelated tricks. They’re surface expressions of a few deeper rules. Once you hold the rules, new variants announce themselves.
Shape beats size
Every detection above ignores how much and studies how the money behaves: does it conserve to zero, circle back, stay inside a boundary, sit sterile, get claimed twice. Size is the metric forgers optimise, so size is the metric that lies. Structure is expensive to fake convincingly, so structure is where the truth hides.
Absence is not zero
When we can’t identify who a wallet belongs to, the honest label is “unknown” — not “zero” and never a plausible guess. A name we can’t stand behind, once printed, is indistinguishable from a fact. So our published attribution shrinks only when real evidence arrives, never by rounding a mystery up to the nearest believable answer. A gap we can prove is worth more than a number we can’t.
Exclude non-sellers; don’t name them
An echo harness and a wash farm are not under-credited services — they aren’t services at all. The right treatment isn’t a lower score, it’s removal from the denominator, with the evidence attached. Counting a self-refunding test rig as “$204k of settlement” would be a lie of inclusion, just as naming a shared wallet after one claimant is a lie of attribution.
Evidence justifies exactly the rows it was gathered on
A proof about one chain doesn’t transfer to another; a claim about one wallet doesn’t transfer to a wallet that merely looks similar. This sounds obvious and is constantly violated — including, twice, by us, until a number that should have matched to the cent didn’t, and the discrepancy pointed at the over-reach. Tie every exclusion and every attribution to the specific evidence that earns it, and no wider.
Fail loud, and check your own work
The most dangerous forgery is the one your pipeline quietly accepts. Two of the patterns here surfaced only because a conservation check refused to balance and forced us to look. A measurement system that can’t embarrass itself will eventually publish someone else’s fiction. Ours is built to break loudly when the numbers don’t reconcile — because a broken build is cheap and a fabricated reputation is not.
What this buys you
Strip the echoes, the loops, the rings, the farms, and the borrowed-credit inflation, and the number that remains is smaller — noticeably smaller — than the raw on-chain total. That’s the point. A headline that only ever goes up is measuring popularity of the metric, not health of the economy.
The goal was never the biggest number. It was the number you can turn around and defend, transaction by transaction, to someone who disagrees with you.
Everything in this post is on the site, live and itemised. The Transparency page lists what we measured but can’t yet name, address by address, with the specific reason for each. The Integrity view shows the wash-bounded volume ranges. If you think we’ve mislabelled something, the evidence is right there to argue with — which is the only kind of reputation number worth having.