Overview
as of — · Base mainnetLiveness, rung by runghow the rungs are defined →
Every registration on Base enters at the top. Each ring is the share that reaches that rung, and only the bottom three have ever moved money.
Ring width is on a log scale (the ladder spans three orders of magnitude), so read the figure, not the width. Silver rings are estimates: a sampled probe rate × the registration total, marked ~. Emerald rings are counted. Hover a ring for its share of the rung above.
Pulse, how fresh everything isdata health →
Each dot is a producer. Twelve o'clock is just now; a dot moves clockwise as its last write ages, one lap per twelve hours. Inner orbit: our own collectors. Outer: the public sources we read. The ticks around the core are the data checks. Amber means a feed is past its own staleness budget.
The rank, last 90 daysdefinition →
Click a legend key to isolate a series. L8 and L9 are subsets of L7.
Detections by kind, all timethe log →
Click a kind to filter the alert lists. A detection is a shape with evidence; an incident is a detection that is also a harm, and recent.
My agents
watch-list · this browser onlyAdd an agent to watchbrowse the rank →
Any registration we have watched pay somebody (L7+) has a record. A registration that has never paid anyone has no rank yet, and the Desk says so rather than guessing. Paste several ids separated by commas or new lines to add a fleet at once; you can also click a bar in “Top ranked agents” below. Your watch-list is saved in this browser: on another browser or device, use Export and Import to carry it over. How the tracking works →
Buy an evidence packWhat each pack holds
Paid once in USDC from any wallet on Base, no account needed; the pack is built before the payment settles, so a failure on our side costs you nothing, and it lands under Your purchases with its receipt. Operator and Team plans include every pack: open a watched agent's Evidence pack instead of paying per call.
Alerts
shapes for a human to read, never verdictsYour agents
What each shape means, and what to checkwhy behaviour, not identity →
Findings
what the graph noticed, each with its sourceNewest findingsJSON →
- Loading…
Timeline
launches, incidents and turns in the series, datedEvents drawn over the seriesJSON →
- Loading…
The Engine, every figure on one wheel
refreshed every minute · hover a spoke to read itThirteen numbered families, one spoke per figure. The bar at the end of a spoke is its change over seven days (log scale). Select a spoke for its history with 7- and 30-day moving averages; the hub is what agents paid each day. Full page: /engine.
Rank
every agent we have seen pay someone · L7 and upRanked agentspublic rank →
Sorted by rank, then by observed spending. Click a column to sort it; Watch puts the agent on your Desk. Every agent's own record stays free on its public page.
Money
USDC on Base · agent-bound walletsWhere agent money goesthe article →
Of — that left agent wallets, — was an agent paying someone.
Counted — a bound wallet paying a different address after the agent was registered.
Routing — the same dollars passing through on their way somewhere else.
Pre-registration — the wallet’s history from before the agent existed. Both exclusions are published as their own metrics.
Money flowdefinition →
Every dollar that left an agent wallet, to where it was counted, and the counted part by rail.
The x402 ribbon is a floor: only payments to sellers we can name are attributed to the rail. Hover a ribbon or a node.
Top ranked agents by observed spendingJSON →
Concentration is the story: a handful of agents and one escrow contract account for most counted spending. Hover a bar for the agent; click it to watch that agent.
Wallets, payers and the addresses they payidle money →
x402
the payment rail · what we measure and what others count, kept apartx402, measured against the registryour read of x402 →
x402 transactions per day, 90 daysour read of x402 →
Cited from x402scan. Most of this traffic is not from agents with an on-chain identity: among registered agents, x402 is a small share of payments by count.
Registry
ERC-8004 identities · issuance is not activityWho registers, who mints, who answersthe ERC-8004 read →
New registrations per day, 90 daysdefinition →
Spikes are bursts: one address minting hundreds of names in an hour. A registration count measures issuance, not activity.
Reputation
on-chain feedback · beside the ladder, never inside itERC-8004 reputation, read from the registry's own logsdefinition →
Feedback is a signal format, not a score. A handful of raters write most of it, so a rating says as much about the rater as about the agent.
Market
context · not agent moneyMarket contextnever an input to rank or liveness
Partner catalogs, run through our qualifierJSON →
Identities each catalog lists, against the ones we could bind to a wallet that is not shared by many identities. Rates are over what we checked, never over a partner’s own census.
BNB Smart Chain
a watched chain, not a second homepage · eip155:56ERC-8004 issuance on BNB, counted from the chainJSON →
The identity registry sits at the same address on BNB as on Base, but each chain has its own storage: token id N on BNB is not token id N on Base. A mint here is issuance, never an agent. The chain gets a rank of its own only when a wallet bound to a BNB registration is seen paying a different address on BNB, which is the next thing the watcher learns to read.
Stablecoins sent by every BNB registration owner, receipt-checkedJSON →
Every owner wallet, not a sample: the USDT, USDC, FDUSD and USD1 each one sent to another address after its first registration on BNB, read every hour. Receipts from the public Binance nodes then split each transfer into a hop (the money came back in the same transaction), a DEX swap, a payment to a contract, or a payment to a plain wallet. A plain wallet can be an exchange deposit address or the owner's own other wallet. None of it is added to Base.
What we can and cannot see on BNB today
Other chains & the Bazaar
issuance where the registry also lives · what x402 sellers declare, per chainERC-8004 issuance on Ethereum, Arbitrum One, OP Mainnet and PolygonJSON →
The identity registry sits at the same address on these chains as on Base, each with its own storage. Counts start the day we started watching each chain (27 September 2026); a mint is issuance, never an agent, and a chain gets a rank of its own only when a wallet bound to a registration there is seen paying there. On Base and Ethereum registry events also arrive by webhook within seconds.
Solana agents: the Metaplex registry, their cards, wallets and paymentsEngine →
Solana's on-chain agent registry is Metaplex's MPL Agent Registry. Each record points at an MPL Core asset; its registration file is graded like a Base card, and the agent's own wallet is the asset-signer address derived from the asset. Payments count the net USDC and USDT that left the agent's wallet or its owner's wallet after registration, swaps excluded. Never added to Base.
x402 Bazaar: who sells, on which chainJSON →
Coinbase’s catalog of paid endpoints, read whole every six hours. A listing is an offer to sell, not a payment; payments are counted on the chains we read. It is the one view of x402 across Solana, Polygon, Arbitrum, BNB, Robinhood Chain and the rest that needs no chain read.
The tape, every metric
measured · hover for the definitionEverything we measure, as a ledgerraw JSON →
One row per measured metric: the value now, the change over seven days, and the last fourteen days as a line. Select a row and the inspector on the right shows its frozen definition, what it excludes and what it does not claim.
Wallet sets
the addresses behind every claimEvery address set behind a published metricwhy we publish them →
Data health
we audit ourselves before you have toChecks by stateevery check →
Data room
every board, finding, note and method page on the site, in one placeLive boards
The EngineEvery figure on one live wheelLive data roomEvery measured panel and trackerWhere agent money goesSpending vs routing hopsAgent payment statisticsVolume, USDC, livenessx402 statisticsWhat the payment rail carriesBuilder CodesWhich apps move agent moneyFindings
Ranked agentsEvery registration seen payingDetectionsThe anomaly log, with each rule's recordSlow drainsEvery window the drain rule opensAgent wallet drainsKnow Your Agent needs a memoryThe graphAgents, wallets, flows, vaultsIdle USDC and yieldWhere agents park cashFee-to-computeCan an agent pay its own bills?Research notes
All research notesDated PDFs with method and exclusionsNote 03 · Measured Before Trusted11 Oct 2026Note 02 · What the Counted Money Is2 Oct 2026Note 01 · The Binding Record27 Sep 2026ChangelogWhat we shipped and correctedMethod
DefinitionsWhat every number countsData healthChecks on our own tablesWallet setsEvery address behind a claimThe L0–L9 ladderHow an agent earns a rankBinding specHow an agent is joined to a walletPricing and packsPlans and every evidence packFor agents
the same desk, as dataAn agent can read its own books, or any ranked agent’s, with a plain GET. No key, no login. Every value carries as_of, a producer and a definition id.
GET /api/agent?id=<token|slug|wallet>&format=jsonOne agent’s record: rank, bound wallets, the 25 newest payments with tx hashes, bindings, reputation, incidents.GET /api/agents?q=<token|slug|wallet>Look one agent up. ranked:false means it has never been seen paying anyone.GET /api/detections?actor=<token>Every detection on one registration, newest first, with kind and severity.GET /check/<kind>?id=<token>Evidence packs: liveness, paygraph, drain, incidents, peer, reval, bundle. 1 to 5 cents in USDC over x402 (bundle 10 cents, reval 25 cents); the 402 states the price first.GET /api/state · /api/series?range=90d · /api/dq · /api/def?id=…GET /.well-known/agent-card.jsonA2A-style card naming every skill above. /llms-full.txt explains each metric in prose.curl -s "https://agenticfinancegraph.com/api/agent?id=53008&format=json" \
| jq '.agent | {liveness, usdc_float, pay, incidents: (.incidents|length)}'
Free tier: one agent per call, top 25 on the roster, 25 newest detections, no evidence objects. Fair use: cache for five minutes (the CDN does).
Paying, as an agentmanifest →
Evidence packs cost 1 to 5 cents in USDC on Base each (bundle 10 cents, revaluation 25 cents), paid over x402 v2: the check answers 402 with a PAYMENT-REQUIRED header, the agent retries with a signed PAYMENT-SIGNATURE, and the receipt comes back in PAYMENT-RESPONSE. The manifest lists every price and the receiving address; Coinbase’s facilitator settles on Base.
We never hold keys and never sit in the payment path: Coinbase's facilitator verifies and settles the agent's own signed authorization. An agent pays us the way it pays any x402 seller.
Paying, as a personcompare plans →
Plans are paid in USDC on Base from the wallet you signed in with: Watch free (3 agents), Operator 29 USDC per 30 days (25 agents, evidence packs included), Team 149 USDC per 30 days (250 agents, packs and revaluations included). Your wallet shows the exact amount and the receiving address before you approve; no gas, no card, and nothing renews by itself.
Where the money goes: straight to one published receiving address, the same one the checks' manifest names (payTo). We never hold your funds or keys, and the transaction is your receipt.
Settings
your account, your alert rules, your dataYour account
- Wallet
—basescan →- Plan
- —
- Agents watched
- —
- Signed in until
- —
- Telegram alerts
- Opens @AgenticGraphBot with a one-time code (15 minutes). Linked, a chat watches as many agents as your plan (Watch 3, Operator 25, Team 250); /mine lists the agents this wallet owns.
- Sync across devices
- —
- Motion
- The clock hand and the falling drop stop when your device asks for reduced motion (Windows: “Show animations” off).
Your wallet is your account: there is no password and nothing to reset. Your plan and your purchases are recorded against this address on our side, so they follow you to any browser you sign in from. The watch-list, allow-lists, notes and rules stay in this browser unless you switch sync on; then a copy is kept on your account too, and switching it off deletes that copy.
Your purchaseswhat a pack is for →
Every plan and evidence pack paid by this wallet, with its on-chain receipt. A pack can be downloaded again here at any time; the receipt is your proof of purchase, and the file cites it.
Alert rules
Set any number to 0 to switch that alert off. The drain shape and the new-counterparty rule look at the record the Desk reads, the 25 newest payments, after at least three earlier ones; an allow-listed address on an agent’s card never triggers either. The public drain_pattern detector uses the same shape at 5× and $250. Below $10 of float an agent drops from L8 to L7, which is why the low-float default is $10.
Your data
Watch-list, allow-lists and alert rules are saved in this browser’s local storage (afg-desk). To draw a card, the Desk asks our API for that agent’s record and sends your session with the request, so the answer carries exact balances; our host keeps standard request logs (IP address, time, URL). We do not store your watch-list unless you turn on sync. To use the same Desk on another browser or device, turn on sync, or export here and import there.
Simulate your thresholds on real agents
Runs the alert rules above over the highest-ranked public agents without adding them to your Desk, so you can see what your settings would flag before you watch anything. Change a threshold and the result updates.
How the Desk tracks your agentsthe ladder →
- You add an id. A token id, a slug or the bound wallet. The Desk asks
/api/agents?q=whether it is ranked: a bound wallet observed paying a different address after the registration existed. If it is, the id, token and slug are saved underafg-deskin this browser and nowhere else. Paste several at once, separated by commas or new lines, to add a whole fleet. - Every visit, every card reads the public record.
/api/agent?id=…&format=jsongives the rank, the bound wallet, the float, the 25 newest payments with their transaction hashes, the bindings and the incidents;/api/detections?actor=…gives every detection on the id. A signed-in Desk sends its session with the request and gets exact floats; a paid plan also gets the full tiers. The watch-list itself stays in this browser unless you turn on sync, and our host keeps standard request logs (IP address, time, URL). - We keep the record fresh on our side. The registry watcher sees a new registration within minutes. Payments: every ranked wallet is pushed to us the moment a USDC transfer lands, and the payment scan re-reads each one on a schedule (agents that paid in the last 30 days daily, funded ones weekly, the rest monthly) with the receipt check that excludes routing hops before anything is counted. Floats and declared endpoints are probed daily. The pulse clock on the Overview shows the age of every feed, and the data checks run on our own tables every three hours.
- Alerts are computed here, in your browser, from the rules above: the drain shape, a large first payment to a new address, a quiet wallet, low float, spending over your 30-day budget, one address taking too much of the spending, a delegation to code we cannot name or a change of delegation, plus the public detections on the id at the severity you chose. Each rule reads the record the card shows (the 25 newest payments) and skips addresses on the agent’s allow-list. Pause one agent or all; a paused card still loads its books.
- Many agents. One card per agent, up to your plan: Watch 3, Operator 25, Team 250. Agents beyond the limit stay saved, unwatched, until you remove one or upgrade. Export the watch-list under Your data and import it on another device; the file holds ids, allow-lists and rules only. A link of the form
/desk/app?watch=53008opens straight on a card, so a platform can hand each operator their own.
Feed your agent
Your agent never logs in and needs nothing installed: it reads the same JSON these cards read, with any HTTP client. The brief is a Markdown file written for an agent’s context (system prompt, skill folder or tool description): the endpoints, what each field means, the decision rules with your thresholds, how to pay for an evidence pack, and the ids and allow-lists you set on this Desk. The JSON is the same thing for code. Download again after you change agents or thresholds.
1 · Look up before you trustGET /api/agents?q=<wallet> for any counterparty. ranked:false means never observed paying anyone: unknown, not bad.2 · Read the recordGET /api/agent?id=…&format=json → agent.liveness (L7+ observed paying), agent.pay (events, usd, counterparties, 30-day), agent.usdc_float, agent.money_path[] (to, usd, tx, at), agent.incidents[], agent.impl_7702. Every answer carries as_of.3 · Apply the rulesThe same shapes as this Desk: a payment at least the multiple of the previous largest to a new address is the drain shape; no payment for N days is quiet; float under the floor means the agent cannot pay. A live incident on a counterparty is a reason to hold, never a verdict.4 · Buy evidence when it mattersGET /check/<liveness|paygraph|drain|incidents|peer|bundle|reval>?id=… answers 402 with the exact price and receiving address; the agent retries with a signed USDC authorisation (any x402 v2 client) and the pack returns with the receipt. 1 to 5 cents a pack, 10 cents the bundle, 25 cents a revaluation.Machine-readable/.well-known/x402 prices and payTo · /.well-known/agent-card.json skills · /llms-full.txt every metric in prose · /api/def definitions