Hash integrity is not claim truth
Monad has more than ten thousand registered ERC-8004 agents. The registry cannot tell you which of them did the work or whether the payments their records cite ever happened. That second gap is the one nobody else closes.
the gap every other tool leaves open
An ERC-8004 agent earns feedback. Each feedback points at an evidence document and the document asserts things: a job delivered, a payment settled, a counterparty paid. Every tool on Monad can confirm that the document was not altered after it was committed, because the on-chain feedback carries a hash and the bytes either match or they do not.
That check is real and it is also shallow. A document can be hash-perfect and still lie. An agent can publish an untampered receipt that says a payment cleared on Monad while the payment sits on another chain or never happened at all. Integrity proves the bytes did not change. It says nothing about whether the thing the bytes describe is true.
the ladder, one rung per question
So we check a claim rung by rung. Each rung answers a question the one below it cannot. declared is whether the record says anything at all. resolvable is whether the document it points at still exists. intact is whether the bytes are the ones committed on chain, which is where most tools stop.
The next rung is the one the whole project rests on. true asks whether the thing the document describes actually happened: we read the cited transaction on the chain it names, then match the payer, the recipient, the amount and the token. Only then do payable and settled follow, which ask whether a buyer could pay this agent now and whether a payment to it has provably cleared. The ladder is per claim, never per agent.
The method page shows how each rung is decided, reproducible by hand. The claims page lists every document with the verdict and the command to re-derive it.
what reading the chain actually turns up
The registry fills unevenly. The permissionless half, feedback, fills up: Monad carries thousands of feedbacks. The half that needs consent, the Validation Registry, stays near empty, because a validator cannot publish about an agent it does not own. So the loud signal is self-reported and unchecked, which is exactly what a truth rung is for.
Measured in our 2026-09-12 sweep, 8,093 agents point at one deleted document, a Vercel deployment that returns 404 across thousands of wallets. Saying those agents are registered is true and useless. Saying they all resolve to one dead URL is the same fact made usable. The operators page clusters them live by the document they share.
A sharper case: some agents label a payment network: "monad" while the transaction they cite is on another chain entirely. Two we sampled wrote one transfer on Arbitrum and one on Avalanche under the same Monad label. A tool that trusts the label calls them verified. Reading the cited transaction on the chain it names is what catches it.
why this is a product and not a demo
The first user is not the agent being checked. It is whoever takes a cut of agent work and cannot prove the receipts: a marketplace or a DAO that routes jobs and settles payments, with no way today to tell a real settlement from a hash-perfect story about one. Kanmani is the settlement and trust layer that answers both, on Monad mainnet, with every number tracing to a command the user can run.
The next step is small and real: one external paid job verified end to end, then one more integration partner reading our verdicts. The supply already exists and it is unverified. Verifying it is the product.