x402 Bazaar
Server Details
Onchain safety, wallet & account intelligence, lending, and AI reads on Base — 100+ tools paid per call over x402. Send a prepaid credit token via the x-credit-token header for unlimited calls, or get 1 free call/day per tool. No wallet or API key required.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
Tool Definition Quality
Average 4.3/5 across 137 of 137 tools scored. Lowest: 3.3/5.
Despite excellent per-tool descriptions, the set contains many near-overlapping tools: rug_score, batch_risk, pre_trade_gate, and deep_dd all assess token risk; wallet_portfolio, wallet_networth, and wallet_tokens all list balances; b20_safety, b20_gate, and b20_dossier overlap heavily; url_extract, web_extract, ai_extract, and url_to_json also blur boundaries. An agent would struggle to consistently pick the right tool without reading every description.
Naming is overwhelmingly consistent snake_case verb_noun (token_price, rug_score, address_trust, file_convert, safe_to_send). Minor deviations: noun-only names like holders, basename, deep_dd, business_days, and new_tokens, plus the abbreviation deep_dd, slightly break the pattern.
137 tools is far beyond the 50+ extreme-mismatch threshold. Even as a marketplace bazaar, this is an enormous, unwieldy surface where many tools overlap and each contributes only a sliver of unique value.
For the apparent purpose — a pay-per-call bazaar covering on-chain analysis, wallet intelligence, token due diligence, plus generic text/web/finance utilities — the surface is extensive and covers most read-only workflows with few dead ends. Minor gaps exist (no historical price series, no swap execution, no true on-chain write actions), but the set is not severely incomplete for its stated niche.
Available Tools
137 toolsaddress_intelARead-onlyIdempotentInspect
Instant profile of any Base address — EOA vs contract, ETH + USDC balance, transaction count and activity level — straight from Base RPC. Useful for counterparty and wallet checks. Required input: address. Priced $0.02 per call over x402 on Base; send a prepaid x-credit-token header for unlimited calls, or get 1 free call/day per tool. No wallet or API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes | Address |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | The result payload. Shape is service-specific; every field is documented in the tool description. |
| service | No | The service id that answered. |
| checkedAt | No | ISO-8601 timestamp of when the underlying reads were taken. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and non-destructive behavior, so the description adds value by explaining the data source (Base RPC), the pricing model, the x402 payment requirement, the prepaid x-credit-token option, and the free daily call. It also states that no wallet or API key is required, which is useful access context beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded: the tool's core output appears first, followed by use cases, then required input, then pricing/access details. Every sentence adds relevant information, and there is no redundant or filler content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter read-only tool with rich annotations, the description is nearly complete: it names the output fields, use cases, required input, pricing, and access model. It could more deeply explain what 'activity level' means, but the provided detail is enough for an agent to invoke the tool confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With only one parameter and a minimal schema description that simply says 'Address', the description compensates by clarifying that the address must be a Base address and that it is required. This adds meaningful network-level specificity beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool provides an instant profile of any Base address, listing specific outputs: EOA vs contract, ETH + USDC balance, transaction count, and activity level. The scope is well-defined, though it does not explicitly distinguish itself from sibling tools such as wallet_summary or counterparty_check.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context by stating it is useful for counterparty and wallet checks, and notes the required input is an address. It does not name alternative sibling tools or explicitly say when not to use it, but the use case is clear enough for an agent to make a reasonable selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
address_trustARead-onlyIdempotentInspect
Is this counterparty Coinbase-verified or an anon/sybil? — The 'who am I dealing with?' check for agents. Reads Coinbase's ONCHAIN verification (an EAS attestation by verifications.coinbase.eth) — meaning the address is tied to a KYC'd Coinbase account, the strongest sybil-resistance signal on Base — plus the address's Basename. Returns a verified/named/anonymous verdict + trust score. Pair with sign-guard/spend-audit for a full pre-transaction gate. Identity is a signal, not proof of honesty. Required input: address. Priced $0.03 per call over x402 on Base; send a prepaid x-credit-token header for unlimited calls, or get 1 free call/day per tool. No wallet or API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes | Address to check |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | The result payload. Shape is service-specific; every field is documented in the tool description. |
| service | No | The service id that answered. |
| checkedAt | No | ISO-8601 timestamp of when the underlying reads were taken. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already mark this as read-only/idempotent/non-destructive, and the description adds substantial behavioral context: it reads an EAS attestation on Base, requires no wallet or API key, costs $0.03 per call with prepaid header or free daily tier, and returns a verdict plus trust score. It also warns that identity is a signal, not proof, which is valuable calibration for the agent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is longer than average but information-dense and front-loaded with the core purpose before moving to verification details, usage pairing, pricing, and requirements. Every sentence adds operational or contextual value; minor redundancy exists around 'required input: address' given the schema already marks it required, but overall it is well structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers what the tool does, how the verification works, what network it operates on, what it returns at a high level, how to pay for it, auth requirements, and sensible companion tools. With an output schema present, the absence of detailed return field documentation is acceptable. Nothing critical is missing for an agent to decide whether and how to invoke it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already documents 'address' as 'Address to check' with 100% coverage, so the baseline applies. The description only restates that address is the required input and adds the contextual framing of 'counterparty,' but it does not provide additional format, network, or validation details beyond what the schema and overall description already imply.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a clear, specific question—'Is this counterparty Coinbase-verified or an anon/sybil?'—and names the exact resource and signal: Coinbase's ONCHAIN EAS attestation plus Basename. It clearly identifies the tool's distinct role as a counterparty identity/trust check, separating it from generic address or risk tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives concrete usage context: it is the 'who am I dealing with?' pre-transaction check and explicitly suggests pairing with sign-guard/spend-audit for a full pre-transaction gate. It also includes a caveat that identity is not proof of honesty, but it does not explicitly name alternatives to avoid using this tool for.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
agent_wallet_auditARead-onlyIdempotentInspect
Every way this wallet can be drained without a fresh signature — The complete fund-movement authority on a Base wallet in one call: ERC-20 approvals (a spender you approved can pull the token) PLUS Base Account spend permissions (the agent-era scoped recurring allowance) — one drain-surface verdict with the ERC-20 revoke queue to act on. Approval tools miss the spend permissions; spend-permission tools miss the approvals. The only combined check for agent wallets that must know their whole exposure before holding funds. Required input: wallet. Priced $0.06 per call over x402 on Base; send a prepaid x-credit-token header for unlimited calls, or get 1 free call/day per tool. No wallet or API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| wallet | Yes | Wallet address |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | The result payload. Shape is service-specific; every field is documented in the tool description. |
| service | No | The service id that answered. |
| checkedAt | No | ISO-8601 timestamp of when the underlying reads were taken. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish read-only, idempotent, open-world, non-destructive behavior. The description adds valuable context beyond annotations: no wallet/API key required, €0.06 pricing model, x402/x-credit-token payment behavior, and free tier. It also clarifies the output includes a revoke queue, which helps set expectations despite the output schema being present.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core purpose and includes useful details about pricing, auth, and usage. However, there is noticeable redundancy: the opening phrase, 'complete fund-movement authority', 'one drain-surface verdict', and 'only combined check' all convey similar positioning. A tighter edit would improve clarity without losing meaning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter, read-only tool with an output schema present, the description is reasonably complete. It covers the two audit surfaces, the use case, return concept, required input, pricing, and authentication expectations. It does not describe output fields in detail, but that is acceptable because the output schema exists.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already documents the only parameter `wallet` with 100% coverage. The description adds minimal parameter-specific meaning beyond clarifying the wallet is a Base wallet and that it is required, which is already in the schema. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly defines the tool as a combined audit of ERC-20 approvals and Base Account spend permissions, and states the output as a single drain-surface verdict with a revoke queue. It explicitly contrasts itself with approval-only and spend-permission-only tools, making its unique purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives a strong usage cue: use this tool when an agent wallet must know its complete fund-movement exposure before holding funds. It also explains why approval-only and spend-permission-only tools are insufficient. However, it does not explicitly name sibling tools or state when NOT to use this tool in favor of a narrower alternative.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ai_contract_riskARead-onlyIdempotentInspect
What dangerous powers a contract has, in plain English — Combines security flags with the verified ABI's function names, then Claude explains the contract's dangerous capabilities — owner can mint, pause, blacklist, upgrade or self-destruct — with a danger level. Goes beyond raw flags to read what the contract can actually do. Required input: address. Priced $0.04 per call over x402 on Base; send a prepaid x-credit-token header for unlimited calls, or get 1 free call/day per tool. No wallet or API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes | Contract address |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | The result payload. Shape is service-specific; every field is documented in the tool description. |
| service | No | The service id that answered. |
| checkedAt | No | ISO-8601 timestamp of when the underlying reads were taken. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish read-only, open-world, idempotent, and non-destructive behavior. The description adds meaningful operationaal context: it combines secarity flags with the ABI, uses Claude to generate an explanation, returns a danger level, costs $0.04 per call on x402/Base, supports a prepaid x-credit-token header, offers a free tier, and requires no wallet or API key. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The purpose is front-loaded and the pricing/auth details are placed at the end, which helps an agent scan quickly. There is a little redundacy in saying both 'what dangerous powers a contract has' and 'explains the contract's dangerous capabilities,' and the required-input line duplicates the schema, but overall the text is dense and mostly worthwhile.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter, read-only tool with an output schema and strong annotations, this description covers the key call-time facts: purpose, input, source data, output nature, danger level, pricing, authentication mechanism, free tier, and account requirements. Nothing needed to invoke it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is only one parameter, address, and the schema already describes it as 'Contract address' (100% schema description coverage). The description merely repeats 'Required input: address' and adds no new detail about format, chain, checksumming, or address type, so the baseline score of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and ressource: it explains a contract's dangerous capabilities by combining secarity flags with the verified ABI names and outputs a danger level. It also distinguishes itself from raw-flag approaches by claiming it 'goes beyond raw flags,' though it does not explicitly name sibling tools like contract_danger or rug_score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage context is implied: an agent would call this when it needs a plain-English explanation of what dangerous powers a contract has, rather than raw flags. However, there is no explicit when-to-use, when-not-to-use, or named alternatives among the many risk-related sibling tools, so the agent must infer selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ai_extractARead-onlyIdempotentInspect
Unstructured text → structured JSON, one call — Turn ANY text into clean, schema-enforced JSON: pass text= plus the fields you want (fields=name,email,price,date — up to 10) and get exactly those keys back, guaranteed-valid JSON via Claude structured outputs. Add list=true to extract EVERY repeated record (invoice lines, listings, table rows) as an array. Up to 16K chars per call. Not crypto-specific — the universal parse step for agent pipelines: pages, emails, receipts, logs. Many documents? ai-extract-batch: 10 in one call for $0.10. Required input: text. Priced $0.05 per call over x402 on Base; send a prepaid x-credit-token header for unlimited calls, or get 1 free call/day per tool. No wallet or API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| list | No | Extract all records (true/false) | |
| text | Yes | Source text | |
| fields | No | Fields (comma-separated) |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | The result payload. Shape is service-specific; every field is documented in the tool description. |
| service | No | The service id that answered. |
| checkedAt | No | ISO-8601 timestamp of when the underlying reads were taken. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark the tool as read-only and idempotent, and the description adds substantial behavioral context: guaranteed-valid structured outputs, exact-key behavior, list extraction semantics, character limits, pricing model, and authentication requirements (x-credit-token header, no wallet/API key). No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but every sentence earns its place: purpose, parameter usage, list behavior, size limit, sibling routing, pricing, and auth are all relevant for an agent. It is front-loaded with the core value proposition and wastes no words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the presence of an output schema, the description does not need to explain return structure. It covers required input, optional parameters, limits, use cases, alternatives, billing, and authentication, making it fully actionable for an agent with no prior context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
While schema coverage is 100%, the description goes far beyond the schema: it explains fields as a comma-separated list up to 10 items, clarifies list=true returns an array of repeated records, and confirms text is required. This adds meaningful invocation details beyond the bare parameter descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb and resource: converting unstructured text into schema-enforced JSON via extraction. It clearly distinguishes itself from siblings by noting it is 'the universal parse step' and explicitly routes large jobs to ai-extract-batch.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It specifies when to use this tool ('pages, emails, receipts, logs'), when to add list=true for repeated records, and names the batch alternative for many documents. It also gives concrete constraints like 16K chars and required input text, so an agent can decide to invoke it confidently.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ai_extract_batchARead-onlyIdempotentInspect
Same fields across up to 10 texts, one payment — The pipeline version of ai-extract: send up to 10 documents (text1=…&text2=… or texts= with ||| separators) and one field list — get one schema-enforced JSON object per document, in order, from a single paid call. 10 extractions for $0.10 instead of 10x the per-call overhead: built for agents parsing feeds, inboxes, scrape batches and receipt piles. Up to 6K chars per document. Required input: text1. Priced $0.10 per call over x402 on Base; send a prepaid x-credit-token header for unlimited calls, or get 1 free call/day per tool. No wallet or API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| text1 | Yes | Document 1 | |
| text2 | No | Document 2 (optional) | |
| fields | No | Fields (comma-separated) |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | The result payload. Shape is service-specific; every field is documented in the tool description. |
| service | No | The service id that answered. |
| checkedAt | No | ISO-8601 timestamp of when the underlying reads were taken. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds substantial behavioral detail beyond the readOnly/idempotent annotations: one schema-enforced JSON object per document returned in order, 6K character limit, single paid call, prepaid credit header, one free call per day, and no wallet/API key requirement. These details give an agent actionable expectations without contradicting annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but every sentence earns its place: core behavior, batching mechanism, output shape, cost model, limits, required input, and authentication are all covered. The most important purpose and differentiator are front-loaded, and no filler is present.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's batch complexity, the description covers input limits, multi-document formatting, output ordering and schema enforcement, payment model, and access requirements. An output schema exists, so the description does not need to spell out return field details. The agent has everything needed to select and invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents parameters. The description goes further by explaining practical usage: text1=…&text2=…, texts= with ||| separators, one shared field list, and per-document character limits. This adds real value beyond the raw schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear verb and resource: batch extraction over multiple documents. It explicitly identifies itself as 'The pipeline version of ai-extract' and contrasts its behavior (up to 10 texts, one field list, one payment) with the sibling tool, making differentiation easy.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives solid context for when to use the tool: same fields across up to 10 documents, built for feeds, inboxes, scrape batches, and receipt piles. It names the sibling alternative ai-extract, though it does not explicitly spell out when-not-to-use cases such as handling more than 10 documents or per-document differing fields.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ai_market_briefARead-onlyIdempotentInspect
Claude-written situational brief of the Base token market — The zoom-out flagship: aggregates trending and newly-listed Base tokens, then Claude writes a concise market brief — mood, highlights, new & notable launches, and cautions (fresh/unknown tokens flagged for rug risk). One call gives a trading agent market context instead of dozens of lookups. Priced $0.05 per call over x402 on Base; send a prepaid x-credit-token header for unlimited calls, or get 1 free call/day per tool. No wallet or API key required.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | The result payload. Shape is service-specific; every field is documented in the tool description. |
| service | No | The service id that answered. |
| checkedAt | No | ISO-8601 timestamp of when the underlying reads were taken. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds value beyond annotations: no wallet or API key required, prepaid x-credit-token header for unlimited calls, pricing at $0.05/call, and one free all/day. It also discloses the output content and the rug-risk flagging behavior, none of which is in the annotations or schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The core function is front-loaded and the pricing/auth details earn their place despite the dense one-paragraph format. Each sentence adds relevant selection/invocation information, though breaking into shorter segments would improve scanability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With zero parameters, an output schema present, and annotations declaring read-only, open-world, and non-destructive behavior, the description supplies the remaining needed context: market scope, output contents, pricing, auth requirements, and access model. An agent has everything needed to select and call this tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero input parameters, so the baseline is 4; the description correctly adds price, aauth, and scope. There are no parameter semantics to define, and the empty schema is fully covered.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description states a specific verb+resource: Claude writes a concise market brief of Base tokens, aggregating trending and newly-listed tokens. It says what the output covers (mood, highlights, launches, cautions) and distinguishes itself as the zoom-out flagship versus granular lookups.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly frames the use case: one call provides a trading agent market context instead of dozens of lookups, so it's for broad market situational awareness rather than detailled single-token analysis. It does not name specific alternative tools or enumerate when-not-to-use cases, so not a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ai_summarizeARead-onlyIdempotentInspect
Any text → crisp bullet points — Compress up to 16K characters of anything — articles, transcripts, email threads, reports — into 3-5 precise bullet points, one micro-payment per call. No API key, no subscription, no prompt engineering: send text=, get bullets back as clean JSON. The digest step for agent pipelines that read more than they can carry in context. Required input: text. Priced $0.03 per call over x402 on Base; send a prepaid x-credit-token header for unlimited calls, or get 1 free call/day per tool. No wallet or API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes | Text to summarize |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | The result payload. Shape is service-specific; every field is documented in the tool description. |
| service | No | The service id that answered. |
| checkedAt | No | ISO-8601 timestamp of when the underlying reads were taken. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark this read-only and idempotent, and the description goes well beyond them by disclosing the 16K character ceiling, the 3-5 bullet output shape, JSON return format, per-call pricing, and the x-credit-token/auth model. This adds genuinely useful behavioral context and does not contradict the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The core transformation is front-loaded and the pricing/auth details are relevant to correct invocation, so they earn their place. The prose is dense and promotional, which slightly reduces scannability, but no sentence is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-input summarization tool with an output schema and rich annotations, the description covers input, output shape, size limits, cost, authentication, and usage context. Nothing critical is missing for an agent to select and invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already provides 100% coverage for the single text parameter, so the baseline is 3. The description adds meaningful constraint information beyond the schema, namely the 16K character limit and the expected JSON bullet output. For a one-string-parameter tool, this is sufficient and helpful.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific job: compress arbitrary text into 3-5 bullet points, with an explicit 16K character limit and clean JSON output. It also distinguishes itself as the 'digest step' for agent pipelines, which sets it apart from siblings like ai_extract or ai_translate. The purpose is unambiguous and actionable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly frames when to use the tool: as a digest step for agents that need to compress content they can't carry in context. It also clarifies entry requirements ('no API key, no prompt engineering'), which is useful. However, it does not name alternatives or state when not to use it, leaving some inference to the agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ai_token_reportARead-onlyIdempotentInspect
Claude-written due-diligence verdict for a Base token — The flagship report: aggregates token risk, holder concentration, price/liquidity and OFAC sanctions, then Claude synthesizes a structured verdict (avoid → favorable) with key risks and positives. One call, agent-ready intelligence you can't get free. Required input: address. Priced $0.12 per call over x402 on Base; send a prepaid x-credit-token header for unlimited calls, or get 1 free call/day per tool. No wallet or API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes | Token contract address |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | The result payload. Shape is service-specific; every field is documented in the tool description. |
| service | No | The service id that answered. |
| checkedAt | No | ISO-8601 timestamp of when the underlying reads were taken. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnly/idempotent annotations, the description discloses important operational behavior: it is a paid x402 call at $0.12, supports a prepaid x-credit-token header for unlimited calls, offers one free call per day, and requires no wallet or API key. It also describes the synthesis and verdict range, adding meaningful context not present in annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is information-dense and front-loads purpose before pricing and requirements. The promotional phrasing 'agent-ready intelligence you can't get free' and 'flagship report' add minor noise, but the overall structure is efficient and well organized.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter, read-only tool with an output schema, the description covers purpose, required input, output nature, pricing, auth/access options, and the absence of wallet/API-key requirements. Agents have enough information to select and invoke the tool correctly without further inference.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already fully documents the single 'address' parameter, giving a baseline of 3. The description goes slightly further by specifying that the address refers to a Base token and that it is the required input, which adds network context not explicit in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description specifies a clear verb and resource: produces a Claude-written due-diligence verdict for a Base token, aggregating token risk, holder concentration, price/liquidity, and OFAC sanctions into a structured verdict. This distinguishes it from more focused sibling tools by establishing it as the flagship composite report.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context for when to call it: when an agent needs a consolidated, agent-ready due-diligence verdict on a Base token in one call. It does not explicitly name alternatives or exclusions, so it stops short of a 5, but the use case is well implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ai_translateARead-onlyIdempotentInspect
Translate up to 6K chars to any language — Claude-quality translation as a pay-per-call primitive: send text= (up to 6K characters) and to= any language, get only the translation back — no notes, no wrapper prose, safe to pipe straight into the next step. One USDC micro-payment per call, no API key or subscription. Built for agents localizing content, parsing foreign-language sources, or serving multilingual users. Required input: text. Priced $0.03 per call over x402 on Base; send a prepaid x-credit-token header for unlimited calls, or get 1 free call/day per tool. No wallet or API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | Target language | |
| text | Yes | Text to translate |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | The result payload. Shape is service-specific; every field is documented in the tool description. |
| service | No | The service id that answered. |
| checkedAt | No | ISO-8601 timestamp of when the underlying reads were taken. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, open-world, and non-destructive. The description adds significant behavioral context beyond this: per-call USDC payment, 6K character limit, no wrapper prose in output, x-credit-token header option, and free tier. This is exactly the kind of operational detail an agent needs before invoking a paid primitive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is longer than average but every sentence carries useful information: core behavior, output cleanliness, use cases, pricing, and auth model. The key function and constraint are front-loaded, with supporting cost and access details following logically.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers what the tool does, output format, constraints, pricing, and auth requirements, and an output schema exists, so return values need no explanation. The only minor gap is the expected format for the 'to' parameter (e.g., language name vs. ISO code), but overall the definition is robust for a pay-per-call tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with both parameters described, so baseline is 3. The description adds value by specifying the 6K character limit for text, stating that 'to' accepts any language, and emphasizing that text is required. This supplements the schema meaningfully without redundancy.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description states a specific verb ('Translate'), resource ('up to 6K chars to any language'), and output behavior ('get only the translation back'). It clearly distinguishes itself from siblings like ai_summarize and ai_extract by focusing on machine translation with a clean, pipeable output.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description names concrete use cases: localizing content, parsing foreign-language sources, and serving multilingual users. It does not explicitly name alternatives or exclusions, but the intended context is clear enough for an agent to select this tool over unrelated siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ai_tx_explainARead-onlyIdempotentInspect
Plain-English explanation of any Base transaction — Give a Base transaction hash and Claude explains what it actually did in plain English — the action, a risk read (failed tx, risky approval, high-value transfer), and notes. Turns raw calldata into an answer agents and humans can use. Required input: hash. Priced $0.04 per call over x402 on Base; send a prepaid x-credit-token header for unlimited calls, or get 1 free call/day per tool. No wallet or API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| hash | Yes | Transaction hash |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | The result payload. Shape is service-specific; every field is documented in the tool description. |
| service | No | The service id that answered. |
| checkedAt | No | ISO-8601 timestamp of when the underlying reads were taken. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only and non-destructive behavior. The description adds meaningful context beyond annotations: pricing, billing mechanism, free-tier allowance, lack of wallet/API key requirements, and the categories of output (action, risk read, notes). No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured and front-loaded with the core purpose. It includes billing and access details that are operationally relevant, and each sentence adds useful information without excessive fluff or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter tool with an output schema and read-only annotations, the description covers the essential invocation details: required input, network context, output contents, pricing/auth behavior, and access requirements. The agent has enough information to call and interpret the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the sole parameter 'hash' is documented in the schema. The description adds mild value by specifying it must be a Base transaction hash and that it is required, but it does not deeply expand on format or validation rules beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('explains') and resource ('any Base transaction'), and specifies the output type ('plain-English explanation'). It distinguishes itself from raw-decoding siblings like tx_decode by emphasizing that it turns raw calldata into an answer with risk reads and notes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The use case is clear: give a Base transaction hash and receive an explanation of what it actually did. It states the required input and describes what the output covers, but it does not explicitly contrast itself with sibling tools or state when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ai_wallet_securityARead-onlyIdempotentInspect
What can drain this wallet — and what to revoke — Pulls a wallet's active token approvals and Claude writes a security audit: overall risk level, USD at risk, and concrete revoke recommendations (which token/spender and why). The wallet-safety check agents and users run before trusting an address. Required input: address. Priced $0.06 per call over x402 on Base; send a prepaid x-credit-token header for unlimited calls, or get 1 free call/day per tool. No wallet or API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes | Wallet address |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | The result payload. Shape is service-specific; every field is documented in the tool description. |
| service | No | The service id that answered. |
| checkedAt | No | ISO-8601 timestamp of when the underlying reads were taken. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the safe-read annotations, the description discloses operational behavior: it is priced per call, runs over x402 on Base, supports a prepaid header for credits, offers a free daily call, and requires no wallet or API key. It also clarifies that the audit is AI-generated by Claude, which is useful expectations-setting for an agent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is front-loaded with the core purpose and outcome, then covers usage context, required input, and cost/access in compact clauses. The pricing and header details add length but are decision-relevant; still, the hook phrase is slightly redundant with the second sentence.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter tool with a rich output schema, the description covers inputs, outputs at a high level, use case, cost, payment method, and prerequisites. There is no needed context an agent would lack for selecting and invoking it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the only parameter, address, is already described as 'Wallet address.' The description reiterates that address is required but adds no format, chain, or normalization details beyond the schema, so it sits at the baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a concrete outcome ('What can drain this wallet — and what to revoke') and states a specific verb-resource pair: pull a wallet's active token approvals and produce a security audit with risk level, USD at risk, and revoke recommendations. This is clearly differentiated from sibling tools by focusing on token approvals and revocation rather than generic address or contract intelligence.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly defines when to use it: 'The wallet-safety check agents and users run before trusting an address.' It does not name alternatives or state when not to use it, which prevents a 5, but the trigger condition is concrete.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
approval_advisorARead-onlyIdempotentInspect
Which approvals could drain you — and revoke order — Ranks a wallet's active token approvals by USD-at-risk x unlimited-allowance x unlabelled-spender, and returns a prioritised revoke queue. Approvals are the #1 drain vector; this tells an agent exactly what to revoke first. Required input: address. Priced $0.05 per call over x402 on Base; send a prepaid x-credit-token header for unlimited calls, or get 1 free call/day per tool. No wallet or API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes | Wallet address |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | The result payload. Shape is service-specific; every field is documented in the tool description. |
| service | No | The service id that answered. |
| checkedAt | No | ISO-8601 timestamp of when the underlying reads were taken. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, open-world, and idempotent behavior. The description adds useful non-obvious context: $0.05 pricing, Base network scope, the prepaid x-credit-token header for unlimited calls, the one-free-call-per-day limit, and the fact that no wallet or API key is required.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The core ranking behavior and returned queue are front-loaded, with cost and authentication details compactly appended. The opening phrase 'Which approvals could drain you — and revoke order —' is slightly awkward, but the rest is information-dense and avoids repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter, read-only tool, this covers the essential decisions: what it ranks, what it returns, how it is priced/authed, and which network it runs on. It does not spell out the exact return-team structure, but with no output schema present that is a relatively minor gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The only parameter, address, is already described in the schema as 'Wallet address,' and the description merely restates it as required. With 100% schema coverage, the description adds no new parameter-level meaning or format detail.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is specific: it 'ranks a wallet's active token approvals' by a defined risk formula and 'returns a prioritised revoke queue,' so an agent can tell it is an approval-exposure advisory tool. It does not explicitly name and contrast a sibling, but the revoke-advice framing distinguishes it from execution-style tools like revoke_builder.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear application context — 'Approvals are the #1 drain vector; this tells an agent exactly what to revoke first' — plus the required address input and cost/access model. It does not state exclusions or name alternatives explicitly, so it stops short of a complete routing guide.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
b20_access_typeARead-onlyIdempotentInspect
Permissioned (allowlist) or blockable? Decoded per scope — A B20 transfer policy is either a BLOCKLIST (allowed unless listed) or an ALLOWLIST (allowed ONLY if listed — a permissioned/whitelist token you can't even receive uninvited). b20-safety flags that a policy exists; this decodes its TYPE per scope (send/receive/execute/mint) — the difference between 'the issuer can block bad actors' and 'this is a permissioned RWA you can't hold uninvited'. Required input: address. Priced $0.03 per call over x402 on Base; send a prepaid x-credit-token header for unlimited calls, or get 1 free call/day per tool. No wallet or API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes | B20 token address |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | The result payload. Shape is service-specific; every field is documented in the tool description. |
| service | No | The service id that answered. |
| checkedAt | No | ISO-8601 timestamp of when the underlying reads were taken. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description adds meaningful behavioral context beyond that: it clarifies the semantic distinction between allowlist and blocklist policies, notes per-scope behavior, and discloses pricing/auth requirements. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is longer than strictly necessary, with some rhetorical framing and repeated explanatory asides, but the core semantic distinction is front-loaded and the pricing/auth details are practically useful. It earns its length despite minor redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the output schema is present, the single parameter is fully documented, and annotations cover the read-only/idempotent safety profile, the description provides everything needed to invoke correctly: input, policy semantics, scope behavior, related sibling, cost, and authentication requirements.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, with the single 'address' parameter already described as 'B20 token address'. The description only restates 'Required input: address' and does not add new format, validation, or behavioral detail, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific operation: decoding whether a B20 transfer policy is a BLOCKLIST or ALLOWLIST, per scope (send/receive/execute/mint). It also explicitly distinguishes itself from b20_safety, which only flags that a policy exists rather than decoding its type.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains when this tool is needed versus b20_safety: use b20_safety to detect that a policy exists; use this tool to decode the policy type. It also specifies the required input (address) and gives cost/access context (pricing, prepaid header, no API key needed).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
b20_announcementsARead-onlyIdempotentInspect
On-chain issuer notices & corporate actions — B20 Asset tokens can post on-chain announcements (Announcement: id, description, uri) — issuer notices, corporate actions, redemptions — a channel ERC-20 has no equivalent for. Reads a token's announcement feed (active vs ended) from CDP-indexed events. The issuer-communications primitive for agents holding tokenized/RWA B20 assets. Required input: address. Priced $0.03 per call over x402 on Base; send a prepaid x-credit-token header for unlimited calls, or get 1 free call/day per tool. No wallet or API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes | B20 Asset token address |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | The result payload. Shape is service-specific; every field is documented in the tool description. |
| service | No | The service id that answered. |
| checkedAt | No | ISO-8601 timestamp of when the underlying reads were taken. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is clear. The description adds meaningful context: data comes from CDP-indexed events, distinguishes active vs ended announcements, and explains the x402 payment requirement with prepaid-header and free-call options. This is valuable beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is information-dense and starts with the core purpose, which is good. However, it packs many distinct topics—announcement structure, indexing source, issuer-communications positioning, pricing, payment options, rate limits—into a single run-on paragraph, making it harder for an agent to parse the most decision-relevant facts quickly. It could be split into purpose and usage/pricing sections.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has one parameter, full schema coverage, and an output schema, so the description doesn't need to explain return values. It covers the data source, the active-vs-ended distinction, the payment mechanism, and the target use case. Minor omissions are things like chain/network specificity and what to do if the address has no announcements, but these are not critical given the output schema exists.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%: the only parameter, address, is described as 'B20 Asset token address'. The description adds no additional format, chain, or example details for the address, so it doesn't raise the score above the baseline. The description does reinforce that address is the required input, but that's already in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as reading on-chain issuer notices and corporate actions for B20 Asset tokens, and explicitly contrasts it with ERC-20 channels, which helps distinguish it from sibling tools. The verb 'Reads a token's announcement feed' plus the concrete 'Announcement: id, description, uri' structure makes the resource and operation unmistakable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description tells the agent this is the issuer-communications primitive for B20/RWA token holders and states the required input (address) and pricing model. It doesn't explicitly name alternative tools or state when not to use it, but the B20-specific scope and 'ERC-20 has no equivalent for' contrast imply the appropriate context. The pricing and free-tier guidance also help the agent decide whether to call it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
b20_authenticityARead-onlyIdempotentInspect
Is this a REAL B20 — or a lookalike contract? — Run FIRST on any 'B20'. A scammer can deploy a normal contract at a vanity 0xB200… address and fake the whole B20 read surface — the B20Factory precompile is the one authority that can't be spoofed. Verifies factory registration + bytecode absence (real B20s are chain-native precompiles with no code). verdict: genuine / fake_lookalike / not_b20. The 2-cent check that keeps every other B20 answer honest. Required input: address. Priced $0.02 per call over x402 on Base; send a prepaid x-credit-token header for unlimited calls, or get 1 free call/day per tool. No wallet or API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes | Token address |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | The result payload. Shape is service-specific; every field is documented in the tool description. |
| service | No | The service id that answered. |
| checkedAt | No | ISO-8601 timestamp of when the underlying reads were taken. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnly/idempotent annotations, the description discloses how the check works (factory registration and bytecode absence), why it cannot be spoofed (chain-native precompile authority), and what verdicts it returns (genuine / fake_lookalike / not_b20). This gives the agent a clear mental model of the tool's behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The essential content is front-loaded and the threat-model explanation is useful, but the later pricing and marketing sentences ('The 2-cent check,' prepaid header, free call/day, no wallet/API key) go beyond the core definition. It is not bloated, but it is longer than a strictly concise tool description needs to be.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given a single parameter, a present output schema, and strong annotations, the description adds is the missing context: why the check matters, what authority it relies on, what verdicts to expect, and how access/cost works. Nothing critical for calling the tool correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single address parameter is already fully described in the schema as 'Token address,' so the description has little additional semantic burden. It only repeats 'Required input: address' and does not add format, chain, or constraint details, making baseline 3 appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with the precise question 'Is this a REAL B20 — or a lookalike contract?' and then states the concrete verification: 'factory registration + bytecode absence.' It clearly identifies the tool as the authenticity gate for B20 tokens, and the mechanism distinguishes it from other B20 tools like b20_info or b20_access_type.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly commands 'Run FIRST on any B20' and says it 'keeps every other B20 answer honest,' making the when-to-use decision unambiguous: this tool precedes all other B20 analyses. No alternative is named because this is the designated first-step authenticity check.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
b20_batchARead-onlyIdempotentInspect
Freeze/seize scan for up to 5 B20 tokens — Runs the B20 safety verdict across up to 5 B20 tokens in one call — each scored for freeze/seize/pause/rebase/uncapped-mint, with the worst score surfaced. For portfolio holders and agents screening several B20s at once. Required input: addresses. Priced $0.08 per call over x402 on Base; send a prepaid x-credit-token header for unlimited calls, or get 1 free call/day per tool. No wallet or API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| addresses | Yes | B20 addresses (comma-separated) |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | The result payload. Shape is service-specific; every field is documented in the tool description. |
| service | No | The service id that answered. |
| checkedAt | No | ISO-8601 timestamp of when the underlying reads were taken. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish readOnly, idempotent, and non-destructive behavior; the description then adds meaningful context: the worst-score aggregation, the per-call cost, the x-credit-token payment option, free-tier limit, and that no wallet or API key is needed. This goes well beyond the structured annotations without contradicting them.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The core purpose is front-loaded and the description is information-dense without being bloated. Minor redundancy exists between 'Freeze/seize scan' and the repeated list of scoring dimensions, but every sentence contributes useful operational or pricing context.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simple one-parameter input schema, high schema coverage, and existing output schema, the description provides everything an agent needs to invoke the tool: purpose, cardinality limit, input requirement, pricing/authentication model, and safety profile. No critical operational detail is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema fully documents the 'addresses' parameter format (comma-separated B20 addresses), so the baseline is 3. The description adds a valuable constraint not in the schema: the batch supports 'up to 5' tokens, and clarifies the evaluation dimensions (freeze/seize/pause/rebase/uncapped-mint).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states a specific action ('freeze/seize scan') and resource ('up to 5 B20 tokens'), then adds scoring dimensions. It differentiates from single-token siblings like b20_safety by emphasizing the batch capability and the one-call nature.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly scopes usage to 'portfolio holders and agents screening several B20s at once,' giving clear context for when the batch tool is appropriate. It does not explicitly name a single-token alternative or state when not to use it, so it loses a point.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
b20_config_auditARead-onlyIdempotentInspect
Bricked scopes, dangling policies, frozen lists — The B20 misconfiguration lint. Base's docs warn: a scope bound to a NON-EXISTENT allowlist silently denies EVERYONE — transfers brick. Audits every policy scope for dangling bindings, ALWAYS_BLOCK, renounced (frozen) lists and live pauses; verdict bricked / critical_misconfig / misconfigured / clean plus a can-this-token-even-move flag. Pre-launch lint for issuers, stuck-funds guard for holders and merchants. Required input: address. Priced $0.05 per call over x402 on Base; send a prepaid x-credit-token header for unlimited calls, or get 1 free call/day per tool. No wallet or API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes | B20 token address |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | The result payload. Shape is service-specific; every field is documented in the tool description. |
| service | No | The service id that answered. |
| checkedAt | No | ISO-8601 timestamp of when the underlying reads were taken. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint=false. The description adds meaningful behavior beyond those: it explains the failure mode the tool guards against, the verdict vocabulary, the pricing model, the prepaid header, the free daily call, and the fact that no wallet/API key is needed. No contradiction exists.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description packs a lot of useful information into a single dense paragraph, including purpose, output, pricing, and access requirements. It is slightly florid at the start ('Bricked scopes, dangling policies, frozen lists') and mixes pricing into the behavioral description, but every sentence contributes actionable content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter audit tool with a rich output schema and clear annotations, the description is complete: it states the required input, enumerates the verdicts, highlights the key output flag, explains the real-world failure mode, and gives the authentication/billing context. Nothing critical is missing for an agent to select and call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the schema already defines address as 'B20 token address'. The description only repeats 'Required input: address' without adding format, chain, checksumming, or example details, so it meets the baseline but adds no semantic value beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific action ('Audits every policy scope for dangling bindings, ALWAYS_BLOCK, renounced lists and live pauses') and a concrete resource (B20 token configuration). It also differentiates the tool by naming its output verdicts and a distinctive 'can-this-token-even-move' flag, which separates it from sibling b20_* tools like freeze_check or policy_members.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear usage context: 'Pre-launch lint for issuers, stuck-funds guard for holders and merchants.' It implies when to use the tool across the token lifecycle but does not explicitly name alternatives or state when not to use it, leaving some routing burden on the agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
b20_controlARead-onlyIdempotentInspect
WHO can mint, seize, freeze or pause this B20? — b20-safety tells you WHICH powers a B20 has; this tells you WHO holds them. Reads the token's role-based access control (mint / burn / seize-via-burnBlocked / pause / admin) from onchain role events and reports the exact controllers, how centralized they are, and whether admin has been renounced. The issuer-control map an agent needs before holding a regulated Base-native asset. Required input: address. Priced $0.05 per call over x402 on Base; send a prepaid x-credit-token header for unlimited calls, or get 1 free call/day per tool. No wallet or API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes | B20 token address |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | The result payload. Shape is service-specific; every field is documented in the tool description. |
| service | No | The service id that answered. |
| checkedAt | No | ISO-8601 timestamp of when the underlying reads were taken. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark readOnly/openWorld/idempotent/no-destructive. The description adds meaningful behavioral context: it reads onchain role events, reports controller specificity, centralization, and admin renouncement, and discloses access requirements (pricing, x-credit-token header, no wallet/API key). No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Every sentence contributes: the purpose question, sibling contrast, data source and outputs, use case, input reminder, and access/cost. It is longer than minimal but justified by the amount of useful context; minor redundancy with schema's required-address note keeps it from a 5.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter read-only audit tool with a full output schema and safety annotations, the description supplies everything an agent needs: what it reports, when to use it, what input it expects, and how to access it. No important gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The only parameter, address, is fully described in the schema as 'B20 token address' (100% coverage). The description reiterates 'Required input: address' and contextualizes the target as 'this B20', but adds no format or syntax detail, so it stays at baseline 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Reads the token's role-based access control... reports the exact controllers'), a specific resource (B20 token roles), and immediately distinguishes from sibling b20_safety ('WHICH powers' vs 'WHO holds them'). The opening question 'WHO can mint, seize, freeze or pause this B20?' makes the purpose unmistakable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly contrasts with b20_safety, telling an agent to use this when it needs WHO holds powers rather than WHICH powers exist. Also gives a concrete trigger: 'The issuer-control map an agent needs before holding a regulated Base-native asset.' This provides clear selection criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
b20_dossierARead-onlyIdempotentInspect
Institutional AI report on a Base-native B20 token — The premium tier of the B20 suite — no ERC-20 tool can produce it. Composes the full B20 picture: seize/freeze/pause/mint powers, WHO holds them (admin renounced?), allowlist-vs-blocklist access model, supply-cap dilution headroom, metadata mutability, and ACTUAL seizure history (burnBlocked) — then Claude writes an institutional due-diligence verdict: issuer-control score, seizure risk (enforced/armed/none), red flags, and a hold/avoid recommendation. Required input: address. Priced $0.75 per call over x402 on Base; send a prepaid x-credit-token header for unlimited calls, or get 1 free call/day per tool. No wallet or API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes | B20 token address |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | The result payload. Shape is service-specific; every field is documented in the tool description. |
| service | No | The service id that answered. |
| checkedAt | No | ISO-8601 timestamp of when the underlying reads were taken. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description carries full responsibility, and it delivers: it discloses the Base chain, per-call pricing, x-credit-token header option, free daily allowance, and that no wallet or API key is required. It also reveals that Claude writes the verdict and that real seizure history is incorporated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but purposeful: it front-loads the core purpose, then lists report components and verdict output, then closes with required input, pricing, and auth. A little more bullet-style structuring would improve scannability, but every sentence contributes useful selection or invocation information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter report tool with an output schema, this is complete: it covers purpose, report content, input requirement, chain, pricing, authentication, and rate-limit behavior. Nothing needed to decide whether to call it or to call it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the schema already describes address as 'B20 token address.' The description only repeats 'Required input: address' and adds no format, checksum, or chain-specific detail beyond what the schema provides, so it rests at the baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific deliverable — an institutional AI report on a Base-native B20 token — and enumerates exactly what it composes and what verdict it produces. It also differentiates itself within the sibling suite by calling itself the 'premium tier' and stating that 'no ERC-20 tool can produce it.'
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It clearly identifies the intended context: institutional due-diligence on a B20 token requiring a hold/avoid recommendation. It does not name direct alternative b20_* siblings or state explicit when-not-to-use conditions, but the use case is concrete enough for an agent to select it appropriately.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
b20_freeze_checkARead-onlyIdempotentInspect
Is YOUR wallet blocked or seizable on this B20 token? — Checks whether a specific wallet is authorized under a B20 token's transfer-sender policy. If it isn't, that wallet can't transfer and can be burnBlocked() (SEIZED) by the issuer. The personal companion to b20-safety — 'can this token freeze MY funds?' Required inputs: token, wallet. Priced $0.03 per call over x402 on Base; send a prepaid x-credit-token header for unlimited calls, or get 1 free call/day per tool. No wallet or API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| token | Yes | B20 token address | |
| wallet | Yes | Your wallet address |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | The result payload. Shape is service-specific; every field is documented in the tool description. |
| service | No | The service id that answered. |
| checkedAt | No | ISO-8601 timestamp of when the underlying reads were taken. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotent=true, openWorld=true, and destructiveHint=false, so no contradiction. The description adds useful behavioral context beyond annotations: it explains the policy being checked, the seizable consequence, pricing, and that 'No wallet or API key required.' It doesn't describe response contents, but output schema is available to cover that.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The core behavior is front-loaded in the opening question and immediately explained in the next sentence. The pricing and free-tier information is extra but useful for agents handling cost-sensitive calls. The wording is a bit promotional but each sentence contributes either behavior, usage context, or prerequisites.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given annotations cover safety and an output schema exists, this description is complete enough: it states the tool's purpose, the use case, the relationship to b20-safety, required inputs, pricing, and access constraints. It doesn't explain the finer meaning of 'transfer-sender policy,' but that is an implementation detail rather than a blocker for selecting or invoking the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema coverage is 100% and already documents both 'token' and 'wallet' with types and descriptions. The description adds no new parameter-level detail beyond saying they are required inputs and framing 'wallet' as 'YOUR wallet,' so it doesn't significantly extend the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Checks whether') and a clear resource ('a B20 token's transfer-sender policy'), explaining what the tool does and the consequence of being unauthorized ('can't transfer and can be burnBlocked() (SEIZED) by the issuer'). It also distinguishes itself from the sibling b20-safety by calling itself the 'personal companion' for checking 'MY funds,' so an agent can tell it apart.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly positions this tool against b20-safety with 'The personal companion to b20-safety — can this token freeze MY funds?', giving clear contextual guidance for when to use it. It doesn't enumerate exclusions or contrast with other b20 siblings like b20_transfer_preflight, so it stops short of full when-not-to-use instructions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
b20_gateARead-onlyIdempotentInspect
One GO/HOLD/STOP before you touch a B20 token — The single call before trading a Base-native B20: seize (burnBlocked) + freeze (Policy Registry) + rebase + pause + uncapped-mint, collapsed into one GO/HOLD/STOP verdict with an auditable receipt. Pass wallet= to also check if YOUR address is already blocked on that token. The B20 tool to bind first. Required input: address. Priced $0.10 per call over x402 on Base; send a prepaid x-credit-token header for unlimited calls, or get 1 free call/day per tool. No wallet or API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| wallet | No | Your wallet (optional — checks if you're blocked) | |
| address | Yes | B20 token address |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | The result payload. Shape is service-specific; every field is documented in the tool description. |
| service | No | The service id that answered. |
| checkedAt | No | ISO-8601 timestamp of when the underlying reads were taken. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint=true, openWorldHint=true, idempotentHint=true, and destructiveHint=false. The description adds valuable operational context beyond those: the tool returns an auditable receipt, requires no wallet or API key, costs $0.10 per call, and has a free daily quota. The references to seize, freeze, rebase, pause, and uncapped-mint are framed as checks aggregated into a verdict, not mutations, which is consistent with the non-destructive annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core purpose and get progressively operational. The pricing, free-call limit, and no-wallet/no-API-key details are useful for an agent deciding whether to invoke the tool. It is somewhat verbose and promotional ('The B20 tool to bind first'), but each sentence contributes meaningful selection or invocation context.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has a rich output schema and strong annotations, so the description does not need to explain return values. The description sufficiently covers when to use it, what checks feed the verdict, how to use the optional wallet parameter, and cost/authentication requirements. It is complete enough for correct invocation, though it could briefly mention the GO/HOLD/STOP semantics or point to a sibling for deeper checks.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already describes both parameters with 100% coverage. The description reiterates that address is required and wallet is optional for checking blocked status, but it adds little meaning beyond the schema. Baseline 3 is appropriate because the description does not need to compensate for missing schema documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states this is a pre-trade gate that produces a GO/HOLD/STOP verdict by aggregating multiple B20 risk checks (seize, freeze, rebase, pause, uncapped-mint). It communicates the resource (Base-native B20 tokens) and the core action (assessment before trading). However, it does not explicitly differentiate from sibling tools like b20_safety or pre_trade_gate, making it clear but not fully distinct.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit usage context: it is the call to make before touching a B20 token, and it should be the first B20 tool to bind. It also explains the optional wallet parameter for checking if the user is blocked. It does not mention when not to use it or name specific alternatives, so it stops shot of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
b20_genesis_auditARead-onlyIdempotentInspect
What the issuer did in the initCalls bypass window — createB20's initCalls run with role AND transfer-policy gates BYPASSED — a one-tx privilege window only the issuer ever gets. Reconstructs what they did in it: pre-mints (how much, to whom), role grants, policy bindings, blocklist seeding — the token's true starting conditions. verdict: blocklist_seeded / premined / configured_launch / bare_launch. Required input: address. Priced $0.04 per call over x402 on Base; send a prepaid x-credit-token header for unlimited calls, or get 1 free call/day per tool. No wallet or API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes | B20 token address |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | The result payload. Shape is service-specific; every field is documented in the tool description. |
| service | No | The service id that answered. |
| checkedAt | No | ISO-8601 timestamp of when the underlying reads were taken. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/openWorld/idempotent/destructive=false, and the description adds the important context that it reconstructs historical state from a privileged one-time window, costs $0.04, and requires no API key. It doesn't describe return structure or failure modes, but with annotations covering safety, this is solid.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but every sentence adds value: explains the niche window, what is reconstructed, verdicts, input, and pricing/auth. It is slightly long but the content justifies it; front-loads the unique value proposition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given one param with full schema coverage, no enums, and an output schema present, the description covers what the tool does, why it is unique, how to call it, and its cost/auth requirements. Nothing meaningful is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single parameter 'address' is fully schema-documented as 'B20 token address'. Description reinforces what the tool does with that address. With 100% schema coverage, baseline 3, and the description adds meaningful context (what it inspects for that address), so 4 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('reconstructs'), resource ('initCalls bypass window' of createB20), and deliverable ('token's true starting conditions', verdict categories). Clearly distinguishes from siblings like b20_config_audit or b20_mint_watch by focusing on the one-tx issuer-only window.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Clearly explains what the tool analyzes and the verdict categories, and mentions pricing/auth model. It does not explicitly name alternatives or when-not-to-use, but the narrow scope is implicitly clear; still, explicit exclusion of e.g. 'use b20_mint_watch for ongoing minting' would be stronger.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
b20_guardARead-onlyIdempotentInspect
Real-time alerts the moment a B20 token turns seizable — The live layer over B20 Policy Watch: a network-wide onchain webhook captures every B20 PolicyUpdated/Paused sub-second. Pass a token address for its live guard status, or call with no address for the feed of tokens that JUST attached a sender blocklist (turned seizable) across all of Base. Priced $0.05 per call over x402 on Base; send a prepaid x-credit-token header for unlimited calls, or get 1 free call/day per tool. No wallet or API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| address | No | B20 token (optional — omit for network feed) |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | The result payload. Shape is service-specific; every field is documented in the tool description. |
| service | No | The service id that answered. |
| checkedAt | No | ISO-8601 timestamp of when the underlying reads were taken. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish read-only, idempotent, non-destructive behavior. The description adds valuable behavioral context beyond that: sub-second real-time event capture, the distinction between status lookup and network feed, pricing per call, free-tier limits, and the fact that no wallet or API key is required. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense and well front-loaded, with the core purpose first followed by usage modes, pricing, and auth requirements. Minor redundancy exists ('real-time... moment' + 'sub-second', 'network-wide' + 'across all of Base'), but every sentence contributes useful information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single optional parameter with an output schema and read-only annotations, the description is fully sufficient. It covers invocation modes, network scope, event triggers, billing, auth, and free-tier access. There are no meaningful gaps that would prevent an agent from calling the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already fully documents the optional address parameter, so the baseline is 3. The description adds meaning by clarifying that providing an address returns live guard status and omitting it returns the seizable-token feed. This goes slightly beyond the schema but does not specify address format or chain requirements.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific verb and resource: it delivers real-time alerts when a B20 token becomes seizable. It further distinguishes itself from the sibling b20_policy_watch by describing itself as the 'live layer' with sub-second webhook capture of PolicyUpdated/Paused events.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit usage modes: pass an address for live guard status, or omit it for the network-wide feed of tokens that just became seizable. It lacks explicit 'when-not-to-use' or alternative tool routing beyond referencing B20 Policy Watch, but the call patterns are unambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
b20_infoARead-onlyIdempotentInspect
Full profile of a Base-native B20 token — Complete B20 token profile straight from the precompile: variant (Asset/Stablecoin), name, symbol, decimals, total supply, supply cap, active transfer policies, pause states, and rebase. The data companion to b20-safety. Required input: address. Priced $0.02 per call over x402 on Base; send a prepaid x-credit-token header for unlimited calls, or get 1 free call/day per tool. No wallet or API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes | B20 token address |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | The result payload. Shape is service-specific; every field is documented in the tool description. |
| service | No | The service id that answered. |
| checkedAt | No | ISO-8601 timestamp of when the underlying reads were taken. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint=false, so the safety profile is well covered. The description adds valuable operational behavior: the $0.02 cost per call, the x-credit-token header for unlimited calls, the 1 free call/day per tool, and the explicit statement that no wallet or API key is required. This goes well beyond the annotations and gives an agent concrete expectations about auth, rate limits, and cost.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core purpose and field list, then moves to operational details like pricing and auth. It is reasonably compact for the amount of information conveyed. There is minor redundancy in 'Full profile... Complete B20 token profile,' but it does not seriously hurt readability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter read-only tool with an output schema, the description covers the essentials: what data is returned, what input is required, the data source, pricing, auth requirements, and the relationship to b20-safety. The main gap is the lack of explicit routing among the large family of b20_* data tools, but this is a minor weakness given how clearly the scope is defined.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already provides 100% coverage for the single 'address' parameter with the description 'B20 token address.' The tool description merely repeats 'Required input: address' without adding format, chain, or example-level detail. With complete schema coverage, the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly opens with 'Full profile of a Base-native B20 token' and itemizes the exact fields returned: variant, name, symbol, decimals, total supply, supply cap, transfer policies, pause states, and rebase. It also positions itself as 'The data companion to b20-safety,' which distinguishes it from at least that sibling. However, it does not explicitly differentiate itself from other closely related data tools like b20_metadata, b20_supply, or b20_dossier.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage as the data counterpart to b20-safety and states that only an address is required, but it never gives explicit when-to-use or when-not-to-use guidance relative to the many overlapping b20_* sibling tools. No alternatives besides b20-safety are mentioned, and there is no exclusion such as 'for safety assessment use b20_safety instead.'
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
b20_launch_radarARead-onlyIdempotentInspect
Freshly minted B20 tokens on Base — Lists the newest B20 tokens created on Base (from the B20Factory precompile) — variant, symbol, decimals, block. B20 is Base's native token standard and dozens launch hourly. A discovery feed for agents hunting new B20 launches early. Run b20-safety on any address before touching it — new ≠ safe. Priced $0.01 per call over x402 on Base; send a prepaid x-credit-token header for unlimited calls, or get 1 free call/day per tool. No wallet or API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | How many |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | The result payload. Shape is service-specific; every field is documented in the tool description. |
| service | No | The service id that answered. |
| checkedAt | No | ISO-8601 timestamp of when the underlying reads were taken. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only, idempotent, open-world, and non-destructive behavior. The description adds meaningful context beyond that: freshness, source precompile, return fields, pricing, rate limits, auth requirements, and the safety caveat that new tokens are not necessarily safe. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core purpose and remains information-dense without fluff. Each sentence adds value: technical origin, returned fields, use case, safety warning, pricing, and access method. The structure is easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the essential operational details: what is listed, where it comes from, what fields are returned, pricing, auth, and a safety follow-up. Minor gaps include unclear limit semantics and no explicit pagination or ordering details, but for a simple discovery list this is nearly complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The only parameter, 'limit', has a minimal 'How many' description, and the tool description does not clarify limits, defaults, or formatting. The description adds no real parameter meaning beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists newly created B20 tokens on Base from the B20Factory precompile, with a specific verb and resource. It conveys the discovery-feed purpose but does not explicitly differentiate itself from closely related siblings like b20_mint_watch or new_tokens.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context: it is a discovery feed for agents hunting new B20 launches early, and it instructs users to run b20-safety before touching any address. It does not explicitly list alternative tools or exclusion conditions, but the use case is well conveyed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
b20_memoARead-onlyIdempotentInspect
Payment IDs & compliance tags on a B20 token — B20 adds memos to transfers/mints/burns (transferWithMemo) for payment IDs, compliance tags and settlement correlation — a field ERC-20 has no equivalent for. Reads a token's on-chain Memo event history, optionally filtered by a specific memo (bytes32) or the caller wallet. The settlement-reconciliation primitive for agents paying over B20 stablecoins. Required input: address. Priced $0.03 per call over x402 on Base; send a prepaid x-credit-token header for unlimited calls, or get 1 free call/day per tool. No wallet or API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| memo | No | Filter by memo (bytes32, optional) | |
| caller | No | Filter by caller wallet (optional) | |
| address | Yes | B20 token address |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | The result payload. Shape is service-specific; every field is documented in the tool description. |
| service | No | The service id that answered. |
| checkedAt | No | ISO-8601 timestamp of when the underlying reads were taken. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark the tool as readOnly, idempotent, and non-destructive, so the safety profile is established. The description adds valuable context about the read behavior, optional filters (memo or caller), required address input, and operational details like pricing and no wallet/API key required. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is reasonably concise and front-loads the core purpose, followed by the read behavior, filtering, use case, and access requirements. Some phrases (e.g., 'a field ERC-20 has no equivalent for') are explanatory color rather than essential, but most sentences earn their place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given a simple 3-parameter schema with 100% coverage, an output schema, and strong annotations, the description supplies everything else an agent needs: the required input, optional filters, the B20-specific use case, and the pricing/access model. There are no critical gaps for selecting or invoking the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema itself already explains the address, memo, and caller parameters. The description adds little beyond restating that an address is required and that memo is bytes32 and caller is a wallet — both already encoded in the schema. This matches the baseline for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action and resource: it 'Reads a token's on-chain Memo event history' and clearly explains what B20 memos are for. It names the underlying primitive (transferWithMemo) and contrasts it with ERC-20, which helps distinguish this tool from the many b20_* siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides a clear use case: 'The settlement-reconciliation primitive for agents paying over B20 stablecoins.' This tells an agent when to select this tool. However, it does not name alternative tools or explicitly state when not to use it, so it lacks full exclusion guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
b20_metadataBRead-onlyIdempotentInspect
Can this token rename itself? Has it? — A B20 with a METADATA_ROLE holder can call updateName/updateSymbol — change its own identity after launch (an impersonation / bait-and-switch vector ERC-20 has no protocol equivalent for). Reads whether the metadata is mutable (role holder exists) AND whether it has ALREADY been renamed on-chain (NameUpdated/SymbolUpdated history). Trust the address, not the label. Required input: address. Priced $0.04 per call over x402 on Base; send a prepaid x-credit-token header for unlimited calls, or get 1 free call/day per tool. No wallet or API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes | B20 token address |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | The result payload. Shape is service-specific; every field is documented in the tool description. |
| service | No | The service id that answered. |
| checkedAt | No | ISO-8601 timestamp of when the underlying reads were taken. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and idempotentHint, and the description aligns with those. It adds useful behavioral context beyond annotations by explaining the two exact checks (mutability role and rename history), the impersonation/bait-and-switch risk, and operational details like pricing and lack of API key requirement. No contradiction exists.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is reasonably sized but includes a rhetorical question and explanatory framing that add length without functional content. The core behavior is present and clear, but pricing and operational details could be separated or streamlined. It is structured acceptably, but not every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With a single required parameter fully documented, an output schema present, and annotations covering safety, the description provides sufficient operational context: what is checked, required input, chain (Base), pricing, and authentication. Since an output schema exists, return values need not be explained. It misses explicit usage guidance, already penalized separately.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema fully documents the only parameter as 'B20 token address,' giving 100% schema coverage. The description merely repeats that address is required and does not add format, constraints, or examples. This matches the baseline of 3 for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific read operation: checking whether B20 metadata is mutable (a METADATA_ROLE holder exists) and whether the token has already been renamed on-chain. This distinguishes it from many b20_* siblings by topic, though it does not explicitly name an alternative tool, so it falls short of the top bar.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit guidance on when to use this tool versus alternatives. The description says what it reads and gives operational details, but an agent must infer the appropriate use case from context. No exclusions or alternative tool names are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
b20_mint_watchARead-onlyIdempotentInspect
Who is printing this token, right now — b20-supply shows the dilution ceiling; this shows the actual printing. Every mint (incl. batchMint) in the window: amount, recipients, and the share of current supply it represents — heavy_dilution / active_minting / minor_minting / quiet. The live issuance feed for agents holding B20 stablecoins and RWAs. Pass days= (1-90, default 30). Required input: address. Priced $0.03 per call over x402 on Base; send a prepaid x-credit-token header for unlimited calls, or get 1 free call/day per tool. No wallet or API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | Window in days (default 30) | |
| address | Yes | B20 token address |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | The result payload. Shape is service-specific; every field is documented in the tool description. |
| service | No | The service id that answered. |
| checkedAt | No | ISO-8601 timestamp of when the underlying reads were taken. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark the tool read-only and non-destructive, and the description adds substantial behavior: it reports every mint including batchMint, includes amount/recipients/share-of-supply, and classifies into heavy_dilution/active_minting/minor_minting/quiet. It also discloses pricing, the x402 payment path, the optional prepaid header, and the fact that no wallet or API key is required.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core purpose and keeps most sentences useful. Some phrasing is promotional/redundant, such as 'The live issuance feed for agents holding B20 stablecoins and RWAs,' which restates the earlier point, but overall it is compact for the amount of context it carries.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is an output schema, so return shape does not need explaining. The description covers purpose, differentiation from a sibling, required and optional parameters, default window, behavioral categorization, pricing, auth model, and fee-free path. An agent has enough to invoke this correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds the days range (1-90) and notes that address is required, but it mostly repeats what the schema already states. It does not materially deepen parameter understanding beyond a small range clarification.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource (B20 token mint events) and an active verb ('shows the actual printing', 'live issuance feed'). It explicitly distinguishes itself from b20_supply, which covers the dilution ceiling, so an agent can tell these siblings apart.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context: use this to see actual mint activity rather than the supply ceiling, and it names b20_supply as the contrasting alternative. It also states required input and the days window. It does not enumerate exclusion cases, but the guidance is strong enough for correct selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
b20_pegARead-onlyIdempotentInspect
Declared currency vs what the market actually pays — A B20 Stablecoin's currency() is SELF-DECLARED — the standard verifies nothing. This is the missing check: declared peg vs actual DEX market price. 'Says USD, trades at $0.71' in one call: on_peg / depeg_warning / depegged / no_market (the peg is a pure claim with zero price discovery) / unverifiable_fx for non-USD pegs. Run before settling in any B20 stablecoin. Required input: address. Priced $0.03 per call over x402 on Base; send a prepaid x-credit-token header for unlimited calls, or get 1 free call/day per tool. No wallet or API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes | B20 stablecoin address |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | The result payload. Shape is service-specific; every field is documented in the tool description. |
| service | No | The service id that answered. |
| checkedAt | No | ISO-8601 timestamp of when the underlying reads were taken. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark this read-only/idempotent, and the description adds genuinely useful behavioral context: the five distinct return categories, edge cases (no market price, non-USD pegs), zero price discovery for 'pure claim' pegs, and the auth/pricing model (prepaid header, free tier, no wallet/API key). It is consistent with the readOnlyHint annotation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but front-loaded: the core concept and distinct output states appear first, with usage context, required input, and pricing following. Every sentence adds information, though the pricing/auth sentence is somewhat promotional for a tool-description context.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With one parameter, no nested objects, and an output schema present, the description covers everything needed to invoke correctly: input, output categories, edge cases, when to run it, and network/costing specifics. Nothing material is missing for an agent to decide and call this tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%—the only parameter 'address' is already documented as a B20 stablecoin address. The description repeats that requirement and adds marginal context (calls run over x402 on Base), but introduces no meaning the schema doesn't already convey, so it lands at the baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action—comparing a B20 stablecoin's self-declared peg against actual DEX market pricing—and names the exact output states (on_peg, depeg_warning, depegged, no_market, unverifiable_fx). It clearly differentiates itself in the B20 tool family by positioning itself as 'the missing check' that the B20 standard does not perform.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives a concrete trigger ('Run before settling in any B20 stablecoin') and explains the underlying problem (currency() is self-declared and unverified). It does not name specific sibling tools to use instead or explicitly exclude alternatives, but the strong use-case framing makes when-to-call clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
b20_permitARead-onlyIdempotentInspect
Gasless-approval (ERC-2612) readiness for agents — Every B20 has ERC-2612 permit built in — approve a spender by signature instead of a transaction. Reads exactly what an agent needs to build a valid permit: the token's DOMAIN_SEPARATOR, the owner's current nonce (so the signed payload can't be rejected/replayed), and the EIP-712 domain/type struct. Read-only — signs nothing. Required input: address. Priced $0.03 per call over x402 on Base; send a prepaid x-credit-token header for unlimited calls, or get 1 free call/day per tool. No wallet or API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| owner | No | Owner wallet (for the nonce, optional) | |
| address | Yes | B20 token address |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | The result payload. Shape is service-specific; every field is documented in the tool description. |
| service | No | The service id that answered. |
| checkedAt | No | ISO-8601 timestamp of when the underlying reads were taken. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnlyHint and idempotentHint annotations, the description explicitly says 'Read-only — signs nothing', enumerates the exact data returned, and discloses pricing, auth requirements ('No wallet or API key required'), and free-tier availability. This gives agents concrete expectations for invocation and side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is somewhat long but front-loaded with the core purpose and backs it with essential operational details like pricing and auth. Each segment adds value; only the pricing clause feels slightly verbose relative to the technical core, but it is still useful for an agent deciding whether to call.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the output schema exists and the annotations cover safety, the description supplies all necessary operational context: what data is read, that it is read-only, required input, pricing model, free tier, and absence of auth prerequisites. An agent can correctly select and invoke this tool without missing critical information.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% for both 'address' and 'owner', so the baseline is 3. The description adds meaningful context by explaining the nonce's purpose ('so the signed payload can't be rejected/replayed') and clarifying 'Required input: address', which helps an agent understand why each parameter exists and which is mandatory.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool reads ERC-2612 permit data for B20 tokens, naming the exact resources: DOMAIN_SEPARATOR, owner nonce, and EIP-712 domain/type struct. It uses 'Read-only' and 'signs nothing' to distinguish from approval transactions, making the purpose unmistakable even among many b20_* siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context: the tool is for gasless-approval readiness and for building valid permits via signature instead of a transaction. It does not explicitly name alternative tools or state when-not-to-use conditions, but the intended scenario is well implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
b20_policy_adminARead-onlyIdempotentInspect
WHO administers the blocklist that can freeze you? — b20-control reads the token's own roles; the address that can actually add you to a blocklist lives in the Policy Registry. This reads WHO administers each active transfer/mint policy (policyAdmin), and whether that control is being handed over (pendingPolicyAdmin) or renounced. The other half of 'who can freeze/seize you', straight from the registry. Required input: address. Priced $0.04 per call over x402 on Base; send a prepaid x-credit-token header for unlimited calls, or get 1 free call/day per tool. No wallet or API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes | B20 token address |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | The result payload. Shape is service-specific; every field is documented in the tool description. |
| service | No | The service id that answered. |
| checkedAt | No | ISO-8601 timestamp of when the underlying reads were taken. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the description does not need to restate safety. It adds useful non-obvious behavioral context: pricing per call, the x-credit-token header option, the free daily call, and that no wallet or API key is required. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description contains useful information but is padded with rhetorical framing like 'WHO administers the blocklist that can freeze you?' and 'straight from the registry.' The pricing and header details are valuable, but the overall text could be tighter without losing meaning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-required-parameter read-only tool with an output schema present, this description is sufficiently complete. It explains what data is read, which sibling it is distinct from, authentication/pricing expectations, and the required input. Minor gaps like exact output shape are covered by the output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already documents 'address' as 'B20 token address' with 100% coverage, so the description adds little beyond repeating that address is required. This matches the baseline of 3 for high schema coverage; the description does not meaningfully enrich the parameter meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: it 'reads WHO administers each active transfer/mint policy (policyAdmin)' and whether control is being handed over or renounced. It also distinguishes itself from b20-control by clarifying this tool queries the Policy Registry rather than the token's own roles, so an agent can tell them apart.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context for when this tool is relevant, noting it is the 'other half' of freeze/seizure authority and contrasting it with b20-control. It does not explicitly list exclusions or say 'use when X instead of Y,' but the alternative is named and the distinction is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
b20_policy_membersARead-onlyIdempotentInspect
The FULL blocklist/allowlist — every address, with history — b20-freeze-check answers one wallet; this enumerates the WHOLE list. Replays the Policy Registry's BlocklistUpdated/AllowlistUpdated events into the full membership of a B20's blocklist/allowlist: every address ever blocked or whitelisted, when, by whom, and the current member set per scope. Compliance-grade visibility no other tool provides. Pass address= (token) or policy= (registry policy ID). Priced $0.05 per call over x402 on Base; send a prepaid x-credit-token header for unlimited calls, or get 1 free call/day per tool. No wallet or API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| policy | No | Registry policy ID (optional) | |
| address | No | B20 token address |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | The result payload. Shape is service-specific; every field is documented in the tool description. |
| service | No | The service id that answered. |
| checkedAt | No | ISO-8601 timestamp of when the underlying reads were taken. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only, idempotent, and non-destructive. The description adds meaningful context beyond those: the event-replay mechanism, the fact that no wallet or API key is required, and the commercial terms ($0.05 per call over x402 on Base, x-credit-token header for unlimited calls, 1 free call/day). These operational details help an agent decide whether and how to invoke.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The most important contrast (FULL list vs one wallet) is front-loaded in the first sentence, and every subsequent clause adds a distinct fact: mechanism, output contents, invocation, pricing, auth. A few phrases are promotional ('Compliance-grade visibility no other tool provides') and the pricing block is long relative to the core description, but there is little true waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values needn't be spelled out, and this is a complex tool: two alternative invocation modes, historical replay, per-scope member sets, and commercial terms. The description handles nearly all of that. The noticeable gaps are the zero-required--params case (no guidance on what a no-arg call returns) and 'per scope' being left undefined.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% but each parameter description is thin ('Registry policy ID' / 'B20 token address'). The description adds the key semantic: the parameters are alternatives ('Pass address= (token) or policy= (registry policy ID)'), an either/or relationship the schema does not convey. It does not clarify what happens if neither optional parameter is passed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a precise verb and resource: it 'Replays the Policy Registry's BlocklistUpdated/AllowlistUpdated events into the full membership of a B20's blocklist/allowlist' and enumerates the WHOLE list with history. It explicitly distinguishes itself from b20_freeze_check ('answers one wallet; this enumerates the WHOLE list'), so an agent can tell them apart immediately.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Names the key alternative (b20-frozen-check) and the condition that selects this tool: one wallet's status vs the entire list. It also gives invocation guidance ('Pass address= (token) or policy= (registry policy ID)'). It doesn't address other potentially overlapping siblings like b20_policy_watch or b20_policy_admin, so it's strong but not exhaustive.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
b20_policy_watchARead-onlyIdempotentInspect
Did this token BECOME seizable after launch? — The B20-only rug vector: a token can launch clean and later attach a sender blocklist (PolicyUpdated) — silently becoming seizable via burnBlocked. This reads the token's full policy/pause event timeline (CDP-indexed onchain events) plus the live policy state, and tells you if — and exactly WHEN — it turned seizable. Required input: address. Priced $0.03 per call over x402 on Base; send a prepaid x-credit-token header for unlimited calls, or get 1 free call/day per tool. No wallet or API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes | B20 token address |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | The result payload. Shape is service-specific; every field is documented in the tool description. |
| service | No | The service id that answered. |
| checkedAt | No | ISO-8601 timestamp of when the underlying reads were taken. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already mark the tool as read-only, idempotent, and non-destructive; the description adds valuable behavioral context by disclosing the exact onchain data sources, the computed outcome (if/when the token turned seizable), and operational details such as x402 pricing, prepaid credit header, free tier, and no wallet/API key requirement. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the key question and then efficiently moves through mechanism, behavior, required input, pricing, and authentication. Each sentence adds a distinct piece of operational or diagnostic information, so the relative length is justified and there is no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With one required parameter fully documented, an output schema present, and the description covering data source, output intent, chain, payment, auth, and free-tier behavior, the agent has everything needed to correctly select and invoke the tool. No critical operational gap is evident.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%; the schema already documents address as 'B20 token address.' The description only repeats 'Required input: address' and does not add format, validation, or chain-specific meaning beyond the schema, so the baseline score of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a precise diagnostic question, 'Did this token BECOME seizable after launch?', and then gives the exact mechanism (PolicyUpdated leading to burnBlocked) and the data read (policy/pause event timeline plus live policy state). This makes the tool's purpose highly specific and clearly distinguishes it from generic B20 tools by framing it as the 'B20-only rug vector.'
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The intended scenario is clearly implied: use this when you need to determine whether a B20 token became seizable after launch. However, the description does not explicitly state when not to use it or mention any sibling alternatives, so the usage guidance relies on inference rather than direct routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
b20_portfolioARead-onlyIdempotentInspect
Which B20s in your wallet can freeze or seize you? — Scans a wallet's B20 (Base-native) holdings for protocol-level freeze/seize powers and whether YOUR address is ALREADY blocked on any of them — the risk no ERC-20 portfolio tool can see. Returns per-token seizable/freezable/rebase flags plus a wallet-level verdict. Built for agents holding Base positions. Required input: wallet. Priced $0.06 per call over x402 on Base; send a prepaid x-credit-token header for unlimited calls, or get 1 free call/day per tool. No wallet or API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| wallet | Yes | Wallet address |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | The result payload. Shape is service-specific; every field is documented in the tool description. |
| service | No | The service id that answered. |
| checkedAt | No | ISO-8601 timestamp of when the underlying reads were taken. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly and idempotent behavior, and the description adds useful details: it scans the wallet for protocol-level freeze/seize powers, checks whether the address is already blocked, and returns rebase flags. It also discloses pricing and authentication requirements, which are useful operational behaviors.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with a clear question and purpose, and every major point—input, output, pricing, access—is covered. It is somewhat dense and includes marketing phrashes like 'the risk no ERC-20 portfolio tool can see', but it remains compact enough for an agent to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the single clean parameter, the readOnly annotations, and the presence of an output schema, the description is complete. It tells the agent what the tool does, what input is required, what it returns, and the cost/auth model, with no critical gaps for invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already fully documents the single 'wallet' parameter as 'Wallet address', and the description simply repeats that wallet is required. The description adds slight context by clarifying the wallet is the one under B20 risk evaluation, but it does not add meaningful detail beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('scans') and names the exact resource: a wallet's B20 holdings. It clearly defines the output as per-token freeze/seize/rebase flags plus a wallet-level verdict, making the tool's purpose easy to distinguish from generic portfolio tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly states when to use the tool: for agents holding Base positions who need B20-specific freeze/seize risk assessment. It does not explicitly name alternatives or exclusions, but the context is strong enough that an agent would not confuse it with a generic ERC-20 portfolio check.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
b20_rebaseARead-onlyIdempotentInspect
Asset-variant rebase multiplier & scaling risk — Reads a B20 Asset token's rebase multiplier — the factor that scales every holder's balance. Flags whether balances are being scaled (invisible dilution/inflation the issuer controls). Stablecoin variants return no-rebase. Required input: address. Priced $0.02 per call over x402 on Base; send a prepaid x-credit-token header for unlimited calls, or get 1 free call/day per tool. No wallet or API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes | B20 token address |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | The result payload. Shape is service-specific; every field is documented in the tool description. |
| service | No | The service id that answered. |
| checkedAt | No | ISO-8601 timestamp of when the underlying reads were taken. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations (readOnlyHint, idempotentHint, openWorldHint, non-destructive), the description adds valuable behavioral detail: stablecoin variants return no-rebase, the call is priced at $0.02 over x402 on Base, prepaid headers are supported, a free daily call exists, and no wallet or API key is required. This gives the agent concrete invocation and cost expectations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core purpose and then covers input, edge-case behavior, network, pricing, and auth in a compact block. The pricing and header details are slightly verbose for a tool description, but they earn their place because they are important for correct invocation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a single-parameter read-only tool with an output schema, and the description covers all essential context: what it reads, what it flags, stablecoin edge case, required input, network/chain, cost, billing options, and authentication. Nothing an agent needs to call it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already fully documents the single 'address' parameter as a B20 token address. The description adds the 'Asset-variant' context and the stablecoin caveat, but does not add meaningful parameter format or validation details beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Reads') attached to a clear resource ('B20 Asset token's rebase multiplier'), and adds the risk-flagging intent. It also distinguishes stablecoin behavior explicitly, which separates this tool from related B20 variants.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description conveys when to use the tool: to check whether an issuer-controlled rebase is invisibly scaling balances, and it notes that stablecoin variants return no-rebase. It does not explicitly name alternative sibling tools, but the context is clear enough for an agent to select it for this read-only rebase risk query.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
b20_rebase_historyARead-onlyIdempotentInspect
Every silent balance rescaling this token ever did — An Asset B20's multiplier rescales EVERY holder's balance in one call — no transfer, no per-account event, nothing in your tx history. b20-rebase shows today's value; this replays the full MultiplierUpdated history and flags DOWNWARD moves that silently cut every holder. The operator's rebase track record, before you hold a rebasing RWA. Required input: address. Priced $0.03 per call over x402 on Base; send a prepaid x-credit-token header for unlimited calls, or get 1 free call/day per tool. No wallet or API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes | B20 Asset token address |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | The result payload. Shape is service-specific; every field is documented in the tool description. |
| service | No | The service id that answered. |
| checkedAt | No | ISO-8601 timestamp of when the underlying reads were taken. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnlyHint and idempotentHint annotations, the description discloses important behavioral traits: no transfer, no per-account event, and nothing in tx history, plus explicit flagging of downward moves. It also covers auth and rate-limit context (x-credit-token header, free tier), which annotations do not provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The key differentiation is front-loaded with the striking first sentence, and pricing/auth details are confined to the end. The description is slightly wordy with its em-dash framing, but each sentence contributes distinct, useful information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-address read-only history tool, the description covers input, alternative tool, behavioral semantics, use case, pricing, and access constraints. Since an output schema exists, omitting return-field details is acceptable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already documents the only parameter at 100% coverage with 'B20 Asset token address'. The description merely repeats 'Required input: address' without adding format, validation, or examples, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a distinctive value proposition ('Every silent balance rescaling this token ever did') and states a concrete action: replay the full MultiplierUpdated history and flag downward moves. It also contrasts with b20_rebase, making the tool's purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly names the sibling b20_rebase as the tool for today's value ('b20-rebase shows today's value; this replays...'), giving an agent a clear selection rule. It also provides the intended context ('before you hold a rebasing RWA') and access prerequisites like address, pricing, and no wallet/API key.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
b20_safetyARead-onlyIdempotentInspect
Can this Base-native (B20) token freeze or seize your funds? — Live — B20 is Base's native precompile token standard, and unlike ERC-20 a B20 issuer can freeze holders (Policy Registry) and even SEIZE your balance (burnBlocked) at the protocol level. This reads exactly those powers — seizable, freezable, paused, rebase, uncapped-mint — into one hold/caution/avoid verdict. The first B20-aware safety check on Base. Required input: address. Priced $0.04 per call over x402 on Base; send a prepaid x-credit-token header for unlimited calls, or get 1 free call/day per tool. No wallet or API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes | B20 token address |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | The result payload. Shape is service-specific; every field is documented in the tool description. |
| service | No | The service id that answered. |
| checkedAt | No | ISO-8601 timestamp of when the underlying reads were taken. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the read-only safety profile is covered. The description adds meaningful behavioral context: it reads protocol-level powers (Policy Registry, burnBlocked), explains the B20 standard's difference from ERC-20, and reveals pricing/crediting behavior ($0.04 per call, prepaid header, 1 free call/day, no wallet/API key needed). This goes beyond the annotations and helps an agent understand side effects, costs, and access requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but has almost no fluff, and the key question ('Can this token freeze or seize your funds?') is front-loaded. The marketing phrases ('The first B20-aware safety check on Base') add some promotional flavor but don't hurt clarity. A couple of clauses could be trimmed, but overall every sentence earns its place by conveying the risk model, input, price, and access model.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool takes one parameter, has a clear output verdict (hold/caution/avoid) and a rich output schema. The description explains what the tool reads, how it differs from ERC-20, how to pay for it, and the free-tier allowance. For a single-address safety check with an output schema, nothing essential is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the single parameter 'address' has its own description 'B20 token address'. The tool description also reinforces that the required input is an address. With such high schema coverage and one simple parameter, there's little else needed; the description adds the convention that this is a B20 address, not an EOA or ERC-20 address, which is valuable.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: checking whether a B20 token can freeze or seize funds, and producing a hold/caution/avoid verdict. It names the specific resource (B20 token, via an address) and the specific safety attributes (seizable, freezable, paused, rebase, uncapped-mint). This distinguishes it from siblings like b20_freeze_check or b20_seizure_history because it's an aggregate safety verdict rather than a single check.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use it: when you need a B20 safety check that combines freeze/seize/pause/rebase/mint-risk into one verdict. It explicitly states the required input (address) and the one free call/day, but it doesn't explicitly say when not to use it or which sibling to prefer (e.g., b20_freeze_check for just freeze status, b20_config_audit for deeper config). Clear context, but no explicit exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
b20_seizure_historyARead-onlyIdempotentInspect
Has this issuer ever actually SEIZED holders? — Every other B20 check reads what the issuer CAN do; this reads what they HAVE done. Scans the token's actual burnBlocked seizures (the BurnedBlocked event) — whether the issuer has ever burned a blocked holder's balance, who was seized, and how much. verdict: enforced (has seized) / armed (can, hasn't) / no_seize_power. Pass wallet= for one address, or omit address= for the network-wide feed. Priced $0.05 per call over x402 on Base; send a prepaid x-credit-token header for unlimited calls, or get 1 free call/day per tool. No wallet or API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| wallet | No | Victim wallet (optional) | |
| address | No | B20 token (omit for network feed) |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | The result payload. Shape is service-specific; every field is documented in the tool description. |
| service | No | The service id that answered. |
| checkedAt | No | ISO-8601 timestamp of when the underlying reads were taken. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark this as read-only, open-world, idempotent, and non-destructive; the description adds meaningful behavioral context beyond that: it scans actual on-chain seizure events, returns a three-state verdict, covers both single-wallet and network-wide modes, and discloses pricing/auth requirements and free-tier availability. No contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core purpose and differentiator, then moves through the data source, verdicts, and usage. It includes extra details like pricing and API-key-free access, which are useful but slightly beyond the minimal invocation guidance. Overall, it is organized and every sentence adds context.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the output schema exists, the description does not need to explain return values. It covers what the tool does, how it differs from siblings, how to call it in both modes, what the verdict values mean, and important operational details like cost and free-tier usage. This is complete for an agent to select and invoke correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already explains the wallet and address parameters. The description adds extra meaning by explaining the wallet-scoped vs. network-feed modes and reiterates how to omit the address for a network-wide view. It does not add much beyond the schema, but it reinforces the key usage nuance.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a clear, direct question—'Has this issuer ever actually SEIZED holders?'—and then defines the exact mechanism (scanning the BurnedBlocked event) and output verdicts. It also explicitly contrasts itself with 'every other B20 check,' making it easy to distinguish from siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly tells when to use this tool versus other B20 checks: it reports what the issuer has actually done, not what it can do. It also provides concrete instructions for wallet-specific vs. network-wide calls. It does not name specific sibling alternatives, but the contrast is explicit enough.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
b20_stablecoinARead-onlyIdempotentInspect
Declared peg currency + issuance & control — B20 Stablecoin tokens self-declare a fiat currency code (currency() → USD, EUR, …). Reads that declared peg alongside the issuance profile (supply, cap) and control powers (seize/freeze/pause/uncapped-mint) — a one-call 'what is this stablecoin and who controls it' for agents settling in B20 stablecoins. The currency code is the issuer's claim, not attested backing. Required input: address. Priced $0.03 per call over x402 on Base; send a prepaid x-credit-token header for unlimited calls, or get 1 free call/day per tool. No wallet or API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes | B20 Stablecoin address |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | The result payload. Shape is service-specific; every field is documented in the tool description. |
| service | No | The service id that answered. |
| checkedAt | No | ISO-8601 timestamp of when the underlying reads were taken. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description significantly expands on the annotations by clarifying that the currency code is merely the issuer's declaration, not attested backing, and explicitly lists the inspected control mechanisms: seize/freeze/pause/uncapped-mint. It also discloses pricing, billing behavior via x-credit-token header, and that no wallet or API key is required, which is useful operational context beyond the readOnlyHint and idempotentHint annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is information-dense and front-loaded with the core purpose before moving to the caveat and payment details. It earns its length by explaining the non-attested nature and billing/trial terms, though a slight tightening around the payment sentence could make it even more scannable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter read-only tool with a rich output schema and strong annotations, the description covers the what, why, caveat, and invocation context. Nothing needed for correct tool selection or calling is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the single address parameter already has a clear description ('B20 Stablecoin address'). The tool description only repeats 'Required input: address' without adding new format, validation, or example details, so it meets the 100%-coverage baseline but does not go beyond it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific verb and resource: it 'Reads' the declared peg, issuance profile, and control powers of B20 Stablecoin tokens. It also frames the tool as a one-call profile, which separates it from granular siblings like b20_peg, b20_supply, and b20_control.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides clear context: agents settling in B20 stablecoins should use this when they need a one-call 'what is this stablecoin and who controls it' summary. It does not explicitly name alternatives or exclusions, but the one-call framing implies when to reach for this aggregated view instead of separate endpoint calls.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
b20_supplyARead-onlyIdempotentInspect
Mint headroom & dilution history of a B20 — The dilution half of B20 rug risk (b20-safety covers seizure). Reads supply cap vs minted supply (how much can still be minted) plus the on-chain SupplyCapUpdated history — an issuer that RAISED the cap diluted, or set up to dilute, holders. Uncapped mint is flagged as the worst case. Pair with b20-control to see who holds the mint role. Required input: address. Priced $0.04 per call over x402 on Base; send a prepaid x-credit-token header for unlimited calls, or get 1 free call/day per tool. No wallet or API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes | B20 token address |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | The result payload. Shape is service-specific; every field is documented in the tool description. |
| service | No | The service id that answered. |
| checkedAt | No | ISO-8601 timestamp of when the underlying reads were taken. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, and open-world behavior. The description adds valuable behavioral context: it reads on-chain SupplyCapUpdated history, interprets cap raises as dilution, and flags uncapped mint as the worst case. This goes beyond the annotation signal without contradicting it.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The key functionality is front-loaded and concise, with useful sibling context. The pricing and x-credit-token header details are relevant for invocation but slightly extend the description beyond what an agent needs for basic selection; still, the structure remains scannable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
: The tool has one required parameter with full schema coverage, an output schema, and strong annotations. The description closes the remaining gap by explaining how to interpret the data, noting the base chain, and pointing to the complementary b20-control tool. Nothing essential is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and the single parameter is already described as 'B20 token address.' The description repeats that an 'address' is required but adds no meaningful new format, constraints, or domain detail beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly names the resource and what it does: 'Mint headroom & dilution history of a B20' and 'Reads supply cap vs minted supply.' It further distinguishes itself from siblings by noting 'b20-safety covers seizure' and routing the mint-role question to b20-control.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly frames the tool as 'the dilution half of B20 rug risk' and contrasts it with b20-safety's seizure focus. It also tells the agent to 'Pair with b20-control to see who holds the mint role,' which gives concrete orchestration guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
b20_transfer_preflightARead-onlyIdempotentInspect
Will THIS transfer (from→to) clear right now? — The per-transaction B20 rail check: pass token + from + to (+ optional executor) and get one GO/HOLD/STOP on whether this exact transfer clears NOW — sender policy resolved against the sender, receiver policy against the recipient, executor policy against the operator, plus live transfer-pause. Every other B20 tool is per-token due diligence bought once; this is the check an agent runs on every payment. No ERC-20 tool can see it. Required inputs: address, from, to. Priced $0.04 per call over x402 on Base; send a prepaid x-credit-token header for unlimited calls, or get 1 free call/day per tool. No wallet or API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| to | Yes | Recipient address | |
| from | Yes | Sender address | |
| address | Yes | B20 token address | |
| executor | No | Executor (optional — transferFrom operator) |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | The result payload. Shape is service-specific; every field is documented in the tool description. |
| service | No | The service id that answered. |
| checkedAt | No | ISO-8601 timestamp of when the underlying reads were taken. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only/non-destructive/idempotent, and the description adds substantial context beyond them: the result is live and time-varying ('clears NOW', 'live transfer-pause'), the policy-resolution semantics per participant (sender policy vs. from, receiver policy vs. to, executor policy vs. operator), and service behaviors — $0.04 per-call pricing and no wallet/API key required. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the hook question and the core GO/HOLD/STOP mechanism before any elaboration, and each block — differentiation, policy detail, cost, auth — earns its place. Minor waste: 'Required inputs: address, from, to' duplicates the schema's required array, and the x-credit-token header/free-tier clause is more verbose than necessary.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given rich annotations and an output schema, the description covers the essentials: purpose, per-parameter roles, liveness, differentiation from siblings, cost, and auth requirements. The remaining gap is action semantics — what an agent should do upon receiving GO vs. HOLD vs. STOP is left implicit rather than stated.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds meaning by mapping each parameter to its role in the check: sender policy resolved against 'from', receiver policy against 'to', executor policy against the operator, and 'address' identified as the token. It reinforces the schema's 'transferFrom operator' hint with the reason the executor matters. It does not add new format or constraint details beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Opens with the question 'Will THIS transfer (from→to) clear right now?' and immediately specifies the deliverable: 'get one GO/HOLD/STOP on whether this exact transfer clears NOW'. It explicitly separates itself from siblings — 'Every other B20 tool is per-token due diligence bought once; this is the check an agent runs on every payment' — and from ERC-20 tools ('No ERC-20 tool can see it').
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'This is the check an agent runs on every payment' states the when-to-use condition directly, and 'Every other B20 tool is per-token due diligence bought once' implies when not to use it (one-time due diligence). The pricing and free-tier detail also support cost-aware routing. However, it does not name specific alternative tools (e.g., b20_access_type, b20_gate, pre_trade_gate), leaving the when-not condition at the group level.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
base_blockARead-onlyIdempotentInspect
Any Base block, by number, hash or tag — One block on Base — height, hash, parent, timestamp and age in seconds, transaction count, gas used against the limit, and the base fee in gwei. Takes a block number, a 0x… block hash, or latest / finalized / safe / earliest. A block that isn't mined yet answers found:false with the reason rather than an error. Raw chain data, no interpretation. Priced $0.002 per call over x402 on Base; send a prepaid x-credit-token header for unlimited calls, or get 1 free call/day per tool. No wallet or API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| block | No | Block number, hash, or tag (default latest) |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | The result payload. Shape is service-specific; every field is documented in the tool description. |
| service | No | The service id that answered. |
| checkedAt | No | ISO-8601 timestamp of when the underlying reads were taken. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark this as read-only/idempotent, and the description adds value beyond that: unmined blocks return found:false with a reason rather than an error, results are raw chain data with no interpretation, and access details (x402 pricing, x-credit-token header, free tier, no key/wallet) are disclosed. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense and front-loaded, with core behavior first and pricing/auth last. It is longer than minimal, but each sentence carries operational information; only minor redundancy like 'On Base' repeated in the pricing sentence.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-optional-parameter read-only tool with an output schema, the description covers purpose, accepted inputs, edge cases, data semantics, and access requirements. Nothing an agent needs to call it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and the description enhances it by enumerating the valid tags (latest/finalized/safe/earliest) and specifying the 0x… hash format. It doesn't go into block-number formatting, but the schema plus description is sufficient.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the resource precisely — one Base block by number, hash, or tag — and enumerates the returned fields (height, hash, parent, timestamp, gas, base fee). It is clearly distinct from sibling transaction/receipt/status tools, though it never uses an explicit operation verb like 'get' or 'fetch'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives concrete usage context: accepted identifiers (block number, 0x hash, latest/finalized/safe/earliest) and the unmined-block edge case returning found:false. It doesn't explicitly say when not to use it or name alternative tools, but the usage conditions are clear enough.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
basenameARead-onlyIdempotentInspect
Resolve names ↔ addresses on Base — Forward + reverse Basename resolution read from the Base L2 Resolver: turn jesse.base.eth into an address, or an address into its primary Basename. No API key required. Required input: query. Priced $0.01 per call over x402 on Base; send a prepaid x-credit-token header for unlimited calls, or get 1 free call/day per tool. No wallet or API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Basename or address |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | The result payload. Shape is service-specific; every field is documented in the tool description. |
| service | No | The service id that answered. |
| checkedAt | No | ISO-8601 timestamp of when the underlying reads were taken. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and idempotentHint=true, so the tool's safety profile is covered. The description adds valuable context beyond the annotations: it names the Base L2 Resolver as the source, states no API key is needed, and discloses pricing and rate limits ($0.01/call, x-credit-token header, 1 free call/day). No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with purpose and examples, and the auth/pricing details are genuinely useful. Minor redundancy ('No API key required' appears twice) prevents a perfect score.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With one well-documented parameter, an output schema, and annotations covering the read-only/idempotent behavior, the description supplies all remaining context an agent needs: source resolver, input format, examples, cost, and authentication method. Nothing essential is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% for the single query parameter, so the baseline is 3. The description adds meaning by explaining that the query can be either a Basename or an address and by giving a concrete example of the bidirectional behavior, which goes beyond the schema's bare 'Basename or address'.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb-resource pair ('Resolve names ↔ addresses on Base') and immediately gives concrete bidirectional examples ('jesse.base.eth into an address, or an address into its primary Basename'). This makes it easy to distinguish from sibling resolution tools like ens_resolve or basename_profile.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context for when to use the tool: Basename resolution on Base L2, with both forward and reverse directions. It also states required input and access requirements. However, it does not explicitly name alternatives or exclusion conditions, so it stops short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
basename_profileARead-onlyIdempotentInspect
Full onchain identity behind a Basename or address — Resolves the complete Base identity behind an address or Basename: resolved address, avatar, description, website and social handles (X/Twitter, GitHub, Farcaster, Discord) read from Base's L2 Resolver text records. Lets an agent turn a counterparty address into a real profile — beyond just the name. Complements address-trust (verification) with the human context. Required input: name. Priced $0.02 per call over x402 on Base; send a prepaid x-credit-token header for unlimited calls, or get 1 free call/day per tool. No wallet or API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Basename or address |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | The result payload. Shape is service-specific; every field is documented in the tool description. |
| service | No | The service id that answered. |
| checkedAt | No | ISO-8601 timestamp of when the underlying reads were taken. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, openWorld, idempotent, and non-destructive behavior. The description adds meaningful behavioral context: it reads from Base's L2 Resolver text records, requires no wallet or API key, and describes the x402 pricing model including the prepaid header and free daily allowance. This goes well beyond the structured fields.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core purpose and then provides supporting details about data sources, use-case context, input requirements, and pricing. It is longer than strictly necessary, with slight redundancy between 'Full onchain identity' and 'complete Base identity,' but every sentence contributes useful information and there is no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter read-only tool with a rich output schema, the description covers everything an agent needs to invoke it correctly: what it returns, where the data comes from, the input format, authentication requirements, pricing, and the use case it serves. Nothing essential is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and the single `name` parameter is already described as 'Basename or address.' The description reinforces this by saying 'Required input: name' and by elaborating that the tool resolves either a Basename or address, but it does not add substantial format or syntax details beyond the schema. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Resolves') and clearly defines the resource: the complete Base onchain identity behind a Basename or address. It enumerates the resolved fields (avatar, description, website, social handles), which distinguishes it from simpler name-resolution tools like basename or ens_resolve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context for when to use it — turning a counterparty address into a real human/entity profile beyond just a name. It also positions the tool relative to address-trust, saying it complements verification with human context, which helps an agent choose between them. It does not explicitly name sibling alternatives, so it stops short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
base_nonceARead-onlyIdempotentInspect
How many transactions has this address sent? — The next nonce for any Base address, plus its ETH balance and whether it is a contract. The count means different things either side of that line — transactions sent for a wallet, contracts deployed for a contract — so both are reported under their own name instead of one ambiguous number. What you need before building a transaction, or to tell a fresh address from a used one. Required input: address. Priced $0.002 per call over x402 on Base; send a prepaid x-credit-token header for unlimited calls, or get 1 free call/day per tool. No wallet or API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes | Address |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | The result payload. Shape is service-specific; every field is documented in the tool description. |
| service | No | The service id that answered. |
| checkedAt | No | ISO-8601 timestamp of when the underlying reads were taken. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so safety is covered. The description adds genuinely useful behavior: the nonce count is interpreted differently for wallets vs contracts and both are reported under their own names. It also discloses input requirements and pricing/auth model, going well beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core purpose and includes useful operational details like pricing and authentication. Every part contributes to invoking the tool correctly, though the free-call and credit-header details are slightly dense.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simple one-parameter schema and rich annotations, the description covers input, semantics, use cases, chain, pricing, and auth. The presence of an output schema means return values need not be described. Nothing essential is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema only describes address as 'Address', but the description clarifies it must be a Base address and explains that it can represent either a wallet or a contract. This adds meaning beyond the schema despite 100% schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly identifies the resource (any Base address) and the specific data returned: next nonce, ETH balance, and contract status. It also disambiguates the nonce meaning for wallets versus contracts, which distinguishes it from generic address tools and prevents misinterpretation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
States explicit use cases: 'before building a transaction' and 'to tell a fresh address from a used one.' It does not name alternative tools or exclusions, but the context is clear enough for an agent to select it appropriately among siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
base_receiptARead-onlyIdempotentInspect
Did it succeed, what did it cost, what did it touch — The receipt for a Base transaction: success or reverted, block, gas used, effective gas price, the fee in wei and ETH, how many logs it emitted and which contracts emitted them. A contract deployment reports the new address. No receipt yet means pending, dropped, or never here — and it says which is possible instead of failing. Required input: hash. Priced $0.002 per call over x402 on Base; send a prepaid x-credit-token header for unlimited calls, or get 1 free call/day per tool. No wallet or API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| hash | Yes | Transaction hash |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | The result payload. Shape is service-specific; every field is documented in the tool description. |
| service | No | The service id that answered. |
| checkedAt | No | ISO-8601 timestamp of when the underlying reads were taken. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark the call read-only, idempotent, and non-destructive, and the description adds the state it can return (success/reverted, gas, fee, logs, deployed address) and how the API behaves when no receipt exists. It also discloses pricing and authentication requirements, going well beyond the structured hints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with a memorable summary and then gives dense but relevant detail on returned fields, edge behavior, and access requirements. It is slightly long because of pricing/header details, but no sentence is filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With one required parameter, a full output schema, and rich annotation hints, the description still adds the critical missing-receipt interpretation and contract-deployment behavior. There is no obvious information an agent needs to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%: the only parameter, hash, is described as 'Transaction hash'. The description merely repeats that hash is required and does not add format or source guidance beyond the schema, so the schema carries the semantic burden.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies a specific resource (Base transaction receipt) and the core question it answers: success/reverted, cost, and touched contracts. It is distinct from sibling transaction tools by focusing on the receipt and even covers contract-deployment output, so an agent can tell it apart from base_tx or tx_decode.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Clear context is provided: supply a hash to get execution results, and interpret a missing receipt as pending/dropped/never rather than failure. It does not name an alternative tool like base_tx for when receipt fields are not needed, so it stops short of explicit exclusions/alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
base_txARead-onlyIdempotentInspect
A transaction exactly as the chain has it — A Base transaction by hash, unedited: from, to, value in wei and ETH, nonce, gas, fee caps, type, and the 4-byte method selector with the calldata size. Flags a contract creation (null to) and a still-pending transaction (null block) rather than leaving you to infer either. Unknown hashes answer found:false, not an error. Required input: hash. Priced $0.002 per call over x402 on Base; send a prepaid x-credit-token header for unlimited calls, or get 1 free call/day per tool. No wallet or API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| hash | Yes | Transaction hash |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | The result payload. Shape is service-specific; every field is documented in the tool description. |
| service | No | The service id that answered. |
| checkedAt | No | ISO-8601 timestamp of when the underlying reads were taken. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnly/idempotent/openWorld annotations, the description discloses important behaviors: contract creation is flagged via null to, pending transactions via null block, and unknown hashes return found:false rather than an error. It also explains access/pricing behavior, such as the x-credit-token header and free daily calls.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core purpose and does not waste words on fluff. It is longer than strictly necessary, but the extra details about special cases, unknown-hash behavior, and access requirements all serve the agent's correct invocation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given a single documented parameter and the presence of an output schema, this description is complete for invocation: it covers the purpose, special-case flags, error/unknown behavior, and how to authenticate/cost. No critical operational detail is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already fully documents the only parameter (hash) with 100% coverage, so the baseline is 3. The description adds 'Required input: hash' but does not meaningfully extend the parameter's semantic meaning beyond what the schema states.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as returning a raw, unedited Base transaction by hash, listing the specific fields returned. It differentiates from likely siblings such as base_receipt, base_block, tx_decode, and ai_tx_explain by emphasizing 'exactly as the chain has it' and 'unedited.'
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description makes the use case clear: retrieve a raw transaction by hash when you need the chain-level fields. It does not explicitly name alternatives or state when not to use it, but the raw-transaction framing gives clear context relative to sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
base_withdrawalARead-onlyIdempotentInspect
When can a Base→L1 withdrawal be finalized? — Beryl (2026-06-25) cut the single-proof withdrawal window from 7 days to 5, with a dual-proof fast path at ~1 day. Given a Base withdrawal-initiation tx, this decodes the L2ToL1MessagePasser event (the withdrawalHash, target & value needed to prove/finalize on L1) and estimates the finalization windows under the post-Beryl rules. For agents managing cross-chain liquidity. Required input: tx. Priced $0.04 per call over x402 on Base; send a prepaid x-credit-token header for unlimited calls, or get 1 free call/day per tool. No wallet or API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| tx | Yes | Base withdrawal-initiation txHash |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | The result payload. Shape is service-specific; every field is documented in the tool description. |
| service | No | The service id that answered. |
| checkedAt | No | ISO-8601 timestamp of when the underlying reads were taken. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Anotations already declare readOnlyHint=true, idempotentHint=true and destructiveHint=false, and the description adds genuine behavioral context beyond that: the Beryl upgrade timing (7-day to 5-day window, dual-proof fast path at ~1 day), the event-decoding mechanism, and the cost/auth profile ($0.04/call over x402, prepaid x-credit-token header, 1 free call/day, no wallet or API key). This is material, non-redundant behavioral disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense and front-loaded: the first sentence states the core question and rules, then mechanism, audience, input, pricing, and auth follow in order. Each sentence carries distinct information, though the pricing sentence is longer than strictly necessary and could be trimmed without losing meaning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, the description needn't explain return values, and it covers purpose, mechanism, temporal rules (Beryl date of 2026-06-25), the single required input, pricing, and authentication prerequisites. The only minor gap is guidance on invalid txs or edge cases, but for a one-param read-only tool this is near-complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% — the tx parameter is described as 'Base withdrawal-initiation txHash' — so baseline 3 applies. The description echoes 'Required input: tx' and 'Base withdrawal-initiation tx' but adds no format, encoding, or validation detail beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb-resource pair: it 'decodes the L2ToL1MessagePasser event (the withdrawalHash, target & value needed to prove/finalize on L1) and estimates the finalization windows' from a 'Base withdrawal-initiation tx'. This is clearly distinct from siblings like base_tx or tx_decode, and it states the concrete outputs an agent will receive.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description frames the use case with 'When can a Base→L1 withdrawal be finalized?' and scopes it 'For agents managing cross-chain liquidity', giving implied context for when to call it. However, it never names sibling alternatives (base_tx, base_receipt, tx_decode) or states when NOT to use this tool, leaving the selection logic largely to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
batch_riskARead-onlyIdempotentInspect
Rug-score up to 10 tokens in one call — Screen up to 10 Base tokens in a single paid call — each gets a 0-100 rug-probability score, risk level and top signals, sorted riskiest-first. Built for agents triaging a watchlist or portfolio without paying per token. Required input: addresses. Priced $0.08 per call over x402 on Base; send a prepaid x-credit-token header for unlimited calls, or get 1 free call/day per tool. No wallet or API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| addresses | Yes | Token addresses (comma-separated, up to 10) |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | The result payload. Shape is service-specific; every field is documented in the tool description. |
| service | No | The service id that answered. |
| checkedAt | No | ISO-8601 timestamp of when the underlying reads were taken. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish read-only, non-destructive, idempotent behavior, and the description adds valuable context on top: paid call cost, x402 on Base, credit-header requirement, free daily call, no wallet/API key needed, and riskiest-first sorting. This goes well beyond the annotation coverage and helps an agent understand real-world invocation requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is mostly tight and front-loaded with the core purpose, and every major piece of invocation context appears. It loses a point for the redundancy between 'Rug-score up to 10 tokens in one call' and 'Screen up to 10 Base tokens in a single paid call', which says nearly the same thing twice.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With one well-documented parameter, an output schema, and rich annotations, the description needs only to cover invocation specifics, which it does: pricing, credit mechanism, network, authentication, and output ordering. Nothing essential is missing for an agent to select and call this tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage for the single 'addresses' parameter is 100%, so the schema already documents the comma-separated format and the 10-token limit. The description only restates that addresses are required and does not add materially new parameter meaning, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific action and resource: 'Rug-score up to 10 tokens in one call,' and clearly states what the output contains. It also distinguishes itself from per-token siblings by emphasizing batching and the absence of per-token cost, making the tool's niche obvious.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says it is 'Built for agents triaging a watchlist or portfolio without paying per token,' giving clear when-to-use context. It does not name an alternative for single-token scans or state when-not-to-use, but the batching framing effectively communicates the intended scenario.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
business_daysARead-onlyIdempotentInspect
Net 30 — but which 30, in which country? — Add business days to a date, or count them between two dates, for ~110 countries. Knows each country's weekend (Friday-Saturday where that applies, not just Sat-Sun) and its national public holidays, and names every day it skipped. Holidays observed only in some provinces are deliberately NOT treated as national closures — they are listed separately so you can apply them when your case is regional. Built for payment terms, SLAs and delivery dates. Required input: country. Priced $0.002 per call over x402 on Base; send a prepaid x-credit-token header for unlimited calls, or get 1 free call/day per tool. No wallet or API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | …or an end date, to count business days instead | |
| add | No | Business days to add | |
| from | No | Start date (optional, defaults to today) | |
| country | Yes | Country (2-letter ISO) |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | The result payload. Shape is service-specific; every field is documented in the tool description. |
| service | No | The service id that answered. |
| checkedAt | No | ISO-8601 timestamp of when the underlying reads were taken. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations (read-only, idempotent, non-destructive), the description reveals meaningful behavior: it accounts for country-specific weekends (e.g., Friday-Saturday), recognizes national public holidays, names every skipped day, and separates provincial holidays. It also discloses operational requirements such as pricing, prepaid header, and no wallet/API key needed. This is substantial context that aids correct invocation and interpretation of results.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but well-structured: opening with a memorable hook, then the core operation, country coverage, holiday handling, use cases, required input, and access/pricing details. Every sentence carries useful information and the main functionality is front-loaded. It is slightly longer than strictly necessary due to the pricing details, but those are operationally relevant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the tool's purpose, country/range, holiday nuance, use cases, required input, and access requirements, and an output schema exists for return values. Remaining gaps include explicit constraints on parameter combinations (e.g., add vs to exclusion) and exact date format expectations. Overall, it is nearly complete for a moderately complex tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already covers all four parameters; the description supplements it by clarifying the two operating modes: 'add' with a start date, or count between 'from' and 'to'. It reinforces that country is mandatory. However, it still leaves some ambiguity about date formats and whether 'add' and 'to' are mutually exclusive, so the description does not fully resolve all parameter-interaction questions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool's function: add business days to a date or count them between two dates, with country-specific weekend and holiday awareness. This is a specific verb-resource pair that distinguishes it from generic date-calculation tools. It also names the required input (country) and the potential use cases, leaving no ambiguity about what the tool does.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states the intended use cases ('Built for payment terms, SLAs and delivery dates') and clarifies a subtle decision point: provincial holidays are not treated as national closures and are listed separately so they can be applied when the case is regional. It does not name alternatives, but none of the sibling tools offer similar functionality, and the context is clear enough for an agent to select it. A slightly higher score would require explicit when-not-to-use guidance, which is absent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
buy_creditsBInspect
Pay once, then call without per-request settlement — Buy a prepaid balance in a single x402 settlement and get a secret credit token. Send it as the x-credit-token header on any paid service and each call debits its price from your balance — no per-call signature, no settlement latency. Built for agents that fire many checks a minute. Tiers: $0.25 (starter), $1, $5 (+10%), $20 (+20%). The token is shown once; balance lasts 180 days. Priced $5.00 per call over x402 on Base; send a prepaid x-credit-token header for unlimited calls, or get 1 free call/day per tool. No wallet or API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| tier | No | Pack: 0.25, 1, 5 or 20 (USD) |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | The result payload. Shape is service-specific; every field is documented in the tool description. |
| service | No | The service id that answered. |
| checkedAt | No | ISO-8601 timestamp of when the underlying reads were taken. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses important traits: token is shown once, balance lasts 180 days, no wallet/API key needed. Annotations do not cover these details. However, the text contains an internal contradiction: 'each call debits its price from your balance' vs 'send a prepaid x-credit-token header for unlimited calls'. This makes actual metering behavior unclear.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is over-length and repetitive about x402 pricing, and the final sentence jumbles several ideas: per-call pricing, credit-token usage, and free daily calls. A cleaner front-loaded statement of 'buy prepaid credits → get token → attach header' would be more effective. Some details, like tier bonuses and 180-day expiry, are earned, but the contradictory 'unlimited calls' phrase costs clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return-value details are not needed. The description covers token generation, expiry, tiers, and the no-wallet requirement. It is incomplete regarding edge cases such as insufficient balance or omitted tier, and the contradictory unlimited-calls wording undermines confidence. For a payment-related tool, this is adequate but not fully dependable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with a simple string tier field. The description enriches this by giving exact accepted values and bonus percentages: $0.25 starter, $1, $5 (+10%), $20 (+20%). It does not explain what happens if tier is omitted (it is not required), but overall it adds useful meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool buys a prepaid balance and returns a secret credit token, which is distinct from the many data/analysis siblings. The main purpose is understandable. However, the later pricing sentence ('Priced $5.00 per call over x402 on Base') muddies whether this tool is for purchasing credits or paying per call.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives a concrete use case: 'Built for agents that fire many checks a minute', and frames prepaid credits against per-request x402 settlement by saying 'no per-call signature, no settlement latency'. It also mentions a free alternative ('1 free call/day per tool'). It does not name specific sibling tools, but the context is clear enough for an agent to select it when buying prepaid balance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
chain_statusARead-onlyIdempotentInspect
Block, base fee, ETH price & transfer cost in USD — Live Base chain snapshot: latest block, base fee + priority fee (Gwei), current ETH price, and the estimated USD cost of a simple ETH transfer. For agents timing or budgeting transactions. Priced $0.01 per call over x402 on Base; send a prepaid x-credit-token header for unlimited calls, or get 1 free call/day per tool. No wallet or API key required.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | The result payload. Shape is service-specific; every field is documented in the tool description. |
| service | No | The service id that answered. |
| checkedAt | No | ISO-8601 timestamp of when the underlying reads were taken. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark it as read-only and idempotent; the description adds meaningful behavioral context: it is a live snapshot, costs $0.01 per call, supports a prepaid x-credit-token header for unlimited calls, offers 1 free call/day, and requires no wallet or API key. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description packs output contents, use case, pricing, auth, and free-tier info into a compact block. Information is front-loaded with the delivered data, then usage context, then cost/auth. No superfluous sentences.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter, read-only snapshot tool with an output schema, the description is complete: it states exactly what data is returned, when to use it, how much it costs, how billing works, and that no credentials are required. There is no meaningful gap an agent would need to fill.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and the schema is an empty object, so there is no parameter burden. The description confirms no wallet/API key is needed, and the output fields described serve as the relevant semantics rather than parameter details.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states what the tool provides: a Live Base chain snapshot with latest block, base fee + priority fee in Gwei, current ETH price, and estimated USD transfer cost. It specifies the resource and output scope precisely, and the bundled metrics distinguish it from siblings like base_block, gas_oracle, or token_price.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly identifies the intended use case: 'For agents timing or budgeting transactions.' It does not name sibling alternatives or state when not to use it, but the context is clear enough for an agent to select it appropriately.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
commerce_escrowARead-onlyIdempotentInspect
Auth/capture payment reconciliation on Base — First tooling for Base's Commerce Payments protocol (AuthCaptureEscrow): reconciles two-phase auth/capture payments — in escrow, captured, charged, voided, refunded, or payer-RECLAIMABLE because the operator missed the capture window. Filter by payment= (infoHash), payer=, receiver= or operator=, or omit everything for the network feed. The order-reconciliation read merchants and agents need before trusting onchain commerce. Priced $0.04 per call over x402 on Base; send a prepaid x-credit-token header for unlimited calls, or get 1 free call/day per tool. No wallet or API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| payer | No | Payer wallet (optional) | |
| payment | No | PaymentInfo hash (optional) | |
| operator | No | Operator (optional) | |
| receiver | No | Merchant wallet (optional) |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | The result payload. Shape is service-specific; every field is documented in the tool description. |
| service | No | The service id that answered. |
| checkedAt | No | ISO-8601 timestamp of when the underlying reads were taken. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, openWorld, idempotent, and non-destructive behavior, and the description reinforces this by calling it a read. It adds valuable behavioral context: pricing per call, free tier, x402 payment requirements, the optional x-credit-token header, no wallet/API key requirement, and the payer-RECLAIMABLE edge case caused by a missed capture window.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but well-structured, front-loading the core reconciliation purpose before filtering and pricing details. The pricing and marketing sentence is slightly long but carries practical information an agent needs before invoking a paid tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the output schema exists and the annotations cover safety semantics, the description provides everything needed to invoke correctly: protocol, filter semantics, status coverage, pricing, auth requirements, and the no-wallet/no-API-key condition. No critical operational context is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema descriptions already cover all four parameters at 100%, so the baseline is 3. The description adds meaningful usage nuance beyond the schema by identifying payment as an infoHash and explaining that omitting all filters yields the network feed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies a specific action ('reconciles') and resource ('two-phase auth/capture payments' on Base's Commerce Payments protocol), and enumerates the payment statuses covered. It does not explicitly differentiate from the sibling commerce_operator_audit tool, though its focus on payment reconciliation rather than operator auditing makes the purpose fairly unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives concrete filter options (payment, payer, receiver, operator) and explicitly states that omitting all filters returns the network feed. It provides clear usage context but does not explicitly contrast this tool with alternatives like commerce_operator_audit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
commerce_operator_auditARead-onlyIdempotentInspect
Should you trust this Commerce Payments operator? — Commerce Payments flows are DRIVEN by an operator — it authorizes escrow, captures for merchants and takes the fees. This audits one before you rely on it: 90-day volumes, fees taken, capture-vs-reclaim record (missed capture windows = merchants left unpaid), distinct payers and merchants. verdict: healthy_operator / mixed / sloppy_operator / no_activity. No other tool reads this new Base commerce protocol. Required input: operator. Priced $0.05 per call over x402 on Base; send a prepaid x-credit-token header for unlimited calls, or get 1 free call/day per tool. No wallet or API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| operator | Yes | Operator address |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | The result payload. Shape is service-specific; every field is documented in the tool description. |
| service | No | The service id that answered. |
| checkedAt | No | ISO-8601 timestamp of when the underlying reads were taken. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnly, openWorld, idempotent, and non-destructive behavior. The description adds substantial behavioral context beyond that: it defines the exact verdict range, the data sources considered (90-day volumes, fees, capture-vs-reclaim), pricing ($0.05 per call, free tier), auth requirements (prepaid x-credit-token header, no wallet/API key), and that it reads a unique protocol.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but well-organized: purpose and key metrics come first, followed by verdict, uniqueness, input, and pricing/auth details. It is longer than minimal but every sentence contributes useful information. A slight structural improvement would be separating pricing/auth from the core audit behavior.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given a single required parameter, a simple address schema, rich annotations, and an output schema, the description covers all necessary context: what is audited, what verdict to expect, unique protocol access, input requirements, pricing, and access credentials. An agent has everything needed to select and invoke this tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already documents the single required parameter as an 'Operator address' with 100% coverage. The description adds context by explaining that the operator is a Commerce Payments operator, not a generic address, and clarifies the required input. This is meaningful semantic enrichment beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a clear question ('Should you trust this Commerce Payments operator?') and then specifies exactly what the tool does: audits an operator's 90-day volumes, fees taken, capture-vs-reclaim record, and distinct payers/merchants, returning a verdict. It also explicitly differentiates itself with 'No other tool reads this new Base commerce protocol.'
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly states when to use the tool: before relying on a Commerce Payments operator, because the operator drives authorization, capture, and fees. It also asserts uniqueness among all tools ('No other tool reads this new Base commerce protocol'), which strongly implies when not to use alternatives, though it does not name explicit sibling tools or provide detailed exclusion criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
company_leiARead-onlyIdempotentInspect
Does this company legally exist, and where? — Look a company up in GLEIF, the global Legal Entity Identifier register: LEI code, registered legal name, entity status, registration status, jurisdiction and address. The register's own name filter is a token search that returns thousands of unrelated rows, so matches are re-checked here and only an exact one — or one differing solely in legal form (Inc/Ltd/GmbH) — is reported as found; the rest come back as candidates. Required input: name. Priced $0.005 per call over x402 on Base; send a prepaid x-credit-token header for unlimited calls, or get 1 free call/day per tool. No wallet or API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Company legal name |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | The result payload. Shape is service-specific; every field is documented in the tool description. |
| service | No | The service id that answered. |
| checkedAt | No | ISO-8601 timestamp of when the underlying reads were taken. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations (readOnly, idempotent, non-destructive), the description discloses the custom re-checking behavior: the register's token search returns thousands of unrelated rows, so only exact legal-form-equivalent matches are reported as found and others become candidates. It also adds pricing, auth, and free-tier details, giving the agent a clear picture of call behavior and requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is long but densely informative. The core purpose is front-loaded, followed by necessary behavioral details and pricing. Every sentence contributes useful operational information, though the pricing section could be considered slightly beyond the core selection criteria.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter, read-only lookup tool with an output schema, the description covers everything an agent needs to select and invoke it: purpose, matching semantics, candidate vs found behavior, required input, pricing, and authentication requirements. No critical context is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 100% schema coverage, the baseline is 3, but the description adds meaningful semantic context: the input 'name' should be the company legal name, and the matching logic tolerates only legal-form differences (Inc/Ltd/GmbH). This helps an agent understand what the parameter means and how results will be classified.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a clear question and then states the specific action: 'Look a company up in GLEIF, the global Legal Entity Identifier register', with a concrete list of outputs (LEI code, legal name, status, jurisdiction, address). This gives a clear verb, resource, and scope, though it does not explicitly distinguish itself from sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use the tool ('Does this company legally exist, and where?') and explains the matching behavior, but it does not state when not to use it or name alternatives. Usage context is present but not explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compliance_checkARead-onlyIdempotentInspect
OFAC + profile + risk → one verdict — Combined counterparty screening for an address: direct OFAC sanctions match, EOA/contract profile, and (for contracts) risk flags — rolled into a single recommendation (blocked / review / clear). Built for compliance agents. Required input: address. Priced $0.03 per call over x402 on Base; send a prepaid x-credit-token header for unlimited calls, or get 1 free call/day per tool. No wallet or API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes | Address to screen |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | The result payload. Shape is service-specific; every field is documented in the tool description. |
| service | No | The service id that answered. |
| checkedAt | No | ISO-8601 timestamp of when the underlying reads were taken. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint=false, so the description's burden is lighter. It adds valuable behavior beyond annotations, including the $0.03 pricing, the prepaid x-credit-token header option, the 1-free-call-per-day limit, and the fact that no wallet or API key is required.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description front-loads the core purpose with the 'OFAC + profile + risk → one verdict' formula, then provides necessary operational details concisely. It is somewhat dense due to pricing and header information, but every sentence adds useful context and the structure is well-organized.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter tool with an output schema and safety annotations, the description is remarkably complete. It covers purpose, output categories, required input, cost, auth mechanism, free-tier availability, and confirms no wallet/API key is needed, leaving little for an agent to infer.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already fully documents the single 'address' parameter with 100% coverage, so the baseline is 3. The description only repeats 'Required input: address' and does not add deeper semantic guidance about address formats, chain context, or accepted variations.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly defines a combined counterparty screening action for a single address, with the explicit components OFAC match, EOA/contract profile, and risk flags. It also states the output is a single recommendation (blocked/review/clear), and the 'combined' framing helps distinguish it from narrower sibling tools like sanctions or counterparty_check.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context: it is for compliance agents needing an all-in-one verdict for a specific address, with the required input explicitly stated. It does not explicitly name alternatives or provide when-not-to-use guidance, so it falls short of a 5, but the 'combined' wording implies differentiation from single-dimension tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
contract_abiARead-onlyIdempotentInspect
Is this Base contract verified? Get its ABI — Checks Sourcify for a Base contract's verification status and returns its ABI as function/event name lists + item count (full or partial match). No API key required. Required input: address. Priced $0.02 per call over x402 on Base; send a prepaid x-credit-token header for unlimited calls, or get 1 free call/day per tool. No wallet or API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes | Contract address |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | The result payload. Shape is service-specific; every field is documented in the tool description. |
| service | No | The service id that answered. |
| checkedAt | No | ISO-8601 timestamp of when the underlying reads were taken. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Although annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint, the description adds substantial behavioral context: it queries Sourcify, can return full or partial matches, costs $0.02 per call over x402, supports a prepaid header for unlimited calls, and offers one free call per day. This exceeds what annotations alone provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core purpose and then supplies pricing and authentication details in a readable sequence. It loses a point for redundancy: 'No API key required' appears twice in slightly different forms, and the pricing sentence is a bit dense.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter read-only lookup with an output schema present, the description fully covers input requirements, network, cost, authentication, and return-value characteristics. Nothing essential is missing for an agent to select and invoke this tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the only parameter, address, is already well documented as 'Contract address.' The description confirms address is required and implies it should be a Base contract address, but adds no format or validation details beyond the schema. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the specific action: checking Sourcify for a Base contract's verification status and returning the ABI as function/event name lists plus item count. This distinguishes it from sibling tools like contract_info or contract_danger by naming the data source and exact output shape.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear usage context: the required address input, the base network, pricing, authentication options, and the fact that no API key or wallet is needed. It does not explicitly state when not to use this tool or name alternatives, but the guidance is unambiguous enough for an agent to route correctly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
contract_dangerARead-onlyIdempotentInspect
What can the owner do to you? — Reads a verified contract's ABI and flags owner-callable abuse functions: mint (dilute), pause (freeze exit), blacklist (block your wallet), setFee/setTax (tax you after entry), withdraw/sweep (pull funds), upgrade (swap logic). An unverified contract is itself a red flag. Diligence a price feed can't give. Required input: address. Priced $0.04 per call over x402 on Base; send a prepaid x-credit-token header for unlimited calls, or get 1 free call/day per tool. No wallet or API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes | Contract address |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | The result payload. Shape is service-specific; every field is documented in the tool description. |
| service | No | The service id that answered. |
| checkedAt | No | ISO-8601 timestamp of when the underlying reads were taken. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark the tool as readOnly, idempotent, and non-destructive; the description reinforces this by saying it only reads an ABI and flags functions. It adds valuable behavioral context: pricing, free tier, no wallet/API key required, Base chain, and that an unverified contract is itself a red flag. There is no contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single dense paragraph with a clear front-loaded hook and then useful specifics: behavior, flagged functions, red-flag heuristic, required input, and pricing/auth. The marketing phrase 'Diligence a price feed can't give' adds some fluff but is minor and does not distract significantly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the output schema exists and annotations are rich, the description covers behavior, input, chain, pricing, authentication, and the unverified-contract caveat well. It does not explain the exact return shape, but the output schema shoulders that burden, so the description is sufficiently complete for safe invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The only parameter, address, already has 100% schema description coverage as 'Contract address'. The description only adds 'Required input: address,' which does not go beyond the schema. Baseline 3 applies because the schema already handles parameter documentation adequately.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a concrete question and immediately states the exact behavior: reads a verified contract's ABI and flags owner-callable abuse functions. It enumerates specific function types (mint, pause, blacklist, setFee/setTax, withdraw/sweep, upgrade), making the resource and action unmistakable and distinct from sibling tools even without naming them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use it ('What can the owner do to you?', 'Diligence a price feed can't give') and gives required input, but it does not explicitly state when to prefer this over siblings like ai_contract_risk or rug_score, nor does it mention exclusion conditions. The usage context is clear but not fully explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
contract_infoARead-onlyIdempotentInspect
Is it a contract, and what standard does it follow? — What sits at a Base address: contract or plain wallet, and if a contract, whether it declares ERC-721 or ERC-1155 via ERC-165 or carries the ERC-20 shape, plus name, symbol, decimals and code size. Interface support is read from the contract's own declaration first and only inferred when there is none — the ordering matters, because NFTs answer totalSupply() too. Required input: address. Priced $0.002 per call over x402 on Base; send a prepaid x-credit-token header for unlimited calls, or get 1 free call/day per tool. No wallet or API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes | Contract address |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | The result payload. Shape is service-specific; every field is documented in the tool description. |
| service | No | The service id that answered. |
| checkedAt | No | ISO-8601 timestamp of when the underlying reads were taken. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond annotations that already declare readOnly and non-destructive behavior, the description discloses important behavioral details: interface support is read from the contract's own declaration before inference, the ordering matters because NFTs also implement totalSupply(), and the call is priced at $0.002 per call over x402 with a free daily allowance. This goes well beyond what annotations provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but every sentence earns its place: it states the core question, details the outputs, explains the interface-reading logic, gives the required input, and covers pricing and authentication. It is front-loaded with the main purpose and avoids filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With one well-documented parameter and an output schema present, the description provides everything needed to invoke the tool correctly: the address to inspect, the Base network context, the standard-detection logic, and the billing/header requirements. No critical behavioral or usage gap remains.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already documents the single address parameter with 100% coverage, so the baseline is 3. The description adds value by specifying that the address must be on Base and that it can be either a contract or a plain wallet, clarifying what the tool will inspect. That extra context justifies a 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool's purpose: determining whether a Base address is a contract or plain wallet and identifying the token standard (ERC-721, ERC-1155, ERC-20) plus name, symbol, decimals, and code size. It uses a specific verb-like framing ('Is it a contract, and what standard does it follow?') and provides enough detail to distinguish it from sibling tools such as contract_abi or token_info.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context on when to use the tool—when you need to identify what sits at a Base address and which standard a contract follows. It also provides an interpretive guideline: interface support is read from the contract's declaration first and only inferred when absent, because NFTs answer totalSupply() too. It does not explicitly name alternative tools or state when not to use it, so it stops short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
counterparty_checkARead-onlyIdempotentInspect
Should you pay this supplier? — One call, four public sources: how old the domain is (RDAP), whether mail to the contact will land (DNS), whether the name is on the OFAC list, and whether the company exists in the global LEI register. Returns a single GO / HOLD / STOP with every signal that produced it. Built for the moment an agent has to trust an invoice, a new vendor or a payment-detail change — the classic fraud pattern is a real-looking name on a domain registered weeks ago. Priced $0.12 per call over x402 on Base; send a prepaid x-credit-token header for unlimited calls, or get 1 free call/day per tool. No wallet or API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Legal company name (enables OFAC + LEI) | |
| No | Contact email (its domain is used if 'domain' is omitted) | ||
| domain | No | Company domain |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | The result payload. Shape is service-specific; every field is documented in the tool description. |
| service | No | The service id that answered. |
| checkedAt | No | ISO-8601 timestamp of when the underlying reads were taken. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, openWorld, idempotent, and non-destructive behavior. The description adds valuable behavioral context beyond that: the tool returns a single tri-state decision, aggregates four sources, has a specific price per call, and explains authentication options (x-credit-token header, free daily tier, no wallet/API key needed). This fully prepares the agent for what happens when the tool is invoked.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but well organized: the decision question first, then the sources and output, then the use case, then pricing and access details. Every sentence contributes useful information, though the pricing and header details add length that could arguably be trimmed without losing core meaning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool that aggregates four data sources into a decision, the description covers the inputs, the decision output, the underlying sources, the fraud scenario, and the access/pricing model. The output schema exists to handle return details. The only minor gap is clarifying whether at least one of name, email, or domain is required, but the descriptions and context make that reasonably inferable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the input parameters are already well documented. The description adds a little context, such as name enabling OFAC and LEI checks and email's domain being used when domain is omitted, but it mostly relies on the schema. This meets the baseline for a fully documented schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a direct question that frames the decision, then states the tool's job: one call combining four public sources into a GO / HOLD / STOP verdict. It names the exact resources (RDAP, DNS, OFAC, LEI) and the output format, making the purpose unmistakable and distinct from simpler sibling tools like domain_check or sanctions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives a clear trigger context: trusting an invoice, onboarding a new vendor, or processing a payment-detail change, and explains the fraud pattern it catches. It does not explicitly name alternatives or say when not to use it, but the use case is specific enough that an agent can decide when to invoke it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
decode_selectorARead-onlyIdempotentInspect
Turn a function selector into readable signatures — Resolves a 4-byte function selector (e.g. 0x70a08231) to candidate human-readable signatures via 4byte.directory. Accepts a bare selector or full calldata. Required input: selector. Priced $0.01 per call over x402 on Base; send a prepaid x-credit-token header for unlimited calls, or get 1 free call/day per tool. No wallet or API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| selector | Yes | Function selector |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | The result payload. Shape is service-specific; every field is documented in the tool description. |
| service | No | The service id that answered. |
| checkedAt | No | ISO-8601 timestamp of when the underlying reads were taken. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark the call read-only, idempotent, and non-destructive, and the description adds substantial behavioral context beyond them: it relies on an external service, returns candidate (not guaranteed) signatures, costs $0.01 per call over x402 on Base, supports a prepaid header for unlimited calls, and offers one free call per day. This covers auth, rate, and cost traits the annotations do not.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The core purpose is front-loaded in the first clause, followed by input requirements and operational details. It is dense but every clause contributes value; only minor redundancy exists with the schema's required selector field.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter, read-only lookup tool with an output schema, the description is complete: it names the external data source, input formats, required field, cost, auth model, rate limit, and lack of required wallet/API key. Nothing critical is missing for an agent to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 100% schema coverage, the baseline is 3, but the description adds meaning by stating that the selector parameter accepts either a bare selector or full calldata and by giving a concrete example (0x70a08231). This goes beyond the schema's 'Function selector' label without specifying every format edge case.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a concrete verb and resource: 'Turn a function selector into readable signatures.' It specifies the 4-byte input, an example, the external source (4byte.directory), and the output type, making its job unambiguous and naturally distinct from inverse/related siblings like encode_selector.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives clear operational prerequisites: required selector, accepted bare selector or full calldata, no wallet/API key, and pricing. However, it never explicitly contrasts this tool with siblings such as tx_decode or encode_selector, so the when-vs-alternatives guidance is only implied rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
deep_ddARead-onlyIdempotentInspect
Institutional-grade full report on a Base token — one call — The premium flagship. One call runs the FULL battery — contract risk, holder concentration, liquidity depth, EXIT liquidity (can you actually sell), OFAC sanctions — and Claude synthesizes an institutional verdict: safety score, explicit buy/sell tradeability, liquidity & holder assessments, factors, risks, positives and a recommendation. The value is the orchestration + AI synthesis you can't get in one call anywhere else. Required input: address. Priced $0.75 per call over x402 on Base; send a prepaid x-credit-token header for unlimited calls, or get 1 free call/day per tool. No wallet or API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| size | No | Position size USD (for exit check) | |
| address | Yes | Token contract address |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | The result payload. Shape is service-specific; every field is documented in the tool description. |
| service | No | The service id that answered. |
| checkedAt | No | ISO-8601 timestamp of when the underlying reads were taken. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark this as read-only, open-world, idempotent, and non-destructive. The description adds meaningful behavioral context beyond that: it costs $0.75 per call, supports a prepaid x-credit-token header, includes a free daily call, requires no wallet/API key, and runs the full due-diligence battery in one call. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core purpose and then delivers pricing, auth, and free-tier information. It is longer than strictly necessary due to marketing phrases like 'premium flagship' and 'can't get in one call anywhere else', but these do not obscure the operational details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so the description does not need to detail return fields. It covers the required input, the scope of the report, the synthetic verdict, pricing, authorization, and free-tier access, leaving no critical information missing for an agent to decide and call the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%: address is described as the token contract address and required, size is described as position size USD for the exit check. The description only reiterates that address is required and contextualizes it as a Base token, adding no new parameter format or constraint beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific action and resource: produce an institutional-grade full due-diligence report on a Base token. It distinguishes itself from other tools by emphasizing that it is the full-battery, one-call flagship that synthesizes a comprehensive verdict, unlike narrower sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description makes the use case clear: use this when you want a comprehensive, synthesized institutional verdict on a token rather than a single-dimension check. It does not explicitly name alternatives or state when not to use it, but the 'full battery' and 'premium flagship' framing gives strong contextual guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
deployer_repARead-onlyIdempotentInspect
Who created this token — and can you trust them? — Profiles the token's creator wallet: how much history it has, how much of the supply the creator still holds, and whether ownership is renounced — rolled into a 0-100 reputation score with signals. A fresh wallet holding 20% of supply with no renounce is the classic rug setup; this is the forensics layer other checks skip. Required input: address. Priced $0.04 per call over x402 on Base; send a prepaid x-credit-token header for unlimited calls, or get 1 free call/day per tool. No wallet or API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes | Token contract address |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | The result payload. Shape is service-specific; every field is documented in the tool description. |
| service | No | The service id that answered. |
| checkedAt | No | ISO-8601 timestamp of when the underlying reads were taken. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnlyHint/destructiveHint annotations, the description discloses operational and behavioral details an agent needs: cost per call, network and transport (x402 on Base), optional x-credit-token header for unlimited calls, free daily allowance, and the fact that no wallet or API key is required. It also reveals the output shape: a 0-100 reputation score with signals.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately sized and front-loaded: the purpose appears first, followed by concrete behavioral context, pricing, auth details, and an illustrative rug setup. Some phrasing is promotional and the required-address note repeats schema information, but overall every section serves a useful purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With one simple required parameter and an output schema present, the description covers the essentials: what the tool profiles, when to use it, what the result contains, what input to supply, and thecost/auth constraints. An agent has enough information to decide whether to call this tool and how to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema fully describes the single parameter (`address` as 'Token contract address') and marks it required, so schema coverage is 100%. The description merely repeats 'Required input: address' without adding format, chain, or validation details; baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific verb-resource pair: it profles the token's creator wallet, covering wallet history, supply still held, renounced ownership, and a 0-100 reputation score with signals. It also distinguishes itself from generic risk/rug tools by presenting itself as a forensic layer for creator-wallet trust.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives a concrete trigger example: 'A fresh wallet holding 20% of supply with no renounce is the classic rug setup,' which signals when this tool should be used for deeper due diligence. It does not explicitly name sibling alternatives or list when-not-to-use conditions, so it falls just short of full explicitness.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
domain_checkARead-onlyIdempotentInspect
How old is this domain, and is it still live? — Registration age, expiry and registry status for any domain, from RDAP — the registries' own protocol. Returns days since registration, days to expiry, registrar, EPP status codes, nameservers and DNSSEC as one GO / HOLD / STOP verdict. Domain age is the strongest cheap signal in invoice and vendor-impersonation fraud: the payment details that change always arrive from a domain registered weeks ago. Refuses rather than guessing when a registry publishes no RDAP. Required input: domain. Priced $0.02 per call over x402 on Base; send a prepaid x-credit-token header for unlimited calls, or get 1 free call/day per tool. No wallet or API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | Domain name |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | The result payload. Shape is service-specific; every field is documented in the tool description. |
| service | No | The service id that answered. |
| checkedAt | No | ISO-8601 timestamp of when the underlying reads were taken. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already provide readOnly, idempotent, and non-destructive hints. The description goes beyond that by disclosing an important edge behavior: 'Refuses rather than guessing when a registry publishes no RDAP.' It also discloses that the output is aggregated into a single verdict and explains the underlying protocol (RDAP), which helps set expectations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but every clause carries useful information: purpose, output, use case, refusal behavior, required input, and pricing/access. It is front-loaded with the core function and only later covers commercial details, making it easy for an agent to scan for selection and invocation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter, read-only tool with an output schema and clear annotations, the description is remarkably complete. It covers the domain input, the source protocol, edge-case refusal, the combined verdict shape, and the access model. An agent has enough context to decide when to call it and what to expect.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for the single 'domain' parameter, so the schema already documents the input. The description only repeats 'Required input: domain' and does not add format examples, normalization details, or accepted variations. It meets the baseline but adds no parameter-level meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a direct question and then specifies the resource and outputs: 'Registration age, expiry and registry status for any domain' plus days to registration, days to expiry, registrar, EPP status codes, nameservers, and DNSSEC as one verdict. This is a specific verb+resource pairing and the GO/HOLD/STOP verdict clearly separates it from generic lookup tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly grounds usage in a fraud-detection context: 'Domain age is the strongest cheap signal in invoice and vendor-impersonation fraud.' This tells an agent when this tool is the right call. It does not name alternative sibling tools or state when not to use it, but the use case is specific enough.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
email_verifyARead-onlyIdempotentInspect
Is this address worth sending to? — Syntax + live DNS (MX/A) + disposable, role and consumer-mailbox detection, as one GO / HOLD / STOP verdict with the reasons listed. Catches throwaway inboxes, support@-style shared mailboxes and one-character domain typos (gmial.com). No SMTP probe, so mailbox existence is not claimed. Required input: email. Priced $0.02 per call over x402 on Base; send a prepaid x-credit-token header for unlimited calls, or get 1 free call/day per tool. No wallet or API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| Yes | Email address |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | The result payload. Shape is service-specific; every field is documented in the tool description. |
| service | No | The service id that answered. |
| checkedAt | No | ISO-8601 timestamp of when the underlying reads were taken. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations (read-only, idempotent, open-world), the description discloses key behavioral traits: it uses live DNS, performs no SMTP probing, and therefore does not claim mailbox existence. It also reveals important operational details—pricing per call, the x-credit-token header for unlimited calls, a free daily tier, and that no wallet or API key is needed. This goes well beyond what annotations provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is longer than average but every sentence carries useful information: purpose, detection capabilities, limitation, required input, and pricing/auth. It is front-loaded with the purpose question, then moves to technical detail, then operational specifics. The pricing sentence is somewhat verbose but adds genuinely useful cost and access context, so it earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter verification tool with an existing output schema, the description covers all essential context: what it verifies, what it explicitly does not verify, required input, cost, authentication, and availability. It even notes the one-free-call-per-day option. Return values are not described, but the presence of an output schema makes that unnecessary.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 100% coverage for the single email parameter, so the baseline is 3. The description only restates 'Required input: email' and does not add format details or constraints beyond the schema. It does, however, enrich the meaning by explaining what the tool does with that email (checking syntax, DNS, disposable status), which gives the parameter context but not new structural information.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a clear question ('Is this address worth sending to?') and then specifies the exact verifications performed: syntax, live DNS (MX/A), disposable/role/consumer-mailbox detection, and a GO/HOLD/STOP verdict with reasons. It also names concrete examples (throwaway inboxes, support@-style mailboxes, gmial.com typos), making the tool's function unambiguous and distinct from siblings like domain_check or phone_check.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description strongly implies when to use the tool: before sending to an address, to decide if it is worth sending to. It also explicitly states a limitation—no SMTP probe, so mailbox existence is not claimed—which tells users not to use this when they need guaranteed mailbox existence. It does not name an alternative tool, but none of the siblings directly compete with email verification, so this is a minor gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
encode_selectorARead-onlyIdempotentInspect
Function signature → 4-byte selector — Computes the 4-byte selector for a function signature (e.g. transfer(address,uint256) → 0xa9059cbb). The inverse of the decoder — useful for agents building or matching calldata. Required input: signature. Priced $0.01 per call over x402 on Base; send a prepaid x-credit-token header for unlimited calls, or get 1 free call/day per tool. No wallet or API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| signature | Yes | Function signature |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | The result payload. Shape is service-specific; every field is documented in the tool description. |
| service | No | The service id that answered. |
| checkedAt | No | ISO-8601 timestamp of when the underlying reads were taken. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, openWorldHint=true, and idempotentHint=true. The description adds operational behavior beyond annotations: pricing per call, x402 payment on Base, prepaid x-credit-token header, free daily call, and no wallet/API key requirement. No contradiction exists between the description and annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact: it leads with the computation and example, then the inverse relationship and use case, then the access/cost details. Every sentence carries useful information, and the pricing/header details earn their place because they affect whether and how an agent calls the tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter, deterministic, read-only tool with an output schema present, the description covers what it does, how to call it, what input to provide, and the access requirements. Nothing necessary for a correct call is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema describes signature only as 'Function signature,' with 100% coverage. The description adds meaningful format guidance with the canonical example transfer(address,uint256), which tells an agent the exact expected string shape. This goes beyond the schema's bare label without being verbose.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb ('Computes'), a precise resource ('4-byte selector for a function signature'), and includes a concrete example (transfer(address,uint256) → 0xa9059cbb). It also distinguishes itself from the decoder side by calling itself 'the inverse of the decoder,' which separates it from decode_selector in the sibling list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states when it is useful: 'for agents building or matching calldata.' It also frames itself as the inverse of the decoder, giving an agent a clear directional choice. It stops short of naming decode_selector directly or spelling out 'do not use this for decoding,' so it loses one point.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ens_resolveARead-onlyIdempotentInspect
Resolve .eth names ↔ addresses (Ethereum) — Forward + reverse ENS resolution on Ethereum mainnet: turn vitalik.eth into an address, or an address into its primary ENS name. Complements the Basename resolver for Base. Required input: query. Priced $0.01 per call over x402 on Base; send a prepaid x-credit-token header for unlimited calls, or get 1 free call/day per tool. No wallet or API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | ENS name or address |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | The result payload. Shape is service-specific; every field is documented in the tool description. |
| service | No | The service id that answered. |
| checkedAt | No | ISO-8601 timestamp of when the underlying reads were taken. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark the tool as read-only, idempotent, open-world, and non-destructive. The description adds meaningful behavioral context beyond annotations: pricing ($0.01 per call), payment mechanism (x402 on Base), prepaid credit-token header, free tier, and no wallet/API key requirement. This is exactly the kind of operational nuance annotations do not capture.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The core purpose is front-loaded, and the pricing/authentication details are useful rather than filler. However, the phrase 'Required input: query' repeats what the schema already states, making the description slightly less tight than it could be.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With a single parameter, an output schema present, and safety covered by annotations, this description is operationally complete: it covers network, pricing, payment method, free tier, and authentication requirements. Nothing needed to call the tool correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already documents the single 'query' parameter as 'ENS name or address', giving 100% coverage. The description supplements this with concrete examples (vitalik.eth → address, address → primary ENS name) and clarifies the bidirectional nature of the lookup, adding real meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Resolve') and resource (ENS names ↔ addresses on Ethereum mainnet), and explicitly calls out forward and reverse resolution. It also distinguishes itself from the Basename resolver for Base, which is a sibling tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear usage context by specifying Ethereum mainnet and naming the Basename resolver as the complementary tool for Base. It does not provide an explicit 'when not to use' rule, but the network distinction is enough to guide tool selection among siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
exit_liquidityARead-onlyIdempotentInspect
Can you actually get OUT of this position? — Give a Base token + a trade size in USD → estimated buy AND sell price impact, whether you can unwind that size without collapsing the pool, and the largest safe exit. The hidden form of a rug isn't 'you can't buy' — it's 'you can't sell'. Built for trading agents sizing positions. Required input: address. Priced $0.02 per call over x402 on Base; send a prepaid x-credit-token header for unlimited calls, or get 1 free call/day per tool. No wallet or API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| size | No | Trade size in USD | |
| address | Yes | Token contract address |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | The result payload. Shape is service-specific; every field is documented in the tool description. |
| service | No | The service id that answered. |
| checkedAt | No | ISO-8601 timestamp of when the underlying reads were taken. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark this read-only, open-world, idempotent, and non-destructive, and the description adds useful behavioral context: no wallet/API key required, $0.02 per-call cost, free daily tier, optional prepaid header, and Base-network scope. It does not conflict with the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description front-loads the core question and outcome, then gives reasoning, use case, required input, pricing, and access details. It is slightly colorful with the rug metaphor, but every sentence adds either purpose or operational context.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a paid, network-specific tool with an output schema and strong annotations, this description is remarkably complete: it states inputs, outputs, use case, pricing, free-tier behavior, auth requirements, and network. Nothing essential is left for an agent to guess.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so this is already well-covered. The description still adds meaning by clarifying the address is a Base token contract and that the tool consumes a Base token plus a trade size in USD, which helps an agent map inputs to the expected network and purpose.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear verb+resource: it estimates buy and sell price impact and reports whether a given USD size can be unwound without collapsing the pool, plus the largest safe exit. It is specific and distinctive, but it does not explicitly differentiate itself from closely related siblings such as sellability.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives a clear use context: 'Built for trading agents sizing positions' and frames the tool as an exit-feasibility check before holding a token. It does not explicitly name alternatives or when-not-to-use conditions, so it misses the top tier.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
file_convertARead-onlyIdempotentInspect
CSV in, JSON out — and back again — Convert between the shapes data actually arrives in: CSV or TSV to JSON, JSON to CSV or TSV, CSV to a Markdown table, Markdown to HTML. Proper RFC 4180 parsing — quoted fields, embedded commas and newlines, doubled quotes — so a spreadsheet exported by a human does not silently come apart. Numbers and booleans get real types (turn it off with typed=false). No model call and no upstream: local parsing only. Required inputs: text, from, to. Priced $0.005 per call over x402 on Base; send a prepaid x-credit-token header for unlimited calls, or get 1 free call/day per tool. No wallet or API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| to | Yes | Target format | |
| from | Yes | Source format | |
| text | Yes | Content to convert | |
| typed | No | Type numbers/booleans (optional) |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | The result payload. Shape is service-specific; every field is documented in the tool description. |
| service | No | The service id that answered. |
| checkedAt | No | ISO-8601 timestamp of when the underlying reads were taken. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark this as read-only and idempotent, and the description adds substantial behavioral detail: RFC 4180 compliance, typed parsing behavior, typed=false opt-out, no upstream processing, and explicit billing/authentication requirements. This far exceeds what the annotations alone provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is longer than average but nearly every sentence carries useful information about conversion behavior, options, or access requirements. The opening phrase is slightly redundant with the next sentence, but overall it is well-structured and front-loaded with the core purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 4-parameter conversion tool with an output schema and strong annotations, the description is fully sufficient: it covers supported formats, parsing guarantees, type handling, required inputs, pricing, and authentication. Nothing important is missing for an agent to select and call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, but schema descriptions are minimal ('Source format', 'Target format', 'Content to convert'). The description compensates by enumerating the supported conversion shapes and explaining the typed flag semantics, though it doesn't explicitly list allowed enum-like values for from/to.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a clear verb-resource statement: converting between CSV/TSV/JSON/Markdown/HTML formats. It names specific conversion directions and adds parsing details that distinguish it from general file tools like file_publish or file_slot.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context for when this tool is appropriate: local, deterministic format conversion with no model call and no upstream dependency. It does not explicitly name alternative tools or state when-not-to-use scenarios, but the local-only, no-model framing is enough to guide selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
file_publishARead-onlyIdempotentInspect
Turn a report into a link a human can open — Send Markdown (or HTML) and get back a URL that renders as a real page — headings, tables, code blocks, mobile-readable, no scripts and no external requests. The other half of an agent's output problem: file-slot is for bytes it will fetch back, this is for the report somebody has to read. Retention 1-30 days. Published on the storage origin, never on 402.com.tr. Required input: text. Priced $0.01 per call over x402 on Base; send a prepaid x-credit-token header for unlimited calls, or get 1 free call/day per tool. No wallet or API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes | Markdown or HTML to publish | |
| title | No | Page title (optional) | |
| format | No | md (default) or html | |
| ttlDays | No | Retention in days (optional) |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | The result payload. Shape is service-specific; every field is documented in the tool description. |
| service | No | The service id that answered. |
| checkedAt | No | ISO-8601 timestamp of when the underlying reads were taken. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotation contradiction: readOnlyHint=true claims no observable state changes or side effects, but the description says 'Publish', 'Retention 1-30 days', 'Priced $0.01 per call', and mentions a prepaid credit header and billing model. Publishing a hosted page is an observable creation event, so the description directly contradicts the annotation. Per rubric this forces a score of 1 despite otherwise useful behavioral details.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with purpose, then sibling contrast, then retention/storage placement, then auth and pricing. Every sentence carries a decision-relevant fact. It loses a point only for mild redundancy such as repeating 'Required input: text' when the schema already declares it and for being a dense single paragraph.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity, the description covers purpose, output format, sibling distinction, retention bounds, storage origin, script-safety, pricing, credit headers, and auth requirements. An output schema exists, so return-value documentation is not the description's job. An agent has enough context to decide when to call it and how to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description mostly reinforces schema content ('Required input: text', 'Send Markdown (or HTML)') and adds one genuinely new semantic bound: 'Retention 1-30 days' for ttlDays. It does not meaningfully enrich title or format beyond what the schema already provides, so modest extra value, not enough for a 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a concrete verb and resource: 'Turn a report into a link a human can open' and specifies the output as a URL rendered as a real page. It also explicitly distinguishes this tool from file-slot: file-slot is for bytes the agent fetches back, while file_publish is for reports a human reads.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It names the sibling alternative file-slot and gives the exact deciding criterion: bytes the agent will fetch back versus a report somebody has to read. This is explicit when-to-use guidance rather than leaving the agent to infer from context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
file_slotARead-onlyIdempotentInspect
Somewhere to put the file your agent just made — Get a signed upload URL and a retrieval URL for one file, in one call. Your agent PUTs the bytes straight to storage — they never pass through this API, so there is no size ceiling imposed by a serverless runtime and no proxy in the middle. Declare bytes= and the size is signed into the URL. Up to 25 MB, retention 1-30 days, unguessable key. The step every agent hits the moment it produces a report, chart, CSV or build and has nowhere to put it. Required input: bytes. Priced $0.005 per call over x402 on Base; send a prepaid x-credit-token header for unlimited calls, or get 1 free call/day per tool. No wallet or API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | File name (optional hint) | |
| bytes | Yes | Exact file size in bytes | |
| ttlDays | No | Retention in days (optional) | |
| contentType | No | Content type (optional) |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | The result payload. Shape is service-specific; every field is documented in the tool description. |
| service | No | The service id that answered. |
| checkedAt | No | ISO-8601 timestamp of when the underlying reads were taken. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description goes well beyond the annotations, explaining that bytes never pass through the API, the size is signed into the URL, there is no proxy, limits are 25 MB and 1-30 days retention, and keys are unguessable. It also documents pricing and auth requirements. This does not contradict the readOnlyHint because the tool itself only returns URLs; the agent performs the PUT.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is longer than the minimum but every major clause adds value: mechanism, limits, use-case, required input, and pricing. It is front-loaded with the core purpose. Some phrasing like 'Somewhere to put the file' and 'The step every agent hits' is slightly redundant but not harmful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the output schema exists, return values need no explanation. The description covers required input, size limits, retention bounds, storage mechanics, pricing, auth model, and the concrete use case. An agent has everything needed to invoke this tool correctly and understand its behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all parameters. The description adds useful emphasis on bytes ('Declare bytes= and the size is signed into the URL') and mentions retention limits, but it does not significantly deepen the meaning of name, ttlDays, or contentType beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action and resource: 'Get a signed upload URL and a retrieval URL for one file, in one call.' It clearly distinguishes this from file_publish or file_convert by focusing on temporary storage for a newly produced file. The verb/resource pair is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives strong contextual guidance: 'The step every agent hits the moment it produces a report, chart, CSV or build and has nowhere to put it.' It clearly says when to use the tool, though it does not explicitly name alternatives or exclusion conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
first_funderARead-onlyIdempotentInspect
Where did this wallet's money originally come from? — Funding provenance in one call. Traces a Base wallet back to its EARLIEST transaction and resolves who first funded it: a recognized exchange/bridge (real on-ramp, lower risk), an anon EOA (possible sybil/burner — trace the cluster), or a contract. Returns the first funder, whether it's a contract or EOA, the initial value, and wallet age. The sybil/origin screen no other Base tool gives — the counterparty check before you transact. wallet= required. Not financial advice. Required input: wallet. Priced $0.04 per call over x402 on Base; send a prepaid x-credit-token header for unlimited calls, or get 1 free call/day per tool. No wallet or API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| wallet | Yes | Wallet address |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | The result payload. Shape is service-specific; every field is documented in the tool description. |
| service | No | The service id that answered. |
| checkedAt | No | ISO-8601 timestamp of when the underlying reads were taken. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint=true and idempotentHint=true. The description adds valuable behavior beyond that: it traces back to the earliest transaction, categorizes the first funder, returns wallet age, and mentions the Base chain requirement and pricing/header details. This is meaningful behavioral context not present in the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is overlong and repetitive: 'wallet= required' and 'Required input: wallet' say the same thing, and there is marketing fluff like 'The sybil/origin screen no other Base tool gives' and 'Not financial advice.' The core information is useful, but it needs trimming to be concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter, read-only, idempotent tool with a complete schema and output schema, the description adds sufficient context: chain, early-transaction semantics, output fields, and risk interpretation. It could elaborate on the exact classification criteria for 'recognized exchange/bridge,' but that is not essential for invoking the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% for the single wallet parameter, so the baseline is 3. The description only repeats that wallet is required and does not add format, checksum, chain, or validation detail beyond what the schema already states.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific function: traces a Base wallet to its earliest transaction and identifies the first funder as an exchange/bridge, an EOA, or a contract. It also lists concrete return fields (first funder, contract/EOA status, initial value, wallet age), making the tool's purpose distinct and actionable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear usage context: use it as a sybil/origin screen and a counterparty check before transacting. However, it does not explicitly name sibling tools like address_trust or counterparty_check, so it lacks explicit when-not-to-use or alternative routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fresh_bridgeARead-onlyIdempotentInspect
Is this wallet's USDC freshly bridged, and from where? — Cross-chain inflow detection. Reads a wallet's recent USDC MINTS and correlates them with Circle CCTP receives to tell you whether its USDC is freshly bridged in (and from which source chain — Ethereum, Arbitrum, OP, Polygon, Solana…) vs natively issued. Freshly bridged capital is new money / a possible cross-chain hop — a real signal for trading and liquidation agents that no other Base tool surfaces. wallet= required, days= optional (default 30, max 90). Not financial advice. Required input: wallet. Priced $0.04 per call over x402 on Base; send a prepaid x-credit-token header for unlimited calls, or get 1 free call/day per tool. No wallet or API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | Lookback days (optional) | |
| wallet | Yes | Wallet address |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | The result payload. Shape is service-specific; every field is documented in the tool description. |
| service | No | The service id that answered. |
| checkedAt | No | ISO-8601 timestamp of when the underlying reads were taken. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations (readOnlyHint, idempotentHint, etc.), the description discloses the detection method (reading USDC MINTS and correlating with CCTP receives), the lookback window behavior (default 30, max 90 days), pricing, and auth requirements via x-credit-token header. This adds substantial behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core purpose and method, but it contains some boilerplate ('Not financial advice'), redundancy ('Required input: wallet' repeats the schema and earlier param line), and promotional phrasing ('real signal', 'no other Base tool surfaces'). It is dense but not as tight as it could be.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the what, how, why, parameter rules, pricing, and authentication requirements. Since an output schema exists, the description does not need to explain return values. The only minor ambiguity is 'No wallet or API key required,' which is slightly confusing given that a wallet address is required, but not enough to reduce completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds meaningful parameter detail beyond the schema by specifying that wallet is required and days is optional with a default of 30 and max of 90, which is not present in the schema property descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action and resource: 'Cross-chain inflow detection' that reads a wallet's recent USDC MINTS and correlates them with Circle CCTP receives to determine whether USDC is freshly bridged and from which source chain. It clearly differentiates this tool from the large sibling list by claiming 'no other Base tool surfaces' this signal.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context for when to use the tool, calling it 'a real signal for trading and liquidation agents.' However, it does not explicitly state when not to use it or name alternative tools, so it falls short of full exclusionary guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fx_convertARead-onlyIdempotentInspect
Convert an amount at the ECB's published rate — Convert between 30+ currencies at the European Central Bank's daily reference rate, for today or any past date. Returns the converted amount, the per-unit rate and the date the rate is actually from — the ECB publishes on business days only, so a weekend date answers with the previous business day and says so instead of pretending. Reference rates for accounting and reporting, not tradable quotes. Required inputs: from, to. Priced $0.002 per call over x402 on Base; send a prepaid x-credit-token header for unlimited calls, or get 1 free call/day per tool. No wallet or API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| to | Yes | Target currency (or several, comma-separated) | |
| date | No | Date (optional, YYYY-MM-DD) | |
| from | Yes | Source currency | |
| amount | No | Amount (optional, default 1) |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | The result payload. Shape is service-specific; every field is documented in the tool description. |
| service | No | The service id that answered. |
| checkedAt | No | ISO-8601 timestamp of when the underlying reads were taken. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnly/idempotent annotations, the description discloses the return contents (converted amount, per-unit rate, actual rate date), the business-day fallback behavior, and the fact that the tool explicitly reports the true rate date rather than silently using a stale date. It also adds pricing and authentication context. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense and information-rich, front-loading the main action and then covering returns, caveats, use case, required inputs, pricing, and auth. There is minor redundancy in starting with 'Convert an amount' and then repeating 'Convert between', but every sentence otherwise earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, the description covers everything else needed to call the tool correctly: supported currencies, date semantics, business-day behavior, intended use case, required parameters, pricing, and the fact that no wallet or API key is needed. The annotation set and schema already handle safety and return structure.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents from, to, date, and amount. The description adds the ECB reference-rate context and implies that amount is optional with default 1 only through the schema, not the description. It confirms required inputs but does not substantially enrich parameter meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource: 'Convert an amount at the ECB's published rate'. It clearly scopes the tool to 30+ currencies at the ECB daily reference rate for today or any past date, which distinguishes it from price or quote tools among the siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says these are 'reference rates for accounting and reporting, not tradable quotes', giving a clear when-to-use and when-not-to-use signal. It also explains weekend behavior with business-day fallback. It stops short of naming a specific sibling alternative, so it lacks the full explicit alternatives routing of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gas_oracleARead-onlyIdempotentInspect
Live Base gas estimates — slow / normal / fast — Returns current Base gas fees (baseFee, maxPriorityFee) and three tiered suggestions (slow, normal, fast) in Gwei, derived live from the Base RPC. Built for agents that time or cost-estimate transactions. Priced $0.01 per call over x402 on Base; send a prepaid x-credit-token header for unlimited calls, or get 1 free call/day per tool. No wallet or API key required.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | The result payload. Shape is service-specific; every field is documented in the tool description. |
| service | No | The service id that answered. |
| checkedAt | No | ISO-8601 timestamp of when the underlying reads were taken. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnly, openWorld, idempotent, and non-destructive annotations, the description adds meaningful behavioral detail: live data derived from the Base RPC, values returned in Gwei, three tiered suggestions, pricing of $0.01 per call, the optional x-credit-token header for unlimited calls, and the free daily call allowance. This significantly enriches what the agent knows about invoking the tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences long, front-loads the core function and output format, then adds target use case and pricing/authentication context. Every sentence earns its place without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter, simple read-only tool with an output schema, the description covers what it returns, units, data source, purpose, cost, auth requirements, and free-tier availability. Nothing essential for correct invocation is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters, so there is no parameter ambiguity to resolve. The description's assertion that no wallet or API key is required usefully clarifies that no hidden authentication parameters are needed, matching the baseline 4 for parameterless tools.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action ('Returns current Base gas fees') and resource (Base gas oracle), with explicit output elements: baseFee, maxPriorityFee, and slow/normal/fast tiered suggestions in Gwei. It clearly distinguishes itself from sibling tools by focusing on live Base gas estimation for transaction timing/cost estimation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context: it is 'Built for agents that time or cost-estimate transactions' and notes no wallet or API key is required. It does not explicitly name alternatives or exclusion conditions, but the intended use case is unambiguous enough for an agent to select it appropriately.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gas_payerARead-onlyIdempotentInspect
Who pays this wallet's gas? Is it a sponsored smart account? — A smart account's gas can be paid by a PAYMASTER instead of the account itself — invisible to every 'does this wallet spend ETH' heuristic. Reads a wallet's UserOperationEvents across BOTH EntryPoints (v0.6 + v0.7): is it a smart account, its op count and success rate, and WHO sponsors its gas (self vs which paymaster, per-sponsor share). A fully-sponsored account is typically app- or agent-operated. wallet= required, days= optional (default 30, max 90). Not financial advice. Required input: wallet. Priced $0.05 per call over x402 on Base; send a prepaid x-credit-token header for unlimited calls, or get 1 free call/day per tool. No wallet or API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | Lookback days (optional) | |
| wallet | Yes | Wallet address |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | The result payload. Shape is service-specific; every field is documented in the tool description. |
| service | No | The service id that answered. |
| checkedAt | No | ISO-8601 timestamp of when the underlying reads were taken. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnly/idempotent annotations, it discloses the underlying data source, both EntryPoint versions, and the computed outputs including smart-account status, op count, success rate, and per-sponsor share. It also adds operational details like default/max days, pricing, free tier, and lack of API-key requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the key question and concept, then moves through data sources, inputs, and pricing in a logical order. It is slightly redundant ('Required input: wallet' appears twice) and includes a generic disclaimer, so it is not perfectly tight.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, the description does not need to enumerate return fields. It covers the tool's blind spot, data sources, inputs, defaults, output dimensions, and cost/authentication behavior, making it sufficient for an agent to invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already describes both parameters with 100% coverage, and the description adds genuinely useful constraints such as days defaulting to 30 and maxing at 90, plus confirming wallet is required. This goes slightly beyond the schema without fully elaborating each parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the exact resource and analysis: it reads a wallet's UserOperationEvents across both EntryPoint v0.6 and v0.7 and determines whether gas is paid by the account itself or a paymaster. It also frames a precise question ('Who pays this wallet's gas?') and distinguishes itself from normal ETH-spend heuristics.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives clear context for when to use the tool: to detect paymaster-sponsored gas that would be invisible to spend-based checks, and it states that wallet is required and days is optional. However, it does not explicitly name alternative sibling tools or describe when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
holder_forensicsARead-onlyIdempotentInspect
Benign vs dangerous concentration — who can dump — Goes past 'top-10 = X%' to classify the holder base: how much the creator & owner still hold, which top holders are infrastructure (LP/CEX/bridge — benign) vs unlabelled wallets (the concentration that can actually dump the price), and the largest non-infra wallet. Separating benign from dangerous concentration is the analysis others skip. Required input: address. Priced $0.03 per call over x402 on Base; send a prepaid x-credit-token header for unlimited calls, or get 1 free call/day per tool. No wallet or API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes | Token contract address |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | The result payload. Shape is service-specific; every field is documented in the tool description. |
| service | No | The service id that answered. |
| checkedAt | No | ISO-8601 timestamp of when the underlying reads were taken. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark it read-only, idempotent, and non-destructive. The description adds practical behavioral context: pricing per call, x402 on Base, prepaid header option, free daily call, and no wallet/API key requirement. It also discloses the analysis dimensions (creator/owner holdings, infrastructure vs. unlabelled wallets, largest non-infra wallet), which goes beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The core purpose is front-loaded and the analytical categories are listed efficiently. Some promotional phrasing ('the analysis others skip') and pricing/access details extend the length, but they are relevant for invocation. Overall it is compact enough for the information it communicates.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given a single required parameter, an output schema, and safety annotations, the description covers the key invocation details: purpose, required input, cost, network, auth model, and analytical outputs. It is slightly less complete on when-to-use vs. sibling tools, but that gap is minor for a one-parameter read-only analysis.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%: the only parameter, 'address', is already described as a token contract address. The description merely repeats 'Required input: address' and does not add details about expected format, validation, or examples beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool classifies the holder base of a token and separates benign concentration (LP/CEX/bridge) from dangerous unlabelled wallets, with a specific verb 'classify' and resource 'holder base'. It does not explicitly name a sibling alternative, but it does distinguish itself from a naive 'top-10 = X%' analysis, which suggests differentiation from simpler holder tools like 'holders'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is for when you need to analyze whether a token's holder concentration is dangerous, and the phrase 'analysis others skip' positions it as a deeper alternative. However, it does not explicitly state when to use it vs. alternatives such as holders, rug_score, or whale_flow, nor does it give exclusion criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
holdersARead-onlyIdempotentInspect
Top holders, concentration & LP lock — Top-10 holders with their %, holder count, concentration level (whale risk), and LP-lock %, from GoPlus. Lets agents judge how fairly a token is distributed before trading. No API key required. Required input: address. Priced $0.02 per call over x402 on Base; send a prepaid x-credit-token header for unlimited calls, or get 1 free call/day per tool. No wallet or API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes | Token contract address |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | The result payload. Shape is service-specific; every field is documented in the tool description. |
| service | No | The service id that answered. |
| checkedAt | No | ISO-8601 timestamp of when the underlying reads were taken. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, openWorld, idempotent, and non-destructive. The description adds meaningful behavioral context beyond annotations: data comes from GoPlus, no API key or wallet is required, calls are priced at $0.02 on x402, and there is a free daily allowance. It also discloses the exact data fields returned. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core data fields and then gives the use case, which is good. However, it is somewhat repetitive: 'No API key required' appears early and then again as 'No wallet or API key required,' and 'Required input: address' repeats the schema. The pricing/auth details could be tightened without losing value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is complete for a single-parameter tool: it names the source, the inputs, the outputs, the use case, and the cost/auth model. An output schema exists to specify return values, and annotations cover safety. Nothing essential for an agent to correctly invoke the tool is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with the single 'address' parameter already described as 'Token contract address.' The description only restates that address is required and adds no format, network, or validation details beyond the schema. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly specifies the resource: top holders, concentration, and LP-lock for a token, with explicit data points (Top-10 holders with %, holder count, whale risk, LP-lock %). It does not use a strong verb like 'get' or 'fetch,' and it doesn't explicitly differentiate from sibling tools like holder_forensics or lp_lock, but the output details make the purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description states a clear use case: 'Lets agents judge how fairly a token is distributed before trading.' This gives context for when to invoke the tool. It doesn't name alternatives or explicitly state when not to use it, so it falls short of a 5, but the pre-trade context is clear and useful.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
iban_checkARead-onlyIdempotentInspect
Is this bank account number even structurally possible? — Validate an IBAN offline: country registry length, structure, and the ISO 7064 mod-97 checksum that catches what humans and spreadsheets actually get wrong — a transposed pair, a dropped character, an O typed for a zero. Returns the normalised and print-formatted forms, country, SEPA membership, and the bank identifier where the layout is known. Every rejection names WHICH check failed, so you know whether to fix the row or drop it. Structure only: a valid IBAN is not proof the account exists. Required input: iban. Priced $0.002 per call over x402 on Base; send a prepaid x-credit-token header for unlimited calls, or get 1 free call/day per tool. No wallet or API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| iban | Yes | IBAN |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | The result payload. Shape is service-specific; every field is documented in the tool description. |
| service | No | The service id that answered. |
| checkedAt | No | ISO-8601 timestamp of when the underlying reads were taken. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark the call as read-only, idempotent, and non-destructive, and the description adds substantial behavior beyond that: offline computation, normalized and print-formatted return forms, country/SEPA/bank-identifier output, rejection messages that name which check failed, pricing per call, and the auth/credit-token model. No annotation contradiction exists, and the description meaningfully enriches the behavioral contract.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Though the description is longer than average, every sentence earns its place: purpose, validation logic, outputs, failure-mode reporting, limitation, required input, pricing, and authentication. It is front-loaded with the core purpose and then layers supporting details in logical order. There is no filler or repetition of the annotations.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers what the tool validates, what it returns, how failures are reported, its structural-only limitation, required input, cost, and auth requirements. With an output schema present, the summary of return values is sufficient. For a single-parameter read-only validator, this is fully complete and leaves no operational ambiguity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already provides 100% coverage for the single required parameter 'iban', described as 'IBAN', so the description need not repeat it heavily. The description does confirm 'Required input: iban' and ties the parameter to the structural validation behavior, but it adds little format-level nuance beyond what the property name and type already imply. This is the baseline case where the schema carries the parameter semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a pointed question and then states the precise job: 'Validate an IBAN offline' covering country registry length, structure, and ISO 7064 mod-97 checksum. It clearly identifies the resource (IBAN) and the specific validation behavior, and it carves out what the tool is not: 'Structure only: a valid IBAN is not proof the account exists.' This is far beyond a vague restatement and fully distinguishes the tool's purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives strong when-to-use context: an offline structural sanity check for an IBAN, with explicit required input and no wallet/API key requirement. It also gives a clear when-not-to-use boundary: structural validity is not account existence. It does not name a sibling alternative for deeper account validation, so it stops short of a 5, but the context is clear enough for an agent to select it appropriately.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
inflation_adjustARead-onlyIdempotentInspect
What is 2015 money worth today? — Restate an amount from one year in another year's money, for any country in the World Bank consumer-price series (1960 onwards). Returns the adjusted amount, the cumulative inflation and both index values so the arithmetic is checkable. The series is annual and published with a lag, so a request for a year that does not exist yet answers with the newest one available and says which. For contract comparisons, historical pricing and long-running budgets. Required input: from. Priced $0.002 per call over x402 on Base; send a prepaid x-credit-token header for unlimited calls, or get 1 free call/day per tool. No wallet or API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | Year to restate it in (optional, defaults to latest) | |
| from | Yes | Year the amount is in | |
| amount | No | Amount (optional, default 1) | |
| country | No | Country ISO code (optional, default US) |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | The result payload. Shape is service-specific; every field is documented in the tool description. |
| service | No | The service id that answered. |
| checkedAt | No | ISO-8601 timestamp of when the underlying reads were taken. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and non-destructive behavior, so the bar for added value is lower. The description goes well beyond this by disclosing the return contents (adjusted amount, cumulative inflation, both index values), the annual data lag and fallback-to-newest-year behavior, and access/pricing constraints. This is strong behavioral disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is somewhat long but every sentence carries useful information: purpose, return values, lag behavior, use cases, and access model. The opening question is an engaging lead-in that is quickly followed by the precise statement. It is well structured and front-loaded, though slightly denser than strictly necessary.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, the description does not need to enumerate return fields; it still explains the data source, temporal scope, lag behavior, required input, and authentication model. Nothing an agent needs to call this tool correctly is missing, and the access details (pricing, free tier, no wallet or API key) are especially useful.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all four parameters with descriptions and defaults. The description adds the required-input reminder ('Required input: from') and clarifies the conceptual direction ('from one year in another year's money'), but it does not add meaning beyond what the schema provides. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a concrete, user-facing scenario ('What is 2015 money worth today?') and immediately follows with a precise verb-and-resource statement: 'Restate an amount from one year in another year's money.' It also scopes the tool to World Bank consumer-price series for any country, which clearly distinguishes it from currency-conversion siblings like fx_convert or multi_price.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description names explicit use cases ('For contract comparisons, historical pricing and long-running budgets') and clarifies behavior for unavailable future years. It does not explicitly name alternatives or say when not to use this tool, but the use-case framing gives an agent enough situational context to select it appropriately.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
lp_lockARead-onlyIdempotentInspect
Is liquidity locked, how much, until when? — Surfaces the LP holders, how much of the LP supply is locked or burned vs pullable, the lockers, and unlock dates. Unlocked liquidity is the clearest rug setup — this shows the detail a one-line 'LP locked: yes/no' hides. Required input: address. Priced $0.02 per call over x402 on Base; send a prepaid x-credit-token header for unlimited calls, or get 1 free call/day per tool. No wallet or API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes | Token contract address |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | The result payload. Shape is service-specific; every field is documented in the tool description. |
| service | No | The service id that answered. |
| checkedAt | No | ISO-8601 timestamp of when the underlying reads were taken. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, and the description adds meaningful operational context: exact pricing, the x402/Base transport, the optional x-credit-token header for unlimited calls, the free daily call, and that no wallet or API key is needed. This goes well beyond what annotations specify.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well front-loaded with the core question and the substantive output details, followed by usage rationale and access/cost info. It is not bloated, but the opening question partly restates the 'Surfaces...' sentence, and 'Required input: address' duplicates schema information, so it does not quite earn a 5.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter, read-only tool with a full output schema and clear annotations, the description is complete: it explains what data is surfaced, why it matters, what input is required, cost, access mechanism, and authentication requirements. Nothing an agent needs to invoke this tool correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%: the only parameter, 'address', is already documented as 'Token contract address'. The description merely repeats 'Required input: address' and adds no new semantic detail such as network restrictions, address format, or token types. Per the rubric, baseline 3 applies when the schema carries the parameter documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool's purpose with a specific verb ('Surfaces') and a specific resource: LP holders, locked/burned vs pullable LP supply, lockers, and unlock dates. It differentiates from a simplistic one-line 'LP locked: yes/no' check, but it does not explicitly name any sibling tool, so it stops short of full sibling differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use the tool by stating 'Unlocked liquidity is the clearest rug setup' and explaining it reveals detail that a one-line LP locked check hides. However, it never explicitly states when to use this tool versus alternatives, and no sibling tools are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
morpho_healthARead-onlyIdempotentInspect
Is this Morpho lending position about to be liquidated? — First lending tooling in the catalog. Reads a Morpho Blue position on Base (the largest lending venue on Base) and returns its liquidation health in one call: health factor, current vs liquidation LTV, and the exact collateral price drop that triggers liquidation. Built for borrowing agents and treasuries that need to know how close they are before the market cuts them — Morpho's own API is deferred. Pass wallet= and optionally market= (defaults to cbBTC/USDC). Not financial advice. Required input: wallet. Priced $0.04 per call over x402 on Base; send a prepaid x-credit-token header for unlimited calls, or get 1 free call/day per tool. No wallet or API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| market | No | Morpho market id (optional) | |
| wallet | Yes | Borrower wallet |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | The result payload. Shape is service-specific; every field is documented in the tool description. |
| service | No | The service id that answered. |
| checkedAt | No | ISO-8601 timestamp of when the underlying reads were taken. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly=true, openWorld=true, idempotent=true, destructive=false. The description adds useful behavioral context: it mentions the one-call nature, the deferred dependency on Morpho's API, the default market, pricing, free-call quota, and the requirement of no wallet/API key. It does not contradict annotations. Minor gap: it doesn't explain what happens on error or whether the output schema is fully populated in edge cases.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded with the core question and purpose. It includes some promotional and pricing language ('Built for borrowing agents and treasuries', 'Not financial advice') that adds length but is arguably useful for AI selection. Every sentence contributes to understanding when/how to use it, with only slight padding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given two simple parameters, an output schema, and strong annotations, the description covers core usage well. It spells out pricing, free tier, required input, and default market. It could be more complete by stating what happens for unsupported markets or how to interpret output, but the output schema likely carries that burden. A 4 is fair for this complexity level.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents both parameters. The description adds meaning by clarifying 'wallet' is the borrower wallet and 'market' defaults to cbBTC/USDC. It also contextualizes the wallet parameter as the position owner. This is value beyond the schema, though not exhaustive.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a concrete question, states a specific verb ('reads'), names the resource (Morpho Blue position on Base), and specifies outputs (health factor, LTVs, collateral price drop). It also differentiates itself from siblings by being explicitly 'first lending tooling' and mentioning Morpho's API is deferred, which is a clear exclusive scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states required input (wallet), optional parameter (market, defaults to cbBTC/USDC), and pricing/access conditions. It does not explicitly name alternatives among siblings, but the 'first lending tooling in the catalog' phrase implies it is the designated choice for Morpho positions. It lacks an explicit 'use when not...' exclusion, but the context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
morpho_liquidatableARead-onlyIdempotentInspect
Which Base Morpho positions are liquidatable right now? — Built for liquidator / MEV searchers. Reconstructs the active borrower set on a Morpho Blue market from Borrow events, prices every position onchain in one multicall, and ranks them by liquidation health — flagging positions liquidatable NOW (health <= 1.0) and those one small move away, with the collateral price drop that tips each over. market= optional (defaults cbBTC/USDC), maxHealth= cutoff (default 1.1). Not financial advice. Priced $0.06 per call over x402 on Base; send a prepaid x-credit-token header for unlimited calls, or get 1 free call/day per tool. No wallet or API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| market | No | Morpho market id (optional) | |
| maxHealth | No | Health cutoff (optional) |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | The result payload. Shape is service-specific; every field is documented in the tool description. |
| service | No | The service id that answered. |
| checkedAt | No | ISO-8601 timestamp of when the underlying reads were taken. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description richly discloses behavior beyond the readOnly/openWorld/idempotent annotations: it reconstructs the borrower set from Borrow events, prices positions in a single multicall, ranks by liquidation health, flags health <= 1.0 as liquidatable now, and reports the collateral price drop that tips each position over. It also covers cost and access requirements, which is highly transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with a clear use-case question and keeps technical details in a dense but efficient block. It is slightly overstuffed with commercial details like pricing and 'Not financial advice,' but these are minor and do not prevent quick understanding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with two optional parameters, an output schema, and read-only annotations, the description covers everything an agent needs: input defaults, behavior, ranking logic, output meaning, and cost/access constraints. Nothing essential is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Although the schema already covers both parameters, the description adds essential meaning: market is optional and defaults to cbBTC/USDC, and maxHealth is the health cutoff defaulting to 1.1. This lets an agent correctly omit parameters and understand their effect on results.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a precise question, 'Which Base Morpho positions are liquidatable right now?', naming the specific resource (Base Morpho positions) and action (identify liquidatable ones). It clearly differentiates this from general health or vault tools by targeting liquidator/MEV searchers and describing the liquidation-health ranking output.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description states the intended audience and use case: 'Built for liquidator / MEV searchers.' It provides clear context for when to call it, along with optional parameter defaults and cutoff semantics. However, it does not explicitly name alternatives or state when to use a sibling tool like morpho_health instead.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
morpho_vaultARead-onlyIdempotentInspect
Should you deposit into this MetaMorpho vault? — A MetaMorpho vault spreads your deposit across Morpho Blue markets — your real risk is WHERE the curator put it and WHO can move it. Reads the vault's live allocation (concentration, per-market collateral + liquidation LTV), idle share, performance fee, timelock, and control (curator/owner/guardian, and whether one address holds both). Returns a diversified / concentrated / control_risk verdict: the read before parking funds in a yield vault. vault= required. Not financial advice. Required input: vault. Priced $0.05 per call over x402 on Base; send a prepaid x-credit-token header for unlimited calls, or get 1 free call/day per tool. No wallet or API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| vault | Yes | MetaMorpho vault address |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | The result payload. Shape is service-specific; every field is documented in the tool description. |
| service | No | The service id that answered. |
| checkedAt | No | ISO-8601 timestamp of when the underlying reads were taken. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark it read-only, non-destructive, open-world, and idempotent. The description adds meaningful behavioral details beyond those: it reads live allocation, reports specific risk verdicts, requires no wallet/API key, and explains cost/free-tier behavior. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the use case but is longer than necessary. It repeats 'Required input: vault' and includes promotional/legal phrasing, though the structure remains readable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With one required parameter, high schema coverage, a present output schema, and annotations covering safety, the description supplies the remaining operational essentials: data source, verdict types, chain, pricing, auth requirements, and cost model. Nothing critical is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% for the only parameter, vault, described as 'MetaMorpho vault address.' The description repeats that vault is required but provides no additional format, chain, or normalization details beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool reads a MetaMorpho vault's live allocation and returns a diversified/concentrated/control_risk verdict, with a clear question framing the purpose. However, it does not explicitly differentiate itself from sibling risk tools like morpho_health or morpho_liquidatable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear usage context: 'the read before parking funds in a yield vault.' It does not mention exclusions or point to alternative tools, but the intended moment of use is explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
multi_priceARead-onlyIdempotentInspect
Prices for up to 10 Base tokens at once — Pass a comma-separated list of up to 10 Base token addresses and get USD price + 24h change for each in one call. Ideal for agents pricing a portfolio or watchlist. Required input: addresses. Priced $0.02 per call over x402 on Base; send a prepaid x-credit-token header for unlimited calls, or get 1 free call/day per tool. No wallet or API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| addresses | Yes | Token addresses (comma-separated) |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | The result payload. Shape is service-specific; every field is documented in the tool description. |
| service | No | The service id that answered. |
| checkedAt | No | ISO-8601 timestamp of when the underlying reads were taken. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and openWorldHint=true. The description adds valuable non-obvious behavior: $0.02 per call, the x402 payment mechanism, the x-credit-token header for unlimited calls, a free daily call, and no wallet/API key requirement. These are precisely the kind of rate-limit and auth details that agents cannot infer from the schema or annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but well-organized: function first, use case second, required input, then cost/auth constraints last. Every sentence carries distinct information; there is no repetition of schema details or annotation flags. It earns its length with operational detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter tool with rich annotations and an output schema, this description covers all an agent needs to invoke it correctly: what to pass, the limit, the response contents, the use case, and the cost/authentication model. No critical operational gap remains.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description goes beyond the schema by adding the maximum batch size (up to 10) and specifying the chain is Base, which are critical constraints not present in the schema's parameter description. It also clarifies the expected output fields (USD price + 24h change).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: get USD prices + 24h change for up to 10 Base tokens. The batch scope ("up to 10" and "in one call") clearly distinguishes it from sibling single-token pricing tools like token_price. No ambiguity about what is returned.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly identifies the ideal scenario: "agents pricing a portfolio or watchlist." It does not name an alternative tool or state when not to use it, but the batch context is clear and sufficient for most routing decisions. Could be more explicit about single-token alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
new_tokensARead-onlyIdempotentInspect
Freshly listed/profiled tokens on Base — Returns the latest tokens profiled on Base from the DexScreener feed — address, description, and links. Great for discovery bots hunting new launches early. Priced $0.01 per call over x402 on Base; send a prepaid x-credit-token header for unlimited calls, or get 1 free call/day per tool. No wallet or API key required.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | The result payload. Shape is service-specific; every field is documented in the tool description. |
| service | No | The service id that answered. |
| checkedAt | No | ISO-8601 timestamp of when the underlying reads were taken. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint, idempotentHint, and destructiveHint, and the description adds useful non-obvious behavioral/pricing context: per-call cost, x402 payment model, prepaid header option, free daily call, and no auth requirement. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loads the core purpose, with use case and pricing details following. There is minor redundancy between 'Freshly listed/profiled tokens on Base' and 'Returns the latest tokens profiled on Base', so it is not perfectly concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter read-only tool with an output schema and comprehensive annotations, the description is complete: it names the source, chain, output fields, use case, pricing, auth model, and free tier. Nothing essential is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and schema coverage is 100%, so the baseline is 4. The description adds no parameter meaning, but none is needed; it instead clarifies what the returned data contains.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Returns') and names a clear resource ('latest tokens profiled on Base from the DexScreener feed') plus the output content (address, description, links). It also positions itself as a new-launch scanner, distinguishing it from likely siblings like trending_tokens.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
States an explicit use case: 'Great for discovery bots hunting new launches early.' This gives clear context for when to choose it, though it does not name specific alternatives or exclusion conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
nft_floorARead-onlyIdempotentInspect
Live floor price for a Base NFT collection — Current floor price for a Base NFT collection (OpenSea / LooksRare) via Alchemy. Pass the collection contract address. Coverage is limited to marketplace-listed collections. For agents tracking NFT markets. Required input: contract. Priced $0.02 per call over x402 on Base; send a prepaid x-credit-token header for unlimited calls, or get 1 free call/day per tool. No wallet or API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| contract | Yes | Collection contract address |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | The result payload. Shape is service-specific; every field is documented in the tool description. |
| service | No | The service id that answered. |
| checkedAt | No | ISO-8601 timestamp of when the underlying reads were taken. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already convey read-only/idempotent/non-destructive; the description adds valuable operational behavior beyond that: price per call, x-credit-token auth, free daily call, and no wallet/API key required. It also discloses marketplace coverage limits. This is useful contextual transparency without contradicting annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Purpose is front-loaded and the operational details (coverage, auth, cost) are compactly packed. Some redundancy exists between 'Pass the collection contract address' and 'Required input: contract', but overall every sentence carries the right kind of information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With only one paramater, a rich annotation set, and an output schema present, the description provdes everything needed to invoke the tool correctly: address required, Base chain, marketplace coverage, cost, auth mechanism, and free tier. There are no missing operational prerequisites.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers 100% of the single paramater ('Collection contract address'), so baseline is 3. The description adds meaning by specifying that the contract is on Base and is for an NFT collection, plus 'Pass the collection contract address' reinforces the exact parameter usage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Opens with a specific verb and resource: 'Live floor price for a Base NFT collection', disambiguated by marketplace source (OpenSea/LooksRare) and Alchemy. This clearly separates it from the many sibling tools, which are mostly wallet, token, or security focused.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives clear context: 'For agents tracking NFT markets', states the required input (contract), and notes a key limitation ('Coverage is limited to marketplace-listed collections'). It does not name an explicit when-not alternative, but no direct sibling provides the same function.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
onramp_coverageARead-onlyIdempotentInspect
Can money get in and out of crypto here, and how? — The feasibility check before you ask a user for money: which fiat-in and cash-out rails Coinbase actually runs in a country, the currencies and min/max limits for each, and how many assets across which networks. Distinguishes a country with card rails from one where crypto can only be transferred in — a difference most integrations discover only after a user fails. 122 countries covered. Required input: country. Priced $0.02 per call over x402 on Base; send a prepaid x-credit-token header for unlimited calls, or get 1 free call/day per tool. No wallet or API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| country | Yes | ISO country code |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | The result payload. Shape is service-specific; every field is documented in the tool description. |
| service | No | The service id that answered. |
| checkedAt | No | ISO-8601 timestamp of when the underlying reads were taken. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations only provide title/details metadata, so the description carries the full burden of behavioral disclosure. It adds practical operational context: pricing, x-credit-token auth option, free-ail allowance, no wallet/API key required, and a concrete 122-country coverage scope. No side effects are implied, and there is no contradiction with the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core question and purpose, then covers output contents, the key distinction, coverage count, and required input/pricing/auth. Every sentence contributes actionable information; there is no filler or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given a single required parameter and no output schema, the description is complete: it specifies the input, what data the agent can expect (rails, currencies, limits, asset/network counts), the use case, and the operational constraints (coverage, pricing, auth). An agent has enough to decide whether to call it and what it will receive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already documents the only parameter, country, as an ISO country code. The description merely repeats that country is required input without adding format details, defaults, or examples, leaving the schema description to carry the semantics. This meets the baseline but adds no extra value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear, specific purpose: a feasibility check for fiat-in and cash-out rail coverage by Coinbase in a country, including currencies, limits, assets, and networks. It distinguishes this from a quote or execution tool, and the phrase 'feasibility check before you ask a user for money' makes the resource and verb unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly says when to use it: as a pre-flight check before requesting payment, especially to distinguish card-rail countries from crypto-transfer-only countries. It does not explicitly name an alternative like onramp_quote or state when not to use it, so it falls just short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
onramp_quoteARead-onlyIdempotentInspect
What every payment rail really costs, side by side — Prices the same fiat purchase across EVERY payment method a country allows, and ranks them by what the buyer actually receives. On $100 in the US the spread is real: card takes 2.44, bank transfer 0.50, a funded fiat wallet nothing. Returns each rail's fee, net amount, min/max limits, and the cheapest one. Live Coinbase pricing, not a rate card. Pass address= for a payable checkout link. Not financial advice. Required inputs: country, amount. Priced $0.03 per call over x402 on Base; send a prepaid x-credit-token header for unlimited calls, or get 1 free call/day per tool. No wallet or API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| asset | No | Asset to buy (optional, default USDC) | |
| amount | Yes | Fiat amount | |
| address | No | Destination wallet (optional — needed for a checkout link) | |
| country | Yes | ISO country code | |
| network | No | Network (optional, default base) | |
| currency | No | Fiat currency (optional, default USD) |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | The result payload. Shape is service-specific; every field is documented in the tool description. |
| service | No | The service id that answered. |
| checkedAt | No | ISO-8601 timestamp of when the underlying reads were taken. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, and the description adds substantial context beyond them: live Coinbase pricing rather than a static rate card, concrete return contents (fee, net amount, min/max limits, cheapest one), a real-world example ($100 US spread), and a billing/access model ($0.03 per call over x402, x-credit-token header for unlimited calls, 1 free call/day). No contradictions with the annotations — quoting is consistent with a read-only, idempotent operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The purpose is front-loaded in the first sentence, and the description is dense with operational value (inputs, optional params, data source, billing, auth). However, it is on the verbose side (~130 words) with marketing flourishes that carry no operational weight ('the spread is real', 'Not financial advice') and a long billing tail that could be tightened.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the 100% schema coverage, an existing output schema, and annotations covering the safety profile, the description completes the picture: use case, required and optional inputs, return values, data freshness, cost, billing access, and authentication requirements. Nothing an agent needs to invoke this tool correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3 — the schema already documents all 6 parameters. The description adds only marginal parameter-level meaning: the '$100 in the US' example clarifies amount semantics, and 'Pass address= for a payable checkout link' reinforces what the schema already says. It does not explain asset, network, or currency beyond their schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'Prices the same fiat purchase across EVERY payment method a country allows, and ranks them by what the buyer actually receives.' This clearly differentiates it from the sibling onramp_coverage (which presumably lists allowed methods) by focusing on comparative pricing and ranking. The 'side by side' framing plus the explicit return of 'the cheapest one' leaves no ambiguity about what the tool produces.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear operational context: 'Required inputs: country, amount', explains when to add address ('Pass address= for a payable checkout link'), and states access prerequisites ('No wallet or API key required'). However, it never explicitly names an alternative tool or states when not to use this one — the relationship to onramp_coverage is only implied by the phrase 'everything a country allows.'
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
pair_infoARead-onlyIdempotentInspect
Pool price, liquidity, volume & buy/sell counts — Given a Base DEX pair (pool) address, returns price, liquidity, 24h volume, buy/sell transaction counts and FDV from DexScreener. For agents analysing a specific pool's depth and activity. Required input: pair. Priced $0.02 per call over x402 on Base; send a prepaid x-credit-token header for unlimited calls, or get 1 free call/day per tool. No wallet or API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| pair | Yes | Pair (pool) address |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | The result payload. Shape is service-specific; every field is documented in the tool description. |
| service | No | The service id that answered. |
| checkedAt | No | ISO-8601 timestamp of when the underlying reads were taken. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, openWorld, idempotent, and non-destructive. The description goes further by naming DexScreener as the data source, disclosing the $0.02 per-call pricing, the x402 billing mechanism, the x-credit-token header option, the free daily call, and the absence of wallet/API-key requirements. This gives the agent full operational expectations beyond the safety profile.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The core function is front-loaded in the first clause, followed by use case and billing details. Every sentence carries useful information, though the pricing and free-tier explanation adds length and could arguably live in an annotation. Still, it remains structured and scannable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With a single documented parameter, rich annotations, and an output schema present, the description covers the essential context: what data is returned, for which network, who should use it, and what it costs/requires. Nothing critical for invoking the tool correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the schema already defines pair as 'Pair (pool) address'. The description adds value by specifying that the address must be a Base DEX pair (pool) and emphasizing it is the required input. That extra network and address-type context helps the agent pass a valid value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a precise inventory of outputs — price, liquidity, 24h volume, buy/sell counts, and FDV — tied to a specific Base DEX pair address. It clearly distinguishes this from broader token or market tools by scoping it to a single pool's depth and activity. A specific verb ('returns') plus resource ('pair') makes the purpose unmistakable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly states the intended use case: agents analysing a specific pool's depth and activity. It also names the one required input (pair). It does not name alternative sibling tools or state when not to use it, but the context is clear enough that an agent can decide appropriately.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
paymaster_checkARead-onlyIdempotentInspect
Should you trust this Base gas paymaster? — Given a paymaster address, audits whether it's a healthy, active gas sponsor. Reads its UserOperationEvents across both EntryPoints: sponsored op volume, distinct accounts served, success rate, total gas sponsored, and concentration (the share coming from its single busiest app). The read to run before integrating a paymaster (Coinbase / Pimlico / Alchemy / custom), or judging who funds a counterparty's gas. paymaster= required, days= optional (default 30, max 90). Not financial advice. Required input: paymaster. Priced $0.05 per call over x402 on Base; send a prepaid x-credit-token header for unlimited calls, or get 1 free call/day per tool. No wallet or API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | Lookback days (optional) | |
| paymaster | Yes | Paymaster address |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | The result payload. Shape is service-specific; every field is documented in the tool description. |
| service | No | The service id that answered. |
| checkedAt | No | ISO-8601 timestamp of when the underlying reads were taken. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, openWorldHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is clear. The description adds valuable behavioral context on top: it reads UserOperationEvents, has pricing ($0.05/call, free tier), requires no wallet/API key, and expects a prepaid header for unlimited calls. This meaningfully supplements the annotations without contradicting them.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single dense paragraph, but it is front-loaded with the core purpose and then covers usage, parameters, pricing, and authentication efficiently. Minor extras like 'Not financial advice' add some noise, but overall each major clause contributes useful information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, the description does not need to enumerate return fields. It covers the key contextual requirements for a successful call: required input, optional parameters with defaults, intended use cases, pricing, and access method. Nothing essential is missing for an agent to select and invoke this tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema coverage is 100%, with both 'paymaster' and 'days' described. The description adds important semantics beyond the schema: paymaster is required, days is optional with a default of 30 and max of 90. This helps an agent construct a valid call even though the schema already documents parameter types.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a clear, specific question: 'Should you trust this Base gas paymaster?' and then states the concrete action: 'audits whether it's a healthy, active gas sponsor' by reading UserOperationEvents across both EntryPoints. This clearly distinguishes it from general address trust tools by focusing on paymaster-specific metrics and integration use cases.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly names the intended use: 'The read to run before integrating a paymaster (Coinbase / Pimlico / Alchemy / custom), or judging who funds a counterparty's gas.' This gives clear contextual guidance, though it does not explicitly mention when not to use it or name a specific alternative tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
phone_checkARead-onlyIdempotentInspect
Normalise any phone number to E.164, and say what is knowable — Turn the many ways a phone number gets typed into one E.164 string: strips spacing, brackets, the 00 international prefix and the national trunk zero people include out of habit. Returns country, calling code, national number, and whether the length matches that country's numbering plan. Line type (mobile / fixed) is reported ONLY for countries whose ranges are unambiguous and is null elsewhere with a reason — never guessed. Offline: it does not check that the number is assigned or reachable. Required input: phone. Priced $0.002 per call over x402 on Base; send a prepaid x-credit-token header for unlimited calls, or get 1 free call/day per tool. No wallet or API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| phone | Yes | Phone number | |
| country | No | Calling code, if the number has no + |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | The result payload. Shape is service-specific; every field is documented in the tool description. |
| service | No | The service id that answered. |
| checkedAt | No | ISO-8601 timestamp of when the underlying reads were taken. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations (readOnly, idempotent, openWorld, non-destructive), the description discloses key behavioural traits: it never guesses line type, returns null with a reason, does not check number assignment or reachability, and operates offline. It also tells the agent about pricing and auth requirements, which affect whether the tool can be invoked. This is rich, non-redundant context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is longer than average but every major clause contributes: main purpose, output semantics, confidence caveat, offline limitation, required input, and authentication. It is front-loaded with the core purpose and moves to edge behaviour and operational details. The pricing/auth sentence is slightly dense but still earns its place for invocation feasibility.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that an output schema exists and annotations cover read-only, idempotent, non-destructive behaviour, the description still provides the missing operational and behavioural context: offline nature, no assignment checking, line-type null semantics, required phone input, and payment/auth model. An agent has enough detail to select and invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already describes 'phone' as a string, and coverage is 100%, so the baseline is 3. The description adds real semantic value by explaining that the input may appear in many typed formats and will be normalized to E.164, including stripping spacing, brackets, prefixes, and trunk zeros. It also highlights 'Required input: phone', reinforcing the one required parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific action — normalise any phone number to E.164 — and enumerates the output: country, calling code, national number, line type. It distinguishes the tool's unique niche among the sibling set (no other phone-related sibling exists), and the 'knowable' framing communicates scope. No ambiguity about what the tool does.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear contexts: use for normalizing messy phone input and extracting knowable attributes; use with the expectation that it is offline and does not verify assignment or reachability. It explicit conditions for line-type reporting ('ONLY for countries whose ranges are unambiguous') and tells the agent that null is a valid, intentional response. It does not explicitly name an alternative tool, but no close alternative appears among siblings, so the gap is minor.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
portfolio_scanARead-onlyIdempotentInspect
Audit a whole wallet — which holdings could hurt you — Pulls a wallet's holdings and runs a risk check on each, flagging which positions are honeypots / high-risk / illiquid and the USD sitting in risky tokens. One call audits the whole wallet — 'which of the things you already hold could hurt you'. Required input: address. Priced $0.15 per call over x402 on Base; send a prepaid x-credit-token header for unlimited calls, or get 1 free call/day per tool. No wallet or API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes | Wallet address |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | The result payload. Shape is service-specific; every field is documented in the tool description. |
| service | No | The service id that answered. |
| checkedAt | No | ISO-8601 timestamp of when the underlying reads were taken. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark it read-only, idempotent, and non-destructive. The description adds genuinely useful operational behavior: it runs a risk check on each holding, reports USD in risky tokens, costs $0.15 per call, supports a prepaid x-credit-token header, and requires no wallet or API key. These are behavioral details an agent needs beyond annotation booleans.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The main purpose is front-loaded and the pricing/auth notes are useful. But the whole-wallet framing is repeated three times: 'Audit a whole wallet', 'Pulls a wallet's holdings', and 'One call audits the whole wallet', which adds redundancy without new meaning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With one required parameter, a complete input schema, and an output schema present, the description covers the remaining operational essentials: required input, cost/credit mechanism, free tier, and no-key requirement. It does not need to explain the return shape because the output schema already exists. It is only mildly incomplete in not routing the agent to alternative tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema covers the single address parameter 100%, so the baseline of 3 applies. The description only repeats 'Required input: address' and confirms the address is the wallet to audit, adding little beyond the schema's 'Wallet address'.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb and resource: it pulls a wallet's existing holdings and runs a per-position risk check, flagging honeypots, high-risk, and illiquid positions with USD exposure. It clearly frames the tool as a whole-wallet audit rather than a single-token check. However, it does not explicitly name or contrast itself with overlapping sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides clear context for when to use it: 'One call audits the whole wallet' and 'which of the things you already hold could hurt you' tells an agent this is for auditing existing wallet holdings, not arbitrary addresses or tokens. It does not state explicit exclusions or mention alternative tools by name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
position_healthARead-onlyIdempotentInspect
You're IN the token — should you stay in? — The post-trade check everything else skips: given a token, your position size and (optionally) entry price, returns live price & P&L, whether the position can still be EXITED at that size, and the token's current rug score — combined into a healthy / watch / exit_now verdict with reasons. The risk that changes after you buy is exactly the risk holders miss. Required input: address. Priced $0.04 per call over x402 on Base; send a prepaid x-credit-token header for unlimited calls, or get 1 free call/day per tool. No wallet or API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| size | No | Position size USD | |
| address | Yes | Token contract address | |
| entryPrice | No | Entry price USD (optional, enables P&L) |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | The result payload. Shape is service-specific; every field is documented in the tool description. |
| service | No | The service id that answered. |
| checkedAt | No | ISO-8601 timestamp of when the underlying reads were taken. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark this as read-only, idempotent, and non-destructive, and the description adds substantial extra behavioral context: pricing per call, the x-credit-token header for unlimited calls, the 1-free-call-per-day option, the Base/x402 network context, and that no wallet or API key is required. This goes well beyond what annotations alone provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core purpose and output, then covers pricing and auth details. The opening marketing-style phrase and the 'risk that changes after you buy' sentence add context but are somewhat wordy. Overall, it is appropriately sized for a tool with this many behavioral details, though a few words could be trimmed.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the use case, required input, optional inputs, output verdicts, pricing, authentication, and network. There is a slight ambiguity about whether position size is required despite the schema saying only address is required, and what happens to P&L when entryPrice is omitted. Still, with an output schema and full parameter descriptions present, the description is largely complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents address, size, and entryPrice. The description adds some high-level meaning by tying size and optional entry price to P&L and exit checks, but it mostly restates what the schema already says. This meets the baseline for fully documented parameters without adding much new semantic depth.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as a post-trade position health check and lists its concrete outputs: live price & P&L, exit-ability at position size, rug score, and a healthy/watch/exit_now verdict with reasons. It distinguishes itself from pre-trade or single-factor risk tools by emphasizing that it covers risk that changes after purchase.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly signals when to use it: when the user is already holding a token and needs a post-trade stay-or-exit assessment. It contrasts itself with tools that 'skip' this check, but it does not explicitly name an alternative tool or give a direct when-not-to-use statement, so it falls just short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
pre_trade_gateARead-onlyIdempotentInspect
One call before you trade — GO / HOLD / STOP — The single call an agent makes before touching a Base token: token risk + sellability (honeypot/tax) + route/price-impact + deployer reputation, collapsed into one GO/HOLD/STOP verdict with an auditable receipt. Cheaper than the four checks à la carte. This is the tool to bind first. Required input: address. Priced $0.10 per call over x402 on Base; send a prepaid x-credit-token header for unlimited calls, or get 1 free call/day per tool. No wallet or API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes | Token contract address | |
| amountUsd | No | Trade size in USD (optional) |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | The result payload. Shape is service-specific; every field is documented in the tool description. |
| service | No | The service id that answered. |
| checkedAt | No | ISO-8601 timestamp of when the underlying reads were taken. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, and non-destructive behavior. The description adds meaningful behavioral/access context beyond annotations: the call costs $0.10, supports prepaid x-credit-token headers, includes a free tier, needs no wallet or API key, and returns an auditable receipt.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but front-loaded with the core verdict and purpose. It covers purpose, constituent checks, pricing, authentication, and output in a compact form; minor promotional phrasing like 'This is the tool to bind first' is not harmful but adds little.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with an output schema and full parameter documentation, the description is complete: it explains why to call it, what it evaluates, what output to expect, how billing works, and what access prerequisites exist. No critical selection or invocation information is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both parameters are already documented. The description only restates that address is required and does not add new meaning about amountUsd or parameter formatting, so it adds no significant value beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool produces a GO/HOLD/STOP verdict combining token risk, sellability, route/price-impact, and deployer reputation for a Base token. It identifies the resource and outcome, but the verb is implicit ('one call before you trade') rather than a specific action like 'returns' or 'evaluates'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context: use this before trading a Base token and 'bind first' for pre-trade assessment. It also positions itself as cheaper than doing four separate checks à la carte, but it does not explicitly name sibling alternatives or state when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
price_alertARead-onlyIdempotentInspect
Webhook when a Base token crosses your target — Pay once to register a price-threshold alert on any Base token. Supply target price, direction (above/below), and an https webhook URL. A polling cron (daily by default; configurable to ~minutes) checks DexScreener and POSTs your webhook when it crosses. Expires after 30 days. Or omit the webhook and poll with check=: the verdict is THRESHOLD_MET, ok, FIRED, or unknown when the price feed could not be read. Required inputs: token, threshold, direction. Priced $0.05 per call over x402 on Base; send a prepaid x-credit-token header for unlimited calls, or get 1 free call/day per tool. No wallet or API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| check | No | Or: alert id to poll its status | |
| token | Yes | Token address | |
| webhook | No | Webhook URL (optional — omit to poll) | |
| direction | Yes | Direction (above/below) | |
| threshold | Yes | Price threshold (USD) |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | The result payload. Shape is service-specific; every field is documented in the tool description. |
| service | No | The service id that answered. |
| checkedAt | No | ISO-8601 timestamp of when the underlying reads were taken. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description describes registering persistent alerts, POSTing to webhooks, charging $0.05 per call, and expiring after 30 days, all of which imply side effects on the environment. The annotations declare readOnlyHint=true, which indicates the tool does not modify state or resources. This is a direct contradiction and would mislead an agent about the tool's side-effect profile.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single dense paragraph but every sentence earns its place: purpose, mechanics, expiry, alternate polling mode, verdicts, pricing, and auth requirements. It is front-loaded with the core purpose. Slightly heavy formatting and pricing details could be organized better, but nothing is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers both operational modes, required and optional parameters, expected verdicts, expiration behavior, pricing, and authentication requirements. Even with an output schema present, the description provides enough context for an agent to correctly invoke the tool in either register or poll mode. No critical usage detail is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the parameters are already well documented. The description adds useful nuances like 'USD' for threshold, 'https' for webhook, and the check=<id> polling pattern, but it mostly restates what the schema already provides. A baseline 3 is appropriate because the schema carries most of the weight.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action and resource: registering a price-threshold alert on a Base token and firing a webhook when the price crosses the target. It clearly distinguishes this from passive price tools by outlining both registration and polling modes. The verb+resource structure makes the tool's purpose immediately evident.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives clear usage context: supply token, threshold, direction, and an HTTPS webhook, or omit webhook and poll with check=<id>. It also lists required inputs and notes that no wallet or API key is needed. It does not explicitly compare against sibling tools like token_price or multi_price, so the when-not-to-use boundary is left implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
proxy_checkARead-onlyIdempotentInspect
Can this contract be changed under you? — Reads the EIP-1967 proxy slots live: is the contract upgradeable, what's the current implementation, and WHO can upgrade it. Flags the dangerous case — an EOA admin that can swap the logic at any block with no timelock/multisig. Upgradeability is a rug vector static scans miss. Required input: address. Priced $0.03 per call over x402 on Base; send a prepaid x-credit-token header for unlimited calls, or get 1 free call/day per tool. No wallet or API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes | Contract address |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | The result payload. Shape is service-specific; every field is documented in the tool description. |
| service | No | The service id that answered. |
| checkedAt | No | ISO-8601 timestamp of when the underlying reads were taken. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the read-only/idempotent annotations, the description discloses that the check is live, inspects EIP-1967 slots, and flags EOA-admin proxies with no timelock/multisig. It also states auth requirements (no wallet or API key) and pricing/free-tier behavior, which are useful operational details not visible in annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The key capability and dangerous case are front-loaded, followed by concise input, pricing, and auth details. The rhetorical opening frames the threat model, and every sentence serves either selection or invocation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Since an output schema already exists, return format does not need to be described. The description covers purpose, mechanism, risk signal, required input, chain/pricing context, and auth requirements, which is complete for an agent to select and call this tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already covers the address parameter at 100%, so the baseline is satisfied. The description adds meaning by emphasizing that the address is the required contract input and by indicating the operation happens on Base, chain context not present in the schema. More explicit address format rules would be stronger, but this is adequate for a single parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific live operation: reading EIP-1967 proxy slots to determine upgradeability, current implementation, and upgrade authority. It also flags the dangerous EOA-admin case, which clearly differentiates it from generic contract or risk tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It clearly frames when to use it: to check whether a contract can be changed, and explains that upgradeability is a rug vector static scans miss. It does not explicitly name sibling alternatives or give when-not-to-use conditions, so it stops short of full exclusion guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
revoke_builderARead-onlyIdempotentInspect
The exact ready-to-sign tx that kills an approval — approval-advisor tells you WHAT to revoke; this builds the HOW: the ready-to-sign transaction (to + calldata) for approve(spender, 0) on a token, plus the live current allowance read from Base (flags unlimited, or 'already revoked'). Hand the result straight to a wallet or agent signer — the action half of approval hygiene. Required inputs: token, spender. Priced $0.02 per call over x402 on Base; send a prepaid x-credit-token header for unlimited calls, or get 1 free call/day per tool. No wallet or API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| token | Yes | Token contract | |
| wallet | No | Your wallet (optional, reads live allowance) | |
| spender | Yes | Spender to revoke |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | The result payload. Shape is service-specific; every field is documented in the tool description. |
| service | No | The service id that answered. |
| checkedAt | No | ISO-8601 timestamp of when the underlying reads were taken. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses that the tool returns a ready-to-sign transaction rather than sending it, reads the live current allowance from Base, flags unlimited or 'already revoked' states, and documents pricing/auth via the x-credit-token header. All of this is consistent with the readOnlyHint, openWorldHint, and idempotentHint annotations. It adds substantial operational context beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four sentences, front-loaded with the core purpose and packed with useful details about output, network, pricing, and auth. The first sentence is somewhat dense with dashes and parentheticals, but every sentence earns its place with no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers inputs, output shape, network (Base), pricing, auth header, free tier, and the division of labor with approval_advisor. An output schema exists, so detailed return-structure explanation is not required. Nothing material is missing for an agent to invoke this tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description repeats the required inputs (token, spender) and mirrors the schema's wallet description, adding little format or value detail beyond what the schema already provides. The mention of approve(spender, 0) shows the spender's role in the calldata, but that is a minor addition.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific deliverable: a ready-to-sign transaction (to + calldata) for approve(spender, 0), and explicitly contrasts itself with approval_advisor. Clear verb ('builds') and resource ('approval'). Distinguishes from sibling approval_advisor without needing to open the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly positions the tool as the execution counterpart to approval_advisor: 'approval-advisor tells you WHAT to revoke; this builds the HOW.' Also indicates the output should be handed to a wallet or agent signer, which signals the intended usage flow. It does not spell out explicit exclusion cases or alternative tools beyond approval_advisor, so it falls just short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
rug_monitorARead-onlyIdempotentInspect
Get alerted the moment liquidity is pulled — Pay once to watch a Base token's liquidity. We snapshot a baseline and, on each monitor run, POST your webhook if liquidity collapses (a liquidity pull — the actual moment of a rug). Not price moving — the pool being drained out from under you. Expires after 30 days. Required input: token. Priced $0.10 per call over x402 on Base; send a prepaid x-credit-token header for unlimited calls, or get 1 free call/day per tool. No wallet or API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| check | No | Or: monitor id to poll its status | |
| token | Yes | Token address | |
| dropPct | No | Fire on liquidity drop % (default 50) | |
| webhook | No | Webhook URL (optional — omit to poll) |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | The result payload. Shape is service-specific; every field is documented in the tool description. |
| service | No | The service id that answered. |
| checkedAt | No | ISO-8601 timestamp of when the underlying reads were taken. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations mark the tool readOnlyHint=true and idempotentHint=true, but the description describes creating a monitor with a baseline snapshot, a 30-day expiration, and webhook POSTs — persistent state and external side effects. This contradicts the read-only semantics, and the description doesn't explain why it is classified read-only.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description front-loads the value proposition and then covers mechanics, expiration, input, and pricing in a compact paragraph. It's longer than minimal but every sentence adds operational context.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present and all parameters documented, the description covers creation, trigger condition, expiration, pricing, and authentication. It is sufficient for an agent to invoke correctly, though the monitor-id polling flow is only hinted via the schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema already documents token, dropPct, webhook, and check with 100% coverage, so baseline is 3. The description adds only 'Required input: token' and that webhooks fire on collapse, adding little beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description opens with 'Get alerted the moment liquidity is pulled' and specifies it watches a Base token's liquidity, posting webhooks on collapse. It explicitly contrasts with price movement ('Not price moving — the pool being drained out from under you'), distinguishing it from price-alert siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
States the monitoring use case and what condition triggers it, and notes the 'omit to poll' option via webhook optionality. It doesn't name alternatives but draws a clear line against price-focused tools, so an agent can infer when to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
rug_scoreARead-onlyIdempotentInspect
One 0-100 risk gate (security + holders + liquidity) — Deterministic 0-100 rug-probability score combining security flags, holder concentration, LP lock and liquidity depth — with the exact signals that drove it. A fast numeric gate for trading agents. Higher = riskier. Required input: address. Priced $0.03 per call over x402 on Base; send a prepaid x-credit-token header for unlimited calls, or get 1 free call/day per tool. No wallet or API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes | Token contract address |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | The result payload. Shape is service-specific; every field is documented in the tool description. |
| service | No | The service id that answered. |
| checkedAt | No | ISO-8601 timestamp of when the underlying reads were taken. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds meaningful behavioral detail beyond the annotations: the result is deterministic, the score is a 0-100 probability-style output, it includes the exact driving signals, and higher values are riskier. It also discloses access requirements (no wallet or API key) and pricing, which is useful for agent invocation decisions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded, leading with the core purpose and score definition before moving to operational details. The pricing and access information is relevant for an agent deciding whether to call the tool, and no sentence is redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With a single parameter, full schema coverage, and an output schema present, the description covers the essential context: score range, direction of risk, component signals, required input, and access constraints. The tool is self-contained and an agent has enough information to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already fully describes the only parameter, address, as 'Token contract address', and the description simply repeats that an address is required. With 100% schema description coverage, the description adds no meaningful parameter semantics beyond what is already structured.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific, measurable output: a deterministic 0-100 rug-probability score combining security flags, holder concentration, LP lock, and liquidity depth. It clearly identifies the resource (token address) and positions itself as a fast numeric gate for trading agents, which distinguishes it from deeper audit-style sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear usage context: it is a quick numeric risk gate for trading agents, with a required address input and higher scores meaning more risk. It does not explicitly name alternative sibling tools or state when not to use it, but the 'fast numeric gate' phrasing effectively implies a lightweight screening use case.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
safe_checkARead-onlyIdempotentInspect
Real M-of-N multisig, or a 1-of-1 that just looks like one? — Multisig / treasury intelligence. Given an address: is it a Gnosis Safe, its owners and M-of-N threshold, version, activity, and — critically — its enabled MODULES. A module can move the Safe's funds via execTransactionFromModule with no owner signatures, so each one is an address with unilateral control. Returns a multisig / single_signer / has_modules verdict: the counterparty check before you trust funds to a multisig. address= required. Not financial advice. Required input: address. Priced $0.04 per call over x402 on Base; send a prepaid x-credit-token header for unlimited calls, or get 1 free call/day per tool. No wallet or API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes | Address to check |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | The result payload. Shape is service-specific; every field is documented in the tool description. |
| service | No | The service id that answered. |
| checkedAt | No | ISO-8601 timestamp of when the underlying reads were taken. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds substantial behavioral context beyond the readOnly/openWorld/idempotent/non-destructive annotations: it explains that modules can move funds via execTransactionFromModule without owner signatures, describes the verdict categories, and discloses pricing, the x402 transport on Base, the prepaid header option, and the fact that no wallet or API key is required. This is exactly the kind of context annotations do not provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is longer than strictly necessary and repeats the required-input information twice ('address= required' and 'Required input: address'), but it is well-structured: the core question is front-loaded, the critical module risk is emphasized, and the operational details are grouped clearly at the end. The redundancies are minor.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter tool with an output schema and strong annotations, the description is complete: it states the required input, the output verdict categories, the security-critical module behavior, pricing, and authentication requirements. An agent can correctly invoke this tool and interpret its purpose without needing additional context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the schema already documents 'address' as 'Address to check.' The description reiterates that 'address' is required and says 'Given an address,' but it does not add deeper semantics such as address format, supported networks, or validation constraints. Baseline 3 is appropriate because the schema carries the parameter documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool's purpose: given an address, determine whether it is a Gnosis Safe, and return owners, threshold, version, activity, and enabled modules, with a multisig / single_signer / has_modules verdict. This goes well beyond the name 'safe_check' and distinguishes the specific security-focused behavior from generic address checks.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context for when to use the tool: it is 'the counterparty check before you trust funds to a multisig.' It does not explicitly name alternative tools or state when not to use it, but the use case is strong enough for an agent to route appropriately.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
safe_to_sendARead-onlyIdempotentInspect
Is this address safe to send, approve or sign to? — Before your agent sends, approves or signs to an address: one GO/REVIEW/STOP verdict. Screens OFAC sanctions, Coinbase/Basename identity, wallet vs contract, how long the address has existed, and whether contract logic can be swapped AFTER you send. Every factor returns what it found and what it could not read — a check that did not run never reads as clean, so GO means everything material was actually screened. Not financial advice. Required input: address. Priced $0.01 per call over x402 on Base; send a prepaid x-credit-token header for unlimited calls, or get 1 free call/day per tool. No wallet or API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes | Address you are about to send to |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | The result payload. Shape is service-specific; every field is documented in the tool description. |
| service | No | The service id that answered. |
| checkedAt | No | ISO-8601 timestamp of when the underlying reads were taken. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations (readOnlyHint, idempotentHint, non-destructive), the description adds genuinely valuable behavior: the fail-closed semantics — 'a check that did not run never reads as clean, so GO means everything material was actually screened' — is exactly the kind of nuance an agent needs to trust a GO verdict. It also discloses pricing, the x402/x-credit-token payment model, the free-call tier, and that no wallet/API key is required. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but every sentence carries operational weight: verdict format, screening factors, fail-closed semantics, pricing, and requirements. It is front-loaded with the purpose and verdict concept. Minor non-essential content like 'Not financial advice' and the detailed credit-header payment explanation could be trimmed, but they don't significantly bloat.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-param tool with an output schema and rich annotations, the description covers purpose, verdict semantics, screening scope, failure behavior, and commercial constraints. It does not route the agent among the many risk-adjacent siblings (safe_check, compliance_check, address_trust, sanctions), which is the main completeness gap, but nothing essential to invoking the tool correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for the single address parameter, and the schema already describes it as 'Address you are about to send to'. The description restates it as 'Required input: address' and frames it as the destination of a pending send/approve/sign, but adds little semantic value beyond the schema. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states what the tool does: it returns a single GO/REVIEW/STOP verdict on whether an address is safe to send, approve, or sign to. It enumerates the specific factors screened (OFAC sanctions, identity, wallet-vs-contract, address age, post-send contract logic swap), which gives an agent a precise mental model and clearly differentiates it from sibling tools like address_intel or sanctions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The opening line — 'Before your agent sends, approves or signs to an address' — is an explicit trigger condition naming exactly when to invoke this tool. It does not, however, name any sibling alternatives or state when not to use it (e.g., a sanctions-only check could use the sanctions tool), so it misses the explicit exclusion/alternative guidance of the highest tier.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sanctionsARead-onlyIdempotentInspect
Is this address OFAC-sanctioned? — Checks an address against the OFAC SDN list of sanctioned digital-currency addresses. Built for compliance agents and bots that must screen counterparties before transacting. Direct-address match; list refreshed regularly. No API key required. Required input: address. Priced $0.02 per call over x402 on Base; send a prepaid x-credit-token header for unlimited calls, or get 1 free call/day per tool. No wallet or API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes | Address to screen |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | The result payload. Shape is service-specific; every field is documented in the tool description. |
| service | No | The service id that answered. |
| checkedAt | No | ISO-8601 timestamp of when the underlying reads were taken. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and non-destructive behavior. The description adds value beyond that by disclosing direct-address match semantics, refresh cadence, lack of API key requirements, and the x402/x-credit-token pricing model. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the essential purpose and remains reasonably short, but 'No API key required' appears twice and the pricing/free-call detail could be consolidated. The redundancy prevents a higher score.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter, read-only, idempotent tool with an output schema, the description provides every piece of invocation-relevant information: required input, intended use case, match type, refresh behavior, access method, pricing, and free-call option. Nothing needed to call or select the tool correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already documents the only parameter, 'address', with a clear description ('Address to screen') and 100% schema coverage. The description merely repeats that address is required without adding format, network, or validation detail, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Opens with a targeted question 'Is this address OFAC-sanctioned?' and then names the exact resource: the OFAC SDN list of sanctioned digital-currency addresses. The phrase 'Direct-address match' clearly distinguishes this tool from sibling tools like sanctions_batch and sanctions_name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly frames the intended use case: compliance agents and bots screening counterparties before transacting. It also clarifies operational constraints like no API key requirement and per-call pricing. However, it does not explicitly name when not to use it or point to alternatives like sanctions_batch, so it stops short of full guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sanctions_batchARead-onlyIdempotentInspect
Screen up to 25 addresses against OFAC at once — Pass a comma-separated list of up to 25 addresses and get an OFAC sanctions result for each, plus the flagged subset. Built for compliance agents vetting whole counterparty lists in one call. Required input: addresses. Priced $0.03 per call over x402 on Base; send a prepaid x-credit-token header for unlimited calls, or get 1 free call/day per tool. No wallet or API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| addresses | Yes | Addresses (comma-separated) |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | The result payload. Shape is service-specific; every field is documented in the tool description. |
| service | No | The service id that answered. |
| checkedAt | No | ISO-8601 timestamp of when the underlying reads were taken. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds substantial behavioral context beyond the annotations, including the 25-address limit, per-address result behavior, pricing model, prepaid header requirement, free-call allowance, and lack of wallet/API key requirement. This meaningfully informs an agent about side effects and prerequisites.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core capability and then provides use-case, input, and pricing context. The 'Required input: addresses' sentence is mildly redundant with the schema and earlier phrasing, but overall every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter tool with a rich output schema and strong annotations, the description is complete. It covers capacity, expected results, billing, authentication, and access requirements. The output schema relieves the description from needing to detail return values.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already covers the comma-separated format for the single parameter, so the baseline is 3. The description adds the crucial up-to-25 limit and explicitly identifies 'addresses' as required input, going slightly beyond schema information.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb and resource ('Screen up to 25 addresses against OFAC at once') and clearly differentiates this from sibling tools like 'sanctions' by emphasizing batch processing and counterparty-list vetting. The expected output is also stated: a result for each address plus the flagged subset.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides clear context for when to use the tool ('vetting whole counterparty lists in one call') and practical requirements like the comma-separated list and cost. However, it does not explicitly say when not to use it or name a single-address alternative like 'sanctions'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sanctions_nameARead-onlyIdempotentInspect
Screen a person or company against the OFAC SDN list — Sanctions screening for NAMES, not wallets. Pass a person or company; get GO / HOLD / STOP against the official U.S. Treasury OFAC SDN export, including a.k.a. aliases. Conservative by design: only a full-name match is a hit. Screening aid, not a compliance determination. Required input: name. Priced $0.05 per call over x402 on Base; send a prepaid x-credit-token header for unlimited calls, or get 1 free call/day per tool. No wallet or API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Person or company name |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | The result payload. Shape is service-specific; every field is documented in the tool description. |
| service | No | The service id that answered. |
| checkedAt | No | ISO-8601 timestamp of when the underlying reads were taken. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Even though annotations already mark this as read-only, idempotent, and non-destructive, the description adds meaningful behavioral detail: full-name match only, conservative-by-design behavior, inclusion of a.k.a. aliases, and its status as a screening aid rather than a compliance determination. It also discloses pricing, authentication options, and the lack of wallet/API key requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but every sentence adds value: purpose, scope boundary, expected output, behavioral caveat, required input, pricing, and credential requirements. The core purpose is front-loaded in the first sentence, and the supporting details are compactly organized.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter tool with full schema coverage, an output schema, and read-only/idempotent annotations, the description is complete. It covers what the tool does, what input is required, what outcomes to expect, how the matching behaves, and operational constraints like pricing and authentication. Nothing essential is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema describes 'name' as 'Person or company name' with 100% coverage, so the baseline is 3. The description adds practical semantics by clarifying that this is a name-based (not wallet-based) lookup, that a person or company is acceptable input, and that the screening checks against the SDN list including aliases. This exceeds baseline but does not add format-level constraints.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Screen'), a concrete resource ('person or company against the OFAC SDN list'), and expected outputs ('GO / HOLD / STOP'). It also draws a clear boundary from wallet-focused sibling tools with 'Sanctions screening for NAMES, not wallets,' which distinguishes it from related tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly indicates the use case: screening names, not wallets, and states the required input is a name. It implies wallet screening is out of scope, but it does not explicitly name alternatives like sanctions or sanctions_batch as the right choice for wallet screening. Still, the context is clear enough for an agent to route correctly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
secure_tokenARead-onlyIdempotentInspect
Cryptographically strong random IDs — Generate N cryptographically-strong, url-safe random tokens server-side — session IDs, API nonces, one-time codes, coupon secrets. Pass count= for how many. A tiny paid utility for agents that need entropy without a crypto library. Priced $0.01 per call over x402 on Base; send a prepaid x-credit-token header for unlimited calls, or get 1 free call/day per tool. No wallet or API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| count | No | How many |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | The result payload. Shape is service-specific; every field is documented in the tool description. |
| service | No | The service id that answered. |
| checkedAt | No | ISO-8601 timestamp of when the underlying reads were taken. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, openWorld, idempotent, and non-destructive behavior. The description adds meaningful behavioral context beyond that: server-side generation, url-safety, cryptographic strength, pricing per call, the x-credit-token header option, and the lack of wallet/API key requirements. This goes well beyond the annotation baseline.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The core functionality and parameter usage are front-loaded, and the billing/auth details are grouped at the end. Some pricing and marketing detail could be trimmed, but the extra information about payment, headers, and free daily usage is practically important for an agent deciding whether this paid tool is usable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter, non-destructive utility with an output schema present, the description covers what the tool does, how to pass the count, cost implications, authentication requirements, and availability. There are no critical gaps for the agent to make an initial invocation decision.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the schema's 'How many' is minimal. The description adds a little meaning by linking count= to generating N tokens, but it does not specify format, valid range, maximum count, or how the string type should encode a number. This meets the baseline requirement without adding substantial detail.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies a specific operation: generating cryptographically strong, url-safe random tokens. It provides concrete use cases (session IDs, API nonces, one-time codes, coupon secrets), which distinguishes it from the wide sibling set and makes its purpose immediately obvious.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context for when to use the tool: when an agent needs entropy without a crypto library, and it notes the count parameter usage. It does not explicitly name alternatives or when-not conditions, but the use cases and paid-utility framing imply appropriate usage, and no sibling tool serves this exact role.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sellabilityARead-onlyIdempotentInspect
Can you actually SELL it — or is it a honeypot? — The hard honeypot question, answered three ways: security simulation (honeypot, cannot-sell-all, sell/buy tax, transfer-pausable), a LIVE transfer simulation we run ourselves from a real holder (reverts/taxed?), and exit liquidity. Returns a hard canSell verdict with reasons. Selling is where rugs hide — check before you buy. Required input: address. Priced $0.08 per call over x402 on Base; send a prepaid x-credit-token header for unlimited calls, or get 1 free call/day per tool. No wallet or API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| size | No | Position size USD (exit check) | |
| address | Yes | Token contract address |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | The result payload. Shape is service-specific; every field is documented in the tool description. |
| service | No | The service id that answered. |
| checkedAt | No | ISO-8601 timestamp of when the underlying reads were taken. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, and non-destructive behavior. The description adds substantive context beyond annotations: it discloses the three simulation components, returns a 'hard canSell verdict with reasons', mentions per-call pricing and free-tier access, and explicitly says no wallet or API key is required. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is somewhat long but well-organized and front-loaded with the core purpose. The pricing and access details are useful operational context, though the 'Selling is where rugs hide — check before you buy' line is somewhat promotional and redundant with the opening question.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the output schema exists, the description does not need to detail return values. It covers required input, optional parameter purpose, access method, pricing, free usage, and authentication requirements. A bit more explicit guidance on when to prefer this over siblings would make it fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents both 'address' and 'size'. The description restates that address is required and hints that size is for exit checks, but adds no new format, units, or behavioral detail beyond the schema. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool's purpose: checking whether a token can actually be sold (honeypot detection) via three simulation approaches and a canSell verdict. It names the resource being evaluated (token address) and the core question, though it does not explicitly differentiate itself from sibling tools like exit_liquidity or pre_trade_gate.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use the tool — 'check before you buy' and 'Selling is where rugs hide' — and states the required input and pricing model. However, it does not explicitly explain when NOT to use it or how it compares to related alternatives, providing only implicit usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sign_guardARead-onlyIdempotentInspect
Should the agent sign THIS calldata? GO/HOLD/STOP — The check before the riskiest moment — signing. Decodes raw unsigned calldata (approve / permit / transfer / setApprovalForAll), shows the exact intent (who gets power over what, and whether it's UNLIMITED), and screens the destination + spender for OFAC sanctions and dangerous owner powers, in one GO/HOLD/STOP verdict + receipt. No simulation needed — pure decode + onchain risk. Catches the unlimited-approval drain vector before it's signed. Required input: data. Priced $0.06 per call over x402 on Base; send a prepaid x-credit-token header for unlimited calls, or get 1 free call/day per tool. No wallet or API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | Destination contract/token (recommended) | |
| data | Yes | Transaction calldata (0x…) |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | The result payload. Shape is service-specific; every field is documented in the tool description. |
| service | No | The service id that answered. |
| checkedAt | No | ISO-8601 timestamp of when the underlying reads were taken. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the description's behavioral disclosure aligns with those. It adds useful operational context beyond the annotations: it decodes specific function selectors, screens for OFAC sanctions and dangerous owner powers, returns a verdict + receipt, requires no simulation, and discloses pricing/header requirements (x402, $0.06, prepaid credit token, 1 free call/day). This goes beyond a bare read-only marker by explaining what the tool does onchain and what inputs are needed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is densely packed but well front-loaded: the core question, verdict, and decoding scope appear in the first sentences, followed by risk screening, pricing, and free-tier details. It is long, but every sentence contributes meaningful operational or risk context. The only minor deduction is that pricing and header details could arguably live in a separate billing field, yet they are relevant for an agent deciding whether to call the tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given there is an output schema (the verdict + receipt is described but structured output is presumably in the schema), the description covers the key operational context: required input, what is decoded, what risk checks are performed, pricing, and no-wallet requirement. It doesn't specify whether 'to' is optional in behavior or how sanctions screening handles the destination vs spender, but the tool is simple enough (2 params, no nested objects) that this is not a critical gap. The description is complete for selecting and invoking the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents both parameters. The description reinforces that 'data' is required and adds minimal semantics by saying it is 'raw unsigned calldata (0x…)' — matching the schema. It doesn't add meaning beyond the schema for 'to', but because coverage is complete and the description repeats the required input, a baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a sharp, specific purpose: 'Should the agent sign THIS calldata? GO/HOLD/STOP — The check before the riskiest moment — signing.' It clearly identifies the resource (raw unsigned calldata), the exact actions decoded (approve/permit/transfer/setApprovalForAll), and the output (a GO/HOLD/STOP verdict + receipt). It also differentiates from siblings like tx_decode by emphasizing it is a pre-signing risk screen rather than a generic decoder.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description states when to use it: before signing calldata, particularly to catch unlimited-approval drain vectors, and states what it does not involve ('No simulation needed — pure decode + onchain risk'). It doesn't explicitly name alternative tools to use instead, but the unique pre-signing GO/HOLD/STOP framing and explicit 'no simulation' note make the intended context clear. With a sibling list full of risk and decode tools, an explicit alternative would have been stronger.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
spend_auditARead-onlyIdempotentInspect
Which apps/agents can pull funds from this Base wallet? — Base Account spend permissions let an app or agent spend a scoped, recurring allowance from a wallet — the primitive behind autonomous agent payments on Base. This reconstructs a wallet's ACTIVE spend permissions from onchain approve/revoke events and flags the dangerous ones: unlimited allowance, no expiry, unrecognized spender. The Base-native, agent-era drain check that ERC-20 approval tools can't see. Required input: wallet. Priced $0.05 per call over x402 on Base; send a prepaid x-credit-token header for unlimited calls, or get 1 free call/day per tool. No wallet or API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| wallet | Yes | Wallet address |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | The result payload. Shape is service-specific; every field is documented in the tool description. |
| service | No | The service id that answered. |
| checkedAt | No | ISO-8601 timestamp of when the underlying reads were taken. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark this as read-only, idempotent, and non-destructive. The description adds important behavioral details beyond annotations: it reconstructs permissions from approve/revoke events, flags unlimited allowance/no expiry/unrecognized spenders, and discloses pricing, the x-credit-token header, and the lack of API-key or wallet-connection requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The core question and behavior are front-loaded, with pricing and auth usage conveniently placed at the end. A little promotional phrasing ('agent-era drain check', 'ERC-20 approval tools can't see') is somewhat redundant but does not prevent an agent from quickly grasping the tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter, read-only tool with an output schema, the description fully covers purpose, input, behavioral edge cases, cost, and authentication. Nothing critical is missing for selecting and invoking it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the schema already documents the required 'wallet' parameter as a wallet address. The description repeats 'Required input: wallet' and clarifies no external API key is needed, but adds no format, validation, or network-specific detail beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a precise question and clearly states the tool's function: reconstructing a Base wallet's ACTIVE spend permissions from onchain approve/revoke events and flagging dangerous allowances. It distinguishes itself from generic ERC-20 approval tools by focusing on Base Account spend permissions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context: use this when auditing which apps/agents can spend from a Base wallet via Base Account spend permissions. It contrasts itself with ERC-20 approval tools, implying the alternative class, but does not name a specific sibling or provide an explicit when-not-to-use list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
swap_routeARead-onlyIdempotentInspect
Where to trade it, the impact, and whether it's safe to receive — Give a token and a trade size in USD → the deepest Base pool to route through, estimated price impact, a suggested slippage tolerance + minimum-out, all gated on a honeypot/sell-tax check of the token you'd receive (no point routing into something you can't sell). Moves an agent from analysis to action in one call. Required input: tokenOut. Priced $0.03 per call over x402 on Base; send a prepaid x-credit-token header for unlimited calls, or get 1 free call/day per tool. No wallet or API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| tokenOut | Yes | Token to receive | |
| amountUsd | No | Trade size in USD |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | The result payload. Shape is service-specific; every field is documented in the tool description. |
| service | No | The service id that answered. |
| checkedAt | No | ISO-8601 timestamp of when the underlying reads were taken. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive. The description adds genuinely new behavioral context: results are gated on a honeypot/sell-tax check of the received token, it runs over Base using the deepest pool, and returns a minimum-out plus slippage suggestion. It also discloses pricing and free-tier terms, with no contradiction of annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is slightly longer than necessary — 'Moves an agent from analysis to action in one call' is promotional — but it is front-loaded with the core output and every sentence provides some useful information such as pricing, no-api-key requirement, and the safety gate. No schema fields are repeated.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present and full parameter coverage, the description covers the remaining essential context: network (Base), pricing/credits, required input, the safety gate, and what the call returns. An agent can decide whether this is the right tool and how to invoke it without opening other definitions.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema already covers both parameters with 100% coverage. The description adds minimal meaning by mapping 'a token' and 'trade size in USD' to tokenOut and amountUsd, and reaffirms tokenOut is required, but it does not specify format details such as address vs. symbol. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States exactly what the tool does: returns the deepest Base pool to route through, estimated price impact, suggested slippage tolerance, minimum-out, and a honeypot/sell-tax check of the receive token. This is a specific verb+resource outcome that distinguishes it from sibling safety-only tools such as pre_trade_gate or sellability.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly frames when to use it — give a token and trade size in USD to get routing, impact, slippage, and safety — and notes it requires no wallet/API key. However, it does not name alternatives or exclusion conditions, so guidance on when NOT to use it is absent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
token_balanceARead-onlyIdempotentInspect
One wallet's balance of one token — An ERC-20 balance on Base, in raw units and in decimals, with the token's symbol and decimals resolved in the same call. Zero is flagged explicitly, since it is the commonest answer and the one most easily confused with a failed read. An address that doesn't implement balanceOf answers found:false and says so. Required inputs: token, wallet. Priced $0.002 per call over x402 on Base; send a prepaid x-credit-token header for unlimited calls, or get 1 free call/day per tool. No wallet or API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| token | Yes | Token contract | |
| wallet | Yes | Wallet address |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | The result payload. Shape is service-specific; every field is documented in the tool description. |
| service | No | The service id that answered. |
| checkedAt | No | ISO-8601 timestamp of when the underlying reads were taken. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate read-only, open-world, and idempotent behavior, and the description adds substantial detail beyond that: zero balances are explicitly flagged, non-balanceOf contracts return found:false, symbol and decimals are resolved in the same call, and there is no API key requirement. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core purpose and then efficiently adds edge-case, failure-mode, and pricing information. Every sentence adds useful information without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter read tool with an output schema, the description covers the essential edge cases (zero balance, unsupported contract), the resolved return data, and operational requirements like cost and authentication. Nothing critical is missing for an agent to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the parameters are already documented. The description confirms that token and wallet are required inputs and adds that token is an ERC-20 contract on Base, but it does not provide additional format or validation semantics beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'One wallet's balance of one token — An ERC-20 balance on Base'. It also clarifies scope and return content, distinguishing it from broader wallet or token-level tools like wallet_tokens or token_supply.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear prerequisites ('Required inputs: token, wallet') and useful context about pricing and authentication requirements. However, it does not explicitly state when to prefer this tool over sibling alternatives or when not to use it, leaving usage selection mostly implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
token_compareARead-onlyIdempotentInspect
2-5 candidates in, one ranked pick out — Agents choose between tokens, not around them. Pass 2-5 Base token addresses → each gets a 0-100 quality score (safety-weighted: rug score first, then liquidity depth, then momentum), ranked best-first, with a named pick — or an honest 'none pass the gate'. One call returns a decision instead of a dozen data dumps. Required input: addresses. Priced $0.05 per call over x402 on Base; send a prepaid x-credit-token header for unlimited calls, or get 1 free call/day per tool. No wallet or API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| addresses | Yes | Token addresses (comma-separated, 2-5) |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | The result payload. Shape is service-specific; every field is documented in the tool description. |
| service | No | The service id that answered. |
| checkedAt | No | ISO-8601 timestamp of when the underlying reads were taken. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations carry only a title, so the description carries the full burden. It discloses the scoring behavior (0-100, safety-weighted with rug score first, then liquidity depth, then momentum), ranking order, the fallback 'none pass the gate', and pricing/auth requirements. It does not explicitly state read-only semantics, but 'no wallet or API key required' implies an analysis-only call.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the purpose and then gives scoring, output, pricing, and auth details. Some phrasing is slightly redundant ('one ranked pick out' and 'one call returns a decision'), but it remains compact and every major fact earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With only one input parameter and no output schema, the description explains the expected output semantics well: scores, weighting, ranking, named pick, and the fallback. It is sufficient for an agent to invoke the tool and interpret the result. The exact response structure and edge-case behavior are not spelled out, which prevents a top score.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already documents the single 'addresses' parameter as comma-separated and 2-5 tokens. The description adds meaning beyond that by specifying the network ('Base token addresses') and framing the input as selection candidates. The extra Base-chain detail is materially useful for correct invocation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific, active formulation: 'Pass 2-5 Base token addresses → each gets a 0-100 quality score... ranked best-first'. This clearly identifies the tool as a comparative token-decision helper and distinguishes it from per-token data lookups via the opening contrast 'choose between tokens, not around them'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It states the exact intended context: when anagent must choose among 2-5 token candidates, and contrasts itself with 'a dozen data dumps', implying it should replace multiple lookups. It does not explicitly name sibling tools as alternatives or state exclusions such as 'for >5 tokens use another tool', but the usage context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
token_infoARead-onlyIdempotentInspect
Name, logo, website & socials for a token — Metadata for a Base token: name, symbol, logo image, official website and social links (X/Telegram/etc.) plus price & liquidity — from DexScreener. For agents and UIs enriching a token. Required input: address. Priced $0.01 per call over x402 on Base; send a prepaid x-credit-token header for unlimited calls, or get 1 free call/day per tool. No wallet or API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes | Token contract address |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | The result payload. Shape is service-specific; every field is documented in the tool description. |
| service | No | The service id that answered. |
| checkedAt | No | ISO-8601 timestamp of when the underlying reads were taken. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations (read-only, idempotent, open-world), the description discloses pricing ($0.01 per call over x402 on Base), auth needs (x-credit-token header for unlimited calls or free daily call), and that no wallet or API key is required. It also names DexScreener as the data source, adding meaningful operational context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core resource and purpose, then adds valuable operational details about pricing, auth, and use case. There is slight redundancy between the opening phrase and the later metadata list, but no irrelevant content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-required-parameter tool with full schema coverage and an output schema, the description is complete: it covers intended use, data source, required input, pricing, authentication, and access constraints. No major operational information is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the schema already defines 'address' as a token contract address. The description only repeats that address is required and implies it is a Base token address, adding no meaningful format, validation, or additional semantic detail beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the function: return name, symbol, logo image, website, social links, price, and liquidity for a Base token via DexScreener. It uses a specific verb-plus-resource structure and differentiates itself from price/risk-focused siblings by emphasizing metadata and social enrichment.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description states a clear context ('For agents and UIs enriching a token') and identifies the required input (address). It does not explicitly name when-not-to-use or alternatives, but the intended use case is evident enough for an agent to select it appropriately.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
token_momentumARead-onlyIdempotentInspect
Price & volume trend across 1h / 6h / 24h — Price change and trading volume across 1h, 6h and 24h windows for a Base token, plus a trend read (strong_up → strong_down). Lets agents gauge momentum, not just a single 24h number. Required input: address. Priced $0.02 per call over x402 on Base; send a prepaid x-credit-token header for unlimited calls, or get 1 free call/day per tool. No wallet or API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes | Token contract address |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | The result payload. Shape is service-specific; every field is documented in the tool description. |
| service | No | The service id that answered. |
| checkedAt | No | ISO-8601 timestamp of when the underlying reads were taken. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, open-world, and idempotent behavior. The description adds useful operational context: Base chain, per-call pricing, prepaid header option, free call/day, and no wallet/API key requirement. This goes beyond annotations without contradicting them.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The core behavior is front-loaded and the access/pricing details are useful. Minor redundancy appears in repeating 'across 1h / 6h / 24h' and 'across 1h, 6h and 24h windows,' but the overall length is justified.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only tool with an output schema, the description covers chain, required input, windows, trend read, pricing, and access requirements. Nothing necessary for correct invocation is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema already covers the only parameter with 100% coverage, so the deescription doesn't need to explain address syntax. It adds one useful semantic: the token is on Base. Beyond that it mostly restates 'Required input: address,' which is already in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific resource (Base token price/volume) across multiple time windows plus a trend read, which clearly distinguishes momentum from a single 24h number. The purpose is concrete and actionable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explains it is for gauging momentum and explicitly notes it is not a single 24h number, which implies use for multi-window trend assessment rather than spot price. It does not name a specific sibling tool or exclusion case, but gives enough context to route correctly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
token_poolsARead-onlyIdempotentInspect
All DEX pools for a token, deepest first — Lists every DEX pool for a Base token (pair address, DEX, quote symbol, price, liquidity, 24h volume), sorted by liquidity. Tells agents where — and how deep — a token can be traded. Required input: address. Priced $0.02 per call over x402 on Base; send a prepaid x-credit-token header for unlimited calls, or get 1 free call/day per tool. No wallet or API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes | Token contract address |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | The result payload. Shape is service-specific; every field is documented in the tool description. |
| service | No | The service id that answered. |
| checkedAt | No | ISO-8601 timestamp of when the underlying reads were taken. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, openWorldHint=true, idempotentHint=true, and destructiveHint=false. The description adds valuable behavioral context beyond that: liquidity-sorted output, pricing ($0.02/call), x402 transport on Base, the optional prepaid x-credit-token header, one free call/day, and no wallet/API key requirement. There is no contradiction with the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The key identification and sorting information is front-loaded in the first clause ('All DEX pools for a token, deepest first'), and the rest of the description packs the output fields, input requirement, pricing, and authentication model into compact, purposeful sentences with no filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter, read-only lookup with an output schema present, the description is complete: it covers the input, the output fields, the sort order, the network (Base), the cost model, and the authentication setup. Nothing essential is missing for an agent to decide whether to call this tool and how to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema coverage is 100%: the only parameter, address, is already described as 'Token contract address.' The description merely restates that an address is required and adds no new semantic detail beyond the schema. This matches the baseline for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a precise verb-resource statement: 'Lists every DEX pool for a Base token' and specifies the exact output fields (pair address, DEX, quote symbol, price, liquidity, 24h volume) and sort order (sorted by liquidity). This makes the tool clearly distinct from siblings like token_price or pair_info by focusing on the complete set of pools and the tradability depth for a token.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly tells the agent when this tool is relevant: 'Tells agents where — and how deep — a token can be traded.' It also states the required address input and gives operational context such as no wallet/API key needed. However, it does not name alternative tools or explicit when-not scenarios, so it stops short of full alternative routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
token_priceARead-onlyIdempotentInspect
DEX price & liquidity for any Base token — Pass a Base token contract address and get the current USD price, 24h change, liquidity, and volume from DexScreener (highest-liquidity pair auto-selected). No API key required. Required input: address. Priced $0.02 per call over x402 on Base; send a prepaid x-credit-token header for unlimited calls, or get 1 free call/day per tool. No wallet or API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes | Token contract address |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | The result payload. Shape is service-specific; every field is documented in the tool description. |
| service | No | The service id that answered. |
| checkedAt | No | ISO-8601 timestamp of when the underlying reads were taken. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark the tool as read-only, idempotent, and non-destructive. The description adds useful behavioral context beyond that: DexScreener as the source, highest-liquidity pair auto-selection, $0.02 per-call pricing over x402, the prepaid x-credit-token header option, and the free-call allowance. It does not cover failure modes, but the annotation safety profile is already strong.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The first sentence is dense and highly informative, and the pricing/header details are relevant. However, 'No API key required' appears twice and 'Required input: address' redundantly repeats the schema, so the description is slightly less efficient than it could be.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter read-only tool with a full output schema and strong annotations, the description covers the remaining needed operational context: data source, returned fields, pricing, authentication method, and network scope. Nothing critical is missing for an agent to decide whether and how to invoke it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the single required address parameter is already described as 'Token contract address'. The description reinforces that the address must be a Base token contract, but it does not add substantial format or validation details beyond what the schema already provides, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific action and resource: get DEX price and liquidity for any Base token, including current USD price, 24h change, liquidity, and volume from DexScreener. It is specific enough to distinguish from generic token tools, but it does not explicitly name or differentiate sibling tools like multi_price or token_info, so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear operational context: pass a Base token contract address to get a single-token price/liquidity snapshot, with no API key or wallet required. It does not explicitly state when not to use it or point to alternatives among the many siblings, but the intended use case is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
token_riskARead-onlyIdempotentInspect
Pre-trade safety score for any Base token — Pass a token contract address and get a risk score + flags (ERC-20 conformance, ownership renounce, upgradeable proxy) computed live from Base. Built for trading bots and agents that vet tokens before buying. Required input: address. Priced $0.03 per call over x402 on Base; send a prepaid x-credit-token header for unlimited calls, or get 1 free call/day per tool. No wallet or API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes | Token contract address |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | The result payload. Shape is service-specific; every field is documented in the tool description. |
| service | No | The service id that answered. |
| checkedAt | No | ISO-8601 timestamp of when the underlying reads were taken. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, idempotent, non-destructive behavior. The description adds meaningful context beyond annotations: live computation from Base, $0.03 per-call pricing, the x-credit-token header option, free daily calls, and no wallet or API key requirement. This is valuable operational transparency with no contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but not bloated. The core purpose and output are front-loaded in the first sentence, followed by use case, required input, and pricing/auth details. Every sentence contributes actionable information, though the pricing/header details could be slightly more separated for skimming.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter tool with a full output schema and safety-revealing annotations, the description gives everything needed: input semantics, use case, live computation, cost/credits, and auth requirements. It even addresses common blockers by noting 'No wallet or API key required.' The output schema covers return values, so nothing essential is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already fully documents the only parameter as 'Token contract address' with 100% coverage. The description adds little beyond restating that address is required, which matches the baseline for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly identifies the operation as producing a pre-trade risk score for Base tokens, including concrete outputs like risk score and flags. It distinguishes itself from generic token tools by emphasizing pre-trade vetting, though it does not explicitly name sibling alternatives such as rug_score or ai_contract_risk.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states the intended use case: 'Built for trading bots and agents that vet tokens before buying.' It also clarifies operational context like pricing, credit header, and free calls, but doesn't provide explicit when-not-to-use guidance or name alternative siblings for similar risk checks.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
token_supplyARead-onlyIdempotentInspect
Total supply, in units you can actually use — totalSupply for any Base token, returned raw and scaled by its decimals, alongside the name and symbol. When a contract doesn't declare decimals the answer assumes 18 and marks that it assumed — a silent guess here quietly moves every downstream number by orders of magnitude. Non-token addresses answer found:false. Required input: token. Priced $0.002 per call over x402 on Base; send a prepaid x-credit-token header for unlimited calls, or get 1 free call/day per tool. No wallet or API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| token | Yes | Token contract |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | The result payload. Shape is service-specific; every field is documented in the tool description. |
| service | No | The service id that answered. |
| checkedAt | No | ISO-8601 timestamp of when the underlying reads were taken. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description reveals important behaviors beyond annotations: decimal assumptions are marked when not declared, non-token addresses return found:false, and pricing/authentication requirements are disclosed. This adds real operational context the annotations do not cover. No contradictions with the readOnly, openWorld, or idempotent hints are present.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but every sentence earns its place: core purpose, decimal edge case, non-token behavior, required input, pricing, and access requirements. The most important information is front-loaded. It is long but not wasteful, effectively communicating critical caveats an agent must know.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present and rich annotations, the description covers all essential operational context: input, output behavior, error/edge cases, pricing, authentication, and network. An agent has enough information to call this tool correctly and interpret its results. Nothing critical is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with the 'token' parameter described as 'Token contract', so the schema already documents the only input. The description adds that the token should be a Base token and mentions non-token behavior, but does not enrich the parameter meaning significantly beyond that. Baseline 3 is appropriate given full schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states precisely what the tool does: returns totalSupply for any Base token, both raw and decimal-scaled, plus name and symbol. It clearly distinguishes its output from generic token queries by emphasizing usable units and the decimals handling. The verb 'returns' and resource 'totalSupply for any Base token' make the purpose unmistakable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context on when to use this tool: when you need total supply in usable units with decimal scaling, name, and symbol. It does not explicitly name alternatives or exclusion conditions, but it implicitly distinguishes itself from other token tools by focusing on supply and decimal correctness. It also explains edge cases like non-token addresses returning found:false.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
token_transfersARead-onlyIdempotentInspect
A wallet's in/out transfers of a token — Recent transfers of a specific token for a wallet — direction (in/out), amount, USD value, counterparty, tx hash and time, via Covalent. For agents tracking token flows and cost basis. Required inputs: address, token. Priced $0.03 per call over x402 on Base; send a prepaid x-credit-token header for unlimited calls, or get 1 free call/day per tool. No wallet or API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| token | Yes | Token contract | |
| address | Yes | Wallet address |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | The result payload. Shape is service-specific; every field is documented in the tool description. |
| service | No | The service id that answered. |
| checkedAt | No | ISO-8601 timestamp of when the underlying reads were taken. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only, idempotent, and non-destructive behavior, lowering the bar for additional disclosure. The description adds meaningful context beyond annotations: data comes from Covalent, results are limited to 'recent' transfers, calls cost $0.03 over x402 on Base, and no wallet or API key is required. There is no contradiction with the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is fairly compact and front-loaded, but it repeats the same idea in 'A wallet's in/out transfers of a token' and 'Recent transfers of a specific token for a wallet.' It also restates 'Required inputs: address, token,' which duplicates the schema. The pricing and auth details are useful, but some redundancy keeps it from being maximally concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter read-only tool with an output schema available, the description is largely complete: it covers inputs, returned fields, provider, recency, pricing, and access requirements. It does not specify pagination limits or exact time windows, but 'recent transfers' and the existing output schema make this sufficient for an agent to call the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already documents both parameters with 100% descriptive coverage, so the baseline of 3 applies. The description merely repeats 'address, token' as required inputs without adding format details, constraints, or chain/network semantics. It does not need to compensate for schema gaps.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as returning a wallet's recent in/out transfers of a specific token and enumerates the returned fields: direction, amount, USD value, counterparty, tx hash, and time. It lacks a direct imperative verb like 'lists' or 'returns,' and it does not explicitly contrast with sibling tools, so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives a clear intended use case: 'For agents tracking token flows and cost basis.' It also communicates access requirements such as pricing, prepaid header, free-call allowance, and no wallet/API key needed. It does not mention exclusions or name alternative tools, but the usage context is explicit enough.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
token_unlockARead-onlyIdempotentInspect
When does locked LP unlock — is a cliff coming? — Turns raw LP-lock data into a forward calendar: each unlock with its date, the % of LP it frees, the locker (UNCX / Team Finance labelled), and days away — flagging imminent unlocks (<30 days). An LP unlock is a scheduled price event: the moment a rug becomes possible. For agents managing open positions. Required input: address. Priced $0.02 per call over x402 on Base; send a prepaid x-credit-token header for unlimited calls, or get 1 free call/day per tool. No wallet or API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes | Token contract address |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | The result payload. Shape is service-specific; every field is documented in the tool description. |
| service | No | The service id that answered. |
| checkedAt | No | ISO-8601 timestamp of when the underlying reads were taken. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnlyHint=true, idempotentHint=true, destructiveHint=false), so the bar is lower. The description adds genuinely useful behavioral context beyond the annotations: pricing ($0.02/call), quota (1 free call/day), network (Base), auth requirements (no wallet/API key), and the semantic significance ('the moment a rug becomes possible').
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the value proposition and output semantics, then business details. The pricing sentence is dense but decision-relevant for a paid tool. It is longer than strictly necessary, but every section earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return-value documentation is already handled. The description covers the problem domain, output semantics, use case, required input, network, cost, and access — nothing an agent needs to decide whether and how to call it is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% — the schema already documents address as 'Token contract address'. The description merely restates 'Required input: address' without adding any meaning beyond the schema, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific transformation — 'Turns raw LP-lock data into a forward calendar' — with concrete output fields (date, % of LP freed, locker, days away, imminent-unlock flag). It differentiates from the sibling lp_lock tool by framing this as the forward/scheduled view, not raw lock data.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context: 'For agents managing open positions' and frames the trigger question 'is a cliff coming?', which tells an agent when this risk-calendar tool is relevant. It does not explicitly name an alternative such as lp_lock or state when not to use it, so it falls short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
trending_tokensARead-onlyIdempotentInspect
Currently boosted/promoted Base tokens — Fetches the DexScreener boosts feed filtered to Base — up to 15 trending tokens with address, description, boost amount, and link. Great for discovery bots. Priced $0.01 per call over x402 on Base; send a prepaid x-credit-token header for unlimited calls, or get 1 free call/day per tool. No wallet or API key required.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | The result payload. Shape is service-specific; every field is documented in the tool description. |
| service | No | The service id that answered. |
| checkedAt | No | ISO-8601 timestamp of when the underlying reads were taken. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, openWorld, idempotent, and non-destructive, and the description adds valuable behavioral context beyond that: pricing per call, prepaid header for unlimited calls, daily free call, and no wallet/API key requirement. This meaningfully informs the agent about cost and authentication behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is tightly structured with the core purpose front-loaded, followed by output details, use case, and pricing. Every sentence adds distinct information and there is no redundant filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter read-only tool with an output schema and rich annotations, the description is complete: it covers scope, output contents, limits, cost model, and authentication requirements. An agent has everything needed to decide whether and how to call this tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and schema coverage is 100%, so there is nothing for the description to clarify. Baseline 4 is appropriate since the description does not need to compensate for any parameter documentation gaps.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Fetches') and names a concrete resource (DexScreener boosts feed filtered to Base), with a clear outcome: up to 15 trending tokens including address, description, boost amount, and link. It clearly distinguishes the tool from the many token-related siblings by focusing on 'boosted/promoted' tokens on Base.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description states the tool is 'Great for discovery bots,' giving a clear use case. It does not explicitly name alternative tools or exclusion conditions, but the Base boosts feed context strongly implies when it applies versus other token discovery tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tx_decodeARead-onlyIdempotentInspect
Structural decode of any Base transaction — Provide a Base transaction hash and get a structured summary: from/to, ETH value, status, gas used, block, method selector, and nonce — straight from Base RPC. Required input: hash. Priced $0.02 per call over x402 on Base; send a prepaid x-credit-token header for unlimited calls, or get 1 free call/day per tool. No wallet or API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| hash | Yes | Transaction hash |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | The result payload. Shape is service-specific; every field is documented in the tool description. |
| service | No | The service id that answered. |
| checkedAt | No | ISO-8601 timestamp of when the underlying reads were taken. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only, idempotent, open-world, and non-destructive behavior. The description adds valuable context beyond annotations: pricing ($0.02 per call), authentication via x-credit-token header, free tier, no wallet/API key requirement, and that data comes straight from Base RPC. No contradictions with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded: purpose and outputs in the first sentence, then required input and pricing/auth in the following sentences. 'Required input: hash' is slightly redundant with the schema, but every other part earns its place and nothing is bloated.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter, read-only tool with an output schema and strong annotations, the description is fully adequate. It covers what the tool does, what input it needs, what output to expect, cost, auth, and prerequisites. No missing information would prevent correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with the single 'hash' parameter described as 'Transaction hash'. The description only restates 'Required input: hash' and 'Provide a Base transaction hash', adding no semantic detail beyond the schema. Baseline 3 applies because the schema already fully documents the parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states a specific verb ('decode') and resource ('any Base transaction'), and lists the exact output fields (from/to, ETH value, status, gas used, block, method selector, nonce). It does not explicitly differentiate from siblings like base_tx, base_receipt, or ai_tx_explain, so it loses the top score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear call-level guidance: provide a transaction hash, with pricing and authentication options. However, it does not state when to prefer this tool over alternatives such as base_receipt or ai_tx_explain, nor any exclusion conditions. Usage context is implied but not explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
url_extractARead-onlyIdempotentInspect
Any web page → clean, agent-ready text — Pass a URL and get the page as clean text — furniture (nav, scripts, ads, footers) stripped, paragraphs preserved — plus its title, description and site name. The step every agent needs before it can reason about a page, and the one most agents can't do themselves: serverless runtimes and MCP clients have no browser and no HTML parser. Follows redirects safely, refuses non-text content, caps at 2 MB. Nothing crypto about it. Required input: url. Priced $0.002 per call over x402 on Base; send a prepaid x-credit-token header for unlimited calls, or get 1 free call/day per tool. No wallet or API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Page URL | |
| maxChars | No | Max characters (optional) |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | The result payload. Shape is service-specific; every field is documented in the tool description. |
| service | No | The service id that answered. |
| checkedAt | No | ISO-8601 timestamp of when the underlying reads were taken. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnly/idempotent annotations, the description discloses redirect following, refusal of non-text content, the 2 MB cap, and the operational cost/auth model with x-credit-token. These are concrete behavioral constraints an agent would not otherwise know. There is no contradiction with the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The core behavior is front-loaded, and the pricing/auth details are conveniently placed at the end. The description is slightly wordy with marketing lines such as 'The step every agent needs...' and 'Nothing crypto about it,' but most included details serve an operational purpose for a paid tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present and annotations already conveying readOnly and idempotent behavior, the description covers the input, output contents, constraints, and access/cost model. Nothing essential for making a correct first call is missing; maxChars ambiguity is minor because the schema already provides its basic meaning.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description only restates that url is required and adds a general 2 MB limit, without clarifying how maxChars interacts with the output length. It does not materially improve on the schema's parameter descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Pass a URL and get the page as clean text is a specific verb-resource-outcome statement. It details what is stripped and preserved, so the tool's purpose is unmistakable. It does not explicitly name sibling tools like url_to_json or web_extract, so it falls just short of full sibling differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly explains when the tool is needed: before an agent can reason about a web page, especially in serverless/MCP runtimes that lack a browser or HTML parser. It also states exclusions such as refusing non-text content and capping at 2 MB, though it does not name alternative tools for related tasks like web search or structured JSON extraction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
url_to_jsonARead-onlyIdempotentInspect
Point at a page, name the fields, get JSON — One call replaces two: fetches the page, strips it to readable text, then returns exactly the fields you asked for as schema-enforced JSON (fields=price,author,published — up to 10). Add list=true to pull EVERY repeated record on the page (listings, table rows, search results) as an array — that mode costs $0.06, since it needs a much larger output budget. Built for agents that need a fact off a page, not a pile of HTML — no browser, no parser, no scraping code. Required inputs: url, fields. Priced $0.01 per call over x402 on Base; send a prepaid x-credit-token header for unlimited calls, or get 1 free call/day per tool. No wallet or API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Page URL | |
| list | No | Extract all records (true/false) | |
| fields | Yes | Fields (comma-separated) |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | The result payload. Shape is service-specific; every field is documented in the tool description. |
| service | No | The service id that answered. |
| checkedAt | No | ISO-8601 timestamp of when the underlying reads were taken. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only/idempotent/non-destructive behavior. The description adds pricing per call, the $0.06 list-mode cost, output-budget reasoning, schema enforcement, and authentication options (x-credit-token header, free daily call). No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is long but front-loaded: core value proposition first, then list mode/cost, then pricing and auth. Every sentence carries distinct useful information, though some pricing details could be streamlined without losing value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return-value details are already covered. The description sufficiently covers required inputs, both modes, field limits, pricing tiers, authentication, and the platform, which is enough for an agent to decide and invoke correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is justified. The description adds meaning with a concrete fields example (price,author,published, up to 10), a clear definition of list=true as returning an array of every repeated record, and explicit mention of required inputs.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear operation: fetch a page, strip it to readable text, and return only the requested fields as schema-enforced JSON. It also differentiates itself from raw scraping tools with phrases like 'not a pile of HTML' and 'no browser, no parser, no scraping code'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides clear usage context ('agents that need a fact off a page') and conditional guidance for list=true (repeated records, listings, table rows, search results). It does not explicitly name sibling tools or exclusion cases, so it falls just short of full alternative routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vat_checkARead-onlyIdempotentInspect
Is this VAT number well-formed — and was the checksum actually run? — Validate an EU VAT number offline: country prefix, national format, and the published check-digit algorithm for the 8 countries that have one (BE, DE, FR, IT, LU, NL, PL, PT). The response says which of the two you got — checksumChecked distinguishes a verified number from a format-only pass, because they are not the same strength of answer. Registration is deliberately NOT claimed: only VIES can say whether a number is registered, and this endpoint does not call it. Required input: vat. Priced $0.002 per call over x402 on Base; send a prepaid x-credit-token header for unlimited calls, or get 1 free call/day per tool. No wallet or API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| vat | Yes | VAT number |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | The result payload. Shape is service-specific; every field is documented in the tool description. |
| service | No | The service id that answered. |
| checkedAt | No | ISO-8601 timestamp of when the underlying reads were taken. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark the tool as read-only and idempotent, and the description adds valuable behavioral context: it is offline, does not call VIES, returns a checksumChecked flag to distinguish verification strength, requires no wallet or API key, and has specific pricing/credit-token requirements. There is no contradiction with the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but efficient, front-loading the core question and then covering scope, limitations, input, and commercial terms in a compact form. The opening rhetorical question and the explicit 'Required input: vat' line are minor redundancies, but overall every section earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter tool with a fully described schema, an output schema, and safety-oriented annotations, the description provides all decision-relevant context: offline behavior, checksum semantics, no VIES registration claim, required input, and auth/pricing details. An agent can correctly invoke this tool without additional inference.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already defines vat as 'VAT number', so schema coverage is 100%. The description adds meaning by clarifying it must be an EU VAT number and explaining the validation logic applied to it: country prefix, national format, and check-digit algorithm. The 'Required input: vat' line is redundant, but the extra semantic context is useful.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'Validate an EU VAT number offline', with concrete scope (country prefix, national format, and published check-digit algorithm for specified countries). It also disambiguates from a VIES registration check, which is the main confusion point for VAT tools, even though it does not name a sibling tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says when not to use it: 'Registration is deliberately NOT claimed' and directs to VIES as the only source for registration status. It also distinguishes checksum-verified results from format-only results. However, it does not explicitly reference sibling tools or state a positive 'use this when...' directive, so the when-to-use guidance remains somewhat implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
volume_checkARead-onlyIdempotentInspect
Is this trading volume real — or painted on by bots? — Reads the deepest pool's 24h volume, buy/sell counts, liquidity and price move, and scores how organic the activity looks. Volume 10x+ the pool's liquidity, near-perfect buy/sell symmetry, or big volume that moves the price nowhere are the classic wash-trading signatures used to bait buyers. Returns a 0-100 suspicion score and verdict. Required input: address. Priced $0.02 per call over x402 on Base; send a prepaid x-credit-token header for unlimited calls, or get 1 free call/day per tool. No wallet or API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes | Token contract address |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | The result payload. Shape is service-specific; every field is documented in the tool description. |
| service | No | The service id that answered. |
| checkedAt | No | ISO-8601 timestamp of when the underlying reads were taken. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnlyHint=true, idempotentHint=true, destructiveHint=false), lowering the bar, and the description still adds substantial context: pricing ($0.02 per call over x402 on Base), auth requirements (prepaid x-credit-token header, 1 free call/day), no-wallet/no-API-key requirement, and the specific heuristic signals (volume/liquidity ratio, buy/sell symmetry, price movement) that drive the score. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Well-structured flow from purpose to heuristics to output to input to pricing, and every content block earns its place. The opening rhetorical question delays the functional statement slightly, and the pricing sentence packs three facts into one long clause, but there is no real waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter read tool with an output schema, the description is complete: it covers what data is read, the interpretive heuristics, the score/verdict output, the required input, and the commercial access terms. The heuristic explanation adds interpretive value that an output schema alone would not convey, so nothing an agent needs to call and interpret this tool is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% — the schema already documents 'address' as 'Token contract address.' The description only restates 'Required input: address,' adding no format, domain, or usage detail beyond the schema. Baseline 3 is correct since the schema carries the full semantic weight.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb-resource pair: 'Reads the deepest pool's 24h volume, buy/sell counts, liquidity and price move, and scores how organic the activity looks.' The wash-trading authenticity focus cleanly distinguishes it from near-neighbor risk tools like rug_score, and the 0-100 suspicion score + verdict output is pinned down. The opening rhetorical question is stylistic, but the functional core is precise and unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The use case is implied through scenario framing ('classic wash-trading signatures used to bait buyers' suggests pre-trade due diligence), but no sibling tool is named and no when-not-to-use guidance is given. This is a real gap given many overlapping siblings (rug_score, pre_trade_gate, sellability, safe_to_send) that an agent could confuse it with.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
wallet_activityARead-onlyIdempotentInspect
Recent transactions for an address — The latest transactions for a Base address — hash, time, from/to, ETH value, success — via Covalent. For agents tracking what a wallet is doing. Required input: address. Priced $0.03 per call over x402 on Base; send a prepaid x-credit-token header for unlimited calls, or get 1 free call/day per tool. No wallet or API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes | Wallet address |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | The result payload. Shape is service-specific; every field is documented in the tool description. |
| service | No | The service id that answered. |
| checkedAt | No | ISO-8601 timestamp of when the underlying reads were taken. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnly, idempotent, and non-destructive behavior, and the description adds valuable operational context beyond that: Covalent as the data source, Base network, pricing, the optional prepaid header, and the lack of wallet/API key requirements. It also enumerates returned fields so an agent knows what to expect. No contradiction with annotations exists.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but well organized, front-loading purpose and output fields before pricing and authentication details. Every sentence adds operational or semantic value, with no filler or redundancy with the annotations.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter read-only tool that has an output schema and safety annotations, this description covers purpose, inputs, output fields, chain, cost, and authentication requirements. Nothing needed to invoke the tool correctly appears missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema documents only 'address' as a wallet address, and the description adds that the address is a Base address and explicitly marks it as required. With 100% schema coverage, this is a modest but useful increment over the structured definition.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies a specific resource: recent transactions for a Base address, and names the output fields (hash, time, from/to, ETH value, success). This clearly distinguishes it from sibling wallet tools focused on balances, tokens, or net worth, and makes the read/list operation obvious.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'For agents tracking what a wallet is doing' gives a clear use case, and 'Required input: address' states the prerequisite. It does not explicitly contrast with sibling tools like wallet_tokens or wallet_portfolio, but the transaction-specific framing is enough to guide selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
wallet_delegationARead-onlyIdempotentInspect
Is this EOA secretly running someone else's code? — Since Pectra an EOA can carry EIP-7702 delegated code (the 0xef0100 designator): every call to the wallet executes the DELEGATE's contract with the wallet's funds — a malicious delegate is total takeover, invisible to approval tools. Reads the designator, resolves the delegate and verdicts it: not_delegated / delegated_known (Coinbase's EOA→SmartWallet path) / delegated_unknown (🚨) / smart_contract. The drain surface no other Base tool checks. Required input: wallet. Priced $0.03 per call over x402 on Base; send a prepaid x-credit-token header for unlimited calls, or get 1 free call/day per tool. No wallet or API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| wallet | Yes | EOA address |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | The result payload. Shape is service-specific; every field is documented in the tool description. |
| service | No | The service id that answered. |
| checkedAt | No | ISO-8601 timestamp of when the underlying reads were taken. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds substantial behavioral detail beyond the readOnly and idempotent annotations: it explains the 0xef0100 designator, delegate execution with wallet funds, the four possible verdicts, and the fact that this is a unique check among Base tools. No contradiction with annotations exists.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense and front-loaded with purpose and risk context. Pricing and header details add practical invocation context but are somewhat tangential to tool selection. Overall it is appropriately sized and structured for a single-parameter security check.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Annotations cover safety/read-only traits, the input schema documents the only parameter, an output schema exists, and the description supplies purpose, unique value, verdict categories, required field, and auth/pricing constraints. Nothing necessary for correct selection or invocation is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 100% schema description coverage, the schema already documents 'wallet' as an EOA address. The description only repeats 'Required input: wallet' and adds no new constraints or formatting details, so it meets the baseline without adding much semantic value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a concrete, domain-specific purpose: detecting EIP-7702 delegated code on an EOA and classifying the result into explicit verdicts. It clearly names the resource (wallet delegation) and distinguishes itself from siblings by claiming 'The drain surface no other Base tool checks.'
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description frames the use case as a security investigation ('Is this EOA secretly running someone else's code?') and states that no wallet or API key is required. It implies when to prefer this tool over approval-focused tools, though it stops short of naming alternatives or explicit exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
wallet_networthARead-onlyIdempotentInspect
All tokens + USD value (reliable pricing) — Complete token portfolio for a Base address with USD values: every ERC-20 the wallet holds, priced from live DEX liquidity, plus native ETH — sorted by value with a total. Holdings nobody quotes are listed and counted separately rather than silently valued at zero. Required input: address. Priced $0.02 per call over x402 on Base; send a prepaid x-credit-token header for unlimited calls, or get 1 free call/day per tool. No wallet or API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes | Wallet address |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | The result payload. Shape is service-specific; every field is documented in the tool description. |
| service | No | The service id that answered. |
| checkedAt | No | ISO-8601 timestamp of when the underlying reads were taken. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark the tool as read-only and idempotent, and the description adds substantial behavioral detail beyond that: values are sourced from live DEX liquidity, unquoted holdings are handled separately, results are sorted by value with a total, and the tool is priced at $0.02 per call with an x-credit-token header option and a one-free-call-per-day limit. Auth requirements and cost are disclosed explicitly. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core output, then covers the edge-case behavior, input requirement, and cost/authentication in compact sentences. There is a minor redundancy between 'All tokens + USD value' and 'Complete token portfolio for a Base address with USD values', but no unrelated or fluff content is included.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Even without an output schema, the description tells an agent what to expect: every ERC-20 plus native ETH valued in USD, sorted by value, with a total, and non-quoted holdings counted separately. It also covers the one required parameter, the network, pricing, authentication options, and lack of wallet/API-key requirements. Nothing needed to invoke the tool correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has a single parameter, address, with the minimal description 'Wallet address'. The tool description adds meaningful context by specifying the address must be a Base address, which the schema alone does not convey. It also reinforces that this is the required input, providing enough meaning beyond the raw schema field.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb-plus-resource statement: 'All tokens + USD value (reliable pricing) — Complete token portfolio for a Base address with USD values: every ERC-20 the wallet holds, priced from live DEX liquidity, plus native ETH — sorted by value with a total.' This precisely defines what the tool produces and distinguishes it from generic balance tools by emphasizing completeness and reliable pricing. It even clarifies an edge case: non-quoted holdings are listed and counted separately.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly states the intended use case: obtain a complete USD-value token portfolio for an address on Base. It also gives prerequisites: only an address is required, and no wallet or API key is needed. It does not explicitly name alternative sibling tools or exclusions, but the 'complete portfolio' framing is enough context for an agent to select it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
wallet_portfolioARead-onlyIdempotentInspect
All ERC-20 holdings of a wallet with USD value — Complete ERC-20 portfolio for a Base address — every non-zero token with balance, metadata and live USD value, plus a total. Token discovery via CDP Data API (Coinbase) with Alchemy fallback; USD from DexScreener. Required input: address. Priced $0.02 per call over x402 on Base; send a prepaid x-credit-token header for unlimited calls, or get 1 free call/day per tool. No wallet or API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes | Wallet address |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | The result payload. Shape is service-specific; every field is documented in the tool description. |
| service | No | The service id that answered. |
| checkedAt | No | ISO-8601 timestamp of when the underlying reads were taken. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds substantial behavioral context beyond the readOnly/openWorld/idempotent annotations: it discloses the data pipeline (CDP Data API with Alchemy fallback, DexScreener for USD), pricing ($0.02 per call), the prepaid x-credit-token header requirement, and the free daily call. This is exactly the kind of rate-limit and auth context agents need.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The key purpose is front-loaded in the first clause, followed by scope, data sources, authentication, and pricing. It is fairly dense but every sentence carries useful information; the pricing and header details could arguably be moved elsewhere but are still relevant to using the tool correctly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that an output schema exists, the description does not need to explain return values. It covers the network (Base), scope (all non-zero ERC-20 tokens), data sources, fallback behavior, authentication, pricing, and free-tier limits—everything an agent needs to invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% coverage for the single `address` parameter, so the baseline is 3. The description repeats that address is required and confirms it is a Base address, but adds no format details such as 0x-prefixing, checksum requirements, or ENS support.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific resource and scope: all ERC-20 holdings for a Base wallet, including every non-zero token, metadata, live USD value, and a total. This clearly distinguishes it from sibling tools like wallet_tokens or wallet_summary by emphasizing completeness and USD valuation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives clear context for when to use the tool: when a complete ERC-20 portfolio for a Base address with USD values is needed. It also states required input and that no wallet/API key is required, but it does not explicitly name alternatives or exclusion conditions relative to sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
wallet_summaryARead-onlyIdempotentInspect
Tx count, first/last activity, wallet age — Wallet age in days, first & last activity timestamps, and outgoing transaction count for any Base address — read straight from the Base archive, not a 30-day feed, so it dates wallets of any age. Counts and last-activity cover what the wallet SENT; inbound transfers don't raise the nonce and aren't counted. Built for sybil screening and counterparty trust checks. Required input: address. Priced $0.03 per call over x402 on Base; send a prepaid x-credit-token header for unlimited calls, or get 1 free call/day per tool. No wallet or API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes | Wallet address |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | The result payload. Shape is service-specific; every field is documented in the tool description. |
| service | No | The service id that answered. |
| checkedAt | No | ISO-8601 timestamp of when the underlying reads were taken. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations, the description discloses that counts and last-activity cover only outgoing transactions, that inbound transfers are excluded, and that the full archive supports wallets of any age. It also adds pricing and auth expectations. These details materially shape what the agent should expect from results, and nothing contradicts the readOnly or idempotent hints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is information-dense and front-loaded with the output list before operational details. There is some redundancy between the opening summary and the restated metric list, but each sentence earns its place, including the pricing and header requirements that affect callability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with a single required parameter and an existing output schema, the description is complete: outputs, metric semantics, chain scope, use case, and pricing/auth are all covered. No information needed to select or invoke the tool correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3; the description adds meaningful chain context by specifying 'any Base address,' which the bare schema label 'Wallet address' does not convey. It also reinforces that address is the only required input, though it stops short of providing format or validation details.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with concrete outputs: tx count, first/last activity, wallet age in days, and outgoing transaction count, all scoped to 'any Base address.' The 'read straight from the Base archive, not a 30-day feed' caveat clearly distinguishes it from indexer-style siblings like wallet_activity. There is no ambiguity about what resource the tool summarizes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description states it is 'Built for sybil screening and counterparty trust checks,' giving the agent a clear intended use case. It also implies when it beats lighter-weight alternatives by emphasizing full archive history rather than a 30-day feed, but it does not explicitly name alternatives or say when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
wallet_tokensARead-onlyIdempotentInspect
ETH + major Base token balances with USD values — Returns native ETH plus WETH, USDC, USDbC, DAI, cbETH balances for any Base address, enriched with live USD values via DexScreener. Only non-zero holdings are returned. Required input: address. Priced $0.02 per call over x402 on Base; send a prepaid x-credit-token header for unlimited calls, or get 1 free call/day per tool. No wallet or API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes | Wallet address |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | The result payload. Shape is service-specific; every field is documented in the tool description. |
| service | No | The service id that answered. |
| checkedAt | No | ISO-8601 timestamp of when the underlying reads were taken. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish read-only, idempotent, open-world, and non-destructive behavior. The description adds substantial behavioral context beyond annotations: only non-zero holdings are returned, values are enriched live via DexScreener, calls are priced at $0.02, prepaid x-credit-token header enables unlimited calls, and one free call per day is allowed. No contradictions exist with the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core purpose and token list, then efficiently covers behavioral details (non-zero only), required input, pricing, auth, and free-tier availability. Every sentence carries useful information with no filler or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simple single-parameter schema, rich annotations, and presence of an output schema, the description covers everything an agent needs to decide when and how to call this tool: chain scope, token scope, filter behavior, authentication requirements, and cost. Nothing essential is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already documents the single required parameter 'address' with 100% coverage. The description adds meaningful context by stating the address must be a Base address and that the tool works for any address, reinforcing that no pre-registration or API key is needed. This adds value beyond the schema's generic 'Wallet address' description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb ('Returns') and a precise resource ('ETH + major Base token balances with USD values') and enumerates exactly which tokens are covered (native ETH plus WETH, USDC, USDbC, DAI, cbETH) for any Base address. This makes the tool's scope immediately distinguishable from broader sibling tools like wallet_portfolio or wallet_networth.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly states the intended use case: retrieving non-zero token balances with USD values for any Base address. It also specifies the required input, clarifies that no wallet or API key is needed, and mentions pricing and free-call availability. It does not explicitly contrast this tool with sibling alternatives, so it stops just short of full routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
watchlist_diffARead-onlyIdempotentInspect
What changed on my tokens since last check? — Retention in one call: pass up to 10 tokens to snapshot them and get a watchId; call again with that watchId to get only the DELTAS since last time — liquidity ±%, price ±%, became-honeypot, sell-tax spiked, liquidity pulled. The second call is worth more than the first. Built for agents holding positions that re-check daily. Priced $0.06 per call over x402 on Base; send a prepaid x-credit-token header for unlimited calls, or get 1 free call/day per tool. No wallet or API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| tokens | No | Up to 10 token addresses (comma-separated) | |
| watchId | No | Or: watchId to re-check an existing list |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | The result payload. Shape is service-specific; every field is documented in the tool description. |
| service | No | The service id that answered. |
| checkedAt | No | ISO-8601 timestamp of when the underlying reads were taken. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description adds substantial behavioral detail beyond those: server-side watchId retention, delta-only responses, specific delta types (liquidity ±%, price ±%, became-honeypot, sell-tax spiked, liquidity pulled), pricing, auth-header requirements, and free-tier limits. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The core behavior is front-loaded in the first few words, then the flow is explained efficiently. There is some promotional padding ('The second call is worth more than the first'), but nearly every sentence carries operational value for the agent, including pricing and access details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's somewhat unusual two-call retention model, the description is complete: it covers how to invoke each call, what each parameter does, what kind of deltas to expect, the output schema exists, and the access/pricing model. An agent has enough information to select and call it correctly without needing to open the schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema covers both parameters at 100%, which sets a baseline of 3. The description adds workflow meaning: tokens are for creating the initial snapshot while watchId is for re-checking an existing list, and it clarifies that the tokens parameter accepts up to 10 comma-separated addresses. This goes beyond the schema's isolated field descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a concrete, question-shaped purpose: 'What changed on my tokens since last check?' It identifies the specific resource (token watchlists) and the unique two-call snapshot/delta mechanic. This clearly differentiates it from sibling token tools like token_compare or price_alert, even without naming them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit usage context: 'Built for agents holding positions that re-check daily' and explains the exact two-step sequence — pass up to 10 tokens to snapshot, then call again with the watchId for deltas. It lacks explicit exclusions or named alternatives, but the intended workflow is unmistakable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
web_extractARead-onlyIdempotentInspect
Up to 5 pages in one call — including the JavaScript ones — Pass up to 5 URLs (comma-separated) and get each page back as clean text with its title. Renders pages that build their content in the browser, which a plain server-side fetch cannot read at all — so it covers the SPAs, dashboards and app pages that url-extract deliberately refuses. Returns partial success: pages that fail come back in a failed list with the reason, and a call where every URL fails is not charged. For a single static page, url-extract is cheaper. Required input: urls. Priced $0.01 per call over x402 on Base; send a prepaid x-credit-token header for unlimited calls, or get 1 free call/day per tool. No wallet or API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| urls | Yes | URLs (comma-separated, max 5) |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | The result payload. Shape is service-specific; every field is documented in the tool description. |
| service | No | The service id that answered. |
| checkedAt | No | ISO-8601 timestamp of when the underlying reads were taken. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description adds substantial behavioral context beyond the annotations: it renders JavaScript in a browser, returns partial success with a failed list, does not charge when every URL fails, and explains pricing and authentication requirements. There is no contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but every sentence earns its place: batching limit, JS rendering, contrast with url-extract, partial success and billing behavior, required parameter, pricing, and auth. It front-loads the core capability before commercial details and is well-structured for an agent to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity and the presence of an output schema, the description covers all essential selection and invocation details: what it returns, how failures are reported, cost implications, required parameter, and authentication alternatives. An agent can confidently choose and call this tool without additional context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the schema already describes urls as 'URLs (comma-separated, max 5).' The description reinforces the comma-separated format and adds that each page returns clean text with its title, which gives the agent a clearer expectation of what the parameter input produces. This is modest value beyond the schema, so a 4 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'get each page back as clean text with its title.' It also clearly differentiates from sibling url-extract by noting it covers SPAs, dashboards, and app pages that 'url-extract deliberately refuses,' and by mentioning that url-extract is cheaper for single static pages.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly tells when to use this tool versus url-extract: use it for JavaScript-rendered pages and batches up to 5 URLs, while choosing url-extract for a single static page. It also covers failure handling and free-call/pricing details, giving clear selection context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
web_searchARead-onlyIdempotentInspect
Ask the live web, get ranked sources plus a direct answer — Search the live web from an agent that has no browser: pass query= and get back ranked results (title, URL, snippet, relevance score) plus a synthesized one-paragraph answer over them. maxResults=1..20 (default 5); includeAnswer=false to skip the summary and take sources only. The step before reasoning about anything that happened after the model's training cutoff — prices, releases, incidents, docs. Nothing crypto about it. Required input: query. Priced $0.01 per call over x402 on Base; send a prepaid x-credit-token header for unlimited calls, or get 1 free call/day per tool. No wallet or API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Search query | |
| maxResults | No | Results (1-20) | |
| includeAnswer | No | Include answer (true/false) |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | The result payload. Shape is service-specific; every field is documented in the tool description. |
| service | No | The service id that answered. |
| checkedAt | No | ISO-8601 timestamp of when the underlying reads were taken. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnly/idempotent annotations, the description discloses meaningful operational behavior: no browser needed, ranked results plus synthesized answer, maxResults range and default, includeAnswer=false to skip the summary, per-call pricing, x-credit-token header for unlimited calls, and the free daily tier. It adds substantial context without contradicting annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with purpose and output, then covers parameter behavior, then pricing/auth details. It is somewhat dense around x402 billing, but every part contributes operational value for an agent deciding whether and how to call it.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given an output schema exists, the description adequately covers what the tool does, when to use it, what parameters control, what results look like, and the external requirements (pricing, header, free tier, no wallet). An agent has enough to select and invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3, but the description goes further: it documents maxResults as 1..20 with default 5, explains includeAnswer=false skips the summary and returns only sources, and clarifies that query is required and produces the described output shape. This is genuinely additive semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a concrete verb and resource: 'Search the live web from an agent that has no browser' and specifies the return shape (ranked sources with title, URL, snippet, relevance score, plus a synthesized one-paragraph answer). This clearly distinguishes the tool from the many crypto- and wallet-focused siblings in the list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives a strong usage context: 'The step before reasoning about anything that happened after the model's training cutoff — prices, releases, incidents, docs.' It also notes no wallet or API key is required. However, it does not explicitly mention alternatives like web_extract or url_extract or state when not to use it, so it lacks explicit exclusion guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
whale_flowARead-onlyIdempotentInspect
Is size moving to the exits right now? — Flow, not snapshot: the largest transfers of a Base token in the last 24h, classified by whether whales are sending INTO DEX pools (sell pressure) or pulling OUT (accumulation) — a net sell-pressure read that decays in hours. Complements holder-forensics ('who could dump') with 'is anyone dumping now'. CDP-indexed events. Required input: address. Priced $0.04 per call over x402 on Base; send a prepaid x-credit-token header for unlimited calls, or get 1 free call/day per tool. No wallet or API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| hours | No | Window in hours (default 24, max 72) | |
| address | Yes | Token contract address |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | The result payload. Shape is service-specific; every field is documented in the tool description. |
| service | No | The service id that answered. |
| checkedAt | No | ISO-8601 timestamp of when the underlying reads were taken. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false. The description adds meaningful behavioral context beyond those: the result is time-decaying ('net sell-pressure read that decays in hours'), source-specific ('CDP-indexed events'), chain-specific ('over x402 on Base'), and cost/auth-related ('Priced $0.04 per call', 'No wallet or API key required'). No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is longer than minimal but every part earns its place: purpose, differentiation, semantics, cost, and access requirements. The rhetorical opening and 'Flow, not snapshot' framing are useful for selection, though the text is slightly dense and could be tightened.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given moderate complexity, full schema coverage, and an output schema, the description is complete for correct invocation. It provides the required input, optional window context through the schema, chain, pricing, and authentication model, so an agent can decide whether and how to call this tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents both 'address' as 'Token contract address' and 'hours' with default/maximum. The description only re-emphasizes that address is required and implies a 24h window, but it does not materially add beyond the schema. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb plus resource: it reports 'the largest transfers of a Base token in the last 24h' and classifies them by whale behavior. It also explicitly distinguishes itself from holder_forensics with 'Flow, not snapshot', so an agent can separate this from sibling tools without opening schemas.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives a clear decision cue: it 'Complements holder-forensics' by answering 'is anyone dumping now' versus 'who could dump'. It also specifies the required address input. It does not enumerate explicit when-not-to-use conditions, but the contrast with holder_forensics effectively routes an agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Frequently Asked Questions
Claiming proves that you control a remote MCP connector. It does not move, proxy, or interrupt the server.
Open the connector listing, choose Claim ownership, and sign in to Glama.
Complete one verification method:
GitHub identity — fastest for official registry listings. For a namespace such as
io.github.alice/server, link the matching GitHub user or an account that owns the GitHub organization, then choose Claim with GitHub.HTTP challenge — works when you can deploy a public file. Generate a token, publish the exact JSON Glama shows at
/.well-known/glama.jsonon the same origin as the connector, then choose Check HTTP challenge.DNS challenge — works when you control DNS but cannot change the server. Generate a token, create the exact TXT record Glama shows, wait for it to propagate, then choose Check DNS challenge.
After verification, Glama sends a confirmation email and gives you access to listing details, thumbnails, health checks, and analytics. Keep the HTTP file or DNS record in place: Glama periodically checks it and ownership remains verified while the token is discoverable.
The HTTP ownership file has this structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"claim": "glama_claim_..."
}Claim tokens are opaque, stable, and bound to the signed-in Glama account. They contain no email address or other personal information. If Glama can no longer discover a verified HTTP or DNS token, it starts a seven-day grace period before removing claim-based access. Restore the same token during that period to keep ownership verified. Never publish an email address, Glama session token, GitHub token, or connector credential as ownership proof.
If verification fails, confirm that you copied the current token exactly. The HTTP file must be public, return valid JSON with a successful HTTP response, and stay on the connector's origin. DNS changes may need more time to propagate. A claim cannot transfer to a different origin or hostname: if the connector target changes, Glama starts the grace period and the new target must be claimed separately after the previous claim is released.
For a connector linked to the official MCP Registry, registry updates continue to replace its name, description, and URL by default. After claiming, open Manage connector and enable Use Glama listing details as the source of truth if edits made on Glama should be preserved. Categories and thumbnails are always managed on Glama; registry linkage and technical connection settings continue to sync.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables detection and analysis of pre-public product launches through web search, content extraction, AI-powered scoring, and automated alerting. Provides comprehensive tools for surfacing stealth startup signals before they trend publicly.MIT

industrylens-mcpofficial
AlicenseNot gradedqualityBmaintenanceBrowse IndustryLens's published competitive-intelligence reports and head-to-head competitor comparisons from any AI agent — real, source-backed data.MIT- AlicenseNot gradedqualityCmaintenanceEnables AI chat clients to perform market research and competitive intelligence by gathering company overviews, competitor lists, product portfolios, pricing snapshots, and recent news via live Tavily search.MIT
- AlicenseAqualityAmaintenanceDetects hiring intent signals by scanning job boards for specific companies. Returns structured role data for outbound sales targeting.13061MIT