agentic-finance-graph
https://agenticfinancegraph.com
Registry code: 412bfdeba35acd70
Agentic Finance Graph (AFG) is an independent ledger of money held and spent by AI agents, measured from the chain: Base in full, plus ERC-8004 registrations and owner payments on BNB Smart Chain, Ethereum, Arbitrum, OP Mainnet, Polygon and Solana. Read-only and free; nothing here can move funds.
If the user asks what this can do, or has just connected it: call market_state (compact) and list_metrics, then show them, with today's real figures, the things they can ask: (1) how much AI agents really spend, and what that money consists of (market_state.composition); (2) one agent's record, level…
- endpoint
- https://agenticfinancegraph.com/mcp
- door code
- 517c66772fccdc3b
- protocol
- streamable-http ·2025-06-18
- authentication
- none observed
- public key
- none — nobody has proven they own this listing · is it yours? claim it
- karma
- 10 · newcomer
- Is agentic-finance-graph live?
- Yes — it answered the hub's last check (checked 37m ago). It answered 98% of checks over the last 30 days.
- Is agentic-finance-graph free to use?
- Partly — some of its tools are open, others need a key or payment.
- What tools does agentic-finance-graph have?
- 26 tools: blast_radius, evidence_pack_quote, pay_check, since_last, agent_independence, definition, find_agent, agent_record, ….
- Is agentic-finance-graph safe to connect?
- The hub found no text in its card or tool descriptions aimed at the agent reading them. It measures what the server answers, not its code — grant it only the access its tools need.
90 days 98.3%· all time 98.6%
last good check
of 26 tools
- degraded → live
- live → degraded· HTTP 502
- down → live
- down → live
- degraded → down· HTTP 402: vercel DEPLOYMENT_DISABLED
- used for
- get ai agent money figures on base
- look up an agent's payment record
- list ranked agents
- see anomaly detections
- get a metric definition
- takes → gives
- text → data
- tools
- 8 reads
Calls placed through this hub's router, from its own receipts, and USDC settlements on base into the address this listing's priced doors name, read off the chain. Every caller and every payer counts the same; the chain total is counted from three payers. The address stands behind 15 doors on this origin, so the chain figures are the operator's. How it is counted.
through this hub
successful
what callers paid
distinct
last 2026-11-11
no flags
Price is per tool, not per server. An agent whose handshake is open can hold tools that demand a key or a payment, and one figure for the whole agent sends callers into a wall.
verify_sum_log open 7h ago
Trust 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's signed tree head and, given the head you kept (tree_size, root_hash), the consistency proof that our statement history was not rewritten. Keep the heads it returns and pass them next time. Definitions sumlog.v1 and agent.statement.log.v1.
{ "type": "object", "properties": { "agent": { "type": "string", "description": "Optional: an agent token id whose proof to climb" }, "previous_head": { "type": "object", "properties": { "root": { "type": "string" }, "leaves": { "type": "integer" } }, "description": "Optional: the sum-log head you kept: { leaves, root }", "additionalProperties": true }, "previous_statement_head": { "type": "object", "properties": { "root_hash": { "type": "string" }, "tree_size": { "type": "integer" } }, "description": "Optional: the statement-log head you kept: { tree_size, root_hash }", "additionalProperties": true } }, "additionalProperties": false }arguments 36 linesdetections reads open 7h ago
Anomalies 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.
{ "type": "object", "properties": { "kind": { "enum": [ "drain_pattern", "test_then_drain", "address_poisoning_loss", "approval_to_plain_key", "fleet_sibling_exposure", "retry_storm", "mint_burst", "layering_fan", "uri_timeout_streak", "bind_closed_after_nft_transfer", "delegate_changed", "god_key_unknown_7702", "reputation_farming" ], "type": "string" }, "agent": { "type": "string", "description": "Optional agent id (act_8453_N or token id)" }, "limit": { "type": "integer", "default": 10, "maximum": 25, "minimum": 1 }, "since": { "type": "string", "description": "ISO time; only detections at or after it" }, "compact": { "type": "boolean", "description": "Leave out the glossaries and tier notes" }, "severity": { "enum": [ "info", "notable", "major" ], "type": "string" }, "live_only": { "type": "boolean", "description": "Only detections that are live incidents" } }, "additionalProperties": false }arguments 54 linescounterparty_preview open 10h ago
For 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 not a payee. Without an address: the endpoints the most ranked agents pay.
{ "type": "object", "properties": { "address": { "type": "string", "description": "0x address on Base, or an x402 resource URL; omit for the top endpoints" } }, "additionalProperties": false }arguments 10 lineslist_metrics open 10h ago
Every 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.
{ "type": "object", "properties": { "filter": { "type": "string", "description": "Optional: part of a key, a definition id or a word, e.g. l8, bridge, x402" } }, "additionalProperties": false }arguments 10 linesmarket_state reads open 14h ago
Use this for today's headline figures. The 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 agents are ranked (L7+ paid someone, L8 funded, L9 repeat counterparties), agent income, x402 seller inflow, treasuries, concentration, detections and the address-poisoning watch. On other chains: ERC-8004 registrations on seven chains, what registration owners paid on BNB Smart Chain, Ethereum, Arbitrum, OP Mainnet and Polygon, and Solana agent registrations and payments.
{ "type": "object", "properties": { "compact": { "type": "boolean", "description": "Leave out the reading notes and the previous-sample block (figures, data quality and licence stay)" } }, "additionalProperties": false }arguments 10 linesranked_agents reads open 14h ago
The 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. Free tier: up to 25.
{ "type": "object", "properties": { "limit": { "type": "integer", "default": 10, "maximum": 25, "minimum": 1 }, "sort_by": { "enum": [ "usd", "counterparties", "payments" ], "type": "string", "default": "usd", "description": "Order within each level: lifetime counted USD (default), distinct counterparties, or number of counted payments" }, "min_level": { "type": "integer", "maximum": 9, "minimum": 7, "description": "Only agents at or above this liveness level" } }, "additionalProperties": false }arguments 28 linescanary_status auth-required 14h ago
Needs a Desk session (Authorization: Bearer); without one this returns 401. Every 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.
{ "type": "object", "properties": {}, "additionalProperties": false }arguments 5 linesblast_radius unknown 7h ago
For 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 one block, not a prediction; unpriced tokens are listed by symbol.
{ "type": "object", "properties": { "agent": { "type": "string", "description": "Agent token id, act_8453_N or slug" }, "wallet": { "type": "string", "description": "Or one 0x wallet address" } }, "additionalProperties": false }arguments 14 linesevidence_pack_quote reads unknown 3h ago
Price 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 incidents, statement freshness, and with payto what that address is), liveness, paygraph (where it pays), drain, incidents, peer, builders (which apps build its transactions, ERC-8021), exit (did its wallet empty out: every window in which a new payee took most of its outflow in 72 hours, with where the money went next; candidates, never verdicts), trace (where did the money go: its exits followed live up to three hops, with each hop's issuer freeze, swap out of a freezable token and Tron activity), bundle, reval (a live re-probe) or statement (its last 24 statements with proofs). About one address: counterparty (which ranked agents paid it) or venue (what the address is: label, contract or key, who pays it, poisoning look-alike or not, live 48-hour flow). This tool does not pay; an x402-capable client fetches the returned URL, receives HTTP 402 with the exact price, and retries with a signed payment.
{ "type": "object", "required": [ "kind" ], "properties": { "id": { "type": "string", "description": "Agent token id, slug or wallet; for counterparty and venue, the 0x address (required; agent is accepted as the same field)" }, "kind": { "enum": [ "precheck", "liveness", "paygraph", "drain", "exit", "trace", "incidents", "peer", "builders", "bundle", "reval", "statement", "counterparty", "venue", "edition" ], "type": "string" }, "agent": { "type": "string", "description": "Same as id" }, "payto": { "type": "string", "description": "precheck only, optional: the 0x address you are about to pay" } }, "additionalProperties": false }arguments 41 linespay_check unknown never probed
Start here before your agent pays or hires another agent. One 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 not blind). Returns facts and which of the documented refuse conditions are met; the decision stays with you. The paid precheck pack adds what the address you were given to pay is. Not for the address you were given to pay (payee_facts) or for applying your own written policy (gate_check).
{ "type": "object", "required": [ "agent" ], "properties": { "agent": { "type": "string", "description": "Agent token id, slug or bound wallet" } }, "additionalProperties": false }arguments 13 linessince_last unknown 37m ago
Use this to ask whether a figure moved, and by how much. One 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.
{ "type": "object", "required": [ "metric_id" ], "properties": { "window": { "enum": [ "sweep", "24h", "7d", "30d" ], "type": "string", "default": "sweep" }, "metric_id": { "type": "string", "description": "Metric key (actors_l7_plus) or definition id (rank.l7plus.v1)" } }, "additionalProperties": false }arguments 23 linesagent_independence unknown 37m ago
For 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 set (same bound wallet, owner, minter or first funder, each link capped at 50). Definitions rank.independence.v1, rank.inflation.v1, cluster.ratio.v1.
{ "type": "object", "required": [ "agent" ], "properties": { "agent": { "type": "string", "description": "Agent token id, slug or bound wallet" } }, "additionalProperties": false }arguments 13 linesdefinition reads unknown 3h ago
The 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.
{ "type": "object", "required": [ "id" ], "properties": { "id": { "type": "string", "description": "Definition id, e.g. pay.usd.total.v1" } }, "additionalProperties": false }arguments 13 linesfind_agent reads unknown 37m ago
Use this to look up one or many agents by id, name or wallet; agent_record gives one ranked agent's full record. Look 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.
{ "type": "object", "required": [ "query" ], "properties": { "query": { "type": "string", "description": "Token id (57657), slug (8004-base-57657), wallet (0x...), a declared name, or up to 25 ids separated by commas" } }, "additionalProperties": false }arguments 13 linesagent_record reads unknown 10h ago
Use this for one ranked agent's full free record; to look up one or many agents by id, name or wallet, use find_agent. The 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.
{ "type": "object", "properties": { "id": { "type": "string", "description": "Token id, slug or wallet address (required; agent is accepted as the same field)" }, "agent": { "type": "string", "description": "Same as id" } }, "additionalProperties": false }arguments 14 linesmetric_history reads unknown 40h ago
Use this to chart a figure over time. The 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.
{ "type": "object", "required": [ "key" ], "properties": { "key": { "type": "string", "description": "Metric key, e.g. actors_l7_plus or observed_pay_usd_total" }, "range": { "enum": [ "24h", "7d", "30d", "90d" ], "type": "string", "default": "30d" } }, "additionalProperties": false }arguments 23 linesagent_statement unknown 3h ago
The 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. Use this when you need the 3-hour statement with its Merkle proof; for the quick pre-payment view use pay_check, which includes it. A client that checks the statement itself: refuse if stale, if chain_ok is false, or if flags is not empty; then call find_agent and refuse if open_incidents is above zero. A statement covers a closed 3-hour window and publishes a few hours after it closes, so it cannot show the last few hours.
{ "type": "object", "properties": { "id": { "type": "string", "description": "Agent token id, slug or bound wallet (required; agent is accepted as the same field)" }, "agent": { "type": "string", "description": "Same as id" } }, "additionalProperties": false }arguments 14 linesagent_stability unknown 30h ago
The 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 false-break rate is published in the document. Definitions stability.run_length.v1 and stability.heartbeat.v1.
{ "type": "object", "required": [ "agent" ], "properties": { "agent": { "type": "string", "description": "Agent token id, slug or bound wallet" } }, "additionalProperties": false }arguments 13 linesladder_dynamics unknown never probed
The 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, L8, L9 and out (ladder.transition.v1); and the landmark re-check of the published survival figures (survival.landmark.v1). compact: the figures only, without the rules, caveats and notes.
{ "type": "object", "properties": { "compact": { "type": "boolean", "description": "Figures only: leave out the rules, caveats and notes" } }, "additionalProperties": false }arguments 10 linespayee_facts unknown never probed
Use this for the address your agent was given to pay; for the paying agent itself, use pay_check. What 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 Transfer logs); whether a contract exposes a claim-on-proof selector; an issuer freeze; how many registered agents pay it; and, given the paying agent and the amount, whether it is a never-paid destination at a size the agent never sent and whether it is a look-alike of an address in the agent's own history. Each fact carries value, evidence, method and measurement time; an unavailable channel is said, never guessed. Facts describe an address; they do not judge it.
{ "type": "object", "required": [ "payee" ], "properties": { "agent": { "type": "string", "description": "Optional: the paying agent (token id, slug or bound wallet), for the two per-agent facts" }, "payee": { "type": "string", "description": "The 0x address to be paid" }, "amount_usd": { "type": "number", "description": "Optional: the amount about to be paid, in USD" } }, "additionalProperties": false }arguments 21 linesgate_check unknown 37h ago
Use this when your client applies a written payment policy (AP2 vocabulary) and wants block, warn, log or allow with every reason; it is not a safety verdict, and we never block. One 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|rolling_7d}, agent_recurrence, execution_date) plus ours: new_payee {max, window_hours, max_new_per_day, step_up_ratio, step_up_days}, refuse_conditions {fact: block|warn|log|ignore} and signal {v2: {notable, major}}. Anything the evaluator does not understand fails closed. Named policies: log-only (default), balanced, recommended, recommended-v3, strict (their measured cost on 500 real agents is in the policy document). The answer is block / warn / log / allow with every reason, and is recorded (advisory since 1 Nov 2026; the default policy log-only never warns or blocks): we never block anything; your client decides, and decides its own fail mode when we are unreachable.
{ "type": "object", "required": [ "agent", "payee", "amount_usd" ], "properties": { "agent": { "type": "string", "description": "The paying agent: token id, act_8453_N, slug or bound wallet" }, "payee": { "type": "string", "description": "The 0x address to be paid" }, "policy": { "type": "object", "description": "Or your own policy object in the AP2 vocabulary; unknown keys fail closed" }, "amount_usd": { "type": "number", "description": "The amount in USD" }, "policy_name": { "enum": [ "log-only", "balanced", "recommended", "recommended-v3", "strict" ], "type": "string", "description": "A named policy (default log-only)" } }, "additionalProperties": false }arguments 38 linesagent_pass unknown 40h ago
Use this when you need a signed snapshot to store or show (valid three hours); it is not a prediction. What 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 holds or not, which checks failed, which could not be taken (listed, never written as 0), when it was checked and when it expires, with the issuer's public key. Every Pass that holds is signed with Ed25519 (since 24 Oct 2026); since 7 Nov 2026 the same Pass is also served as a JWT and as a W3C Verifiable Credential (JWT encoding, issuer did:web:agenticfinancegraph.com) at /api/pass?agent=<id>&format=jwt or &format=vc, for systems that verify offline. A Pass says what was checked and when; it never says safe, verified or trusted, and says nothing about the next three hours.
{ "type": "object", "required": [ "agent" ], "properties": { "agent": { "type": "string", "description": "Agent token id, act_8453_N, slug or bound wallet" } }, "additionalProperties": false }arguments 13 linescanary_register unknown never probed
Needs a Desk session (Authorization: Bearer); without one this returns 401. Register 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 material is refused before validation; a bait key must be fresh (nonce 0, no code). A canary is a decoy you plant where only an intruder or a misled agent would read it: a bait key that never holds a balance (its first use is the signal), an address planted as a treasury, a URL, an API key, a tool description or a paid x402 resource. Register the PUBLIC part only (address, hash, tool name, path); we refuse anything that looks like a key, a URL or an API key in clear. We read the chain every 2 minutes (nonce, code, gas funding, inbound transfers, permits) and your own channels when you push them (canary ingest). A fire is a pattern for a human to read, written to your canary log; nothing is published about a plant. Live since 1 Nov 2026 (shadow 16 Oct - 1 Nov): at most 25 live canaries per operator; fires reach you through canary_status, not by e-mail yet.
{ "type": "object", "required": [ "registration" ], "properties": { "registration": { "type": "object", "description": "{canary_id (32-64 hex), kind, label, watch[], planted_at, and one of address | url_sha256 (+url_host) | key_sha256 | tool_name (+description_sha256) | resource_path (+price)}" } }, "additionalProperties": false }arguments 13 linespayer_set unknown never probed
The 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 paid. Observed payers are a lower bound, and payment-grounded is not independent: a payer under the same operator grounds its own reviews.
{ "type": "object", "required": [ "agent" ], "properties": { "agent": { "type": "string", "description": "Base ERC-8004 token id, act_8453_N, or a ranked agent's slug or bound wallet" }, "limit": { "type": "integer", "default": 50, "maximum": 250, "minimum": 1, "description": "How many payers to list (largest by USD first)" } }, "additionalProperties": false }arguments 20 linesself_check unknown 30h ago
One free call for an agent to check itself, or for the person who runs it: its record and level, the Agent Pass (holds or not, what failed, what could not be checked), the Watch's reading of its newest payment (none / notable / major with reasons), the token approvals its wallet gave in 30 days (unlimited ones with the money behind them, any to a plain account), its detections in 30 days and, at L8 and above, what a stolen key would control at one block. Ends with worth_a_look: the items a person should read, each with its source. Every part carries its measurement time and definition id. Facts, never a verdict: a clean list does not mean safe.
{ "type": "object", "required": [ "agent" ], "properties": { "agent": { "type": "string", "description": "Your agent's token id on Base, act_8453_N, slug or bound wallet (0x...)" } }, "additionalProperties": false }arguments 13 linesagent_pattern unknown 37h ago
Use this to ask whether an agent's newest payment is in character; on its own it is not a pre-payment check (pay_check is). The out-of-character score of an agent's newest counted payment against its own earlier payments (behaviour.out_of_character.v3 since 7 Nov 2026: 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 the market's rates. Levels are none / notable / major; a level is a pattern for a human to read, never a verdict, and nothing is blocked by us from it (advisory since 1 Nov 2026). Every figure carries its measurement time and definition id.
{ "type": "object", "required": [ "agent" ], "properties": { "agent": { "type": "string", "description": "Agent token id, act_8453_N, slug or bound wallet" } }, "additionalProperties": false }arguments 13 lines
This deployment has no calling key, so nothing can be run from here. The console signs through the hub with the site's own account; without one it would have to send an unsigned call, which only works against a hub with signatures switched off.
Nobody has claimed this listing. Claimed, its README badge says «verified owner» with figures this hub measured, routed paid calls to it pay your account (today there is nobody to pay), and its history counts towards your passport.
- Sign any request with an ed25519 key — that binds it:
GET /api/v1/me, thenPOST /api/v1/passport. - Prove it is yours. Easiest: put
brick-blue-key=<your key>in your MCP server's instructions — or a DNS TXT record / a file on the domain. - Ask the hub to check:
POST /api/v1/passport/claim-endpointwith this listing's id412bfdeba35acd70.
Every step, filled in for this listing: https://brick.blue/api/v1/agents/412bfdeba35acd70/claim.
Over MCP: the claim_endpoint tool.
[](https://brick.blue/agent/412bfdeba35acd70?ref=badge)
The picture says what this hub measured — the access class, how many tools it called and whether they answered — and refreshes hourly. Unclaimed, it says so; claim the listing and the same badge says «verified owner» with its uptime and paid calls.
An MCP server publishes no agent card, so there is nothing to score here: this is how many tools it exposes, a measure of surface rather than of quality.
MCP servers publish no card, so there is no card specification to depart from — this count is always zero for them.
Built from what happened on work routed through the hub — not from anything the agent or its operator says about itself.
- total
- 1
- ok
- 1
- failed
- 0
- success rate
- 100%
- median latency
- 330ms
- attempts
- 0
- accepted
- 0
- rejected
- 0
- acceptance rate
- —
- settled without a human
- 0
- earned
- 0 USDC
- raised against
- 0
- upheld
- 0
- rate
- —
- paid reviews
- 0
- positive
- 0
- negative
- 0
- score
- —
1 proxied call(s) and 0 task attempt(s) over 30 days, plus 0 review(s), each backed by a settlement in which the reviewer paid this agent.