com.agenticfinancegraph/agentic-finance-graph

Agentic Finance Graph

Ledger of AI-agent money on Base: ranked agents, payments, detections, free checks before you pay

Endpointhttps://agenticfinancegraph.com/mcp (streamable-http)
Registry version1.7.0
Now25 tools · grade C (74) · pin ts_cdbb2459653492b2dbee1092a0f89bea · protocol 2025-06-18
First / last listed2026-10-29 02:21 UTC / 2026-10-29 02:21 UTC
Grade over time2026-10-29: C (74), 25 tools

Is this your server? Own a server? ToolFit hosted watch re-checks it every 24 h ($0.25 per 30 days) or 6 h ($0.60) and sends you an HMAC-signed webhook when its tools or grade change: POST https://api.youraitools.co/toolfit/v1/watch. To opt out, see About & opt-out.

Timeline

First listing · 2026-10-29 02:21 UTC
25 tools, grade C (74)

Tools: market_state find_agent agent_record ranked_agents detections definition metric_history since_last counterparty_preview agent_statement evidence_pack_quote pay_check payer_set agent_stability agent_independence ladder_dynamics verify_sum_log agent_pattern payee_facts gate_check agent_pass blast_radius canary_register canary_status list_metrics

Current tools (25)

market_stateThe ledger's headline figures for AI-agent money, each with its value, unit, measurement time and definition id. On Base: money agents paid to others after registration (counted), daily spending by the day it was paid (last day, 7-day and 30-day averages), the part that went into positions they still hold, what left their control, the routing hops and pre-registration history excluded, how many ag
params: compact
find_agentLook up an ERC-8004 agent by token id on Base, slug, wallet address (0x...) or the name it declares. Returns whether it is ranked, its liveness level (L0-L9), bound wallet, stablecoin float, payment totals and open incidents. Up to 25 ids at once, separated by commas. A name is matched among ranked agents only, and a declared name is the agent's own claim, not verified.
params: query*
agent_recordThe free record of one ranked agent: rank with evidence, bindings, and its 25 newest payments with counterparties. Unranked ids return not found: an agent never seen paying has no record to sell or show.
params: id*
ranked_agentsThe top ranked agents (L7 and above: a bound wallet was seen paying money out of the agent's control after registration). Sorted by level first (L9, then L8, then L7), then by lifetime counted USD; sort_by changes the second key to distinct counterparties or number of payments. A high place means a large counted spender at that level, not a working service: read agent_record before relying on one.
params: limit, min_level, sort_by
detectionsAnomalies our detectors logged, newest first: drain-shaped payments (each with the share of the wallet's balance it took), retry storms, mint bursts, fleet-funding fan-outs (layering_fan), owner changes under a binding, delegation to unknown code. A detection is a shape with evidence, never a verdict. Filter by agent, kind, severity, time or live incidents only; compact drops the glossaries.
params: agent, limit, kind, severity, since, live_only, compact
definitionThe frozen definition of a metric: what it counts, the method, what it excludes and what it does not claim. Use the definition ids returned by the other tools.
params: id*
metric_historyThe history of one measured metric from the ledger's archive (daily points, plus 5-minute points for the last 48 hours). Gaps are real gaps, never filled. An unknown key returns similar keys and the full list of archived keys.
params: key*, range
since_lastOne measured figure with the stored sample it moved from: current, prior, delta, delta_ratio, both timestamps, definition id, unit, and whether the move is material under the published thresholds. window: sweep (the previous stored sample, the default), 24h, 7d or 30d. No prior sample inside the window returns gap: true and no delta; nothing is interpolated. Accepts a metric key or a definition id
params: metric_id*, window
counterparty_previewFor one receiving address on Base (or an x402 resource URL listed in the Bazaar): how many counted payments registered agents made into it, how many distinct agents and how many at L7 or above, first and last seen, and the routing hops excluded. Counts only; the payer list with levels, binding confidence and transaction hashes is the counterparty pack. An address that only received routing hops is
params: address
agent_statementThe latest 3-hour statement for one ranked agent: payments out split into spend, routing hops and payments whose receipt is not read yet; what left its control; income; open flags; the hash of the previous statement; and a Merkle proof against the window's Ed25519-signed root. Check before you pay: refuse if stale, if chain_ok is false, or if flags is not empty; then call find_agent and refuse if
params: id*
evidence_pack_quotePrice and how to buy a dated evidence pack over x402 (USDC on Base, 1 to 30 cents). About one period: edition (the depth file behind a final State of Agent Money edition: every agent and every payee of the period, the edition's figures and the period's book; id = YYYY-MM, YYYY-Qn or latest; 30 cents). About one agent: precheck (the routine check before you pay or hire it: level, last payment, live
params: kind*, id*, payto
pay_checkOne free call before your agent pays or hires another: its latest statement (stale, age, chain_ok, flags), live incidents, its detections in the last 72 hours, the token approvals its wallet has given (unlimited ones, and any to a plain account), its last counted payment, and its payments seen after the statement window closed (from its 25 newest payments, so the hours a statement cannot show are
params: agent*
payer_setThe wallets observed paying one agent (income into its bound wallets, plus counted payments from other registered agents), up to 250, with payments, USD and first and last paid; and how much of its ERC-8004 feedback is payment-grounded (the reviewer paid the agent before rating it). Pass the addresses as clientAddresses to the Reputation Registry's getSummary to read only reviews from wallets that
params: agent*, limit
agent_stabilityThe behaviour clock for one ranked agent: run_days (complete UTC days since the last break in its own payment behaviour, by a CUSUM on payments, USD, payees and new-payee share against its own history), the last break's date and feature, and its heartbeat over 30 days (scheduled, irregular, bursty or sparse, with the dispersion index and the gap CV). A break is a change, not a harm; the measured f
params: agent*
agent_independenceFor one ranked agent: its independence score (1 if it paid, in 30 days, an address with demand from three or more operator sets; else half the best score of an agent outside its set that paid one of its payees, best path, at most three hops), the path, its L9 counterparty count under the published rule and under the cluster-aware rule, the inflation ratio between them, and the size of its operator
params: agent*
ladder_dynamicsThe whole-cohort document: cumulative incidence of the four competing exits (drained, abandoned, dormant, none) at 30, 60, 90 and 180 days with the numbers at risk and the restricted mean time without an exit (ladder.exit_incidence.v1); the Standardised Drain Ratio per minting address with 30 or more ranked agents, with 95% intervals (platform.sdr.v1); the day-to-day transition matrix between L7,
params: none
verify_sum_logTrust nothing you did not recompute. Verifies the Ed25519 signature on the current sum-log head (the Merkle-sum root over every counted payment and the total it commits to), optionally climbs one agent's proof from its leaf to the root and the whole total, reports how many of the previous head's leaves the current head declares unchanged, changed, removed and added, and verifies the statement log'
params: agent, previous_head, previous_statement_head
agent_patternThe out-of-character score of an agent's newest counted payment against its own earlier payments (behaviour.out_of_character.v2: amount out of its distribution, a new payee at a new size, a never-paid plain key, a probe then a large payment, a look-alike address, an approval change, off its rhythm), with the reasons that fired, how many of its last 30 days of payments scored notable or major, and
params: agent*
payee_factsWhat the chain and our ledger say about an address an agent is about to pay (payee.facts.v2): its code kind (plain key, contract, EIP-7702 delegated) and whether the delegate matches a known sweeper or the tiny-forwarder shape; whether it forwards most of what it receives within minutes (relay shape); whether its stablecoin outflow goes to swap venues; who funds it and where it exits (7 days of Tr
params: payee*, agent, amount_usd
gate_checkOne call before an agent pays: the payee facts, the agent's own context from our ledger (what it paid in the period, how often, whether and when it first paid this payee, how many new payees today), the out-of-character score of this payment as the agent's next, and a decision under a policy written in the AP2 mandate vocabulary (allowed_payees, amount_range, budget {max, period: daily|rolling_24h
params: agent*, payee*, amount_usd*, policy_name, policy
agent_passWhat the ledger measured about one registration at its last evaluation under agent.pass.v2, valid three hours: published level L7+, no open harm-kind incident, a counted payment in the last 30 days, its newest payment in character, no issuer freeze on a bound wallet, no unlimited approval to a plain key, no harm-kind incident in 90 days, and a month without a payment out of character. Answers hold
params: agent*
blast_radiusFor an agent (L8 or above) or one of its bound wallets: priced stablecoin and token balances and ETH in USD at one block, the EIP-7702 delegate if any with its code hash and known sweeper family, and the open ERC-20 allowances the wallet granted, confirmed on chain and capped at the balance per token (agent.blast_radius.v1). Read every six hours from free public nodes. A measurement of exposure at
params: agent, wallet
canary_registerRegister the public part of a decoy you planted: kind address|key|url|apikey|tool|x402 with exactly one target (address, url_sha256, key_sha256, tool_name or resource_path), a label, the triggers to watch (nonce, code, permit, siwe, inbound_transfer, http_hit, api_use, tool_call, x402_request) and planted_at. Needs Authorization: Bearer <Desk session>; the session's wallet is the operator. Private
params: registration*
canary_statusEvery canary you registered, with the watcher's last reading (nonce, code, balance, checks) and the newest 20 events per canary (trigger, severity, evidence, whether you declared it a test, the reading in plain words and what to do). Needs Authorization: Bearer <Desk session>. Labels are your own text and come back in the untrusted envelope.
params: none
list_metricsEvery metric the ledger measures or archives: key, unit, definition id, whether it is a headline figure, its first stored sample, and the date from which its history compares across our own changes (comparable_since). Use a filter (part of a key, a definition id or a word from its note) to get the notes too.
params: filter

Entries describe changes in tool definitions. They are not statements about a server, its quality or its author. The grade measures how the tool definitions fit model providers (token cost, schema compatibility, confusable names) as scored by the ToolFit engine at the time of the listing. JSON: append .json. Opt-out: how or hello@youraitools.co.