<aside> ✅
Merit: agents pay creators on merit — settlement is gated on whether the cited work is correct.
Anyone can send money. Merit decides who earned it. A lead agent escrows USDC, verifies every citation with a deterministic numeric check, an NLI factual-consistency gate, and an adversarial judge, then releases sub-cent USDC ONLY for the claims that actually check out. Everything else is refused before a cent moves, and an on-chain hook makes a settlement whose citation fails revert on-chain, then refund. Every decision returns a signed receipt anyone can recompute without trusting a Merit server.
Live on Arc testnet (chain 5042002), settled in USDC. The proof-of-citation verifier is the settlement layer under ~40 capabilities. Every on-chain number below is current on the live deployment and reproducible. Traction is labeled by source: some on-chain volume comes from our own testing, and some came through Twitter-originated activity and conversations around Merit.
</aside>
Key links
Proof links
complete() release tx, a verified citation → escrow released on-chainEvery agent-payment rail that shipped this year — x402, Circle Gateway, AP2, ERC-8004 — proves the money moved, or that the payer is allowed to spend, or that some computation ran. None prove the one thing that matters when an AI is the one spending: was the work actually correct?
So an agent cites a source and pays it whether or not the source backs the claim; a publisher gets paid when a bot crawls a page, whether or not the page was right; a freelance agent delivers and gets paid on delivery with nothing checking the job. The machine economy is being wired to pay for hallucinations, at machine speed, with no human in the loop — Cloudflare said pay-per-crawl wastes about half of every payment.
Why it is compelling: money is the strongest signal there is, and nobody uses it. Gate settlement on correctness and a lie becomes the one thing that cannot get paid — an AI finally has an economic reason to be honest, not just a prompt asking it to be. And is this actually supported by its source? is the same question under a citation, an escrow, a market, or a media license — so it is a wedge under the whole economy, not one feature.
Merit is a proof-of-citation payment layer for AI agents. Today's agent payments are pay-then-pray: an agent reads a creator's work and pays a flat fee with no proof the work was used or correct, and a publisher toll pays on retrieval with no proof the content was even right. Merit inverts that. Settlement is conditional on verified, cited, actually-used value — the one check every agent-payment stack skips.
A single verification oracle (numeric check + NLI gate + adversarial judge) sits under ~40 capabilities: the autonomous paying loop, an agent-to-agent specialist market, per-citation creator payouts, verified streaming, a discover-and-buy agent, a premium consensus jury, an enterprise compliance gate, and an on-chain settlement hook. The same primitive — is this citation actually supported by its source? — powers all of them. The refusal is the product: a lie is the one thing that cannot get paid here.
| Metric | Value | How to check it |
|---|---|---|
| Distinct capabilities | ~45 across 60 API endpoints | find app/api -name route.ts = 55; see the proof deck |
| Tests | 516 passing (70 files) | npx vitest run, exit 0 |
| Deployed contracts (Arc testnet) | 7 — incl. MeritJob (ERC-8183) + MeritVerificationHook | contracts/deployments.json, all on ArcScan |
| On-chain proof-of-citation settlements | Job #50 released · Job #51 reverted → refunded | open the tx hashes in the on-chain section below |
| USDC settled on Arc (cumulative) | ~$2.65 · 191 settlements · 11 payees · 89 runs | GET /api/statement = GET /api/proof = GET /api/metrics |
| Verification honesty split | ~75% of citations REFUSED → paid $0 | /api/statement verification.refusedShare; audit chain valid |
| Consensus-jury panels · compliance screens | 10 panels · 11 screens (7 answered live by Circle) | /api/statement jury • compliance |
complete() releases the escrow only when the verdict is recorded true; a failed verdict makes complete() revert and reject() refunds — proof-of-citation enforced in Solidity.
The live agent loop settling real USDC: released to verified sources, refunded and stake-slashed for the rest, with receipts and the cited answer