1. Register the agent on-chain (if it is not yet)
The registry we read is ERC-8004, the identity standard for trustless agents. On Base the identity registry is at 0x8004A169FB4a3325136EB29fA0ceB6D2e539a432. Registering mints an identity token that points at an agent file (the agentURI) describing the agent, its services and, ideally, the wallet it pays from. Most agent frameworks and launchpads do this for you; if you are doing it by hand, the ERC-8004 page explains the registry and the binding record explains how a wallet is joined to an identity.
- Declare the wallet. An agent file that names its payment wallet is bound with the highest confidence. Without it, we bind by the registration’s owner, which is weaker and says so on the record.
- Serve the agent file. Our probe reads the URI, checks it parses, and checks whether the declared endpoint answers. Rungs L1 to L5 of the ladder come from that probe.
- One registration per agent. Minting hundreds of names from one address is a burst, and the burst is a detection. It does not help a rank; only payments do.
2. How the agent gets ranked
The public rank starts at L7: a wallet bound to the registration was observed paying a different address, after the registration existed. L8 adds that the wallet is still funded; L9 needs three or more distinct counterparties in thirty days. Nothing below L7 is published as an agent, because below that line a registration is a name nobody has been observed using. The full rules are on the ladder page, and every figure on the record carries the time we measured it.
| Rung | Test | Evidence |
|---|---|---|
| L0 | A registration exists | the registry’s own mint event |
| L1 to L3 | The agent file exists, resolves and parses | our probe, sampled daily |
| L4 to L5 | It declares a service, and the service answers | our probe |
| L7 | A bound wallet paid a different address | USDC transfers on Base, counted after registration, routing hops excluded |
| L8 | L7, and the wallet still holds at least $10 | balance read on-chain |
| L9 | L8, and three or more counterparties in 30 days | the payment graph |
Two things are never counted as spending: a wallet’s history from before the agent existed, and money that only passed through on its way somewhere else. Both are published as their own metrics so anyone can check the exclusions. Why that matters →
3. Claim and watch it on the Desk
- Press Connect on any page and pick a wallet: MetaMask, Coinbase Wallet, Rabby, Trust, Phantom, or a Base Account with a passkey. Sign one message; no gas, nothing moves.
- Paste the agent’s id in “Add an agent to watch”: the token id (for example
53008), the slug, or the bound wallet address. - Read the books. Every payment with its transaction, who the agent pays and how concentrated that is, its float, its rank with the evidence behind it, and every detection logged on it.
- Set your thresholds for the drain shape, quiet wallets and low float, and add the addresses the agent is meant to pay to its allow-list. The Desk flags departures with what to check. Watching needs no proof of ownership; your watch-list stays in your browser.
Watch is free for three agents. Operator (29 USDC per 30 days) watches 25 and includes the evidence packs; Team (149 USDC) watches 250 and adds revaluations. Paid from the same wallet on Base, prepaid, never auto-renewing. The plan matrix →
4. What the agent itself gets, with no account
An autonomous agent reads its own record, or any ranked agent’s, with a plain GET at /api/agent?id=<token|slug|wallet>&format=json. When it needs evidence it can cite before trusting or paying a counterparty, it buys a dated pack per call over x402: the check answers 402 with the exact price and receiving address, the agent retries with a signed USDC authorisation, and the pack comes back with the receipt. Prices: $1 a pack (liveness, paygraph, drain, incidents, peer), $5 the bundle, $2 a revaluation. A registration we have never seen paying anyone is refused before payment. The manifest at /.well-known/x402 and the agent card at /.well-known/agent-card.json describe every call, and the packs are listed in the x402 Bazaar.
To hand all of that to your own agent: on the Desk, Settings → Feed your agent downloads a brief written for an agent’s context (a system prompt, a skill folder or a tool description). It holds the endpoints, what each field means, the decision rules with your own thresholds, how to pay for a pack, and the ids and allow-lists you set on the Desk; the same thing comes as JSON for code, and as a short prompt to paste. Drop it in and your agent reads the ledger the way the Desk does, with no key and nothing to install.
5. What builders get out of it
- A public, dated record of what your agent actually does with money, from a measurer that does not profit from your rail. Link it from your own page; it is licensed CC BY 4.0.
- An early warning when an agent you run pays many times its usual size to an address it has never paid, goes quiet, runs out of float, or hands its keys to unknown code.
- A statement per agent that separates spending from routing and from the wallet’s older history, so a number you quote about your fleet reconciles to the dollar.
- Distribution. Ranked agents appear on the public rank and in the weekly note; platforms that send us their agents’ ids get a fair, timestamped read of their fleet the same day.
6. What we do not do
We never hold keys, move funds or sit in the payment path. We do not publish a person’s name next to a wallet, and we never try to find out who owns one. We do not count a mint as an agent, and we do not show a number we cannot reproduce. If a figure about your agent is wrong, write to us with the transaction and we correct it in public, with the fix.
Connect a walletSee who is rankedFor agents: the manifest