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
- Uptime
- 100.0% over 75 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 229 tools
Many tools overlap heavily: token_risk, rug_score, sellability, deep_dd, ai_token_report, pre_trade_gate, pre_trade_bundle, token_compare, and batch_risk all provide pre-trade safety/risk verdicts; wallet_networth, wallet_portfolio, wallet_tokens, wallet_summary, portfolio_scan, and wallet_activity all describe wallet holdings/activity; token_approvals, approval_advisor, ai_wallet_security, spend_audit, agent_wallet_audit, sign_guard, simulate_tx, and wallet_drain_watch all cover drain vectors. An agent would struggle to select the right tool without trial and error.
All 229 tool names use lower snake_case with no camelCase or kebab-case tool names, and domain prefixes (b20_, near_, ai_, wallet_, token_, base_) are used systematically. The pattern is consistent even though it is noun_noun rather than verb_noun, which the rubric treats as acceptable.
229 tools is an extreme mismatch for any single server; even as a multi-service bazaar the set is far beyond the 3-15 sweet spot and forces the agent to scan hundreds of endpoints. This is the definition of the 50+ tools extreme mismatch.
The surface covers a huge breadth: Base chain data, token risk, wallets, DeFi, NFTs, bridges, swaps, B20, NEAR, compliance, AI utilities, and general utilities. Minor gaps exist (e.g., generic event log queries or some write/build operations), but agents can work around them.
Available Tools
229 toolsactivity_trendARead-onlyIdempotentInspect
Is the token gaining or losing on-chain users? — Not price momentum — ADOPTION. token-age tells you when a token was born; holder-distribution is a snapshot. Neither shows the TRAJECTORY. A token can pass every static check and still bleed users week over week — what a human sees watching for days, an agent can't. Reads weekly transfer counts and distinct participants over the last 28 days and calls it: accelerating, steady, cooling, dying, or low_activity. Activity ≠ price; pair with wash-trading. Not financial advice. 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 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover safety (readOnlyHint=true, idempotentHint=true, openWorldHint=true), so the burden is lowered. The description adds the crucial scope (28-day lookback, weekly transfer counts + distinct participants), an output-vocabulary, and payment behavior (x402 on Base, prepaid x-headers, 1 free call/day, no API key). It does not, however, describe return structure, rate limits, or edge cases (e.g., very new tokens), so it sits at a 3.
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 and absorbs unrelated material — pricing, x402 payment instructions, free-call quota, 'Not financial advice.' For an agent selecting a tool, this dilutes the signal. Sentences are hard-hitting early but the tail is logistics (payments) that belongs in a payment/context field, not in the core purpose statement.
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 analytic with an output schema present, the description supplies the missing conceptual frame (adoption trajectory vs. price, five output labels, 28-day window) that an agent needs to interpret the result. It omits the exact return structure, which is fine because an output schema exists, and it omits error/threshold semantics for the low_activity bin. Close to 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?
Only one parameter (address), schema coverage is 100% and the description restates 'Required input: address', which is redundant with the schema. Because the schema already fully documents the parameter, baseline is 3; the description's added value is elsewhere (output labels, payment model), so a 4 rather than 5 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 names a specific analytic — reads weekly transfer counts and distinct participants over 28 days and classifies adoption trajectory into five states. It explicitly distinguishes itself from token-age (birth timestamp) and holder-distribution (static snapshot), and names the concrete output labels. Only the specific parameter/return shape keeps it from a clean 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?
It draws a sharp line versus price-oriented siblings (token_momentum, wash_trading) and against static-holder siblings (token_age), and explicitly tells the agent to pair with wash-trading. Strong routing. No explicit 'when NOT to use' for the analytic-vs-snapshot class beyond the sibling contrasts, so not a clean 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
address_checkARead-onlyIdempotentInspect
Postal shape for TR/US/EU — before you ship — Structural address check: country, street, city, and postal pattern for common countries (TR, US, GB, DE, FR, NL, …). Returns a normalised single-line form and named issues. Not proof of deliverability. Required inputs: country, line1, city. 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 API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| city | Yes | City | |
| line1 | Yes | Street line | |
| line2 | No | Line 2 (optional) | |
| postal | No | Postal code | |
| country | Yes | Country (ISO-2) |
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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations cover the safety profile (readOnly, idempotent, non-destructive, openWorld), but the description adds information none of them carry: $0.002 per call via x402 on Base, the prepaid x-credit-token header for unlimited calls, 1 free call/day per tool, and no API key required. That is exactly the auth/cost/rate-limit context an agent needs before invoking a metered 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?
Front-loaded with the core purpose and the key exclusion before pricing details, and every clause carries information. The dash-separated phrasing is dense and slightly repetitive ('Structural address check: country, street, city' restates the opening), but it stays compact overall.
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 need not be explained, and the description still sketches them lightly ('normalised single-line form and named issues'). Cost, auth and the deliverability caveat make it largely self-sufficient; the country coverage stays vague ('common countries', '…') without saying what happens for unsupported countries, which is the one remaining 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?
Schema description coverage is 100% for all five parameters, so the schema already documents country (ISO-2), line1/line2, city and postal. The description restates the required set (country, line1, city) and the covered country set, but adds no format or syntax detail beyond the schema. 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?
States a specific verb and resource: a structural postal/address format check covering country, street, city and postal patterns, naming the covered regions (TR, US, GB, DE, FR, NL). It also explicitly draws the boundary that separates it from validation-type siblings by saying it is 'Not proof of deliverability', so an agent can place it against address_intel, address_trust and address_label.
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 a clear usage moment ('before you ship') and an explicit exclusion ('Not proof of deliverability'), which prevents the common misread of this as a deliverability validator. It does not name a specific sibling alternative, so it stops short of full when-to-use/when-not routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
address_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 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations (readOnly, idempotent, openWorld, non-destructive), the description discloses the data source (Base RPC), the payment model ($0.02/call via x402 on Base), the auth alternatives (prepaid x-credit-token header for unlimited calls, or 1 free call/day), and that no API key is required. This is exactly the operational context an agent needs before calling a paid endpoint.
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 capability and its outputs are front-loaded in the first clause, followed by use case, input requirement, and pricing/auth in descending priority. Every sentence carries distinct information 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?
An output schema exists, so return-value documentation is not required, and the description still previews the key returned fields. Combined with the explicit input requirement and the pricing/auth details, 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?
There is a single parameter with 100% schema description coverage, and the description only restates that address is the required input ("Required input: address"). No format hints (hex vs ENS), chain qualification, or validation rules are added 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 resource (any Base address) and enumerates concrete outputs: EOA vs contract classification, ETH + USDC balance, transaction count, and activity level. That field-level detail makes it distinguishable from generic siblings like address_label or address_check. It stops short of naming or contrasting an explicit sibling, so it is clear but not fully differentiated.
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?
"Useful for counterparty and wallet checks" gives an implied use context but names no alternatives (e.g., address_trust, address_label, counterparty_check) and states no exclusions or prerequisites. Usage is inferable from the described outputs rather than explicitly guided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
address_labelARead-onlyIdempotentInspect
Protocol, exchange, bridge, locker — or just a wallet? — What is this Base address? Matches a sourced registry of known protocol, exchange, bridge, locker and burn addresses (each with the docs/deployments/Basescan source it came from), then reads the chain: contract vs EOA (EIP-7702 delegation shown), ERC-4626 vault (asset()), Safe multisig (getThreshold), DEX pool interface (token0/token1). Unmatched addresses are reported as unlabelled, never guessed. Required input: address. 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 API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes | Base address to identify |
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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive/openWorld, so the description isn't needed for the safety profile. It adds real value beyond that: it discloses the key behavioral guarantee that unmatched addresses are reported as unlabelled and never guessed, plus the pricing model ($0.005/call over x402, prepaid header for unlimited, 1 free call/day, no API key).
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?
Front-loads the purpose with a punchy framing sentence, then layers mechanism, guarantee, input, and pricing in a sensible order. Slightly long and the rhetorical question framing costs a little space, but every subsequent sentence carries 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?
An output schema exists, so return values needn't be spelled out, and the description still explains what it reads and how unmatched cases are handled. For a one-param tool with full schema and annotation coverage, this is nearly complete; only sibling differentiation 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 parameter, so the schema already documents 'address'. The description merely restates 'Required input: address' without adding format, checksum, or chain constraints. Baseline 3 applies when the schema does the heavy lifting.
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 — 'label / identify what this Base address is' — and details the mechanism: matching a sourced registry and reading chain state (contract vs EOA, ERC-4626, Safe, DEX pool). It is clearly distinct from a generic lookup, but it never explicitly names or contrasts with near neighbors like address_intel or address_check, which is what would earn 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?
Usage is implied rather than stated: the agent can infer 'use this when you have an unknown Base address and want to know what it is.' There is no explicit when-to-use, when-not-to-use, or alternative-tool routing despite numerous sibling address tools that overlap in surface area.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
address_poisoningARead-onlyIdempotentInspect
Is this recipient a look-alike trap? — before your agent pays — The address-poisoning attack: a scammer sends dust from an address whose first/last characters match one you really use, hoping you copy-paste the poisoned one. An auto-paying agent is the perfect victim. This compares the recipient against the head/tail of addresses the wallet actually transacts with and flags a look-alike that is NOT a real counterparty. Pass wallet= (yours) and to= (the recipient). A heuristic — verify the full address regardless. Not financial advice. Required inputs: wallet, to. 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 API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| to | Yes | Recipient you're about to pay | |
| wallet | Yes | Your wallet (the sender) |
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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, idempotent, non-destructive, open-world, but the description adds substantial extra context: it is a heuristic that must be verified, it compares against head/tail of addresses the wallet actually transacts with, and it discloses the pricing/rate-limit model ($0.03/call via x402 on Base, prepaid header, 1 free call/day, no API key). That goes well beyond 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?
Front-loads the core question effectively, but the body carries promotional and disclaimer filler ('An auto-paying agent is the perfect victim', 'Not financial advice') and pricing detail that dilutes an otherwise compact definition. Several sentences repeat what the annotations and schema already state.
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 values need no explanation, and the description covers the attack model, required inputs, heuristic caveat, and payment mechanics. It is complete for invocation; only minor ambiguity remains about how 'near-miss' results should be acted on.
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 only two documented params, so the schema already carries the meaning. The description restates them ('Pass wallet= (yours) and to= (the recipient)') and adds the 'sender' framing, but provides no format or validation detail beyond the schema. Baseline 3 is appropriate when the schema does the heavy lifting.
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 check ('is this recipient a look-alike trap') on a specific resource (recipient address) and explains the attack it detects via head/tail matching against real counterparties. Clearly separable from siblings like address_check, safe_to_send, or pre_trade_gate because it names the exact heuristic and scenario.
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 says to run it 'before your agent pays' and that an auto-paying agent is the target victim, and instructs passing wallet= (yours) and to= (recipient). It gives clear situational context but does not name alternative sibling tools (e.g., address_trust, counterparty_check) for cases where the check is inconclusive.
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 (no free tier on this tool). No 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only, idempotent, open-world, non-destructive, but the description adds material context beyond them: exact pricing ($0.03/call via x402 on Base), the prepaid x-credit-token header for unlimited calls, the absence of a free tier, and that no API key is required. It also cautions that identity is a signal, not proof of honesty, which is genuinely useful behavioral framing.
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 lead question is front-loaded and immediately scannable, and each subsequent clause adds a distinct fact (mechanism, output, pairing, pricing). It is dense and slightly long, but no sentence is filler, so it lands just under 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?
With an output schema present, return values need not be spelled out, and the description still summarizes the verdict shape. Combined with pricing, auth mechanism, and the honesty caveat, an agent has everything needed to call it correctly and interpret the result.
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 a single parameter with 100% schema description coverage, so the schema already documents 'address'. The description's 'Required input: address' only restates the schema's required field and adds no format, chain, or validation detail, 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 names a specific verb and resource — a Coinbase-verified-vs-anon/sybil verdict plus Basename for an address — and pins down the mechanism (EAS attestation by verifications.coinbase.eth) that separates it from generic siblings like address_check, address_label, or address_intel. An agent can tell exactly what this returns without opening 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?
It frames the use case sharply ('the who am I dealing with? check for agents') and tells the agent to pair it with sign-guard/spend-audit for a full pre-transaction gate, which is explicit routing guidance. It lacks a when-not-to-use statement (e.g., versus counterparty_check or address_intel), 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.
agent_pay_gateARead-onlyIdempotentInspect
I'm about to pay 0x… $X — go? (amount-aware recipient screen) — A pre-payment gate for an agent about to send USDC. Screens the recipient (OFAC sanctions, Coinbase/Basename identity, wallet vs contract, fresh-address age) and escalates a fresh or anonymous recipient to STOP once the amount is material — a few cents to a new address is sampling, real size to one is the drain to avoid. Pass usd= for amount-aware guidance. One verdict (GO/REVIEW/STOP). Identity is not intent; not financial advice. Required input: to. 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 API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| to | Yes | Address you are about to pay | |
| usd | No | Amount in USD (optional, sharpens the verdict) |
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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds substantial context beyond annotations: the one-verdict output model, the specific screening signals, the $0.01/1-free-call-per-day pricing over x402, and the x-credit-token header auth path. Crucially, readOnlyHint=true is consistent — it screens but does not move funds — so there is no contradiction, and the pricing/auth detail is exactly the kind of operational context annotations cannot express.
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 facts are present but the prose is dense and marketing-flavored, with a hook opener ('I'm about to pay 0x… $X — go?'), redundant re-emphasis of amount-awareness, and the filler disclaimer 'Identity is not intent; not financial advice.' Several clauses could be trimmed without losing actionable 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?
An output schema exists, so return values need not be explained, and the description still covers screening criteria, pricing, auth, and the verdict set. It would be fully complete with an explicit pointer to the alternative recipient-check tools for non-payment contexts.
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 'to' and 'usd'. The description mostly restates this ('Pass usd= for amount-aware guidance', 'Required input: to') rather than adding new syntax or format detail, landing at the baseline for a fully-covered 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 verb+resource+scope: a pre-payment gate that screens a USDC recipient before an agent sends funds. It names the exact checks performed (OFAC sanctions, Coinbase/Basename identity, wallet vs contract, fresh-address age) and the output (GO/REVIEW/STOP), so an agent can distinguish it from siblings like address_check, safe_to_send, 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?
Clearly establishes the when-to-use scenario ('an agent about to send USDC', escalating fresh/anonymous recipients to STOP once the amount is material) and explains the amount-aware sampling-vs-drain logic. It does not explicitly name alternative siblings (e.g., address_check or pre_trade_gate) or state when NOT to use it, so it falls 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.
agent_reputationARead-onlyIdempotentInspect
Is this payer a real repeat customer, or a one-shot sampler? — The payer-trust mirror of x402-seller-check. Reads a wallet's outgoing USDC payments on Base over 90 days: distinct sellers paid (breadth), total payments and USDC (depth), and whether it ever paid the same payee twice. Breadth with no depth in a short burst is the crawler/sampler pattern; a repeat or sustained payer is the opposite. Sees only Base USDC; absence reads as 'thin', never bad. Not financial advice. 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 API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| wallet | Yes | Agent/payer 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond the readOnly/idempotent/openWorld annotations: it discloses the 90-day lookback, the Base-USDC-only scope, the crucial interpretive caveat that absence reads as 'thin' and never as bad, and the commercial mechanics ($0.03 per call over x402, prepaid x-credit-token header for unlimited calls, 1 free call/day, no API key). Those are material facts an agent cannot infer from 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?
Front-loads the decision question and the observed signal pattern before the mechanics, which is the right ordering. It is dense but nearly every sentence carries an interpretive or operational fact; the 'Not financial advice' clause is minor filler, keeping it just short of 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?
With an output schema present, the description need not explain return shape; instead it supplies what the schema cannot: coverage limits (Base USDC only), the time window, how to read a null result, and the payment/auth model. 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% and there is a single parameter, so the schema already documents 'wallet'. The description only restates 'Required input: wallet' without adding format, address-vs-ENS, or chain semantics, 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?
Opens with a specific decision question (real repeat customer vs one-shot sampler) and then states exactly what it reads: a wallet's outgoing USDC payments on Base over 90 days, computing breadth, depth, and repeat-payee signals. It explicitly distinguishes itself from its sibling by naming 'the payer-trust mirror of x402-seller-check', so an agent can route without opening either 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?
Clear context is given for when to reach for it (assessing whether a payer is a genuine repeat customer) and the alternative framing versus x402-seller-check is named. It stops short of explicit when-not conditions or named substitutes for the non-x402 case, so it is 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.
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 (no free tier on this tool). No 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered. The description adds high-value invocation context the annotations cannot: paid x402 model, $0.06 per call, prepaid x-credit-token header for unlimited calls, no free tier, no API key. This directly affects how an agent should budget and authenticate 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?
Front-loaded with purpose and differentiator before the operational details, and the pricing/auth sentence earns its length. Some promotional adjectives ('the agent-era scoped recurring allowance', 'the only combined check') add flavor at the cost of density, keeping it short of a 5 for a one-parameter 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?
Output schema exists, so the verdict payload and revoke queue needn't be described, and annotations cover the read-only profile. Purpose, cost, auth, and required input are all present; only minor edges like chain restrictions or response latency are unaddressed.
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 a single parameter at 100% schema description coverage, the schema fully documents 'wallet'. The description only restates 'Required input: wallet' and adds no format detail (e.g., checksummed address expectations, supported chains). Baseline 3 is appropriate since the schema carries the 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?
States a specific verb and resource — the combined fund-movement authority on a Base wallet — and enumerates exactly the two surfaces scanned (ERC-20 approvals plus Base Account spend permissions). It explicitly distinguishes itself from sibling categories: 'Approval tools miss the spend permissions; spend-permission tools miss the approvals.' An agent can differentiate it from token_approvals, spend_audit, and revoke_builder without opening a 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?
Gives clear context for use — 'agent wallets that must know their whole exposure before holding funds' — and contrasts against alternative approaches by category. It stops short of naming specific sibling tools (spend_audit, token_approvals, revoke_builder) or stating an explicit when-not-to-use condition, so it is 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.
ai_contract_riskARead-onlyIdempotentInspect
What dangerous powers a contract has, in plain English — Combines security flags with the verified ABI's function names, then AI 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 (no free tier on this tool). No 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint and destructiveHint=false, and the description adds material context they cannot carry: $0.04 per call over x402 on Base, an x-credit-token prepaid header for unlimited calls, no free tier, and no API key required. Cost and auth requirements are exactly the behavioral facts an agent needs before invoking.
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 opening clause and every subsequent sentence adds a distinct fact (mechanism, capabilities, cost, auth). It is somewhat dense and em-dash-heavy, with pricing information wedged mid-paragraph rather than separated, but there is little outright 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 need no explanation, and the annotations cover the safety profile. Between the mechanism, the danger-level output, the required input, and the cost/auth model, an agent has everything needed 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?
There is a single parameter with 100% schema description coverage, and the schema already marks it required. The description's 'Required input: address' restates structured data without adding format or syntax meaning, 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?
States a specific verb and resource: it combines security flags with verified ABI function names and uses AI to explain a contract's dangerous capabilities (mint, pause, blacklist, upgrade, self-destruct) with a danger level. The contrast with 'raw flags' hints at its niche, but it never names the many closely related siblings (contract_danger, owner_powers, token_risk, rug_score), so an agent must infer the boundary itself.
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?
'Goes beyond raw flags to read what the contract can actually do' implies when to prefer this over raw-flag tools, and the pricing/auth notes tell the caller how it can be invoked. However, no alternative tool is named and there are no explicit when-not conditions, so the routing guidance remains implicit.
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 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 (no free tier on this tool). No 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only/idempotent/non-destructive, and the description adds substantial context they cannot carry: 16K char cap, max 10 fields, list-mode array semantics, $0.05 per call over x402, prepaid x-credit-token header for unlimited calls, and no free tier. Payment and quota behavior is exactly the kind of trait an agent needs before invoking.
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 leads, followed by the highest-value mechanics (fields, list), limits, and the batch/pricing routing. It is dense and information-packed rather than padded, though the promotional framing ('ANY', 'guaranteed-valid') and stacked pricing sentences cost it a point.
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 need not be described, and for a 3-parameter read-only extraction tool the description covers inputs, limits, cost, auth header, and the batch alternative. 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?
With 100% schema coverage the baseline is 3, but the description genuinely enriches the parameters: fields is capped at 10 and comma-separated, and list=true means 'extract EVERY repeated record as an array' rather than a single object. That 'true vs absent' distinction materially changes the call and is not spelled out 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 concrete verb+resource transformation ('Unstructured text → structured JSON') and names the output guarantee (schema-enforced JSON). It also distinguishes itself from siblings by explicitly denying a crypto-specific scope and pointing to ai-extract-batch for the multi-document case, so an agent can place it without opening 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?
Gives concrete usage contexts ('pages, emails, receipts, logs') and names the alternative for a different condition ('Many documents? ai-extract-batch'). It stops short of an explicit when-not-to-use statement beyond that routing hint, keeping it below the top band.
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 (no free tier on this tool). No 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the safe-read profile (readOnly, idempotent, non-destructive, open-world), and the description goes well beyond them: exact pricing ($0.10 per call over x402 on Base), the x-credit-token prepaid header, the absence of a free tier, no API key requirement, and a 6K char per-document limit. An agent knows the cost, auth path and size constraints before calling.
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?
Front-loaded with the core value proposition and ordered sensibly (what it does, how to call, why batch, limits, price, auth). It is dense and slightly salesy in the per-call cost comparison, but nearly every sentence carries actionable 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 already present, the description need not explain return values and instead states the shape qualitatively ('one schema-enforced JSON object per document, in order'). Combined with pricing, auth, per-document limits and required input, nothing material is missing for 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%, so the baseline is 3, but the description adds real invocation detail: how to pass multiple documents ('text1=…&text2=… or texts= with ||| separators') and the required text1. Minor friction: the 'texts=' form it advertises does not appear as a property in the input schema, which could send an agent down a wrong path.
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 with explicit scope: batch extraction of the same field list across up to 10 texts. It directly positions itself against the sibling by calling itself 'the pipeline version of ai-extract', so an agent can separate the batch and single-document tools without opening either 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?
Gives concrete usage contexts ('agents parsing feeds, inboxes, scrape batches and receipt piles') that imply when batching pays off, and referencing ai-extract signals the single-document alternative. It never states an explicit when-not-to-use condition (e.g. use ai_extract for a single document), so the routing is inferable rather than spelled out.
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
AI-written situational brief of the Base token market — The zoom-out flagship: aggregates trending and newly-listed Base tokens, then AI 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 (no free tier on this tool). No 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnly/idempotent/openWorld annotations, the description discloses cost and access mechanics that structured fields never carry: $0.05 per call over x402 on Base, a prepaid x-credit-token header for unlimited calls, no free tier, and no API key. It also describes the brief's contents and that fresh/unknown tokens are flagged for rug risk.
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 and scope are front-loaded in the first clause, and each following sentence carries distinct information (aggregation source, brief contents, pricing, auth). It is a dense single paragraph with heavy em-dash use, which is slightly harder to scan than a structured list, 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?
With an output schema present, return shape need not be explained, and the description adds the payment/auth model and content summary an agent needs before invoking a paid, no-param tool. Minor gaps remain: how to obtain the x-credit-token and any latency/freshness expectations for a generated brief.
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 takes zero parameters, so there is nothing for the description to disambiguate; the baseline for a parameterless tool applies. The description correctly implies the call is self-contained with no filtering 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?
States a specific verb and resource ('AI-written situational brief of the Base token market') with explicit scope: aggregates trending and newly-listed Base tokens, then writes mood, highlights, launches, and cautions. This clearly separates it from siblings like market_pulse, trending_tokens, new_tokens, or ai_summarize without opening any 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?
'One call gives a trading agent market context instead of dozens of lookups' gives clear usage context and an implicit alternative to per-token lookups. However, it never names a competing sibling tool (e.g. market_pulse or crypto_trending) or states when NOT to use it, so no explicit routing is provided.
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 (no free tier on this tool). No 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive, openWorld), and the description adds the operationally critical details those annotations cannot: exact cost ($0.03/call over x402 on Base), the prepaid x-credit-token header for unlimited calls, absence of a free tier, and no API key/prompt engineering required. This is exactly the payment/auth context an agent needs before calling a metered 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?
Front-loaded with the punchline (any text → crisp bullets) and efficiently structured, but there is redundancy: 'No API key' appears twice, and 'one micro-payment per call' is restated as '$0.03 per call'. Minor waste keeps it below 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?
An output schema exists, so return-shape detail is unnecessary, and the description covers purpose, input limit, payment/auth mechanics, and pricing. For a single-parameter read-only tool, nothing an agent needs 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?
Schema coverage is 100% and the single param is documented, so baseline is 3. The description adds a real constraint absent from the schema — the 16K-character input limit and the 'send text=, get bullets back' calling convention — which meaningfully supplements the bare 'Text to summarize' 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?
States a specific verb and resource: compress any text (up to 16K chars) into 3-5 bullet points, with concrete input examples (articles, transcripts, email threads, reports). The purpose is unmistakable, but no sibling tool (ai_extract, ai_translate, web_extract) is named to distinguish the boundary between summarization and extraction/translation.
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 usage context: 'The digest step for agent pipelines that read more than they can carry in context.' This tells the agent when the tool fits. However, it offers no explicit exclusions or named alternatives (e.g. use ai_extract for structured fields), so the routing guidance 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.
ai_token_reportARead-onlyIdempotentInspect
AI-written due-diligence verdict for a Base token — The flagship report: aggregates token risk, holder concentration, price/liquidity and OFAC sanctions, then AI 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 (no free tier on this tool). No 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already carry readOnly/idempotent/openWorld/non-destructive, and the description adds real context the annotations cannot: per-call price ($0.12 via x402 on Base), the prepaid x-credit-token header path for unlimited calls, no free tier, and no API key required. It stops short of noting latency, caching, or rate limits, so it is strong but not exhaustive.
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 capability and payment terms are front-loaded, but marketing filler ('The flagship report', 'agent-ready intelligence you can't get free') consumes sentences that do not help an agent decide or invoke. Trimming the promotional clauses would leave a materially tighter definition.
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 correctly does not enumerate return fields, and it covers cost, auth path, and required input for a one-parameter tool. The remaining gap is explicit routing against sibling report tools, which matters given how many overlapping DD/risk siblings exist.
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 fully documented in the schema (100% coverage) as 'Token contract address', and the description only restates it as 'Required input: address'. Baseline 3 is appropriate when the schema does the heavy lifting; no extra format or chain caveats are added.
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+resource ('AI-written due-diligence verdict for a Base token') and enumerates the aggregated inputs (token risk, holder concentration, price/liquidity, OFAC sanctions) plus the output shape (avoid → favorable). It does not name which sibling report tools it supersedes (deep_dd, token_risk, ai_contract_risk), so an agent must still infer the boundary itself.
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 implies usage ('One call, agent-ready intelligence') and states the required input and price, but gives no explicit when-to-use/when-not guidance versus the many adjacent token-risk and DD tools in the sibling list. Selection between this and deep_dd/token_risk is left to inference.
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 — LLM-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. Priced by length: $0.03 to 2,000 characters, $0.08 above — the 402 challenge quotes the price for the text you sent. 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 (no free tier on this tool). No 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish the safe-read profile, but the description goes well beyond them: it discloses the 6K char cap, length-tiered pricing, the 402 challenge behavior, the x-credit-token prepaid header, absence of a free tier, and — critically — that the output is bare translation with no wrapper prose, safe to pipe. That is exactly the behavioral context an agent needs before paying for a 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 core purpose and constraints are front-loaded, which is good, but the text is padded with repetition: pricing is stated twice ($0.03 per call and the length tiers) and 'No API key' appears in both the opening and closing sentences. The redundancy dilutes an otherwise well-structured block.
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 translation primitive with an output schema, this covers everything an agent needs: required input, size limit, target-language field, cost model, payment/auth mechanics, and output shape. Nothing material is left unspecified.
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 adds a meaningful constraint not present in the schema: the 6K character limit on text and the 'any language' acceptance for to. It confirms text as the required input, slightly exceeding the schema's terse 'Text to translate'.
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 ('Translate ... text ... to any language') with a clear scope limit ('up to 6K chars'). It is easily distinguished from siblings like ai_summarize and ai_extract, and the 'pay-per-call primitive' framing makes the operation type 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?
Gives explicit contexts — 'localizing content, parsing foreign-language sources, or serving multilingual users' — so an agent knows when this tool applies. It does not name sibling alternatives (e.g. ai_summarize) 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.
ai_tx_explainARead-onlyIdempotentInspect
Plain-English explanation of any Base transaction — Give a Base transaction hash and AI 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 (no free tier on this tool). No 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover readOnly, idempotent, non-destructive, openWorld, so the safety profile is done. The description adds genuinely new operational context: $0.04 per call over x402 on Base, a prepaid x-credit-token header for unlimited calls, no free tier, and no API key required. That pricing/auth disclosure is exactly the value-add expected when annotations 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?
Front-loaded with the core purpose, then output contents, then payment terms. Em-dash-heavy but every clause carries information; the only mild redundancy is the explicit 'Required input: hash' which the schema already states.
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 explained, yet the description still previews the response (action, risk read, notes), and it fully covers the payment/auth path an agent needs before calling. Nothing critical is missing, though the lack of sibling disambiguation leaves a small 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?
With one parameter at 100% schema description coverage, the schema already documents 'hash'. The description only restates 'Required input: hash' without adding format hints (length, 0x prefix, chain specificity). Baseline 3 applies when the schema does the heavy lifting.
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 ('explains what a Base transaction actually did in plain English') and enumerates the output shape: the action, a risk read, and notes. It implicitly separates itself from raw-decode siblings like tx_decode or base_receipt by emphasizing the plain-English interpretation, but it never names an alternative explicitly.
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 you the required input ('hash') and the payment mechanics, but gives no guidance on when to reach for this versus tx_decode, receipt_parse, or base_tx. Usage is only implied by the 'plain-English' framing, so an agent must infer the boundary itself.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ai_wallet_reportARead-onlyIdempotentInspect
AI-written verdict on any wallet — The flagship wallet report: aggregates net worth, age/activity and recent transactions, then AI synthesizes a verdict (e.g. fresh/risky → established/active) with key observations. One call, agent-ready wallet intelligence. Required input: address. Priced $0.06 per call over x402 on Base; send a prepaid x-credit-token header for unlimited calls (no free tier on this tool). No 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive, open-world), so the bar is lower. The description adds genuinely useful non-annotation context: priced at $0.06/call over x402 on Base, prepaid x-credit-token header for unlimited calls, no free tier, no API key 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?
Front-loaded with the purpose and aggregation logic before payment details. Mostly earns its place, though 'flagship wallet report' and 'One call, agent-ready wallet intelligence' are marketing filler that 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?
An output schema exists, so return values need no explanation, and payment/auth requirements are fully disclosed. Adequate for a single-parameter tool, with only the verdict's analytical scope left implicit.
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?
Only one parameter, and schema coverage is 100%, so the schema fully documents 'address'. The description restates 'Required input: address' but adds no syntax, format, or chain-scoping detail. Baseline 3 is appropriate when the schema does the work.
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 synthesis: aggregates net worth, age/activity and recent transactions, then AI produces a verdict (fresh/risky vs established/active). This composite 'AI verdict' framing clearly sets it apart from raw siblings like wallet_networth, wallet_summary or wallet_activity without needing to name 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?
Implies when to use it ('one call, agent-ready wallet intelligence' for a verdict) and states the required input, but never names an alternative for a narrower need (e.g. use wallet_networth for just numbers) or any when-not condition. Usage is inferable but not explicit.
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 AI 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 (no free tier on this tool). No 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, openWorld, and non-destructive behavior, so the safety profile is covered. The description adds non-obvious operational context: it is $0.06 per call over x402 on Base, an x-credit-token header buys unlimited calls, there is no free tier, and no API key is required. That payment/auth detail is genuinely useful and not derivable from 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?
Front-loads the value proposition and the produced output before pricing minutiae, and every sentence carries information. The pricing sentence is dense but relevant given no free tier; overall it is appropriately sized.
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 need not be explained, yet the description still summarizes them. Combined with the payment and input requirements, an agent has enough to select and invoke the tool correctly; the only gap is explicit routing against sibling approval/drain 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?
One parameter with 100% schema description coverage, so the baseline is 3. The description only restates 'Required input: address' and adds no format, chain, or validation semantics beyond what the schema already says.
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: it pulls a wallet's active token approvals and produces a security audit with risk level, USD at risk, and revoke recommendations. This is much clearer than a name restatement, though it does not explicitly differentiate itself from near-neighbors such as token_approvals, approval_advisor, or wallet_drain_watch.
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 a concrete trigger context — the wallet-safety check run before trusting an address — so an agent knows when it applies. It stops short of naming alternatives or stating when not to use it, so it is not a full 5.
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 (no free tier on this tool). No 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered. The description adds genuinely new operational context beyond annotations: $0.05 per call over x402 on Base, the prepaid x-credit-token header for unlimited calls, no free tier, and no API key required. It does not disclose rate limits or latency, but the payment/auth disclosure is substantive.
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?
Front-loads the purpose and the ranking formula before payment mechanics, which is the right ordering. The opening em-dash fragment ('Which approvals could drain you — and revoke order —') is slightly awkward and the pricing sentence is dense, but overall it is tight and each sentence carries 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?
An output schema exists, so the description need not explain return values, and it correctly focuses on purpose, the ranking dimensions, the single input and the payment model. For a one-parameter read tool this is complete; only explicit sibling differentiation would push it higher.
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 there is a single required parameter ('address'), so the schema already documents the input fully. The description merely repeats 'Required input: address', adding no syntax, format or validation detail beyond the structured 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?
States a specific verb and resource: ranks a wallet's active token approvals by USD-at-risk, unlimited-allowance and unlabelled-spender, and returns a prioritised revoke queue. This is clearly distinguishable from a raw listing or a revoke-transaction builder in principle, but it does not name the sibling tools (token_approvals, revoke_builder) it clearly overlaps with, so the differentiation is only implied.
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 is implied via 'tells an agent exactly what to revoke first', which gives a context for the tool, but there is no explicit when-to-use/when-not guidance and no routing to the closely related approval tools. An agent can infer intent but is not steered away from token_approvals or revoke_builder.
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 (no free tier on this tool). No 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive, openWorld), and the description adds material context the annotations do not: $0.03 per call over x402 on Base, a prepaid x-credit-token header for unlimited calls, no free tier on this tool, and no API key required. For an agent deciding whether it can even call the tool, this is high-value 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?
Front-loaded with the core question and the blocklist/allowlist distinction, and the payment terms are placed at the end where they belong. There is mild redundancy — the 'can't receive/hold uninvited' consequence is stated twice — but overall the 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?
An output schema exists, so return values need no explanation, and the description covers purpose, per-scope decoding (send/receive/execute/mint), the sibling boundary, the required input, and the payment/auth model. 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% for the single 'address' parameter, so the schema already documents it. The description only restates 'Required input: address' and adds no syntax, format, or chain detail beyond what the schema provides, making the baseline 3 correct.
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+resource: decodes whether a B20 transfer policy is a BLOCKLIST or ALLOWLIST, per scope. It explicitly names the sibling it is not (b20-safety flags that a policy exists; this decodes its TYPE per scope), so an agent can distinguish the two without opening either 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?
Draws a clear boundary against b20-safety and explains the practical stake ('the issuer can block bad actors' vs 'a permissioned RWA you can't hold uninvited'), which tells the agent when this matters. It stops short of an explicit use-when/avoid-when rule set, but the sibling routing is clear.
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 (no free tier on this tool). No 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive/openWorld, and the description goes well beyond that with the cost model ($0.03 per call over x402 on Base), the auth path (prepaid x-credit-token header for unlimited calls, no free tier, no API key), and the data origin (CDP-indexed events, active vs ended feed). These are exactly the non-schema behavioral facts an agent needs before invoking.
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 read operation is front-loaded and every clause carries information, but there is redundancy — 'issuer notices, corporate actions, redemptions' echoes the opening 'issuer notices & corporate actions' — and the em-dash stacking makes it denser than needed.
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 values need not be described, and annotations cover the safety profile. What remains — what it reads, from where, what it costs, what auth it needs, and what input it requires — is all stated, so an agent can call this correctly without opening anything else.
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?
Only one parameter, and schema coverage is 100% ('B20 Asset token address'), so the schema fully documents it. The description's 'Required input: address' merely restates the schema without adding format, constraints, or validation 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?
States a specific verb and resource — 'Reads a token's announcement feed (active vs ended) from CDP-indexed events' — and defines the underlying primitive (Announcement: id, description, uri) with examples (issuer notices, corporate actions, redemptions). It distinguishes itself from the ERC-20 baseline, though it never names the closest siblings (corporate_actions, rwa_dividend_feed) to differentiate.
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?
Frames itself as 'the issuer-communications primitive for agents holding tokenized/RWA B20 assets', which implies when to reach for it, but there is no explicit when-to-use vs when-not guidance and no named alternative to route against. Adequate context, no routing rules.
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 (no free tier on this tool). No 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive, but the description adds real value the annotations don't: the verification mechanism (factory precompile registration + bytecode absence), the anti-spoofing rationale, the enum of possible verdicts, and paid-call behavior ($0.02/call, x-credit-token header for unlimited, no free tier, no API key). That pricing/auth disclosure is exactly the behavioral context annotations cannot carry.
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?
Front-loaded with the core question, then rationale, then mechanics, then pricing — a sensible order. Slightly over-written: the anti-scammer justification and the marketing aside ('the 2-cent check') plus a separate pricing sentence restate cost-related points twice, costing a bit of density.
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 shape needn't be explained, and the description still covers mechanism, verdict enumeration, when to run it, and the x402 payment/auth model. For a one-parameter read tool with a rich annotation set, 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% for the single 'address' parameter, so baseline 3 applies. 'Required input: address.' restates the schema's required field without adding format, chain, or validation semantics beyond what is already documented.
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?
Specific verb + resource: it verifies whether an address is a genuine B20 or a lookalike, and returns a discrete verdict (genuine / fake_lookalike / not_b20). It explicitly distinguishes itself from the rest of the b20_* family by framing itself as the authority check that can't be spoofed, so an agent can route to it 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?
Gives explicit ordering guidance ('Run FIRST on any B20') and a reason ('the check that keeps every other B20 answer honest'), which implicitly positions all other b20_* tools as downstream. The agent is told exactly when this tool precedes alternatives rather than being left to infer.
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 (no free tier on this tool). No 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint/idempotentHint/non-destructive and openWorld, so the safety profile is covered. The description adds genuinely useful non-annotation behavior: pricing ($0.08/call over x402 on Base), the prepaid x-credit-token header for unlimited calls, no free tier, and no API key requirement.
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?
Front-loaded with the core purpose and dense with useful contract details. However, the opening redundantly repeats 'up to 5 B20 tokens' twice in the first sentence, wasting space in an otherwise tight definition.
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?
Payment/auth behavior, batch limit, and the scored dimensions are all disclosed, and an output schema exists so return format needn't be explained. Nearly complete for an agent to call it correctly, with only the sibling relationship left implicit.
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 single 'addresses' parameter is fully documented as comma-separated B20 addresses. The description reinforces it as required and adds the 'up to 5' cap not present in the schema, but adds little else beyond 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?
States a specific verb+resource ('Freeze/seize scan for up to 5 B20 tokens') and enumerates the safety dimensions scored (freeze/seize/pause/rebase/uncapped-mint). It implicitly distinguishes itself from single-token siblings like b20_safety via the explicit 'up to 5' batch scope, but never names the alternative, keeping it 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?
'For portfolio holders and agents screening several B20s at once' gives clear context that selects this tool over the single-token variant. It does not, however, state any exclusions or point explicitly at the single-token alternative for one-off checks.
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 (no free tier on this tool). No 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish the safe read-only profile, but the description adds genuinely useful non-structural context: per-call price ($0.05 over x402 on Base), the prepaid x-credit-token header for unlimited calls, no free tier, and no API key required. It also explains what counts as failure (the 'transfers brick' scenario). This is exactly the operational detail annotations cannot carry.
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?
Front-loaded with the core purpose and failure modes before cost/auth details, and most sentences earn their place. The opening fragment list and some emphatic phrasing ('transfers brick') are stylistic rather than strictly necessary, costing a small amount of signal-to-noise.
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 need not be re-explained, yet the description goes further by summarizing the verdict taxonomy and the can-this-token-move flag. Combined with cost, auth, input, and audience coverage, an agent has everything needed to call and interpret 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% for the single 'address' parameter, so the schema documents the input fully. The description's 'Required input: address' merely restates this and adds no format or interpretation detail (e.g., chain qualifier). Baseline 3 for high-coverage schema 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?
Strong verb+resource: an 'audit'/'misconfiguration lint' of B20 policy scope config, with the specific failure modes enumerated (dangling bindings, ALWAYS_BLOCK, renounced lists, live pauses). It is distinguishable from general siblings like b20_safety or b20_freeze_check by scope, though it never names a sibling it is not.
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 usage context — 'pre-launch lint for issuers, stuck-funds guard for holders and merchants' — which tells the agent when this tool is appropriate. It stops short of naming alternatives or stating when-not to use it (e.g., versus b20_transfer_preflight or b20_freeze_check).
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 (no free tier on this tool). No 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/openWorld, so the bar is lower, yet the description adds substantial context: data source (onchain role events), the exact roles read (mint/burn/seize-via-burnBlocked/pause/admin), what is reported (controllers, centralization, admin renounced), and pricing/auth terms ($0.05/call over x402, prepaid x-credit-token header for unlimited calls, no free tier, no API key).
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?
Front-loads the core question ('WHO can mint, seize, freeze or pause this B20?') then handles contrast, method, use case, and payment terms. Dense but every clause carries information; the pricing block is slightly heavy but material for callers.
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 need not be described, and the description still covers the data source, the roles inspected, the reported outputs, the use case, and payment/auth mechanics. Nothing an agent needs 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?
Schema coverage is 100% with a single self-documenting 'address' field. The description only restates 'Required input: address' without adding format, chain, or validation detail beyond the schema. Baseline 3 applies when the schema does the work.
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+resource (reads role-based access control / controllers of a B20 token) and explicitly contrasts with the sibling b20_safety: 'b20-safety tells you WHICH powers a B20 has; this tells you WHO holds them.' An agent can distinguish the two without opening either 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?
Provides a clear context for use ('The issuer-control map an agent needs before holding a regulated Base-native asset') and implicitly routes the WHICH-powers question to b20_safety. No explicit when-not condition, but the alternative is named and the standing use case is concrete.
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 AI 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 (no free tier on this tool). No 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations cover read-only, idempotent, open-world safety. The description adds critical non-annotation behavior: x402 pricing ($0.75 per call), prepaid x-credit-token header for unlimited calls, no free tier, no API key required, and the specific verdict components returned (issuer-control score, seizure risk, red flags, hold/avoid recommendation).
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?
Front-loaded with the core purpose and composed dimensions, and payment details are useful. Some marketing phrasing ('premium tier', 'no ERC-20 tool can produce it') is mildly expendable 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?
With an output schema present, return values need not be explained, yet the description still outlines the verdict. It covers payment, input, and output adequately, though it does not clarify how it relates to narrower B20 sibling tools, which would help given the crowded suite.
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 fully documented. The description merely repeats 'Required input: address', adding no format, validation, or usage 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?
States a specific verb (composes an institutional report/verdict) and resource (Base-native B20 token), and distinguishes from ERC-20 tools. However, it does not name any specific B20 sibling it aggregates, leaving sibling differentiation implicit rather than explicit.
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?
Implies an institutional due-diligence context and notes it is premium tier with no free tier, but offers no explicit when-to-use vs alternatives or exclusions relative to the many sibling B20 tools.
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 (no free tier on this tool). No 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the read-only/idempotent annotations, it discloses the cost model ($0.03 per call over x402 on Base), the auth mechanism (prepaid x-credit-token header, no API key, no free tier), and the consequence semantics of a negative result (wallet can't transfer and can be burned/seized by the issuer). This is exactly the kind of auth, pricing, and outcome context annotations cannot carry.
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 sentence, but the description is padded with marketing-style emphasis ('Is YOUR wallet...', '(SEIZED)') and the 'Required inputs: token, wallet' line duplicates the schema's required list. The pricing and auth lines do earn their place; the redundant input restatement does not.
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 two-parameter read-only check with an output schema and full annotation coverage, the description supplies everything else an agent needs: what is checked, what a negative result implies, cost, and auth path. Return-value explanation is correctly left to 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?
Schema description coverage is 100% and both parameters are already documented ('B20 token address', 'Your wallet address'), so the schema carries the load. The description only restates 'Required inputs: token, wallet' with no added format, casing, or chain-qualification detail. 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?
States a specific verb and resource: checks whether a given wallet is authorized under a B20 token's transfer-sender policy, plus the consequence (can't transfer, can be burnBlocked/seized). It differentiates from b20_safety by framing itself as the per-wallet 'my funds' companion, but does not distinguish itself from other close siblings like b20_gate, b20_transfer_preflight, or b20_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?
Provides clear context via the framing question 'can this token freeze MY funds?' and positions itself as the personal companion to b20-safety, implying the per-wallet counterpart to a token-level tool. No explicit when-not-to-use or named alternatives beyond b20-safety, 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.
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 (no free tier on this tool). No 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive, so the safety profile is covered. The description adds material context beyond them: pricing ($0.10 per call over x402 on Base), the prepaid x-credit-token header for unlimited calls, no free tier, and no API key required — all actionable for an agent deciding whether it can 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 verdict-oriented purpose is front-loaded and every clause carries information (what it aggregates, the wallet flag, pricing/auth). It is dense and slightly run-on with parentheticals, but not padded.
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 the return payload, and annotations cover the safety profile; the description fills the remaining gaps (cost, payment header, required input). It is complete enough to call correctly, though sibling routing remains unaddressed.
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 both parameters are already documented in the schema. The description's 'Pass wallet= to also check if YOUR address is already blocked' and 'Required input: address' essentially restate the schema descriptions rather than adding syntax, format, or edge-case meaning. 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?
States a specific verb+resource: it produces a single GO/HOLD/STOP verdict for a Base-native B20 token, aggregating seize/freeze/rebase/pause/uncapped-mint checks. It also asserts a routing role ('The B20 tool to bind first'). It does not, however, distinguish itself from the many close siblings such as b20_guard, b20_safety, or b20_transfer_preflight, so the differentiation is asserted rather than demonstrated.
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 for use: run it before touching/trading a B20 token, and pass wallet= to additionally check your own address's blocked status. It gives the condition that selects it (pre-trade on a B20) but never names an alternative tool or an exclusion, leaving the agent to guess against b20_guard/b20_safety.
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 (no free tier on this tool). No 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare the safety profile (readOnly, idempotent, non-destructive), and the description adds substantial context beyond that: the payment model ($0.04 per call via x402 on Base), the x-credit-token prepaid header for unlimited calls, the explicit no-free-tier constraint, and the fact that no API key is needed. It also clarifies the semantic meaning of the bypass window and the verdict outcomes, which annotations cannot convey.
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 and the bypass-window framing are front-loaded, and the reconstructed artifacts plus verdict list are dense but informative. It is slightly run-on with em-dash chains, and the pricing/auth sentence is appended rather than integrated, but no sentence is pure 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?
An output schema exists, so return-value exposition is not required, and the description still enriches it by naming the verdict enum values. Annotations cover safety and the description covers cost and auth, leaving little an agent needs before calling. Only the absence of explicit sibling routing keeps it from a 5.
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 there is a single required parameter, so the schema already defines 'address' as a B20 token address. The description only restates 'Required input: address' without adding format, validation, or edge-case meaning. Baseline 3 applies when the schema does the heavy lifting.
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 (reconstruct/audit) and a precisely scoped resource: what the issuer did inside the initCalls bypass window, enumerating the artifacts recovered (pre-mints, role grants, policy bindings, blocklist seeding) and the verdict taxonomy. This is unmistakably distinct from near-siblings like b20_config_audit, b20_launch_radar, or b20_dossier without opening any 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?
The description frames the scenario well (the one-tx privileged window only the issuer gets) and names the required input, so the agent can infer when it applies. However, it never explicitly states when to prefer this over b20_config_audit, b20_control, or b20_dossier, nor any exclusion criteria, so the routing decision is left to inference.
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 (no free tier on this tool). No 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the read-only/idempotent/open-world profile, but the description adds substantial context beyond them: the sub-second webhook capture model, pricing ($0.05/call over x402 on Base), auth via prepaid x-credit-token header, no free tier, and no API key required. This is exactly the operational disclosure an agent needs.
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 dual-mode usage and pricing each earn their place. The em-dash-heavy run-on construction is dense but not padded.
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 mode selection, real-time behavior, pricing and auth; an output schema exists so return values need no explanation, and annotations carry the safety profile. 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?
With a single optional parameter at 100% schema coverage, the schema already documents the address. The description reinforces its meaning (address = live guard status; omission = network feed), adding modest behavioral clarity but 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?
States a specific verb+resource: real-time alerts when a B20 token turns seizable, explicitly positioning itself as 'the live layer over B20 Policy Watch.' An agent can distinguish it from b20_policy_watch, b20_freeze_check and b20_seizure_history without opening a 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?
Gives clear dual-mode routing: pass an address for live guard status, omit it for the network-wide feed of newly-seizable tokens. It names the sibling it layers over (B20 Policy Watch) but doesn't state when to prefer this vs. b20_freeze_check or b20_seizure_history, so exclusions are incomplete.
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 (no free tier on this tool). No 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive, openWorld), so the description is not repeating them. It adds genuinely useful non-schema behavior: provenance of the data (the precompile), a concrete price ($0.02/call over x402), the x-credit-token header alternative for unlimited calls, and the explicit note that no API key is required and no free tier 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?
Three sentences, front-loaded with the payload description followed by sourcing, input, and payment mechanics. There is mild redundancy between 'Full profile of a Base-native B20 token' and 'Complete B20 token profile' in the same sentence, but no padding beyond that.
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 the remaining essentials: what class of data, the authoritative source, the required input, and the payment/credit model. The one gap is the lack of any routing against closely overlapping B20 siblings, which matters given how many exist.
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?
Only one parameter and schema description coverage is 100%, so the schema already fully documents 'address'. The description's 'Required input: address' restates the schema's required array without adding format, chain, or validation meaning, which is the expected baseline-3 outcome when the schema does the heavy lifting.
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?
Names a specific verb+resource (full profile of a Base-native B20 token) and enumerates exactly which fields are returned (variant, name, symbol, decimals, supply, cap, policies, pause states, rebase) plus the data source ('straight from the precompile'). It partially differentiates from b20-safety as the 'data companion', but does not distinguish itself from overlapping siblings like b20_metadata, b20_dossier, b20_supply, or b20_rebase.
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?
Signals an implied usage context by calling itself the 'data companion to b20-safety', suggesting a read-the-data role versus a risk-assessment role. However, there is no explicit when-to-use guidance and no routing statement telling the agent when to prefer b20_metadata, b20_dossier, or b20_supply 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 (no free tier on this tool). No 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive, open-world), and the description adds substantial beyond it: the x402 pricing model ($0.01 per call), the prepaid x-credit-token header for unlimited calls, the absence of a free tier, and that no API key is required. The 'new ≠ safe' warning and the b20-safety routing are real behavioral context an agent needs before invoking.
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?
Front-loaded with the core purpose before details, and the pricing/header clauses are separated from the functional description. It is dense with em-dashes and slightly marketing-flavored, but every sentence (fields, discovery framing, safety warning, pricing) carries information an agent can act on.
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?
Output schema exists, so return values need not be explained, and the description still names the key fields. Pricing, auth model, and safety follow-up are all disclosed. The only gap is the vague semantics of the `limit` parameter, which neither schema nor description clarifies.
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?
Only one parameter (limit) with 100% schema coverage, though its schema text ('How many') is terse. The description adds no meaning to the limit parameter, so the baseline of 3 applies when the schema carries the load.
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?
Specific verb+resource: lists the newest B20 tokens on Base from the B20Factory precompile, and even names the returned fields (variant, symbol, decimals, block). It scopes itself to B20 tokens, implicitly narrowing against generic siblings like new_tokens/trending_tokens, but never explicitly contrasts with them, so it falls 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?
Frames itself as 'a discovery feed for agents hunting new B20 launches early' and gives a concrete follow-up instruction ('Run b20-safety on any address before touching it — new ≠ safe'). It does not state when to prefer this over new_tokens or trending_tokens, so there is context but no explicit alternatives or exclusions.
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 (no free tier on this tool). No 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnlyHint, idempotentHint, destructiveHint=false), but the description adds genuinely new behavioral context: x402 pricing at $0.03/call, the prepaid x-credit-token header for unlimited calls, absence of a free tier, and no API key requirement. It omits any note on result volume/pagination, which keeps it below a 5.
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?
Front-loads the token/purpose before the operational details (filters, required input, pricing), and the pricing/required-input sentences earn their place. The opening clause is somewhat promotional and the single dense paragraph could be trimmed, but there is little outright 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?
With a full output schema and complete annotations, the description only needs to orient the agent, and it covers purpose, filterable dimensions, required input, cost model, and auth. Nothing critical is missing; only edge-case behavior (pagination, empty results) is unaddressed.
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, memo, and caller. The description restates that reads can be 'optionally filtered by a specific memo (bytes32) or the caller wallet' but adds no semantics beyond the schema (e.g. matching behavior, case sensitivity, empty-memo handling), so 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?
Names a specific verb and resource ('Reads a token's on-chain Memo event history') and scopes it with the filterable dimensions (memo bytes32, caller wallet). It also distinguishes the B20 primitive from ERC-20 and from sibling B20 tools like b20_seizure_history or b20_transfer_preflight by framing memos as the settlement-reconciliation record.
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 when this applies: 'The settlement-reconciliation primitive for agents paying over B20 stablecoins', plus the required input. It does not name an alternative sibling or state when NOT to use it (e.g. vs. a generic transfer lookup), so it stops short of explicit routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
b20_metadataARead-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 (no free tier on this tool). No 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Far exceeds annotations by disclosing payment mechanics ($0.04 per call over x402 on Base, prepaid x-credit-token header for unlimited calls, no free tier, no API key), the METADATA_ROLE capability (updateName/updateSymbol), and exactly what on-chain history it inspects. Annotations only cover read-only/idempotent/open-world safety.
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?
Front-loaded with the key question and answer, then flows into mechanics, guidance, and pricing. It is fairly long, but most sentences carry distinct information; only the explanatory aside about ERC-20 having no equivalent is slightly 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?
Complete for a read-only, single-address tool with an output schema. The description states what is checked (mutability and rename history), the required input, and the payment/auth model, so an agent has enough 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 coverage is 100% and the only parameter is already documented as 'B20 token address'; the description's 'Required input: address' adds no syntax, format, or validation detail beyond the schema. Baseline 3 applies when the schema does 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?
States a specific read operation on B20 token metadata: mutability via METADATA_ROLE and rename history via NameUpdated/SymbolUpdated. The opening questions make the purpose concrete, but it never names or contrasts with sibling tools such as b20_authenticity or b20_info, so sibling differentiation is missing.
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?
Provides clear context for engagement—checking whether a B20 token can or has renamed itself to detect impersonation/bait-and-switch—and advises 'Trust the address, not the label.' However, it does not give explicit when-not conditions or route the agent to alternative tools.
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 (no free tier on this tool). No 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive), and the description adds genuinely non-structural facts: pricing at $0.03/call over x402 on Base, the prepaid x-credit-token header for unlimited calls, no free tier, and no API key required. It also discloses the output classification labels (heavy_dilution / active_minting / minor_minting / quiet), though it says nothing about window alignment or error behavior for unsupported addresses.
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 value proposition and the sibling differentiation are front-loaded, and the payment mechanics come after. It is dense and slightly stream-of-consciousness with em-dashes and a marketing hook, but almost every clause carries actionable 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 two-parameter read tool with an output schema, the description covers purpose, alternative, parameter range, payment/access model, and the classification vocabulary. Only edge-case behavior (invalid token, empty window) is unaddressed, which is a minor gap given the output schema carries 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 coverage is 100%, so baseline is 3, but the description adds a constraint the schema lacks entirely: the valid range for days (1-90) alongside the default of 30. It adds little on address beyond 'Required input', which the schema's required array already conveys.
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 ('every mint incl. batchMint in the window: amount, recipients, share of current supply') and explicitly contrasts itself with the sibling b20_supply ('shows the dilution ceiling; this shows the actual printing'). An agent can distinguish the two without opening either 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?
Names one explicit alternative (b20_supply) and the condition that selects it, plus the intended audience ('agents holding B20 stablecoins and RWAs'). It does not state when not to use it or mention other adjacent siblings like b20_rebase_history or token_transfers, so it stops 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.
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 (no free tier on this tool). No 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive, openWorld), and the description adds real operational context: it discloses the discrete result states (on_peg / depeg_warning / depegged / no_market / unverifiable_fx) and the payment model ($0.03 per call over x402 on Base, prepaid x-credit-token for unlimited use, no free tier, no API key). The cost/auth disclosure is genuinely useful for an agent deciding whether 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 core concept (declared peg vs market price) is front-loaded, and the outcome states and payment model follow logically. It is em-dash-heavy and slightly dense, but nearly every sentence carries information an agent needs; minimal 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, output-schema-backed read check, the description supplies everything needed: the concept, the trigger condition, the result taxonomy, and the cost/auth model. With an output schema present it correctly avoids restating return values in detail.
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 parameter, so the schema already documents 'address.' The description merely restates the requirement ('Required input: address') without adding format, chain, or validation meaning beyond the schema. Baseline 3 is correct.
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?
Names a specific verb+resource (compare a B20 stablecoin's self-declared currency() against actual DEX market price) and frames it against the sibling verification tools by noting 'the standard verifies nothing' and calling it 'the missing check.' An agent can distinguish it from b20_stablecoin, b20_authenticity, or stablecoin_peg without opening a 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?
Gives a clear trigger — 'Run before settling in any B20 stablecoin' — which tells the agent exactly when this belongs in a workflow. It does not explicitly name an alternative sibling or a when-not condition, so it stops 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.
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 (no free tier on this tool). No 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive, yet the description adds substantial context they don't carry: x402 pricing on Base ($0.03/call), the prepaid x-credit-token header for unlimited calls, no free tier, no API key required, and the anti-replay rationale for fetching the nonce. That is exactly the beyond-annotations value this dimension rewards.
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 and outputs are front-loaded, and every clause is relevant, but it is a dense em-dash run-on that mixes purpose, output list, pricing, and auth into one paragraph. It would read better as two or three sentences, costing it a point.
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 need no explanation, and the annotations cover the safety profile. The description closes the remaining gaps an agent would care about – cost, payment/auth mechanism, and what is and isn't signed – leaving nothing material unstated.
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 both params are documented there, so the baseline is 3. The description reinforces 'required input: address' and explains the nonce/replay purpose of the owner param, but adds no syntax or format detail the schema doesn't already supply.
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 ('reads DOMAIN_SEPARATOR, owner nonce, EIP-712 domain/type struct') rather than restating the name. An agent can immediately tell this inspects ERC-2612 permit prerequisites, not generic B20 metadata, so it is distinguishable from the many b20_* siblings without opening 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?
It gives clear context for when to reach for it: when an agent needs to build a valid permit signature, and it explicitly notes 'signs nothing' and read-only behavior. It stops short of naming an alternative or a when-not condition, but the usage context is unambiguous.
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 (no free tier on this tool). No 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, openWorld and non-destructive. The description adds genuinely non-obvious operational context: p pricing at $0.04/call over x402 on Base, a prepaid x-credit-token header for unlimited calls, no free tier, and no API key required. It adds no detail about the response shape, but that is covered by the output 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?
Every sentence carries information (purpose, sibling differentiation, pricing), but the leading rhetorical question ('WHO administers the blocklist that can freeze you?') and the repeated 'other half of who can freeze/seize you' framing are stylistic padding for a one-parameter read tool. Front-loading is good, but the phrasing is heavier than needed.
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 values need not be described, and the annotations cover the safety profile. The description supplies purpose, sibling routing, input requirement, and pricing/auth mechanics, so an agent has what it needs; only the near-sibling differentiation among b20_policy_watch/policy_members is thin.
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, so the schema already carries the semantics. The description only restates 'Required input: address' and does not add format or source hints (e.g. that it should be the B20 token address) beyond what the schema provides. 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?
States a specific verb+resource: it reads who administers each active transfer/mint policy (policyAdmin), pending handover (pendingPolicyAdmin), and renouncement status, straight from the Policy Registry. It explicitly distinguishes itself from b20-control ('reads the token's own roles') and from the registry-based control angle, so an agent can tell it apart 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?
Gives clear context: this is the complement to b20_control for the 'who can freeze/seize you' question, and it must be sourced from the Policy Registry rather than the token itself. It doesn't explicitly rule out or route away from near-neighbors like b20_policy_members or b20_policy_watch, so it stops short of full when/when-not guidance.
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 (no free tier on this tool). No 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, openWorld, non-destructive), so the bar is lower. The description adds genuinely useful behavior the annotations do not: provenance (events replayed from the Policy Registry), historical attribution ('when, by whom'), and cost/auth model ($0.05 per call via x402 on Base, x-credit-token for unlimited calls, no API key, no free tier). Mostly strong, though the 'compliance-grade visibility no other tool provides' line is promotional rather than behavioral.
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 differentiator is front-loaded and the structure is logical. However, it is dense and includes filler ('Compliance-grade visibility no other tool provides'), and the pricing/auth detail trails at the end rather than being tighter.
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 need no explanation. The description covers purpose, the competing sibling, both parameter options, and the payment/auth model — everything an agent needs to invoke it correctly for a read-only, two-optional-param 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%, so the baseline is 3, but the schema descriptions are bare ('Registry policy ID (optional)', 'B20 token address') and omit the relationship between the two. The description clarifies that either address= or policy= selects the same resource, which is real added 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+resource: replaying BlocklistUpdated/AllowlistUpdated events to enumerate the full membership of a B20's blocklist/allowlist, including attribution and current member set. It explicitly contrasts itself with b20_freeze_check ('answers one wallet; this enumerates the WHOLE list'), so an agent can disambiguate without opening a 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?
It names the alternative tool and the condition that selects it: use b20_freeze_check for a single wallet, use this for the whole list. It also states which parameter form to pass (address= for a token, policy= for a registry policy ID). Routing is fully explicit.
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 (no free tier on this tool). No 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive, openWorld), and the description adds real context beyond them: the pricing model ($0.03/call over x402 on Base), the prepaid x-credit-token header for unlimited calls, the absence of a free tier, and no API key requirement. These are operationally decisive details an agent cannot get from 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 core question is front-loaded and the structure is logical (what it does, the vector, the inputs, the pricing). It is somewhat dense and marketing-flavored with em-dash asides, but each sentence carries information rather than 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?
An output schema exists so return format needn't be explained, and rich annotations carry the safety profile. The description also covers payment and access requirements. It is close to fully self-sufficient; only explicit sibling routing 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 a single required parameter with 100% schema coverage; the schema already documents 'address' as the B20 token address, and the description only restates 'Required input: address.' No format or syntax is added, 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?
States a specific verb and resource ('reads the token's full policy/pause event timeline plus the live policy state') and a distinct outcome ('tells you if — and exactly WHEN — it turned seizable'). This is clearly separable from siblings like b20_freeze_check, b20_seizure_history, and b20_policy_admin without opening any 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?
Gives a clear scenario framing: 'Did this token BECOME seizable after launch?' and names the threat model it addresses (the B20-only rug vector). However, it does not explicitly state when to prefer this over b20_seizure_history or b20_freeze_check, leaving sibling routing to inference.
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 (no free tier on this tool). No 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive, so the safety bar is lower. The description adds real behavioral context beyond that: the x402 $0.06 per-call pricing, the prepaid x-credit-token header for unlimited calls, the explicit absence of a free tier, and no API key requirement — all material to an agent deciding whether it can afford to 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?
Front-loads the core question and capability, then covers return shape, input, and pricing in a compact flow. Slightly dense with pricing/header mechanics, but every clause is informative for an agent, so little 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?
An output schema exists, so return-value explanation is not required, yet the description still summarizes the return shape (per-token flags plus wallet-level verdict). Combined with the pricing/auth details, an agent has enough to invoke correctly; only sibling disambiguation is thin.
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 wallet parameter, so the schema already carries the semantics. The description only restates "Required input: wallet" and adds no format, validation, or address-type nuance 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?
States a specific verb and resource ("Scans a wallet's B20 holdings for protocol-level freeze/seize powers") plus the distinctive scope of checking whether the caller's own address is already blocked. It differentiates from generic ERC-20 portfolio tools, but does not name the closest B20 siblings (b20_freeze_check, b20_guard, b20_safety), so an agent cannot fully disambiguate from those.
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 framing ("Built for agents holding Base positions") implies the audience and the risk-check use case, but no explicit when-to-use/when-not or named alternatives are given. The agent must infer that this is the portfolio-level B20 risk scan rather than the single-token freeze 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 (no free tier on this tool). No 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive and openWorld, so the safety profile is covered. The description adds genuinely non-structured context: the x402 payment model on Base, the $0.02 per-call price, the prepaid x-credit-token header for unlimited calls, the absence of a free tier, and no API key requirement — all auth/cost details the agent cannot get from 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 in the first clause and the description is dense rather than padded. The em-dash fragments and payment boilerplate add length, but every sentence carries information relevant to calling 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?
An output schema exists, so return-shape explanation is unnecessary, and the description still supplies payment/auth requirements, the balance-scaling interpretation, and the stablecoin edge case. The main omission is sibling routing, which would be needed for an agent choosing among the many b20_* 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?
Only one parameter, fully described in the schema ('B20 token address') at 100% coverage, so the schema does the work. The description restates that address is required but adds no format, checksum, or chain details 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?
States a specific verb and resource: reads a B20 Asset token's rebase multiplier, with a clear secondary purpose of flagging whether holder balances are being scaled. It partially differentiates from siblings by noting stablecoin variants return no-rebase, though it never names the closest sibling (b20_rebase_history) that an agent might confuse it with.
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 is implied (checking whether an issuer is scaling balances through rebase) but there is no explicit when-to-use or when-not-to-use guidance, and no routing to b20_rebase_history, b20_supply, or b20_stablecoin. The stablecoin aside hints at scope boundaries but is framed as a return-value fact rather than a selection rule.
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 (no free tier on this tool). No 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare this a safe idempotent read, so the bar is lower, yet the description adds real non-obvious context: a per-call price ($0.03 over x402 on Base), the prepaid x-credit-token header for unlimited calls, no free tier, and no API key requirement. These auth/cost details are exactly what annotations cannot express, though return shape and pagination are left to the output 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 purpose and the b20_rebase contrast are front-loaded, and the pricing/auth sentences earn their place. However, the rhetorical triple 'no transfer, no per-account event, nothing in your tx history' and the em-dash-heavy cadence add length without adding information, diluting a fairly dense 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?
With an output schema present, return values need not be explained, and the description still covers purpose, the sibling alternative, the downward-move flagging behavior, and the payment/auth model. It is complete enough to invoke correctly; only the exact output fields/history depth are left to 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 coverage is 100% and the sole parameter is documented in the schema as the B20 Asset token address. The description only restates 'Required input: address' without adding format, network, or validation meaning, so the baseline 3 is correct.
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 (replays the full MultiplierUpdated history) and resource (a B20 asset's multiplier rescaling), and explicitly distinguishes itself from the sibling b20_rebase ('shows today's value; this replays the full history and flags DOWNWARD moves'). An agent can select between the two without opening either 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?
Names the alternative (b20_rebase) and the condition that selects it (current value vs. full history of downward moves), plus a use context ('before you hold a rebasing RWA'). It stops short of explicit when-not-use or failure-condition guidance, so it falls just below the top band.
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 those powers — seizable, freezable, paused, rebase, uncapped-mint — into one hold/caution/avoid verdict, and separates a real tokenized stock from one merely wearing an equity ticker by reading the transfer-policy admin on chain, not a list: all 13 Coinbase equities, and the next on day one. Required input: address. Priced $0.04 per call over x402 on Base; send a prepaid x-credit-token header for unlimited calls (no free tier on this tool). No 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive, and the description goes beyond them with real operational context: $0.04 per call over x402, an x-credit-token header for unlimited calls, no free tier, and no API key. It also discloses what it actually inspects on chain (transfer-policy admin), which the annotations do not cover.
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 is front-loaded, which is good, but the body is padded with promotional copy ('— Live —', 'all 13 Coinbase equities, and the next on day one') and crowded pricing/header sentences that could be trimmed. Several clauses serve marketing rather than agent decision-making.
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 values need no explanation, and the annotations cover safety semantics. The description still supplies the missing pieces an agent needs – what powers are read, the verdict scale, cost, and auth – making it nearly complete for a single-parameter read 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% and the single 'address' parameter is documented in-schema, so the baseline is 3. The description only restates that 'address' is required and adds no format, chain, or validation nuance 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+resource: it reads a B20 token's protocol-level freeze/seize/mint powers (Policy Registry, burnBlocked) into a single hold/caution/avoid verdict, and clarifies scope by distinguishing a genuine tokenized stock from an equity-ticker impostor. It never names the many nearby siblings (b20_freeze_check, b20_control, b20_guard, token_risk), so differentiation is left implicit.
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 is implied by the framing (assess whether a B20 token can freeze/seize funds) and the required 'address' input is stated, but there is no explicit when-to-use/when-not guidance and no routing to alternatives despite seven-plus overlapping b20_* and risk siblings. An agent must infer the trigger condition.
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 (no free tier on this tool). No 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive), and the description goes further with cost and auth mechanics: $0.05 per call over x402 on Base, prepaid x-credit-token header for unlimited calls, no free tier, no API key required. It also explains what the verdict values mean (enforced / armed / no_seize_power), which is real behavioral context an agent needs before calling.
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?
Strongly front-loaded — a question hook, then the CAN/HAVE-DONE contrast, then the verdict semantics, then parameter usage and pricing. It is slightly dense and the pricing sentence packs several facts, but every sentence carries information an agent needs.
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-format detail isn't needed. Combined with annotations covering safety and the description covering purpose, parameter usage, verdict semantics, and payment/auth requirements, 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?
Schema description coverage is 100%, so the schema already documents both parameters ('Victim wallet (optional)', 'B20 token (omit for network feed)'). The description's guidance on wallet= vs address= and omission largely restates that, giving only marginal added meaning. 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 and resource — scanning a B20 token's actual BurnedBlocked seizure events — and explicitly positions itself against the rest of the B20 family ('Every other B20 check reads what the issuer CAN do; this reads what they HAVE done'). An agent can identify it apart from siblings like b20_freeze_check or b20_control without opening 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?
It gives explicit usage modes ('Pass wallet= for one address, or omit address= for the network-wide feed') and a clear differentiator against alternatives in the same family (CAN vs HAVE DONE). Both the when-to-use and the sibling distinction are stated rather than implied.
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 (no free tier on this tool). No 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive, and the description adds real behavioral context on top: the currency code is the issuer's claim, not attested backing; pricing is $0.03 per call over x402 on Base; a prepaid x-credit-token header unlocks unlimited calls; there is no free tier and no API key. These auth/payment and trust caveats are exactly the disclosure that helps an agent invoke correctly.
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 opening clause, and the sentences largely earn their place (the caveat and pricing details are actionable). The single em-dash-heavy paragraph is dense but not padded.
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 need not be explained, and annotations carry the safety profile. The description still covers the trust caveat, payment/auth requirements, and the required input, leaving nothing essential for a correct call 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 address parameter, so the schema already documents it fully. The description only restates 'Required input: address' and adds no syntax or format detail beyond the schema, making the 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?
States a specific verb and resource: reads the declared peg currency alongside issuance (supply, cap) and control powers (seize/freeze/pause/uncapped-mint), summarized as a one-call 'what is this stablecoin and who controls it'. The composite scope is clear, but it does not explicitly distinguish itself from close siblings like b20_peg, b20_supply, or b20_control, so an agent must infer the difference.
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?
Offers a usage context ('for agents settling in B20 stablecoins') but no explicit when-to-use-vs-alternatives guidance. It never says when to prefer this composite call over the narrower b20_peg / b20_supply / b20_control siblings, leaving routing to inference.
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 (no free tier on this tool). No 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, idempotent, non-destructive, and open-world behavior. The description adds context beyond those fields: it explains what is read (supply cap vs minted supply and on-chain SupplyCapUpdated history), how uncapped mint is interpreted, and the x402 payment model including prepaid header and lack of a free tier.
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 and generally dense with useful information. However, some sentences are redundant with structured fields, such as 'Required input: address,' which the schema already announces, making it 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?
Given the tool's read-only nature, single required parameter, existing output schema, and rich annotations, the description is complete enough for an agent to select and invoke it correctly. It covers purpose, sibling relationships, risk interpretation, and payment 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?
There is one required parameter and schema coverage is 100%, so the schema already documents that 'address' is a B20 token address. The description only says 'Required input: address,' adding no meaning beyond the structured 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 resource and action: mint headroom and dilution history for a B20. It explicitly distinguishes itself from sibling tools by noting that b20-safety covers seizure and b20-control covers the mint role, so an agent can route correctly 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?
It names the complementary sibling b20-safety, clarifies that this tool covers only the dilution half of rug risk, and recommends pairing with b20-control to see who holds the mint role. This supplies explicit when-to-use guidance and alternatives.
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 (no free tier on this tool). No 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive), and the description adds what they cannot: the $0.04 per-call x402 price on Base, the prepaid x-credit-token header for unlimited calls, 'no free tier on this tool,' and 'No API key required.' It also explains the internal check composition (sender/receiver/executor policy resolution plus live transfer-pause), which is genuine 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?
Front-loaded with the decision question and the GO/HOLD/STOP output, and the pricing/auth sentence is dense and useful. Minor waste remains: 'Required inputs: address, from, to' restates the schema's required array, and a couple of clauses ('bought once') are rhetorical rather than informative.
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, annotations covering safety, and 100% schema description coverage, the remaining burdens are purpose, routing, and payment/auth mechanics — all addressed. Nothing an agent needs to decide whether and how to call this per-payment preflight 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, but the description goes further by explaining what each address means operationally — sender policy is resolved against 'from', receiver policy against 'to', executor policy against the optional operator. That interpretive layer is not present in the schema descriptions, though it stops short of format/syntax detail for the addresses.
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 opening question names the exact verb and resource: 'Will THIS transfer (from→to) clear right now?' and immediately scopes it as 'the per-transaction B20 rail check' returning GO/HOLD/STOP. It explicitly contrasts itself with the rest of the B20 family ('every other B20 tool is per-token due diligence'), so an agent can separate it from b20_safety, b20_gate, etc. without opening a 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?
States both the trigger ('the check an agent runs on every payment') and the non-use case (other B20 tools are one-time per-token diligence), plus an exclusion against a whole tool class ('No ERC-20 tool can see it'). This is explicit when/when-not guidance rather than an implied context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bank_csvARead-onlyIdempotentInspect
Messy bank export → one row shape — Parse a bank CSV (comma/semicolon/tab, quoted fields) and map common headers (date/amount/debit/credit/balance/description, TR aliases) into one schema. Up to 500 rows. Best-effort. 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 API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes | CSV text |
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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive. The description adds meaningful context: best-effort parsing, a 500-row cap, and the pricing/auth model ($0.01/call over x402, prepaid header, 1 free call/day, no API key). This goes beyond the annotations with operational constraints.
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?
Front-loads the core transformation ('Messy bank export → one row shape') then packs constraints efficiently. Slightly dense with pricing/billing detail, but each clause carries information an agent or caller needs.
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 input formats, supported headers, row limit, best-effort nature, and pricing/auth. Output schema exists so return shape needn't be explained. Complete enough to invoke correctly, though aliases ('TR aliases') are under-explained.
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?
Only one parameter (text) with 100% schema coverage, so baseline is 3. The description clarifies that text is CSV content in multiple delimiter formats, adding minor meaning over 'CSV text' but the schema already documents 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?
States a specific verb and resource: parse a bank CSV and map headers into a unified schema. It names the concrete input formats (comma/semicolon/tab, quoted fields) and supported header fields, making the tool's function unambiguous even among many 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?
Implies when to use it (messy bank export normalization) but offers no explicit exclusions or alternatives. Sibling list has no direct CSV-normalize competitor, so differentiation is less critical, but usage context is only implied.
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 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnly/idempotent/openWorld annotations, it discloses the pending-block contract ('answers found:false with the reason rather than an error'), that output is raw and uninterpreted, the pricing model ($0.002 per call over x402 on Base), the prepaid x-credit-token auth header, the 1 free call/day allowance, and that no API key is needed. That is a dense, non-obvious behavioral payload the annotations cannot convey.
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 in the first clause, and the pricing/auth tail is genuinely useful rather than filler. It is slightly redundant at the head ('Any Base block, by number, hash or tag — One block on Base') and the em-dash-chained sentences make it denser than it needs to be, 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?
With an output schema present, the description is not obligated to enumerate return fields, yet it does so anyway along with the pending-block edge case, the unit details (age in seconds, base fee in gwei), and the full access/payment model. An agent has everything needed to call it correctly and to understand the result.
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 says 'Block number, hash, or tag (default latest)', so the baseline is 3. The description adds real value on top: it enumerates the exact accepted tags (latest / finalized / safe / earliest) and pins the hash format to 0x…, which the schema does not spell out.
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?
It names a concrete resource (one Base block) and enumerates exactly what the result contains — height, hash, parent, timestamp/age, tx count, gas used vs limit, base fee — which is far more specific than the bare name. The phrase 'Raw chain data, no interpretation' cleanly separates it from the interpretive ai_* and explain-style siblings, and the single-block scope separates it from base_tx/base_receipt.
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 accepted inputs and the latest/finalized/safe/earliest tags and the quirky 'not mined yet' case, which is useful operating context. But it never states when to reach for this tool versus base_tx, base_receipt, or base_nonce, so the choice between siblings is left to inference.
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 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only, idempotent, non-destructive behavior, but the description adds genuinely useful operational context: $0.01 per call via x402 on Base, prepaid x-credit-token header for unlimited calls, and 1 free call/day. That payment/auth profile is not derivable from 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?
Front-loaded and appropriately brief, but it wastes space by repeating 'No API key required' verbatim at the start and end, and packs pricing into the same dense sentence as the core function. Trimming the duplicate would tighten it without losing 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?
An output schema exists, so return-value documentation is not required, and the description covers input, chain, resolver, cost, and auth. Minor gaps remain, such as behavior when a reverse record or primary Basename does not exist, but nothing essential to invoking 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% (the single 'query' param is documented as 'Basename or address'), so the baseline is 3. The description's 'Required input: query' merely restates what the schema already declares and adds no syntax, format, or edge-case detail (e.g., normalization, namehash handling).
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+resource (Basename resolution on Base) and explicitly covers both directions (forward and reverse), naming the mechanism (Base L2 Resolver). This is distinguishable from siblings like ens_resolve (Ethereum) and basename_profile (profile data rather than name-to-address mapping).
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 forward/reverse examples ('turn jesse.base.eth into an address, or an address into its primary Basename') imply when the tool is used, and payment details help an agent decide feasibility. However, it never names alternatives such as ens_resolve or basename_profile, nor states exclusions, so routing guidance is only implied.
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 (no free tier on this tool). No 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive/open-world, and the description adds substantial non-annotation context: the data source (Base L2 Resolver text records), the payment model ($0.02 per call over x402, prepaid x-credit-token header for unlimited calls, no free tier) and the fact that no API key is required. Payment and access mechanics are exactly the kind of behavioral detail structured fields do not carry.
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?
Front-loaded with the core purpose and return fields, then usage positioning, then pricing. It is dense with useful content, though a couple of clauses ('beyond just the name') are mildly redundant and the single long sentence could be split.
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 need not explain returns, yet it still summarizes them helpfully. It covers input requirements, data provenance, sibling positioning, and the full payment/access model, leaving no obvious gap for an agent 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?
There is a single parameter with 100% schema description coverage ('Basename or address'), so the schema already documents the input. The description only restates 'Required input: name' and adds no format or syntax detail (e.g. whether a bare label or fully-qualified name is expected), so 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?
States a specific verb and resource ('Resolves the complete Base identity behind an address or Basename') and enumerates the returned fields (address, avatar, description, website, social handles), so an agent knows exactly what it gets. It explicitly distinguishes itself from the sibling address_trust ('Complements address-trust (verification) with the human context') and from the plain basename lookup ('beyond just the 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?
Gives a clear use case ('turn a counterparty address into a real profile') and positions itself relative to address_trust as a complement rather than a replacement. It stops short of stating explicit when-not-to-use conditions or a direct either/or rule against basename/ens_resolve, so it is clear context without full exclusion guidance.
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 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive, open-world), and the description goes further by disclosing the operational envelope: $0.002 per call over x402 on Base, prepaid x-credit-token header for unlimited calls, 1 free call/day, and no API key required. Those auth/pricing/rate-limit facts materially affect whether an agent can invoke it, which is exactly the value-add expected 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?
Front-loaded with the core answer and generally efficient, with the semantic distinction and pre-transaction use case each earning their sentences. It is slightly over-long for a one-parameter tool, and the opening rhetorical question delays the actual statement of purpose by a beat.
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 need not be re-explained, yet the description still summarizes them usefully. Between the return shape, the wallet-vs-contract interpretation, the required input, and the payment/auth model, an agent has everything needed 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 description coverage is 100% for the single 'address' parameter, so the baseline is 3. The description only restates 'Required input: address' and adds no format guidance (checksum, ENS, chain qualification) 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?
States a specific resource (the next nonce for any Base address) plus the exact payload returned (ETH balance and contract flag), so an agent knows precisely what it gets back. The nonce/contract-vs-wallet distinction is spelled out, which differentiates it from generic siblings like address_check or address_intel.
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 two concrete usage contexts: pre-transaction construction and telling a fresh address from a used one. It does not name an alternative sibling for those cases, so it stops short of explicit when-not routing, but the context is clear enough to select the tool.
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 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only cover the safety profile (readOnly, idempotent, non-destructive), but the description goes well beyond: it explains the no-receipt case returns possible reasons (pending/dropped/never existed) instead of erroring, notes contract deployments report the new address, and discloses the full pricing/auth model ($0.002/call via x402, prepaid x-credit-token header, 1 free call/day, no API key). That is actionable context an agent cannot infer from 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?
Front-loaded with the outcome questions before the field enumeration, and each sentence carries information. The pricing/credit paragraph is somewhat boilerplate-heavy, which keeps it from a perfect score, but nothing is redundant with the schema.
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 shapes, yet it still previews the key fields. Combined with the pending/dropped semantics and the payment requirements, an agent has everything needed to decide, afford, and invoke the call 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?
There is a single parameter with 100% schema description coverage, so the schema already carries the meaning. The description's 'Required input: hash' adds only confirmation that it is mandatory, matching the baseline 3 for a fully documented single-param tool.
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?
Names a specific verb+resource ('The receipt for a Base transaction') and enumerates exactly what the agent gets back: success/reverted, block, gas used, effective gas price, fee in wei and ETH, log count, emitting contracts, and deployment address. It is clearly differentiated from siblings like base_tx or tx_decode by framing the receipt view of a transaction.
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 triad 'Did it succeed, what did it cost, what did it touch' tells the agent precisely which question this tool answers, and it states the required input (hash). However, it names no alternative tool and gives no explicit when-not guidance against base_tx, tx_decode, or receipt_parse.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
base_swapARead-onlyIdempotentInspect
Swap on Base at the best price — a ready-to-sign transaction — An executable swap on Base, routed by 0x across Uniswap, Aerodrome, Balancer, Curve and more. Returns the transaction for your own wallet to sign, plus the approval step if needed, minimum out, route and fees. We never hold funds. Name tokens as ETH, USDC, WETH, cbBTC, AERO… or a 0x address; buying an unknown token runs a sellability check first and refuses a honeypot unless force=1. Required inputs: sell, buy, amount, taker. 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 API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| buy | Yes | Token you buy | |
| sell | Yes | Token you sell | |
| taker | Yes | Your wallet (signs the swap) | |
| amount | Yes | Amount you sell | |
| slippage | No | Slippage in bps (optional, default 100) |
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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Despite readOnly/openWorld annotations, the description adds critical behavior: it returns an unsigned transaction plus approval step, never holds funds, runs a sellability check on unknown tokens, and refuses honeypots unless force=1. It also discloses pricing via x402, the x-credit-token header for unlimited calls, and one free call/day.
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?
Front-loads the core swap purpose and output, then covers safety and payment in a single dense paragraph. Slight redundancy appears in 'Swap on Base at best price' followed by 'An executable swap on Base,' and the paragraph is long, but every clause carries relevant 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?
An output schema exists, so return values need not be explained, yet the description still covers transaction, approval, minimum out, route, fees, payment, and auth. The absence of explicit alternative-tool routing and the force parameter mismatch keep it from being 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 coverage is 100%, so the schema already documents all five parameters and the description adds only marginal parameter detail: token naming by symbol or address and a required-input list. It references force=1, which is absent from the schema, while slippage is only defined in the schema, creating minor inconsistency.
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 (swap), resource (tokens on Base), routing provider (0x across Uniswap, Aerodrome, Balancer, Curve, etc.), and the key output (a ready-to-sign transaction). Clearly distinguishable from siblings like near_swap, swap_route, or base_swap_validity by naming the chain and non-custodial 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?
Provides useful context: required inputs (sell, buy, amount, taker), token naming via symbols or 0x address, honeypot refusal with a force=1 override, and payment models. However it does not explicitly name an alternative swap tool or state when another sibling should be preferred instead.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
base_swap_validityARead-onlyIdempotentInspect
A swap that lands only when your conditions hold (Cobalt validity tx) — The base-swap 0x trade as a Cobalt validity transaction: Base includes your signed tx only while your conditions hold — a conditional order with no limit-order contract and nobody holding the trade. We never hold funds or keys; you sign and submit. Every request carries the deadline Base requires (at most 60 s out; set for you if omitted). Optional conditions: fromBlock, flashblockIndex (1-10), minNativeBalanceWei, or a caller-supplied storage predicate for price. Required inputs: sell, buy, amount, taker. 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 API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| buy | Yes | Token you buy | |
| sell | Yes | Token you sell | |
| taker | Yes | Your wallet (signs the swap) | |
| amount | Yes | Amount you sell | |
| slippage | No | Slippage in bps (optional, default 100) | |
| fromBlock | No | Earliest block (optional) | |
| storageOp | No | Advanced: operator (< <= = != > >=) | |
| beforeBlock | No | Deadline block (optional; at most 60 s out, set for you if omitted) | |
| storageMask | No | Advanced: mask (hex, optional) | |
| storageSlot | No | Advanced: storage slot (hex) | |
| storageValue | No | Advanced: compare value (hex) | |
| storageAddress | No | Advanced: pool/token for a storage condition | |
| flashblockIndex | No | Flashblock index 1-10 (optional) | |
| minNativeBalanceWei | No | Min taker ETH balance in wei (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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true and destructiveHint=false, but the description clarifies that the user signs and submits, and that the service never holds funds or keys, which is valuable context for a swap tool. It also explains the validity mechanism and deadline constraint (60s), adding meaning 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 somewhat verbose and mixes multiple concepts (validity tx, no limit-order contract, pricing, free tier) in one paragraph. The core idea is front-loaded but could be more structured for 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?
Given annotations already cover safety profile and schema covers parameters, the description adds necessary context about deadline constraint, 60s window, and payment model, making it fairly complete for invoking the tool correctly. Minor gaps like return format are covered by 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?
Schema coverage is 100%, so the schema documents all 14 parameters. The description reiterates required inputs (sell, buy, amount, taker) and optional conditions, but doesn't add syntax or format details beyond what the schema provides, so 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+resource: 'The base-swap 0x trade as a Cobalt validity transaction' with conditional execution semantics. It distinguishes itself from sibling base_swap by emphasizing validity conditions, though the comparison is somewhat indirect rather than naming base_swap explicitly.
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 is implied through 'a swap that lands only when your conditions hold' and listing optional conditions, giving context for when to use it. However, it doesn't explicitly state when to use this tool vs base_swap or swap_route, nor 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.
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 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive, openWorld), so the bar is lower. The description still adds real value beyond them: it flags contract creation (null to) and pending transactions (null block) instead of forcing inference, and specifies the found:false semantics for unknown hashes. Pricing and payment mechanics ($0.002/call, x-credit-token header, 1 free call/day, no API key) are also disclosed, though auth/rate-limit behavior is only lightly touched.
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 clause, followed by return fields, edge cases, and pricing in a logical order. It is somewhat long at six sentences, and listing value 'in wei and ETH' is mildly redundant, but nearly every sentence carries distinct information (edge flags, error semantics, pricing).
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, yet it still summarizes fields and, more importantly, covers the behavioral gaps an agent needs: edge-case flags, not-found semantics, and payment requirements. Nothing an agent needs to invoke base_tx 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% for the single 'hash' parameter, so the schema already carries the semantics. The description restates that hash is required but adds no format guidance (hex length, 0x prefix) beyond what the schema provides, so 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 states a specific verb+resource: fetch a Base transaction by hash, returning it 'exactly as the chain has it — unedited.' The explicit field enumeration (from, to, value in wei and ETH, nonce, gas, fee caps, type, method selector) makes the scope unambiguous. It distinguishes itself implicitly from decode/explain siblings via the 'unedited' framing, but names no sibling explicitly, so it lands just 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?
It states the required input ('Required input: hash') and clarifies that unknown hashes answer found:false rather than erroring, which is useful edge guidance. However, it never says when to reach for base_tx versus base_receipt, tx_decode, or ai_tx_explain, so usage is only implied.
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 (no free tier on this tool). No 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive, openWorld), so the bar is lower, yet the description adds real behavioral context beyond them: the pricing model ($0.04/call over x402), the prepaid x-credit-token header for unlimited calls, no free tier, and no API key required. It doesn't describe rate behavior or failure modes, but the added auth/billing disclosure is genuinely useful.
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?
Front-loads the core question and the mechanism before the Beryl timing specifics and billing details. Each sentence carries information, though the dense packing of dates, prices, and header mechanics makes it slightly heavy for a single-parameter read 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?
An output schema exists, so return values need no explanation, and the description supplies the domain context an agent needs: what gets decoded, the post-Beryl finalization windows, and the billing/auth model. Complete for practical invocation, with only sibling routing left implicit.
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 'tx' parameter, so the schema already documents it as the withdrawal-initiation txHash. The description restates 'Required input: tx' without adding syntax or format meaning, which is exactly the baseline-3 case where structured data does the heavy lifting.
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+resource: it decodes the L2ToL1MessagePasser event (withdrawalHash, target, value) from a Base withdrawal-initiation tx and estimates finalization windows. This is clearly distinct from generic siblings like base_tx, tx_decode, and bridge_status without opening any 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?
The opening question and 'Given a Base withdrawal-initiation tx' clearly establish when the tool applies, and 'For agents managing cross-chain liquidity' names the target user. However, it never names an alternative (e.g., bridge_status) or states when NOT to use it, so routing guidance is implied rather than explicit.
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 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond the annotations (readOnly, idempotent, openWorld, non-destructive) by disclosing the payment model: $0.08 per call over x402 on Base, a prepaid x-credit-token header for unlimited calls, 1 free call/day, and no API key required. It also states the shape of the result (score, risk level, top signals, riskiest-first ordering), which is exactly the auth/cost context an agent needs before invoking a paid 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?
Front-loads the core capability and keeps cost/auth details compact at the end. The opening two clauses ('Rug-score up to 10 tokens in one call — Screen up to 10 Base tokens in a single paid call') restate the same idea and could be merged, which is the only 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?
An output schema exists, so return-value detail is not required, and the description still covers the essentials: scope, chain, batch limit, cost, payment/auth mechanism, and free-tier limits. Nothing an agent needs to call this 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 a single parameter with 100% schema description coverage, so the baseline is 3. The description only restates 'Required input: addresses' and adds nothing about formatting beyond what the schema already says (comma-separated, up to 10).
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+resource ('Rug-score up to 10 tokens in one call'), names the chain (Base), the batch limit (10), and the payload (0-100 rug-probability score, risk level, top signals, sorted riskiest-first). The batch scope plus chain constraint distinguishes it from the single-token rug_score / rug_monitor siblings without needing to open a 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?
Gives a clear use case: 'Built for agents triaging a watchlist or portfolio without paying per token,' which tells the agent when this batch tool beats per-token calls. It stops short of naming an alternative (e.g., use rug_score for a single token) or stating exclusions, so it's context without explicit routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bic_checkARead-onlyIdempotentInspect
Is this bank code even well-formed? — Validate a BIC/SWIFT code offline (ISO 9362): 8 or 11 characters, bank/country/location[/branch] layout, head-office vs branch, and the test-BIC flag. Every rejection names which check failed. Structure only — does not prove the bank is live. Required input: bic. 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 API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| bic | Yes | BIC / SWIFT |
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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish readOnly, idempotent, and non-destructive behavior. The description adds real beyond-schema context: validation is offline and structural only, rejections name the failing check, and the pricing/free-tier/auth model (x402 on Base, prepaid header) is disclosed.
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?
Front-loads the purpose with a hook question, then progressively adds format checks, scope limits, and pricing. Efficient overall, though the pricing/auth boilerplate is somewhat verbose relative to the single-parameter operation.
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 need not be explained, and the description covers purpose, scope limits, the failing-check behavior, and operational/auth requirements. Complete enough for a one-parameter validator, leaving only minor mechanics like branch-parsing detail unstated.
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 fully documents the single 'bic' parameter. The description only restates 'Required input: bic' without adding format or syntax detail beyond the schema, 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?
States a specific verb+resource (validate a BIC/SWIFT code) and enumerates the exact checks performed: ISO 9362 format, 8/11 characters, bank/country/location/branch layout, head-office vs branch, and test-BIC flag. This clearly distinguishes it from adjacent validators such as iban_check and bin_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?
Gives clear usage context ('offline', 'structure only') and a scoping exclusion ('does not prove the bank is live'), which tells the agent what this tool can and cannot establish. It does not explicitly route to sibling validators, but the narrow scope makes the boundary readable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bin_checkARead-onlyIdempotentInspect
Scheme from the first 6–8 digits — never a full PAN — Offline Issuer Identification Number check: accepts 6–8 digits only (refuses anything that looks like a full PAN), returns Visa/Mastercard/Amex/Discover/JCB/UnionPay/Maestro when the prefix is known. Not a live BIN registry lookup. Required input: bin. 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 API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| bin | Yes | BIN (6–8 digits) |
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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations (readOnly, idempotent, non-destructive, openWorld), the description discloses refusal behavior for full-PAN-looking input, the offline/non-registry nature of the check, pricing at $0.002 per call over x402, the prepaid x-credit-token header for unlimited use, and the free tier. These are exactly the operational facts an agent needs and that annotations cannot convey.
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 opening clause, and the pricing/auth tail is dense but earns its place by covering access mechanics. It is slightly longer than strictly necessary given the schema and annotations already cover safety.
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 values need not be spelled out, yet the description still names the returned schemes. Input constraints, refusal behavior, cost, auth, and free-tier terms are all covered, leaving no material gap for a one-parameter 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% and the single parameter already carries the 'BIN (6–8 digits)' description, so the schema does the heavy lifting. The description restates 'Required input: bin' and the digit constraint, adding only the refusal nuance, which is marginal 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?
States a specific verb and resource — an offline Issuer Identification Number check that derives the card scheme from a 6–8 digit prefix — and enumerates the exact schemes returned. It is clearly distinguishable from siblings like iban_check and bic_check, which target different identifiers.
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 line 'Not a live BIN registry lookup' gives an explicit when-not boundary, steering the agent away from expecting registry-grade data. However, it never names the alternative sibling tools an agent should pick instead for related identifier checks, so it stops 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.
breach_checkARead-onlyIdempotentInspect
Has this password appeared in a dump? — Have I Been Pwned Pwned Passwords via k-anonymity: only a 5-char SHA-1 prefix leaves the server. Returns pwned + occurrence count and a GO/HOLD/STOP. Password is not stored. Email breach lookup not offered. Required input: password. Priced $0.005 per call over x402 on Base; send a prepaid x-credit-token header for unlimited calls (no free tier on this tool). No API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| password | Yes | Password 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover readOnlyHint, idempotentHint, destructiveHint=false, and openWorldHint, but the description goes well beyond them: it discloses the k-anonymity mechanism (only a 5-char SHA-1 prefix leaves the server), that the password is not stored, the return signal (pwned + occurrence count and GO/HOLD/STOP), and the pricing/auth model. This is exactly the extra behavioral context an agent needs for a security-sensitive 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?
Front-loaded with the core question and resource, then layered with mechanism, exclusions, and pricing in tight fragments. It is information-dense rather than padded, though the payment details make it longer than strictly minimal.
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, the description still adds privacy guarantees, the output signal shape, and the full payment/auth model. An agent can decide whether to call it and how to pay without consulting anything else; nothing material 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?
Only one parameter exists and schema description coverage is 100%, so the baseline is 4. The description reinforces that 'password' is the required input, but adds no format or syntax guidance beyond the schema, which is acceptable for a single unambiguous 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 opens with a specific question-form verb+resource ('Has this password appeared in a dump?') and names the exact data source and mechanism (Have I Been Pwned Pwned Passwords via k-anonymity). It explicitly distinguishes itself from the closest sibling concern by stating 'Email breach lookup not offered', so an agent can separate this from email_verify-style 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?
Usage context is clear: check whether a password appears in a dump, with the exclusion of email breach lookup. It also spells out the payment conditions (x402 on Base, prepaid x-credit-token for unlimited calls, no free tier, no API key). It stops short of naming an explicit alternative tool for email breach checks, so it is not a full 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bridge_routeARead-onlyIdempotentInspect
The safe route to move funds across chains — best bridge, fees, ready tx — Agents bridge across chains and get it wrong — bad route, an untrusted bridge, fees that eat the transfer. Returns the best cross-chain route via the LiFi aggregator: which bridge, how much arrives, est. time, gas + bridge fees in USD, and the ready-to-send tx. Chains: ethereum, base, arbitrum, optimism, polygon. Tokens by symbol (USDC/USDT/ETH/WETH/DAI) or a 0x address + amountUnits. A quote — re-quote with your own sender before executing; we never hold keys. Not financial advice. Required inputs: from, to, amount. 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 API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| to | Yes | To chain | |
| from | Yes | From chain | |
| token | No | Token symbol (default USDC) | |
| amount | Yes | Amount to bridge | |
| fromAddress | No | Your wallet (optional, for a ready tx) |
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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnly/idempotent/non-destructive, but the description adds substantial context the annotations cannot convey: the x402 pricing model ($0.02/call on Base), the prepaid x-credit-token header option, the 1 free call/day allowance, and the custody guarantee ('we never hold keys'). The quote-not-execute framing also reconciles why readOnlyHint=true despite returning a tx. No annotation 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?
Front-loaded with the core purpose and return contents, then chains, tokens, execution caveat, and pricing in a logical order. A few phrases are filler ('Not financial advice', the 'Agents bridge across chains and get it wrong' framing), but most sentences carry operational 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 read-only quoting tool with an output schema already describing return values, the description covers everything an agent needs: supported chains, token input formats, required inputs, pricing/auth model, and the execution caveat. Nothing material 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 baseline is 3, but the description adds real meaning beyond the schema's terse 'From chain'/'To chain'/'Amount to bridge': it enumerates valid chains (ethereum, base, arbitrum, optimism, polygon) and token formats (USDC/USDT/ETH/WETH/DAI symbols or a 0x address with amountUnits). That is genuine value the schema does not provide.
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+resource (returns the best cross-chain route via the LiFi aggregator) and enumerates the concrete outputs: which bridge, arrival amount, est. time, gas + bridge fees in USD, and a ready-to-send tx. This scope is distinguishable from siblings like bridge_status (tracking) and fresh_bridge without opening either 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?
Gives clear context for use (bridging across chains when routing quality and fee safety matter) plus an explicit operational caveat: it is a quote, so re-quote with your own sender before executing. It does not name alternative sibling tools or state exclusions, 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.
bridge_statusARead-onlyIdempotentInspect
Did the cross-chain transfer land? Track it by source tx hash — The other half of bridge-route. A bridge takes minutes with funds in flight, and from the source chain alone an agent cannot tell if it completed. Tracks a transfer by its source tx hash via the LiFi status API: completed (with the receiving tx), pending (poll again), failed (with the reason), or not-found (not a bridge tx, or too early to index). Pass from/to/bridge for a faster lookup. not-found reads as 'not indexed yet', never 'failed'. Not financial advice. Required input: txHash. 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 API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | To chain (optional) | |
| from | No | From chain (optional) | |
| txHash | Yes | Source-chain tx 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover safety (readOnly, idempotent, non-destructive), yet the description adds substantial non-structured behavior: the four outcome states, the polling cue on 'pending', and the critical interpretation rule that 'not-found' means 'not indexed yet, never failed'. It also discloses payment mechanics (x402, x-credit-token, 1 free call/day, no API key), which the annotations cannot convey.
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?
Front-loaded with the agent's actual question ('Did the cross-chain transfer land?') and the core alternative up front. It is dense with useful clauses but the tail (pricing, free tier, 'Not financial advice') adds length, though the pricing detail is actionable for x402 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?
An output schema exists so return values need no elaboration, and the annotations carry the safety profile. The description nonetheless completes the picture with trigger context, the sibling relationship, outcome semantics, and payment requirements, leaving nothing an agent needs before calling 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% so the baseline is 3, but the description adds rationale beyond the schema: it reiterates txHash as required and explains that passing from/to yields 'a faster lookup'. Minor blemish: it lists 'bridge' as a passable optional field, but no such parameter exists in the schema, which could momentarily mislead.
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+resource ('Track [a cross-chain transfer] by source tx hash') and frames itself as 'the other half of bridge-route', immediately distinguishing it from its closest sibling. An agent can tell what it does and how it relates to bridge_route without opening either 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?
Explains the situation that calls for it ('a bridge takes minutes with funds in flight, and from the source chain alone an agent cannot tell if it completed') and names the complementary tool bridge-route. It stops short of explicit when-not-to-use guidance, but the trigger condition is clear.
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 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive, openWorld), and the description adds substantial context on top: country-specific weekend rules (Friday-Saturday where applicable), national holidays, the fact that every skipped day is named, the deliberate exclusion of province-only holidays and how to apply them, plus pricing and auth mechanics. That goes well beyond what the annotations convey.
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 and the two modes are front-loaded, and the province-holiday caveat is well placed. The action is somewhat diluted by the rhetorical 'Net 30 — but which 30, in which country?' opener and the trailing pricing/marketing paragraph, but every sentence still carries 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?
An output schema exists, so return formatting need not be described, and the annotations carry the safety profile. The description still supplies coverage scope, mode semantics, and the regional-holiday edge case, leaving nothing an agent needs in order 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 description coverage is 100%, so every parameter (from, to, add, country) is already documented in the schema. The description reinforces the two-mode framing ('add' vs 'to') and the required country input, but adds no syntax, format, or default detail beyond what the schema states. 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 a specific verb and resource with unusual precision: 'Add business days to a date, or count them between two dates, for ~110 countries.' The two operating modes are named explicitly, so an agent knows exactly what it does without opening the schema. It never references the closest sibling (holiday_calendar), so sibling differentiation is only implicit, which keeps it out of the top band.
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?
'Built for payment terms, SLAs and delivery dates' gives clear intended-use context, and the auth guidance (x402 vs prepaid x-credit-token, 1 free call/day) tells the agent how to invoke it. There is no explicit when-not-to-use statement or named alternative tool, so it falls short of the 5 band.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
buy_creditsAInspect
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 (no free tier on this tool). No 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds substantial context beyond the annotations: the token is shown once, balance lasts 180 days, no API key required, no per-call signature or settlement latency, and the exact pricing model. These are non-obvious, high-consequence behaviors (irrecoverable token, expiry) that annotations cannot convey.
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?
Front-loads the core value (pay once, call without settlement) before mechanics and pricing. It is dense and slightly repetitive — the x-credit-token header behavior is described twice — but nearly every sentence carries 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?
Given an output schema exists, return values needn't be restated. The complex prepaid-credit payment flow, token lifetime, and tier economics are all covered, leaving nothing an agent needs 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% and the single tier param is documented, so baseline would be 3. The description goes further by explaining the tier bonuses ($5 +10%, $20 +20%) and the USD denomination, adding real meaning beyond the bare enum-like values.
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+resource ('Buy a prepaid balance in a single x402 settlement and get a secret credit token') and immediately distinguishes this from per-call paid tools, which is exactly what the sibling set of data/payment tools requires. An agent can tell this is the one-time credit-purchase tool without opening 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?
Clearly frames when to use it — 'Built for agents that fire many checks a minute' — versus paying per request, and notes 'no free tier on this tool.' It stops short of naming a specific sibling alternative for low-volume callers, so it's clear context rather than explicit routing.
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 (no free tier on this tool). No 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, openWorld, and non-destructive behavior. The description adds important operational context beyond annotations: pricing is $0.01 per call over x402 on Base, a prepaid x-credit-token header gives unlimited calls, there is no free tier, and no 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 returned data, then gives usage context, then payment details. It is dense but well structured, with each sentence earning its place; the pricing sentence is long but 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?
An output schema exists, so return values need not be explained in the description. With annotations covering safety and the description covering purpose, timing use case, and payment requirements, an agent has everything needed to call this no-parameter 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 tool takes no parameters and the input schema is empty, so there is nothing for the description to clarify. The baseline for zero parameters is 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 names the resource (Live Base chain snapshot) and enumerates exactly what it returns: latest block, base fee + priority fee, ETH price, and estimated transfer cost. This is specific enough to distinguish it from narrower siblings like base_block, gas_oracle, and 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 states a clear use case: 'For agents timing or budgeting transactions.' However, it does not name alternatives or explicitly say when not to use it versus related tools such as gas_oracle or multi_chain_gas.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
clanker_token_auditARead-onlyIdempotentInspect
Was this Base token really launched through Clanker? — Reads the deployment records of Clanker's own factories on Base (v4 tokenDeploymentInfo, v3.1/v3/v2 deploymentInfoForToken; v0/v1 via the factory's TokenCreated in the deploy receipt) to verify a launch: version, factory, requester, pool, and whether the LP position NFTs are held by Clanker's locker. Cross-checked with clanker.world. Returns clanker_verified, not_clanker or unknown; RPC failure is not charged. 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 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, openWorld, and non-destructive. Description adds significant behavioral detail: exact factory records read, cross-check with clanker.world, return statuses, RPC failure not charged, and payment model (x402, prepaid header, free call/day, no API key).
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?
Front-loaded with a clear purpose question, then technical mechanics, output, and pricing. Slightly dense with factory version details, but every sentence contributes to transparency or invocation requirements.
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?
Knowledge complexity is high, but the description covers purpose, input, output statuses, failure policy, and payment model. With an output schema present and annotations covering safety, no critical gaps remain for 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%: the single 'address' parameter is fully described as 'Token contract address' and required. Description only repeats 'Required input: address' without adding format or syntax beyond 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 verb and resource: verifying whether a Base token was launched through Clanker, including factory versions and cross-check. Clearly distinguishes from generic token info or contract lookup siblings by focusing on Clanker launch provenance.
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?
Provides clear context for use—verifying a launch—but does not explicitly name alternatives or when-not-to-use cases. The question format and 'to verify a launch' imply the scenario, adequate but not exhaustive.
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 (no free tier on this tool). No 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint/idempotent/openWorld/non-destructive, but the description adds valuable non-schema behavior: the $0.04/call x402 pricing, the prepaid x-credit-token header for unlimited calls, no free tier, and no API key required. For an agent that must handle payment negotiation, this is meaningful 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?
Front-loaded with verb+resource+protocol, and pricing mechanics are efficiently packed. It runs a bit long and includes one marketing sentence ('The order-reconciliation read merchants and agents need...') that is closer to filler than instruction, costing it a point.
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?
Output schema exists so return values need no prose, annotations cover the safety profile, and the description fills the remaining gaps: protocol identity, filter semantics, default network-feed behavior, and x402 payment/auth requirements. Nothing an agent needs to call it correctly is absent.
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 3 is the baseline, but the description contributes real meaning the terse schema does not: payment= is the PaymentInfo hash, receiver= is a merchant wallet, and omitting all filters returns the network feed. This clarifies both parameter identity and the all-optional default behavior.
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 ('reconciles two-phase auth/capture payments') and names the underlying protocol (AuthCaptureEscrow) on Base. The enumerated states (in escrow, captured, voided, refunded, payer-RECLAIMABLE) and the 'first tooling for Base's Commerce Payments protocol' framing clearly separate it from generic payment or audit 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?
Gives clear context for when to reach for it ('order-reconciliation read merchants and agents need before trusting onchain commerce') and explains the filtering options plus the omit-everything network-feed default. It does not name an alternative tool or an explicit when-not condition, 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.
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 (no free tier on this tool). No 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only, idempotent, open-world and non-destructive semantics, but the description adds materially new behavioral facts: the $0.05 per-call x402 pricing on Base, the prepaid x-credit-token header for unlimited calls, no free tier, and no API key requirement. These are things an agent cannot infer from 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?
Front-loaded with the decision question and the scoping claim, then the payload contents, verdict taxonomy, and payment terms in descending priority. It is somewhat verbose with rhetorical framing and em-dash asides, but nearly every sentence conveys information an agent needs.
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 detail is unnecessary, and annotations cover the safety profile. The description still supplies the verdict enum, the audited dimensions, the payment/access requirements, and the protocol uniqueness claim, leaving nothing an agent needs in order 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?
There is a single required parameter with 100% schema description coverage, so the schema already carries the semantics. The description only restates that 'operator' is required and does not add format guidance (e.g., address normalization), 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?
States a specific verb and resource (audit a Commerce Payments operator), explains what the operator does, and enumerates the concrete outputs: 90-day volumes, fees taken, capture-vs-reclaim record, distinct payers and merchants. It also distinguishes itself from siblings by noting 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?
Frames the use case explicitly — run this before relying on an operator to authorize escrow or capture for merchants — which tells the agent when the tool applies. It does not name a competing tool or state exclusions, but the claim that no sibling reads this protocol effectively removes ambiguity about alternatives.
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 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond the annotations by disclosing the register's noisy token search, the re-checking logic that only reports exact matches (or ones differing solely in legal form) as 'found', and the fallback of returning candidates. It also states the pricing/auth model ($0.005/call via x402, x-credit-token header, 1 free call/day, no API key), which is essential 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?
Front-loads the core question and answer before the mechanics, and every clause (matching behavior, pricing, auth) carries weight. It is dense and slightly long, 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 an output schema present and 100% parameter coverage, the description needn't explain return values, yet it still enumerates them for orientation and fully covers input, matching behavior, and cost. Nothing needed 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?
Only one parameter exists and schema coverage is 100%, so the schema already documents it fully; the description adds only 'Required input: name'. Baseline 3 is appropriate, though the matching-semantics explanation gives marginal 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?
States a specific verb+resource ('look a company up in GLEIF, the global Legal Entity Identifier register') and enumerates the returned fields (LEI code, legal name, entity status, jurisdiction, address). This clearly distinguishes it from nearby siblings like sanctions_name, compliance_check, and bic_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 framing question 'Does this company legally exist, and where?' plus the explanation of GLEIF's token search gives strong context for when to reach for it. However, it never names an alternative tool or an explicit when-not condition, so it stops 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.
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 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive, open-world), so the bar is lower, yet the description adds real operational context: the verdict taxonomy (blocked/review/clear), the $0.03 x402 pricing, the x-credit-token prepaid header, the 1 free call/day, and that no API key is needed. That is meaningful disclosure 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 value proposition is front-loaded in the first sentence, followed by the audience and then payment mechanics. It is well ordered and reasonably tight, with only mild redundancy 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?
An output schema exists, so return values need not be explained, and the description still names the possible verdicts. Pricing, auth, and required input are all covered; only explicit sibling routing is missing for a tool sitting among many screening alternatives.
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 a single parameter at 100% schema coverage, the schema already documents "address." The description only restates "Required input: address" without adding format, chain, or checksum expectations, so it earns the baseline 3 rather than more.
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: combined counterparty screening of an address that fuses OFAC sanctions matching, EOA/contract profiling, and contract risk flags into one verdict. An agent understands the aggregation scope, though it never names which sibling (e.g. sanctions, counterparty_check) it supersedes.
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?
"Built for compliance agents" and "counterparty screening for an address" imply the use context, but there is no explicit when-to-use/when-not guidance and no routing against the many overlapping siblings like sanctions or address_trust. Usage is inferable rather than stated.
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 (no free tier on this tool). No 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish read-only, idempotent, open-world, non-destructive, so the bar is lower, and the description clears it: it discloses the payment model ($0.02 per call over x402 on Base), the auth mechanism (prepaid x-credit-token header for unlimited calls), the absence of a free tier, and the upstream source (Sourcify). The only blemish is that 'No API key required' is stated twice, which reads as filler rather than added 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?
Front-loads the core question and the data source, then sequences source, output shape, auth, and pricing in a logical order. It loses a point for the verbatim duplication of 'No API key required', which serves no purpose the second time.
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 return shape need not be spelled out, yet the description still summarizes it usefully. For a single-param read-only lookup it covers source, scope, cost, and auth; what is missing is what an agent should expect when a contract is unverified or only partially matched.
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?
One parameter at 100% schema coverage, so the schema already documents 'address' fully. The description only restates it as 'Required input: address' and adds the mild contextual constraint that it must be a Base contract; it adds no format, checksum, or validation detail beyond that. Baseline 3 for a fully-covered single param is correct.
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?
Specific verb and resource: checks Sourcify for a Base contract's verification status and returns its ABI as function/event name lists with an item count. It distinguishes itself by naming the data source (Sourcify), the chain (Base), and the match semantics (full or partial), but it never names the adjacent siblings (contract_info, contract_danger, proxy_check) it could be confused with.
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 rhetorical opener 'Is this Base contract verified?' hints at intent but is not a usage rule. There is no statement of when to pick this over contract_info, contract_danger, or proxy_check, and no exclusions or prerequisites for the call itself beyond the required address.
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 (no free tier on this tool). No 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive, open-world), so the bar is lower, and the description adds genuinely useful operational context the annotations cannot: pricing ($0.04/call over x402 on Base), the prepaid x-credit-token header for unlimited calls, no free tier, and no API key required. It also warns that an unverified contract is itself a red flag, which frames result interpretation. It does not describe latency, rate limits, or failure modes.
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 capability is front-loaded in the first sentence, and the parenthetical abuse-function list is dense and information-bearing rather than filler. The cost/access sentence is necessary given the paid model. The rhetorical hook and "Diligence a price feed can't give" are light marketing that slightly dilutes an otherwise tight block.
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 tool with annotations and an output schema present, the description supplies purpose, the abuse categories flagged, payment mechanics, and required input — nothing an agent needs to call it is missing. The one residual gap is the absence of any routing signal against sibling risk-scan 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?
Only one parameter with 100% schema description coverage, so the schema already carries the contract ("Contract address"). The description restates "Required input: address" without adding format, checksum, or chain-scoping detail. Baseline 3 applies when structured data does the heavy lifting.
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: "Reads a verified contract's ABI and flags owner-callable abuse functions," followed by a concrete taxonomy (mint/pause/blacklist/setFee/withdraw/upgrade). An agent immediately knows the output class. However, it never distinguishes itself from close siblings like owner_powers, ai_contract_risk, or contract_owner, so sibling selection is left to guesswork.
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?
Framing ("What can the owner do to you?", "Diligence a price feed can't give") implies the use case is pre-interaction contract due diligence, and "An unverified contract is itself a red flag" hints at the trigger condition. But there is no explicit when-not guidance and no named alternative among the many overlapping risk tools (owner_powers, rug_score, token_risk), so usage is only implied.
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 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the read-only/idempotent annotations, the description discloses rich operational context: the ordering rule that interface support is read from the contract's own declaration first and only inferred when absent (with the NFT totalSupply caveat), plus the full payment model — $0.002/call over x402, prepaid x-credit-token header, 1 free call/day, no API key. These are meaningful traits an agent cannot get from the 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 question and its answer lead the text, so it is well front-loaded, and the ordering caveat is a genuinely useful clause. It is dense and the payment/pricing sentence is somewhat tangential to identity detection, keeping it just short of 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?
With an output schema present, return values need not be explained, and the annotations already cover the read-only, idempotent, open-world profile. The description completes the picture with detection method, inference ordering, payment/auth requirements, and the required input — 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% for the single 'address' parameter, so the schema already carries the semantics and the description only restates 'Required input: address'. It adds no format, chain, or checksum guidance beyond that, so the baseline 3 for full schema coverage 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, well-scoped question ('what sits at a Base address: contract or plain wallet') and enumerates exactly what it returns: standard detection (ERC-721/1155 via ERC-165, or ERC-20 shape) plus name, symbol, decimals and code size. This is a specific verb+resource that reads distinctly from siblings like contract_owner or token_info without needing to name 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?
Usage is implied by the clearly stated scope (identifying an address as wallet vs contract and its standard), and 'Required input: address' reinforces the entry condition. However, it names no alternatives or exclusions — nothing tells the agent when to pick this over contract_abi, proxy_check or token_info, so selection guidance is left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
contract_ownerARead-onlyIdempotentInspect
Who controls this contract right now — owner, admin, proxy — Reads who controls a contract straight from chain: owner/getOwner/admin, pending owner, EIP-1967 proxy implementation + admin, and paused state — and whether the owner is a single EOA key (one compromise = total control) or a contract (multisig/timelock). Crucially: ownership 'renounced' is NOT safe if it is still an upgradeable proxy whose admin can swap the logic. The control-surface read before you trust a contract. Not financial advice. 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 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnly/idempotent/non-destructive annotations, it discloses what is actually read (owner, pending owner, EIP-1967 impl + admin, paused state), adds interpretive guidance (EOA key vs multisig/timelock, and that 'renounced' is unsafe on an upgradeable proxy), plus concrete invocation constraints (x402 pricing, prepaid header, free daily call, no API key). That is meaningful context the annotations cannot carry.
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 capability is front-loaded in the first sentence and the pricing/auth block is genuinely useful for invocation. It is somewhat long and includes mild filler ('Crucially', 'Not financial advice'), but each remaining sentence carries usable 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, return values need not be explained, and the description covers behavior, interpretation caveats, and payment mechanics. The one gap is chain scope for the read itself — it never states which networks are supported, leaving 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?
There is a single parameter with 100% schema description coverage, so the schema already documents it. The description only restates 'Required input: address' and adds no format, chain, or validation detail, so 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?
It names a specific verb and resource ('Reads who controls a contract straight from chain: owner/getOwner/admin, pending owner, EIP-1967 proxy implementation + admin, and paused state'), spelling out the exact data returned. This clearly separates it from generic reads like contract_info or token_info, and the tagline 'The control-surface read before you trust a contract' sharpens the 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?
It gives clear situational context ('the control-surface read before you trust a contract'), which tells the agent when to reach for it. However, it never names adjacent siblings like owner_powers or proxy_check, so the agent must infer the boundary itself rather than being routed explicitly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
corporate_actionsARead-onlyIdempotentInspect
Announced dividends and splits on Base's tokenized stocks, before they land — Dividends and splits on a tokenized stock settle by moving its multiplier; balanceOf never changes, so a naive reader is silently wrong. Coinbase announces each one on chain days ahead. This lists every announced action across all tokenized stocks Coinbase lists, plus any ERC-8056 schedule, and with wallet= which touch that wallet's holdings. Lenders pause a stock's reserve while one is applied. Not financial advice. 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 API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| wallet | No | Wallet to intersect with holdings (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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover readOnly, idempotent, openWorld and non-destructive, so the bar is low, yet the description adds substantial operational context the annotations cannot express: $0.03 per call over x402 on Base, an x-credit-token header for unlimited calls, one free call/day, and no API key required. It also explains the multiplier settlement mechanic and that lenders pause a reserve during application.
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 in the first clause, and the following sentences each carry real information about the multiplier mechanic, coverage scope, and pricing. It runs slightly long and 'Not financial advice' is filler, but nothing structurally buries the lead.
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 values need not be explained, and the annotations carry the safety profile. What remains an agent needs — what the tool covers (all listed tokenized stocks plus ERC-8056 schedules), the optional wallet filter, the payment model, and why the data is non-obvious — is all present.
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 there is a single optional wallet parameter, so the baseline is 3. The description's 'which touch that wallet's holdings' largely restates the schema's 'Wallet to intersect with holdings (optional)' rather than adding format, address-chain, or edge-case 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 states a specific verb and resource: it lists announced dividends and splits across Base's tokenized stocks, with optional wallet intersection. It is far more specific than a generic 'corporate actions' label, though it never names an overlapping sibling such as rwa_dividend_feed or tokenized_stock_price, leaving the agent to infer the boundary from scope alone.
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 this matters: a naive balanceOf reader is silently wrong because settlement moves the multiplier, and Coinbase announces actions on chain days ahead. That is strong 'why/when' framing, but there is no explicit when-not guidance or named alternative tool for adjacent questions like current price or holdings.
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 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond the annotations: discloses the four data sources, the GO/HOLD/STOP output contract with supporting signals, the fraud pattern it targets (real-looking name on a weeks-old domain), and the full auth/pricing model ($0.12 per call via x402 on Base, prepaid x-credit-token header for unlimited, 1 free call/day, no API key required). Annotations only cover safety and read-only nature; the description carries the rest.
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?
Front-loaded with the decision question and the four sources, then the output shape, then the use case, then pricing. Every sentence carries information, though the pricing/auth clause is dense enough to slightly dilute the core message.
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 explanation is not required, and the description still states the output form (single GO/HOLD/STOP plus signals). With sourcing, cost, auth, and trigger context all present, an agent has everything needed 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 description coverage is 100%, so the parameters (name/email/domain) are already fully documented in the schema, including the fallback rule that email's domain is used when 'domain' is omitted. The description adds no syntax or format detail beyond that, so the high-coverage 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?
Names a precise verb+resource ('Should you pay this supplier?') and enumerates the four concrete checks it performs (RDAP domain age, DNS mail deliverability, OFAC, LEI registry). An agent can distinguish it from domain_check, sanctions_name, company_lei, and address_check, which each do only one of these signals.
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?
'Built for the moment an agent has to trust an invoice, a new vendor or a payment-detail change' gives a clear triggering context. It stops short of naming the narrower sibling tools it replaces, so there is no explicit when-not guidance, but the use case is unambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
crypto_globalARead-onlyIdempotentInspect
Total market cap, BTC/ETH dominance, 24h move — one call — A one-call read of the whole crypto market (CoinGecko): total market capitalisation, 24h volume, the 24h market-cap move, BTC and ETH dominance, and the active-coin count. The macro context an agent uses to size risk before acting. Not financial advice. 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 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/openWorld/destructive=false, so the safety profile is covered. The description adds genuinely new operational context: the CoinGecko source, x402 pricing on Base, prepaid x-credit-token header for unlimited calls, a free tier, and no API key needed. It does not discuss rate limits or cache/refresh cadence, keeping it below 5.
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?
Front-loaded with the headline metrics, then supporting detail and pricing/auth. It is efficiently organized, though the 'one call' phrasing is echoed twice and the enumerated metric list partly duplicates the leading tagline. Minor redundancy, no wasted whole 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?
With an output schema present, the description need not describe returns, yet it still names the payload fields for quick identification. It also covers source, auth mechanism, cost, and free tier — everything an agent needs to decide to call and how to authenticate.
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 takes zero parameters, so the baseline is 4. The description lists the returned fields rather than inputs, which is appropriate for a parameterless tool and adds no confusion about 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?
States a specific resource (whole-crypto-market snapshot) and enumerates the exact metrics returned: market cap, 24h volume, move, BTC/ETH dominance, active-coin count. An agent can tell it is a macro/global aggregate rather than a per-token price tool. It does not explicitly name the closest siblings (crypto_markets, market_pulse), 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?
It gives a soft situational cue ('the macro context an agent uses to size risk before acting'), which implies usage but names no alternatives and no when-not conditions. An agent must infer that crypto_markets or market_pulse is the alternative. Adequate but incomplete routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
crypto_marketsARead-onlyIdempotentInspect
Top assets by market cap — live price, mcap, 24h, volume — Live cross-asset market data: the top coins ranked by market cap with price, market cap, 24h change and volume (CoinGecko). The global snapshot an agent reads before trading — our other price tools are Base-token-address based; this is the whole market. Pass limit= (up to 100) and vs= (usd/eur/…). Not financial advice. 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 API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| vs | No | Quote currency (default usd) | |
| limit | No | How many coins (default 20, max 100) |
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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the read-only/idempotent/non-destructive profile, and the description goes well beyond them: pay-per-call at $0.01 via x402 on Base, the x-credit-token prepaid header for unlimited calls, 1 free call/day per tool, and no API key requirement. Payment and auth requirements are exactly the kind of behavior an agent needs before invoking a paid endpoint.
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 and scope are front-loaded before the sibling contrast, then payment details, which is a sensible order for a paid tool. It is somewhat padded by pricing/legal boilerplate ('Not financial advice', restating the limit ceiling), but no sentence is seriously misleading or 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?
With a full output schema, complete annotations and 100% parameter coverage, the description only needs to supply scope, routing and payment context — all of which are present. Nothing required 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?
Schema description coverage is 100%, and the schema already documents defaults (usd, 20) and the max of 100. The description adds only an example list of quote currencies (usd/eur/…) and repeats the limit ceiling; value over the schema is marginal, 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?
States a specific verb and resource with fields: ranking top coins by market cap with price, mcap, 24h change and volume. It also explicitly separates itself from the sibling price tools ('our other price tools are Base-token-address based; this is the whole market'), so an agent can tell it apart from token_price/multi_price 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?
Gives a clear consumption context ('the global snapshot an agent reads before trading') and an explicit contrast against the address-based price tools. It does not, however, distinguish from close siblings like crypto_global or crypto_trending, which also return market-wide data, so the routing guidance is clear but not exhaustive.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
crypto_trendingARead-onlyIdempotentInspect
What the market is watching right now — global attention feed — The coins most searched on CoinGecko right now, ranked, with market-cap rank, price and 24h change. A global attention/discovery feed for agents hunting what's moving — distinct from trending-tokens, which is Base-DEX specific. An attention signal, not quality or safety: vet anything here with token-risk before touching it. Not financial advice. 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 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover safety profile (readOnly, idempotent, openWorld, non-destructive), and the description adds substantial context beyond them: pricing ($0.01/call over x402), the prepaid x-credit-token unlimited option, 1 free call/day, and no API key required. It doesn't describe the response shape, but an output schema exists, so this is strong value-add.
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?
Front-loaded with the resource and ranking details, and the pricing/access info is useful rather than filler. It opens with slightly redundant framing ('What the market is watching right now — global attention feed — The coins most searched...'), but overall it is efficient and every clause 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 zero-parameter read tool with an existing output schema, the description covers purpose, differentiation from the sibling, safety caveats, and payment/auth mechanics. Nothing an agent needs 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?
The tool takes zero parameters, so there are no parameter semantics to document; the baseline of 4 applies. The description correctly implies a simple no-argument call with no filtering options.
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 and scope: 'coins most searched on CoinGecko right now, ranked, with market-cap rank, price and 24h change.' It also explicitly distinguishes itself from the sibling trending-tokens by noting it is a global feed while trending-tokens is Base-DEX specific, so an agent can route without opening either 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?
Names the alternative (trending-tokens) and the selecting condition (Base-DEX specific vs global). It also states when NOT to trust the output ('attention signal, not quality or safety') and points to token-risk for vetting, giving explicit use and exclusion guidance.
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 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive, open-world), so the description correctly focuses elsewhere and adds real value: the external data source (4byte.directory), the per-call price, the x-credit-token prepaid path, and the 1 free call/day tier. The word 'candidate' usefully signals that multiple signatures may be returned.
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?
Front-loaded with the core purpose and example, then details. The pricing sentence is long but every clause (price, prepaid header, free tier, no API key) is decision-relevant for an agent that has to pay per call. Minor density but 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?
An output schema exists, so return-value explanation is rightly omitted. Combined with annotations for safety and the description's coverage of cost, auth, and data source, an agent has what it needs. Slightly short on ambiguity handling (multiple candidates, collision cases) but otherwise 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 a 3 is the baseline, but the description goes slightly beyond the schema's terse 'Function selector' by stating the parameter is required and that it accepts either a bare 4-byte selector or full calldata, which is meaning the schema alone does not convey.
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 (decode/resolve) and resource (4-byte function selector) and illustrates it with a concrete example '0x70a08231'. The direction of conversion is unambiguous, making it trivially distinguishable from the reverse-direction sibling 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?
The description clarifies the accepted input shapes ('bare selector or full calldata'), which implies usage, and gives pricing/free-tier context. However it never states when to reach for this versus alternatives such as encode_selector or tx_decode, and gives no exclusions.
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 AI 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 (no free tier on this tool). No 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive/openWorld, and the description adds substantial context the annotations don't: pricing ($0.75/call over x402 on Base), prepaid x-credit-token header for unlimited calls, no free tier, no API key required, and what the synthesized output contains. These are real behavioral facts beyond structured fields, though the orchestration internals and latency are not disclosed.
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 and coverage list are front-loaded, but the middle section is padded with marketing ('premium flagship', 'the value is the orchestration + AI synthesis you can't get anywhere else') that doesn't help an agent decide or invoke. The critical pricing/auth note is buried mid-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?
For a read-only report tool with an output schema present and 100% schema coverage, the description covers what it does, what it returns conceptually, and the billing/auth mechanism. An agent has enough to call it correctly; only the role of the optional 'size' param is left implicit.
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 both params (address, size) are documented there, so the schema does the heavy lifting. The description only calls out that 'address' is required and doesn't explain what 'size' does or how omitting it affects the exit-liquidity check, which is the one place extra meaning would help.
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+resource: a full institutional due-diligence report on a Base token, and enumerates what's covered (contract risk, holders, liquidity, exit liquidity, OFAC, AI verdict). It is clearly distinct from narrower siblings like token_risk, exit_liquidity, or sanctions, but it never names an alternative tool to contrast with directly.
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 is implied by the 'premium flagship / one call runs the FULL battery' framing and the pricing note makes it clear this is the heavy, paid option, but there is no explicit 'use this when X, use token_risk when Y' guidance against the many sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
defi_tvlARead-onlyIdempotentInspect
Top DeFi protocols by TVL, filterable by chain & category — Top DeFi protocols ranked by total value locked (DefiLlama), with 1d/7d change — CEX/Chain/Bridge excluded so this is real DeFi. Pass chain= (e.g. base) to filter to protocols active on it, category= (e.g. Lending, Dexes) to narrow, limit= up to 50. tvlUsd is the protocol's GLOBAL TVL; chain filters presence, not per-chain TVL. The DeFi-rankings commodity, served cheap. Not financial advice. 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 API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| chain | No | Filter by chain (optional) | |
| limit | No | How many (default 10, max 50) | |
| category | No | Filter by category (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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the read-only, idempotent, non-destructive, open-world profile, and the description adds substantial context on top: the x402 payment model ($0.01/call on Base), the prepaid x-credit-token header for unlimited calls, one free call/day, and no API key requirement. It also flags a real behavioral subtlety — tvlUsd is global TVL while chain filters presence, not per-chain TVL — which the agent could otherwise misread.
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?
Front-loaded with purpose, then filters, then the TVL caveat and pricing — a sensible ordering with every element doing work. It loses a little to marketing filler ('The DeFi-rankings commodity, served cheap', 'Not financial advice') that does not help an agent call 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?
An output schema exists, so return values need no explanation, and annotations cover the safety profile. What remains — filtering behavior, the global-TVL caveat, and the payment/auth path — is fully covered, leaving nothing an agent needs 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 coverage is 100%, so the baseline is 3, but the description adds meaning the schema lacks: category examples (Lending, Dexes), the limit ceiling of 50, and critically the explanation that chain filters protocol presence rather than per-chain TVL. That last point corrects a likely misinterpretation, which is exactly the value a description should add over structured fields.
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?
Specific verb+resource: 'Top DeFi protocols by TVL', immediately scoped as filterable by chain and category, and explicitly excludes CEX/Chain/Bridge so the agent knows this is genuine DeFi rankings rather than a generic market list. It is clearly distinguishable from siblings like yield_scout or token_pools without opening any 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?
Gives concrete usage context: pass chain= (e.g. base) to filter to protocols active on it, category= (e.g. Lending, Dexes) to narrow, limit= up to 50. It does not name a sibling alternative or state when NOT to use this tool, so it stops short of the explicit routing an agent gets from the best definitions, but the filter semantics are unambiguous.
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 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive, and the description adds exactly the context they cannot: pricing ($0.04/call over x402 on Base), the auth path (prepaid x-credit-token header or no API key), and the rate limit (1 free call/day per tool). That is auth, cost, and quota behavior disclosed up front.
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 scoping and payment facts are front-loaded and every functional sentence earns its place. The opening rhetorical question ('Who created this token — and can you trust them?') is promotional filler that costs a line without adding invocation guidance.
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 detail return values, and it still summarizes the score-plus-signals shape. The one real gap is that 'address' is not tied to a chain, which matters in a toolset with base_, near_, and b20_ siblings.
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 a single required parameter with 100% schema description coverage ('Token contract address'), and the description only restates 'Required input: address'. The schema does the heavy lifting, so the baseline 3 applies; no format or chain-of-address detail is added.
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 gives a specific verb and resource: it profiles the token's creator/deployer wallet and rolls history, retained supply, and renounce status into a 0-100 reputation score with signals. That is far more precise than a generic 'reputation' label and separates it in spirit from rug_score or address_intel. It does not name a sibling tool explicitly, 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?
It supplies a clear decision context — 'a fresh wallet holding 20% of supply with no renounce is the classic rug setup' — which tells the agent when this check is worth spending on, and it states the required input. It offers no explicit when-not-to-use or named alternative tool, so no exclusions are present.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
dex_spreadARead-onlyIdempotentInspect
Is this token's price consistent across DEXes — arb window or manipulation? — A token on several Base DEXes should cost about the same on each; a gap is either an arbitrage window or, on a thin pool, a mispricing that signals wash/manipulation. Compares the price across the LIQUID venues (over a floor, default $5k): tight (trustworthy), arb_window, wide (likely mispricing), or single_venue (one pool, as manipulable as it is thin). Separates real arbitrage from thin-pool noise. Snapshots — confirm with a live quote. Not financial advice. 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 API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes | Token contract address | |
| minLiquidityUsd | No | Liquidity floor per venue (optional, default 5000) |
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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations cover read-only/idempotent safety, but the description adds substantial behavior beyond them: it explains the classification outputs, the default liquidity floor, that thin pools signal wash/manipulation, that results are snapshots, and crucially the pricing model ($0.02/call, prepaid x-credit-token, 1 free call/day). These are meaningful operational details an agent needs. Does not describe return schema fields, but output schema 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?
Front-loaded with the core question, but the body is dense and mixes classification semantics, pricing/billing details, a legal disclaimer, and payment mechanics in a single stream. Several sentences (especially the billing and disclaimer) could be trimmed or moved without losing invocation-relevant 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?
Covers what the tool does, the classification taxonomy, the liquidity floor, snapshot caveat, and payment/auth model. With an output schema present, not explaining return fields is acceptable. Only minor gaps remain around exact classification thresholds and which sibling to use for a live quote.
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 both parameters are already documented (address, minLiquidityUsd with default 5000). The description adds context on why minLiquidityUsd exists ('over a floor, default $5k') and that address is required, but nothing beyond the schema 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?
Opens with a specific question and verb+resource: comparing a token's price across Base DEXes. Clearly distinguishable from siblings like multi_price, token_price, pair_info, or wash_trading, since it explicitly frames itself as cross-DEX consistency analysis routing agents elsewhere for single-price 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?
Provides strong context on when the classification matters (arb window vs manipulation) and what each outcome means (tight, arb_window, wide, single_venue). Also cautions 'Snapshots — confirm with a live quote', implying follow-up with a live-quote sibling. Lacks explicit 'if you want X, use Y instead' routing to named alternatives, but the situational guidance is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
dns_lookupARead-onlyIdempotentInspect
A / AAAA / MX / TXT / NS / CNAME records for any domain — Resolve DNS records for a domain via Cloudflare DNS-over-HTTPS — A, AAAA, MX, TXT, NS, CNAME, SOA. Pass name= and type= (default A). Returns each record with its TTL, plus NXDOMAIN when the name does not exist. The DNS commodity agents call constantly for infra, email and domain checks, served at the sub-cent floor. Not financial advice. Required input: name. 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 API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Domain | |
| type | No | Record type (default A) |
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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover safety (readOnly, idempotent, non-destructive), and the description adds real behavioral context beyond them: each record is returned with its TTL, NXDOMAIN is returned for missing names, no API key is required, and payment/auth mechanics (x402 on Base, x-credit-token header, 1 free call/day) are disclosed. Only the 'Not financial advice' line is thematic noise rather than behavioral signal.
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 and required input are front-loaded, which is good, but the middle is padded with promotional copy ('The DNS commodity agents call constantly…', 'served at the sub-cent floor', 'Not financial advice') that does not help an agent invoke the tool. Sizing is moderate but several clauses do not 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?
With only two parameters, full schema coverage, and an output schema present, the bar for description completeness is low, and the description still adds return details, error semantics (NXDOMAIN), and auth/pricing info. Nothing an agent needs in order to call it correctly appears to be 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 documents both parameters including the default for type. The description repeats 'Pass name= and type= (default A)' without adding syntax, format, or constraint detail beyond the schema, which is the expected baseline-3 outcome when the schema carries the load.
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 ('Resolve DNS records for a domain via Cloudflare DNS-over-HTTPS') and enumerates the record types supported, so an agent knows exactly what the tool produces. It does not, however, distinguish itself from nearby siblings such as domain_check, ssl_check, or ens_resolve, 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?
Usage is only implied via 'infra, email and domain checks,' which suggests contexts but never states when to use this tool versus domain_check or ens_resolve. There are no explicit exclusions or named alternatives, leaving the routing decision to inference.
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 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, open-world, non-destructive), but the description adds real behavioral substance: it refuses rather than guessing when a registry publishes no RDAP, requires no API key, and details the x402 pricing (free tier, prepaid header). These are invocation-critical facts an agent cannot derive from 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?
Front-loaded with the core question, then layered as returns → rationale → refusal semantics → input → pricing. Every sentence carries information, but the pricing and fraud-rationale passages make it longer than strictly needed for selection.
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?
Despite an output schema existing, the description correctly rounds out the agent's picture: what the verdict means, fallback behavior when RDAP is unavailable, and the payment/auth model. Nothing needed 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% with a single required 'domain' param, so the schema already carries the parameter. 'Required input: domain' restates it and adds no format guidance (e.g., whether URLs, subdomains or IDNs are accepted). Baseline 3 applies when the schema does the heavy lifting.
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+resource and scope: registration age, expiry and registry status for any domain, sourced from RDAP. The GO/HOLD/STOP verdict framing makes the output's decision nature clear, distinguishing it from raw lookups like dns_lookup or ssl_check without needing to name 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?
Gives a concrete when-to-use context (invoice and vendor-impersonation fraud, changed payment details from a weeks-old domain), which is more than most definitions offer. It stops short of explicit when-not conditions or named sibling alternatives, so it lands at 4 rather than 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
dump_riskARead-onlyIdempotentInspect
If the big holders sell, can liquidity absorb it? — "Top holder owns 18%" means nothing without: 18% of what, against how deep a pool. Values the largest live holders' bags (GoPlus % × Base supply × price; pools, lending, bridges, vaults, lockers, burn excluded; exchanges reported apart) and dumps them through every Base pool the token is in, constant-product. Impact if the top holder and top 3 exit; verdict resilient → exit_trap. USD stablecoins: not_applicable (see stablecoin-peg). Heuristic; 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 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With annotations already covering the read-only/idempotent safety profile, the description adds substantial extra context: the exact valuation and dump mechanics, what is excluded from holder value (pools, lending, bridges, vaults, lockers, burn; exchanges reported apart), the verdict vocabulary (resilient vs exit_trap), and full cost/auth behavior ($0.04/call over x402, prepaid x-credit-token header for unlimited calls, 1 free call/day, no API key). Cost and rate-limit disclosure is exactly the kind of detail annotations cannot carry.
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 opening question is a good front-loaded hook and the pricing details are pushed to the end. But the middle is a dense run-on of em-dash clauses, and since an output schema exists, spelling out the 'verdict resilient → exit_trap' return vocabulary is partly redundant. It is around 120 words for a one-parameter tool, some of which does not earn 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 one-param tool with 100% schema coverage and an output schema, the description is close to complete: it covers methodology, exclusions, the stablecoin edge case, and payment terms. Nothing critical is missing, though it never states the supported chain scope beyond 'Base pools' or how whales below the top-3 threshold are handled.
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 a single parameter with 100% schema description coverage ('Token contract address'), so the schema already carries the semantics. The description only restates 'Required input: address' and adds no syntax, chain, or format detail beyond the schema, making 3 the correct 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 uses a concrete framing question followed by a specific method: it values the largest live holders' bags (GoPlus % × Base supply × price) and simulates dumping them through every Base pool via constant-product, returning a resilient → exit_trap verdict. That is a clear verb+resource+output. It does not, however, name or differentiate itself from close siblings like exit_liquidity, sellability, price_impact, or rug_score, so an agent must infer the distinction from methodology alone.
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 one explicit when-not: 'USD stablecoins: not_applicable (see stablecoin-peg)', which correctly routes that case to a sibling. Beyond that there is no positive when-to-use guidance or comparison against the near-identical exit_liquidity tool, leaving the agent to infer the boundary. Usage is implied by the methodology rather than stated as selection criteria.
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 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond the annotations (readOnly/idempotent/non-destructive/openWorld) by disclosing the SMTP-probe limitation, the pricing model ($0.02/call over x402 on Base), the prepaid x-credit-token path for unlimited calls, the 1-free-call/day allowance, and that no API key is required. These are material operational facts an agent needs before invoking.
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?
Front-loaded with the core question, then capabilities, then limitations, then pricing/auth in descending priority. Every sentence carries distinct information (what it checks, what it catches, what it does not do, how it is billed) 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?
An output schema exists, so return values need no explanation. The description covers capability, detection scope, explicit limitations, cost, and auth requirements, which is everything needed to call 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?
Only one parameter ('email') with 100% schema description coverage, so the schema already carries the semantics; the description merely restates 'Required input: email'. It adds no format or normalization guidance, so the 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 a specific resource (email address) and enumerates exactly what is checked: syntax, live DNS MX/A, and disposable/role/consumer-mailbox detection, producing a GO/HOLD/STOP verdict. The sibling set contains no other email tool, and the description clearly separates it from phone_check/address_check by naming the email-specific signals.
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?
Opens with the decision context ('Is this address worth sending to?') and lists concrete triggering cases (throwaway inboxes, support@-style shared mailboxes, typos like gmial.com). It also sets the boundary that no SMTP probe is performed, so mailbox existence is explicitly not claimed. No named alternative tool, but there is no close sibling to route against.
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 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only/idempotent/non-destructive, and the description adds material context beyond them: the $0.01 x402 pricing on Base, the prepaid x-credit-token header path, the 1-free-call/day allowance, and 'No API key required.' These auth/cost details are exactly the kind of behavioral disclosure an agent needs before calling.
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?
Front-loads the core operation and an example before the commercial details, with every sentence carrying information. The pricing/credit sentences are relevant but slightly expand the block; still well-structured and appropriately sized.
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, format example, inverse-sibling relation, and payment/auth requirements. Nothing an agent needs 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?
Schema coverage is 100%, so the baseline is 3, but the description reinforces the single required input and, more usefully, demonstrates the expected signature format (transfer(address,uint256)) which clarifies syntax the schema label 'Function signature' leaves implicit.
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 ('Computes the 4-byte selector') and resource ('function signature') with a concrete input→output example (transfer(address,uint256) → 0xa9059cbb). It also names its relationship to the decoder sibling ('the inverse of the decoder'), so an agent can distinguish it from decode_selector without opening either 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?
Provides clear context ('useful for agents building or matching calldata') and implicitly routes the inverse case to decode_selector. It lacks an explicit when-not or a direct 'use X instead' instruction, so it stops short of full 5-level guidance.
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 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, idempotent, non-destructive, open-world behavior, but the description adds substantial operational context they do not carry: x402 payment on Base, $0.01 per call, prepaid x-credit-token header for unlimited use, one free call/day, and no API key required. Auth and cost details like this materially affect how an agent should invoke 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?
Purpose and the forward/reverse semantics are front-loaded, and the payment/auth tail is useful rather than filler. The pricing sentence is dense with clauses but each clause carries information, so it is efficient overall.
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 resolver with an output schema (so return values need no explanation), the description covers purpose, direction, network, sibling differentiation, cost, and auth. Nothing needed 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% for the single 'query' parameter, which the schema already documents as 'ENS name or address'. The description reinforces that query is required and that it accepts either direction, adding light meaning but not detail the schema lacks.
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 (resolve), resource (.eth names/addresses), direction (forward + reverse), and network (Ethereum mainnet), with a concrete example pair. It also distinguishes itself from the sibling basename resolver by naming the chain each covers.
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?
Clarifies the use context (forward to address, reverse to primary ENS name) and explicitly positions itself against basename as the Base counterpart. It does not state a when-not condition beyond that alternative, so it stops short of a full routing rule.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
exa_contentsARead-onlyIdempotentInspect
Read a page out of Exa's index, not off the open web — Exa's own page index, read per call — no Exa account, no subscription. Pass urls= (one, or up to 5 comma-separated) and get each page as clean text with title, author and publish date. Answers from Exa's crawl rather than our fetcher, so it reads pages a plain server-side GET is blocked from. maxChars=500..40000 (default 8000). One URL is $0.002; a batch of 2-5 is $0.008, which the 402 challenge quotes. Pairs with exa-search: search, then read the winners. Required input: urls. Priced $0.002 per call over x402 on Base; send a prepaid x-credit-token header for unlimited calls (no free tier on this tool). No API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| urls | Yes | Page URLs (comma-separated, max 5) | |
| maxChars | No | Max characters per page |
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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations cover the safety profile (readOnly, idempotent, openWorld, non-destructive), yet the description adds substantial context beyond them: per-call pricing ($0.002 single, $0.008 batch), the 402 challenge, the prepaid x-credit-token header, no free tier, no API key required, and the returned fields (title, author, publish date). This is exactly the extra behavioral disclosure that annotations cannot carry.
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, but the prose is dense, marketing-flavored, and redundant: pricing appears twice ('One URL is $0.002...' and 'Priced $0.002 per call'), and account/auth statements repeat ('no Exa account, no subscription' vs 'No API key required'). Several sentences could be consolidated without losing 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?
An output schema exists, so return values needn't be spelled out, and the description still covers payment model, auth, batch limits, and content fields. It is essentially complete for a paid read tool, with only minor redundancy rather than missing 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%, so the baseline is 3, but the description adds meaning the schema lacks: maxChars range 500..40000 with a default of 8000, and confirmation that urls accepts up to 5 comma-separated values. That is genuine added value over the terse 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?
States a specific verb and resource ('Read a page out of Exa's index') and immediately distinguishes itself from generic fetching ('not off the open web... reads pages a plain server-side GET is blocked from'). An agent can tell it apart from exa_search, web_extract, and url_to_json without opening a 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 routes the workflow: 'Pairs with exa-search: search, then read the winners,' and notes the required input (urls). It gives clear context for when to use it, but does not state exclusions (e.g., when to prefer web_extract or url_to_json instead).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
exa_searchARead-onlyIdempotentInspect
Exa's neural web search, one call at a time — Exa's neural web search, resold per call — no Exa account, no subscription, one USDC micro-payment. Pass query= and get ranked results: title, URL, publish date, author, relevance score. numResults=1..10 (default 5). type=auto|fast|instant. includeDomains= restricts the search. Add text=1 for matched highlights from each page (caps results at 5, priced $0.03; the 402 challenge quotes it). For agents that need what the web says today, not what a training cutoff remembers. Required input: query. Priced $0.01 per call over x402 on Base; send a prepaid x-credit-token header for unlimited calls (no free tier on this tool). No API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| text | No | Include page highlights (true/false) | |
| type | No | Search type (auto/fast/instant) | |
| query | Yes | Search query | |
| numResults | No | Results (1-10) | |
| includeDomains | No | Limit to domains (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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only/open-world/idempotent/non-destructive, and the description adds substantial beyond-schema behavior: $0.01 per call over x402 on Base, text=1 raising price to $0.03 and capping results at 5, the prepaid x-credit-token path, and the 402 challenge quoting the price. Cost and payment mechanics are exactly the kind of hidden trait an agent must know before calling.
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?
Front-loaded with purpose and dense with useful facts, but the opening 'Exa's neural web search, one call at a time — Exa's neural web search, resold per call' repeats the same phrase, and the em-dash packing makes pricing and parameter facts compete for attention. Still, every clause except that duplication 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 5-parameter schema, full description coverage, rich annotations and an output schema, the description covers payment, defaults and parameter interactions adequately. It omits guidance on failure modes beyond the 402 challenge and never positions itself against exa_contents, which would matter for a multi-search-tool surface.
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, but the description adds real semantics the schema lacks: numResults default of 5 and its 1..10 bound, the interaction where text=1 caps results at 5, and includeDomains' restricting behavior. It stops short of explaining type=auto vs fast vs instant trade-offs.
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+resource ('Exa's neural web search') and enumerates the returned fields (title, URL, publish date, author, relevance score), so an agent knows exactly what it gets. It does not explicitly contrast itself with the sibling web_search or exa_contents, so sibling differentiation is left implicit.
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?
Offers a situational cue ('for agents that need what the web says today, not what a training cutoff remembers') and notes no free tier, but never states when to choose this over web_search or exa_contents, nor any when-not conditions. Usage is implied rather than prescribed.
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 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnlyHint, idempotentHint, openWorldHint, non-destructive), but the description adds genuinely non-structured context: $0.02 per call over x402, a prepaid x-credit-token header for unlimited calls, 1 free call/day per tool, and no API key required. These auth/payment/rate-limit details are exactly what annotations cannot convey.
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?
Front-loads the core question and output list, then adds scope and payment terms; every element is relevant. The rug aphorism is a minor flourish, but it efficiently conveys the tool's intent rather than restating the name.
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 values need no explanation, and the description covers purpose, inputs, cost model, and audience. It leaves minor gaps: what happens if 'size' is omitted, and whether the check is strictly Base-only — both of which an agent calling this correctly would want to know.
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' (token contract address) and 'size' (trade size in USD), making the baseline 3. The description adds only that address is required and frames size as an input to supply, which is slightly at odds with size being optional in the schema; no format, default, or omission behavior is clarified.
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?
Names a specific verb+resource outcome: given a Base token and USD size, it returns buy and sell price impact, unwindability without collapsing the pool, and the largest safe exit. The rug framing ('you can't sell') separates it from buy-side risk siblings like rug_score, dump_risk, and contract_danger.
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 use — 'Built for trading agents sizing positions' — and the framing sentence tells the agent this is the sell-side/unwind check. However, it never names alternatives (sellability, price_impact, position_health) or states when-not to use it, so an agent must infer the boundary from scope alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
farcaster_social_velocityARead-onlyIdempotentInspect
Real-time cast velocity, bot spam filtering & organic social score — Measures real-time Farcaster / Warpcast social momentum for tokens, memecoins, and AI agents on Base. Quantifies hourly cast velocity, author diversity ratio, engagement quality, and detects sybil astroturfing vs genuine viral attention. Returns a 0-100 momentum score and ORGANIC_VIRAL vs ASTROTURFED verdict. Pass query= (ticker, e.g. 'HIGHER' or token name). Required input: query. Priced $0.03 per call over x402 on Base; send a prepaid x-credit-token header for unlimited calls (no free tier on this tool). No API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Search query, token or agent ticker |
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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/openWorld/non-destructive, so the safety profile is covered. The description adds genuinely useful operational context beyond that: the $0.03 x402 pricing on Base, the x-credit-token prepaid header for unlimited calls, the absence of a free tier, and that no API key is needed — these are auth and rate-limit facts the annotations do not convey.
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?
Front-loaded with the core capability and output before payments logistics, and every section is relevant. There is minor redundancy ('Pass query= ... Required input: query') and slightly promotional phrasing ('bot spam filtering & organic social score'), but no filler that hinders selection.
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, yet the description still summarizes the score and verdict. Combined with the pricing/auth details and single well-documented parameter, an agent has everything needed 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% and the single parameter is fully documented as 'Search query, token or agent ticker'. The description adds only an example value ('HIGHER') and reiterates the required status, which is marginal value over 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?
States a specific verb and resource — measures real-time Farcaster/Warpcast cast velocity and organic momentum for tokens, memecoins, and AI agents on Base. It clearly distinguishes itself from generic social/market siblings by naming the platform (Farcaster) and the unique output (ORGANIC_VIRAL vs ASTROTURFED verdict).
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 a clear context — use it to gauge social momentum for tokens/memecoins/agents on Base — and specifies the required input pattern (query=ticker). It does not, however, name any alternative sibling or state when NOT to use this versus a generic trending/momentum tool, so guidance stops just short of full routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fear_greedARead-onlyIdempotentInspect
The market-mood gauge every trading agent checks (0–100) — The crypto Fear & Greed Index (alternative.me): 0 = extreme fear, 100 = extreme greed, from volatility, momentum, volume, social and dominance — plus the day-over-day change and recent history. The one-number market-mood read an agent uses to size risk. Pass days= for history (up to 30). A sentiment gauge, not a signal. Not financial advice. 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 API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | History days (default 1, max 30) |
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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only and idempotent behavior, so the bar is lower. The description adds pricing model ($0.002/call over x402, prepaid token for unlimited, 1 free call/day), no API key requirement, and the caveat that it's not a signal. The auth/payment context is genuinely useful 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?
Front-loads the core definition well, but the second half strings together pricing, token mechanics, free-tier terms, and financial-advice boilerplate into a dense run-on. Several clauses (payment logistics, disclaimers) could be trimmed or split 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-param read-only sentiment tool with an output schema and full annotation coverage, the description covers purpose, scale, inputs, and payment/auth path. Nothing essential is missing, though the payment detail is verbose relative to the tool's simplicity.
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 optional days parameter with default 1 and max 30. The description repeats the days= usage and 30-day cap, adding little beyond the schema's own description. Baseline 3 is appropriate when the schema does the heavy lifting.
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 the specific resource (Crypto Fear & Greed Index), the scale (0–100 with endpoint meanings), and the components it derives from (volatility, momentum, volume, social, dominance). It distinguishes itself from sibling sentiment tools like market_pulse or crypto_global by naming alternative.me and framing the output as a one-number market-mood read.
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 the core use — sizing risk — and tells the agent to pass days= for history. It also explicitly frames it as 'a sentiment gauge, not a signal,' which is a useful when-not qualifier. It doesn't name a specific sibling alternative for related queries, so it stays below 5.
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 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond the annotations: RFC 4180 parsing guarantees, typed number/boolean coercion with a typed=false escape hatch, and full commercial terms ($0.005/call over x402 on Base, x-credit-token header, 1 free call/day, no API key). The 'no upstream, local parsing only' claim sits uneasily with openWorldHint=true, but the x402 payment path plausibly accounts for that hint, so it is not a direct 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?
Front-loads the conversion matrix before the guarantees and the payment terms, so the agent gets the point in the first clause. It runs long, however, with roughly a third of the text devoted to pricing/free-tier marketing that is only tangentially about invoking 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?
With an output schema present it correctly does not describe return values, and it covers formats, type handling, and cost/auth. It omits failure behavior — what happens on malformed CSV or oversized input — which matters for a parser advertised as strict.
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 adds real meaning: it names the required inputs (text, from, to), lists the concrete format vocabulary for from/to, and explains typed defaults to true and is disabled with typed=false — the schema only says 'Type numbers/booleans (optional)'.
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?
Names the verb (convert) and enumerates the exact resource pairs handled: CSV/TSV→JSON, JSON→CSV/TSV, CSV→Markdown, Markdown→HTML. An agent can distinguish this from unit_convert, fx_convert, url_to_json or bank_csv purely from the text.
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 is implied by the format pairs and by 'No model call and no upstream: local parsing only', which tells the agent this is a deterministic local transform. But it never states when to prefer this over siblings like url_to_json or bank_csv, and gives no exclusions or prerequisites beyond payment.
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 (no free tier on this tool). No 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/openWorld/idempotent/non-destructive, so the bar is lower, and the description still adds real context beyond them: hosting origin ('Published on the storage origin, never on 402.com.tr'), retention limits, cost ('$0.01 per call over x402 on Base'), and auth ('send a prepaid x-credit-token header... No API key required'). It does not address what happens on republishing the same text, whether the URL is public/guessable, or the exact expiry behavior, so not a full 5.
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?
Front-loaded with the core action and sibling distinction, and each subsequent sentence (retention, host, price, auth) carries decision-relevant information. It is on the long side with a few trailing negatives ('no scripts and no external requests', 'no free tier on this tool') 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?
An output schema exists, so return values need not be explained, and the description covers cost, auth, retention, and hosting origin for a 4-parameter tool. Gaps remain around privacy/access to the produced URL and republish semantics, which matter for a publishing 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 baseline is 3; the description adds meaning by constraining ttlDays to a concrete '1-30 days' range that the schema field ('Retention in days (optional)') leaves open, and by restating that text is required. It does not elaborate on format or title 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?
States a specific verb+resource ('Turn a report into a link... Send Markdown (or HTML) and get back a URL') and immediately distinguishes itself from the closest sibling: 'file-slot is for bytes it will fetch back, this is for the report somebody has to read.' An agent can place this tool without opening either 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 names the alternative (file_slot) and the condition that selects between them (machine-fetched bytes vs. human-read report). It also states the retention window (1-30 days) and the pricing/auth model, which are decision-relevant preconditions for calling it.
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 (no free tier on this tool). No 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only cover the safety profile (readOnly/idempotent/destructive/openWorld); the description adds substantial behavior beyond that: bytes never traverse the API, no serverless size ceiling, 25 MB cap, 1-30 day retention, unguessable key, size signed into the URL, $0.005/call over x402 on Base, prepaid x-credit-token header, and no API key required. That is rich operational context an agent cannot get from the structured fields. One mild tension with readOnlyHint=true exists since the signed slot is intended for a write, but the call itself only mints URLs.
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 in the second sentence after a short framing clause, and most sentences carry distinct information (limits, auth, pricing). The opening 'Somewhere to put the file your agent just made' and the 'step every agent hits' sentence are stylized padding that a tighter draft could trim, keeping it just under 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?
With an output schema present, return values need no explanation, and the description covers inputs, size/retention limits, auth mechanism, and pricing thoroughly. It is slightly incomplete on edge behavior: the default value for the optional ttlDays beyond the 1-30 range is unstated, and whether repeated calls with identical bytes mint distinct slots (relevant to idempotentHint) is left implicit.
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 goes further by explaining why 'bytes' is required ('Declare bytes= and the size is signed into the URL') and by tying ttlDays to the 1-30 day retention range, adding meaning the terse schema descriptions do not convey.
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 a signed upload URL and a retrieval URL for one file, in one call,' and explains the data path (agent PUTs bytes straight to storage). It is unambiguous what the tool returns. It does not, however, distinguish this from plausible siblings like file_publish or file_convert, so it falls short of the 5 bar for 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?
Usage context is strong and concrete: 'The step every agent hits the moment it produces a report, chart, CSV or build and has nowhere to put it,' which tells the agent exactly when to reach for it. It also gives cost conditions ('no free tier on this tool'). It never names an alternative tool or an explicit when-not-to-use rule, so it stops at a clear 4.
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 (no free tier on this tool). No 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive/openWorld, so safety is covered; the description adds genuinely useful non-annotation context: the return shape (first funder, contract-vs-EOA, initial value, wallet age) and, critically, pricing/auth behavior ($0.04/call via x402, prepaid x-credit-token header, no free tier, no API key). These are exactly the extras that change how an agent invokes 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 lead question is a strong front-load, but the body pads with repeated statements ('wallet= required' then 'Required input: wallet'), a filler 'Not financial advice', and slightly breathless marketing framing. It is longer than the content requires.
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 values need not be re-explained, yet the description still covers scope, output shape, and payment/auth requirements. Little an agent needs in order to call it correctly is missing; only explicit differentiation from sibling provenance tools is absent.
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 restates 'wallet= required' and adds no format, chain, 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?
States a specific verb and resource ('Traces a Base wallet back to its EARLIEST transaction and resolves who first funded it') and enumerates the funder categories it distinguishes (exchange/bridge, anon EOA, contract). The 'sybil/origin screen no other Base tool gives' line helps separate it from the many sibling wallet-intel 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?
Usage is implied via 'the counterparty check before you transact' and 'trace the cluster', giving the agent a sense of when it fits. However, it never names or contrasts a sibling (fund_trace, funding_radar, counterparty_check are all nearby) and gives no explicit when-not condition.
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 (no free tier on this tool). No 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only/idempotent/openWorld, and the description still adds material behavior the agent cannot get elsewhere: pricing ($0.04/call via x402 on Base), the prepaid x-credit-token header for unlimited calls, the absence of a free tier, and no API key requirement. That is exactly the kind of billing/auth context a caller needs before invoking.
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?
Front-loaded well with the core question, but it restates the required input twice ('wallet= required' and 'Required input: wallet') and packs disclaimers and pricing into the same breath as semantics. The redundancy and mixed concerns cost it efficiency.
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 everything else an agent needs: what is measured, the default and max lookback, cost, auth header, and the interpretive meaning of the result.
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 adds meaning the schema lacks: the default lookback (30 days) and the hard cap (max 90), which the schema only calls 'Lookback days (optional)'. Wallet is confirmed as required in both.
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 precise question ('Is this wallet's USDC freshly bridged, and from where?') and names the mechanism ('Cross-chain inflow detection', 'correlates recent USDC MINTS with Circle CCTP receives'). It explicitly distinguishes the output ('freshly bridged in ... vs natively issued') and claims no sibling surfaces it, so an agent can separate it from bridge_status/bridge_route 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?
Gives clear context for use ('a real signal for trading and liquidation agents') and explains what the result means, but names no alternative tool and states no explicit when-not condition. The sibling set contains plausible overlaps (bridge_status, bridge_route, wallet_activity) that are never addressed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
funding_radarARead-onlyIdempotentInspect
Where's the crowd? Most crowded longs & shorts by funding — Scans the whole perpetual market and ranks the most crowded longs and shorts by funding, so an agent finds squeeze / mean-reversion setups in one call. Extreme positive funding = crowded long (long-squeeze risk on a dip); extreme negative = crowded short (short-squeeze fuel on a pump). Returns the market tilt plus the top coins at each edge, OI-weighted over a liquidity floor. CoinGecko, no key. A setup radar, not an entry signal. Not financial advice. 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 API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Top N per side (default 8, max 15) | |
| minOi | No | Min open interest USD (default 25M) |
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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds substantial context beyond the annotations (readOnly/idempotent/non-destructive already covered): data source and ranking methodology (OI-weighted over a liquidity floor), what the output contains (market tilt plus top coins at each edge), and the commercial terms ($0.05/call over x402 on Base, prepaid x-credit-token header, 1 free call/day). That last item is operationally critical for an agent deciding whether 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?
Front-loaded with the purpose and the interpretive rule (extreme funding → squeeze risk) before logistics, and every sentence roughly earns its place. Minor redundancy: the no-key claim appears twice ('CoinGecko, no key' and 'No API key required'), and the marketing hook costs a 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?
With an output schema present the description needn't explain return values, and annotations already cover safety. What remains — data source, ranking method, interpretation caveat, cost/payment model — is all supplied, so an agent has everything needed 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 description coverage is 100%, so both parameters (limit, minOi) are already fully documented with defaults and maxima in the schema. The description adds only indirect meaning via 'OI-weighted over a liquidity floor' and 'top coins at each edge'. Baseline 3 is appropriate when the schema does the heavy lifting.
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 concrete verb and resource ('Scans the whole perpetual market and ranks the most crowded longs and shorts by funding') plus the scope that distinguishes it from the per-coin sibling perp_funding. An agent can tell in one sentence what question this answers: 'Where's the crowd?'
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 usage context ('finds squeeze / mean-reversion setups in one call') and delimits interpretation ('A setup radar, not an entry signal'). It does not, however, explicitly name an alternative tool or state when NOT to use it, so the routing guidance is implied rather than spelled out.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fund_traceARead-onlyIdempotentInspect
Trace a wallet's money back to a CEX, a bridge — or a sanctioned address — first-funder goes one hop; this walks the funding chain back up to 8 hops to a recognisable origin (a CEX/bridge on-ramp — lower-risk provenance) OR a SANCTIONED address (dirty money, taint by provenance) OR a dead-end of fresh anon EOAs (the sybil/burner-cluster shape). One verdict compliance can refuse on. Best-effort: internal-transfer funding is invisible and ends the walk, never guessed. A CEX origin is a signal, not identity. Not financial advice. Required input: wallet. Priced $0.10 per call over x402 on Base; send a prepaid x-credit-token header for unlimited calls (no free tier on this tool). No API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| hops | No | Max hops (default 5, max 8) | |
| wallet | Yes | Wallet to trace |
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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only, idempotent and non-destructive status, but the description adds material behavior beyond them: best-effort semantics with an explicit failure mode, the caveat that a CEX origin is a signal not an identity, and the commercial terms ($0.10/call over x402 on Base, prepaid x-credit-token header for unlimited, no free tier). That is exactly the operational context annotations cannot convey.
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 and the sibling contrast are front-loaded, and the pricing/auth line at the end is genuinely useful. It is dense with em-dash clauses and a few rhetorical flourishes ('One verdict compliance can refuse on', 'Not financial advice') that could be trimmed, but no sentence is wholly 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?
Covers purpose, scope limits, hop semantics, cost/auth mechanics and reliability caveats for a tool that is read-only with an output schema and a fully documented two-parameter input. An agent has everything needed 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% for both parameters, so the schema already documents 'wallet' and 'hops' (default 5, max 8). The description restates 'Required input: wallet' and 'up to 8 hops' without adding format or syntax beyond the schema, 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?
States a specific verb and resource ('trace a wallet's money back to a CEX, a bridge, or a sanctioned address') and defines the output as classification of funding origin. It also explicitly differentiates itself from the sibling first_funder ('first-funder goes one hop; this walks the funding chain back up to 8 hops'), so an agent can route without opening either 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?
Gives the selecting condition (multi-hop provenance vs the one-hop first_funder) and the outcome framing ('one verdict compliance can refuse on'). It also states a boundary condition — internal-transfer funding is invisible and ends the walk — which tells the agent when the result will be incomplete rather than leaving that to be discovered empirically.
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 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/openWorld/no-destructive, but the description goes well beyond them: the weekend/holiday fallback (answers with the previous business day and says so), exactly what is returned (amount, per-unit rate, effective rate date), and the payment/auth model ($0.002/call via x402 on Base, x-credit-token header, 1 free call/day, no API key). This is unusually rich 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?
Front-loaded with the core action in the first clause, then layered with caveats and cost. Every sentence carries information, though the pricing/auth sentence is dense 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?
For a paid, single-purpose conversion tool this is complete: inputs, output meaning, effective-date behavior, cost, and authentication are all covered. An output schema exists, yet the description usefully pre-empts the weekend-date surprise, so nothing needed 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%, so the schema already documents all four parameters; baseline is 3. The description adds only marginal semantics beyond the schema (date may be today or any past date, "Required inputs: from, to"), and it omits the schema's note that `to` accepts comma-separated currencies.
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 — convert an amount between 30+ currencies at the ECB daily reference rate — with scope details (today or any past date). It is clearly distinguishable from siblings like unit_convert or token_price by anchoring to ECB reference rates for accounting/reporting.
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 a clear use case (accounting and reporting) and an explicit when-not ("not tradable quotes"), plus pricing/free-tier conditions that affect whether to call it. It does not, however, name a sibling alternative such as unit_convert for non-currency conversions.
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 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, openWorld, non-destructive), and the description adds substantial behavior beyond that: the live Base RPC source, the exact pricing model ($0.01/call over x402), the prepaid x-credit-token header for unlimited calls, the 1 free call/day allowance, and that no API key is needed. This is exactly the extra context annotations cannot 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?
Front-loaded with the core purpose (what it returns) before pricing and access mechanics. It is somewhat dense with dash-separated clauses, but every sentence carries distinct information an agent needs (outputs, source, cost, auth). Slightly long, so not 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 zero-parameter read tool with an output schema already present, the description covers everything needed to call it correctly: purpose, data source, return content, and access/payment model. Nothing required 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 tool takes zero parameters, so there is nothing for the description to disambiguate; per the rubric this is a baseline 4. The description appropriately does not fabricate 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?
States a specific verb and resource ('Live Base gas estimates — slow / normal / fast'), names the returned fields (baseFee, maxPriorityFee) and the tiering, and implicitly scopes it to Base versus siblings like multi_chain_gas. An agent can distinguish this from related gas tools without opening 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?
Provides clear context ('Built for agents that time or cost-estimate transactions') and enumerates the access/pricing conditions (paid per call, prepaid header for unlimited, 1 free per day). However, it never names an alternative sibling (e.g., multi_chain_gas) or an explicit when-not-to-use condition, so the guidance is contextual rather than routing.
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 (no free tier on this tool). No 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations cover the safety profile (readOnly, idempotent, non-destructive, openWorld), yet the description adds material context beyond them: the data source (UserOperationEvents across both EntryPoints), the exact kost/access model ($0.05/call over x402 on Base, prepaid x-credit-token for unlimited, no free tier, no API key), and an interpretive caveat that fully-sponsored accounts are typically app/agent-operated plus 'not financial advice'.
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?
It is front-loaded with the question and the mechanism, then the enumerated outputs, then parameters and pricing, so a skimmer gets the point immediately. It is slightly over-long with some restatement ('wallet= required' vs 'Required input: wallet') and pricing detail that could be tighter.
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 two-parameter read tool with an output schema, the description covers inputs, data sources, cost/auth requirements, and interpretation limits, which is more than sufficient. Return-value explanation is partly redundant given the output schema exists, but 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%, so the baseline is 3, but the description adds semantics the schema lacks: 'days' defaults to 30 and is capped at 90, and 'wallet' is reiterated as required. Those constraints are not present in the 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 precise verb+resource ('who pays this wallet's gas') and defines the exact mechanism (paymaster sponsorship of a smart account, read from UserOperationEvents across EntryPoints v0.6/v0.7). It is clearly distinguishable from blanket wallet-introspection siblings and from the adjacent paymaster_check tool because it frames the answer around sponsorship attribution.
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 strong context for when the tool matters ('invisible to every does-this-wallet-spend-ETH heuristic'), telling the agent this is for sponsorship/smart-account detection rather than generic balance checks. It never explicitly names a sibling tool to use instead, so it stops short of full when/when-not routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
geocodeARead-onlyIdempotentInspect
Address ↔ coordinates via OpenStreetMap — Forward geocode an address (q=) or reverse geocode lat=+lon= using OpenStreetMap Nominatim. Returns up to 5 hits with display name and address parts. Community map data — not a postal authority. 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 API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | Address text (forward) | |
| lat | No | Latitude (reverse) | |
| lon | No | Longitude (reverse) |
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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations establish read-only, idempotent, open-world behavior; the description adds genuinely new operational context: result count cap (up to 5 hits), returned fields, a data-quality caveat (community map data, not a postal authority), and the full payment/auth model (x402 on Base, x-credit-token header, 1 free call/day, no API key).
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?
Front-loaded with the core address↔coordinates mapping and mode routing, then progressively adds output shape, data provenance, and pricing. Every sentence supplies information an agent needs to invoke the tool correctly; nothing 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 an output schema present, return-value details are optional, yet the description still notes up to 5 hits with display name and address parts. Combined with the auth/pricing model and data caveat, an agent has everything needed to 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 description coverage is 100% and the schema already labels q as forward and lat/lon as reverse, so the description largely restates the same mapping (q= forward, lat=+lon= reverse). Baseline 3 is appropriate when 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?
States a specific verb (geocode) plus the two modes (forward via q=, reverse via lat=+lon=) and the data source (OpenStreetMap Nominatim). An agent immediately understands the resource and how each parameter selects a mode, with no ambiguity against siblings like address_check or address_intel.
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 routes usage by parameter mode (forward vs reverse) and clarifies it is a geocoder rather than a postal-authority validator, implicitly steering away from address_trust/address_check. It does not, however, name any sibling tool as an alternative or state explicit when-not conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hashARead-onlyIdempotentInspect
keccak256 / sha256 of text or hex — the most-bought x402 utility — Compute keccak256 (the EVM/Solidity hash — event topics, function selectors, mapping keys) or sha256 of any input. Pass input=text for UTF-8, or 0x-hex to hash raw bytes; algo=keccak256 (default) or sha256. Returns the digest and, for keccak, the 4-byte function selector. Pure compute, no chain, sub-cent — the commodity hashing call the whole x402 ecosystem hammers, served at the floor. Not financial advice. Required input: input. 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 API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| algo | No | keccak256 (default) or sha256 | |
| input | Yes | Text or 0x-hex to 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive), and the description adds substantial context on top: it is pure local computation with no chain interaction, priced at $0.002/call over x402 on Base, free one call/day, and accepts a prepaid x-credit-token header with no API key. Payment, auth, and rate-limit behavior are all disclosed.
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 operative facts are front-loaded in the first two sentences, but the description is padded with promotional filler ('the most-bought x402 utility,' 'the commodity hashing call the whole x402 ecosystem hammers, served at the floor') and an irrelevant 'Not financial advice' for a pure hashing tool. The pricing/auth sentences do earn their place, so the waste is moderate rather than severe.
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 two-parameter compute tool with an output schema and full annotation coverage, the description supplies everything an agent needs: input encoding, algorithm choice, cost, and auth model. Return values need not be explained because an output schema exists; only minor noise reduces it below a 5.
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 (input, algo) are already documented in the schema and the description largely restates them ('keccak256 (default) or sha256'). It adds marginal value by explaining what kinds of values are hashed (event topics, selectors, mapping keys), but does not go beyond the schema in any meaningful syntax 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 first sentence gives a specific verb and resource: 'Compute keccak256 ... or sha256 of any input,' naming the exact algorithms and the EVM use cases (event topics, function selectors, mapping keys). However, it never differentiates itself from nearby siblings like encode_selector or decode_selector, which also deal with selectors and could be confused with this 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?
It states the input encoding rule (input=text for UTF-8, 0x-hex for raw bytes) and the algorithm default, and frames the context as 'pure compute, no chain.' It never states when to prefer this over alternatives such as encode_selector/decode_selector, so there is no exclusion guidance.
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 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive), but the description adds genuinely non-structured context: pricing at $0.03/call over x402 on Base, the prepaid x-credit-token header for unlimited calls, one free call/day, and no API key. That is real operational information an agent needs before invoking. It stops short of describing output shape or latency, so not a 5.
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?
Front-loads the core purpose before pricing, and the pricing/auth sentences carry necessary information. Slight marketing flavor ('the analysis others skip') costs a little, but nothing is redundant with the schema.
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 need not explain return values, and it fully covers what an agent needs to call it: the required input, the cost/payment model, the auth alternatives, and the analytical distinction it delivers. Nothing material is missing for a one-parameter read-only 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% and there is a single required parameter, so the structured field already documents 'address' fully. The description merely restates 'Required input: address' without adding format, chain, or validation semantics. 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 a specific verb+resource: it classifies a token's holder base into benign infrastructure (LP/CEX/bridge) versus dangerous unlabelled wallets, and explicitly frames itself against the naive 'top-10 = X%' metric. An agent can distinguish this from siblings like holders, holder_overlap, or dump_risk without opening any 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?
Gives clear context for when this analysis is valuable ('separating benign from dangerous concentration is the analysis others skip') and contrasts it with shallow concentration metrics. However, it never names a competing sibling tool or an explicit when-not-to-use condition, so the routing signal is 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.
holder_overlapARead-onlyIdempotentInspect
Do two tokens share a holder base? (coordinated-network signal) — Do two tokens share the same recent holders — the farm / sybil / coordinated-launch signal nobody else surfaces? Reads each token's recent recipients and returns the overlap as a share of the smaller set: independent (the few % unrelated tokens share via routers/power users), overlapping, or strongly_linked (a coordinated cohort — same farm, deployer community, or a sybil set rotating between them). Pass a= and b=. A signal, not proof. Not financial advice. Required inputs: a, b. 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 API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| a | Yes | Token A | |
| b | Yes | Token B |
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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover readOnly/idempotent/openWorld/destructive, yet the description adds real context beyond them: it reads each token's recent recipients, defines the three output classes (independent / overlapping / strongly_linked), and discloses pricing ($0.05 x402 on Base), the prepaid x-credit-token header, the 1-free-call-per-day quota, and no-API-key requirement. That is substantial behavioral disclosure layered on top of 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 core signal explanation is front-loaded and valuable, but the opening is two near-duplicate question sentences and the closing repeats 'Required inputs: a, b' after 'Pass a= and b=', with boilerplate like 'Not financial advice'. It is functional but noticeably padded.
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 detail is not needed, and the description covers the signal semantics, interpretation caveat, pricing, auth, and quotas. The only gap is explicit when-to-use guidance against siblings, so it is nearly complete rather than 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 coverage is 100%, so the schema already documents both parameters ('Token A'/'Token B'). The description only restates them ('Pass a= and b=', 'Required inputs: a, b') without adding format or semantics (e.g., address vs symbol). 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 states a specific comparison (do two tokens share recent holders) and frames it as a named coordinated-network signal, which no sibling tool covers (holder_forensics and holders look at a single token). An agent can distinguish this from adjacent token-analysis tools without reading 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?
It implies usage ('the farm / sybil / coordinated-launch signal') and warns 'a signal, not proof', but never states when to pick this over siblings like holder_forensics, token_compare, or address_intel, nor any exclusion conditions. Usage is inferable but not explicit.
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 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive, openWorld), and the description adds genuinely new operational context: no API key needed, $0.02/call over x402 on Base, the prepaid x-credit-token header for unlimited calls, and 1 free call/day. It does not mention rate limits beyond the free tier or failure modes, so it falls short of 5.
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 and outputs are front-loaded well, but the pricing paragraph is bloated and "No API key required" is repeated verbatim in two places, which is avoidable waste in a short description.
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 values need not be described; the description covers what data comes back, the source, the cost/auth model, and the required input. The only gap is chain/address-format scope for the single parameter, which is minor.
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 single address parameter is documented as "Token contract address"). The description only restates it as "Required input: address" and adds no format, chain, or validation meaning. Baseline 3 is correct.
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 (top holders, concentration, LP-lock) with concrete outputs (Top-10 with %, holder count, whale-risk level) and names the data source (GoPlus). This clearly separates it from siblings like holder_forensics, holder_overlap, or lp_lock, though it never names those siblings explicitly.
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?
"Lets agents judge how fairly a token is distributed before trading" gives a clear pre-trade use context. There are no explicit exclusions or named alternatives (e.g. when to prefer lp_lock or holder_forensics instead), so it stops short of full when/when-not guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
holiday_calendarARead-onlyIdempotentInspect
Public holidays for a country and year — List public holidays for country= + year= from Nager.Date (~110 countries). Marks national vs regional entries. Same source business-days uses — for agents that need the raw calendar. 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 API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| year | No | Year | |
| country | Yes | Country (ISO-2) |
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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations cover the safety profile (readOnly, idempotent, openWorld, non-destructive), and the description layers on operational facts annotations cannot express: pricing ($0.002 per call over x402 on Base), the prepaid x-credit-token header for unlimited calls, a 1 free call/day allowance, and that no API key is needed. That is exactly the auth/cost/limit context an agent needs before invoking.
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?
Front-loaded with the resource and filters, then routing guidance, then the commercial terms — a logical order with little wasted text. It is dense with pricing detail in one block, which slightly dilutes the core purpose statement.
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, this covers everything an agent needs: what it returns, which country set is supported, the sibling relationship, and the payment/auth model. No material 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 description coverage is 100%, so the schema already defines country as ISO-2 and year as a year string. The description restates the same inputs and adds only the coverage fact (~110 countries), which is marginal beyond the structured data. 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?
Names the specific resource (public holidays), the two filters (country and year), the upstream source (Nager.Date, ~110 countries), and the extra semantic it returns (national vs regional marking). It also distinguishes itself from its sibling by noting it is the raw calendar that business_days is built on.
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?
"Same source business-days uses — for agents that need the raw calendar" clearly positions it against the sibling tool and tells the agent when the raw list is the right pick. It stops short of an explicit exclusion (e.g. when to prefer business_days instead), so it is strong context rather than a full when/when-not rule.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hs_codeARead-onlyIdempotentInspect
Product text → Harmonized System chapter hint — Map a short product description to likely HS chapter/heading hints (electronics, apparel, coffee, pharma, …). Keyword table only — not a binding customs classification; confirm before filing. Required input: q. 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 API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | Product description |
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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond the readOnly/idempotent/openWorld annotations by disclosing that this is a keyword table rather than a binding classification, that results must be confirmed before filing, and full access mechanics: $0.005/call over x402 on Base, prepaid x-credit-token header for unlimited use, 1 free call/day, no API key needed. That is exactly the behavioral context an agent needs before deciding to spend on a 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?
Front-loaded transformation statement followed by the caveat, required input, and payment model — all in a short block with no filler. The payment detail is long but load-bearing for a paid tool, so it earns its space; slight density cost 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?
An output schema exists, so return-value explanation is unnecessary, and the description covers the remaining gaps: scope of the hint (non-binding), input requirement, and the full auth/billing path. Nothing an agent needs to invoke this 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?
Only one parameter, and schema coverage is 100%, so the schema already documents 'q' as a string product description. The description merely restates 'Required input: q' without adding format, length, or language constraints. Baseline 3 is appropriate when the schema does the work.
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 transformation (product text → HS chapter/heading hints) with a concrete resource and examples (electronics, apparel, coffee, pharma). It also immediately scopes the claim ('keyword table only — not a binding customs classification'), so the agent knows exactly what class of output to expect. No sibling tool overlaps this space, so differentiation is inherently satisfied.
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 ('confirm before filing', implying pre-classification triage) and explains the required input up front. It does not name an alternative tool or an explicit when-not-to-use condition, but there is no close sibling to route against, so the guidance is effectively complete.
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 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds substantial context beyond the readOnly/idempotent annotations: offline operation, that rejections name WHICH check failed, the shape of returned fields (normalised and print forms, country, SEPA membership, bank identifier), plus auth/pricing mechanics (x402 on Base, prepaid x-credit-token header, 1 free call/day, no API key). This is exactly the behavioural detail annotations cannot carry.
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?
Front-loaded with the core purpose and the most decision-relevant constraint before the payment mechanics. It is somewhat long, and 'No API key required' overlaps with the preceding payment sentences, but nearly every clause contributes to 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?
For a single-parameter validator with an output schema, the description covers everything an agent needs: what is checked, the critical semantic caveat that structure does not prove existence, failure reporting granularity, and the payment/auth model. Nothing material is left out.
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 a single parameter and schema coverage is 100%, so the schema already documents it. The description only restates 'Required input: iban' with no added format or syntax guidance; baseline 3 is appropriate when the schema does the heavy lifting.
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 (validate) and resource (IBAN) with the exact mechanism — country registry length, structure, and ISO 7064 mod-97 checksum. This is clearly distinguishable from neighbours like bic_check or sepa_creditor, and the opening framing question makes the intent 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?
Gives strong context for when to reach for it (structural possibility of a bank account number, catching human/spreadsheet errors) and an explicit scope boundary — 'Structure only: a valid IBAN is not proof the account exists.' It does not name an alternative sibling for related tasks (e.g. bic_check, sepa_creditor), so it stops 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.
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 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond the annotations (readOnly/idempotent/openWorld/non-destructive) by disclosing the exact return payload, the annual-series publication lag, the graceful degradation rule ('answers with the newest one available and says which'), and full pricing/auth mechanics ($0.002/call over x402 on Base, prepaid header, 1 free call/day, no API key). That is unusually complete for a read-only 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?
Front-loaded with the core question and purpose, and each clause is informative. However, it is a dense single block that mixes semantics, degradation behavior, and payments; the pricing/auth portion could be separated or trimmed without losing call-relevant 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 4-param read-only lookup with an output schema, this covers purpose, edge-case behavior, and access/payment requirements. An agent has everything needed to decide and invoke correctly; the output schema handles return-value detail.
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 thoroughly. The description only restates that 'from' is required, adding nothing about formats, accepted year ranges, or ISO code conventions beyond what the schema says. 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 a concrete verb and resource ('restate an amount from one year in another year's money') plus scope ('any country in the World Bank consumer-price series, 1960 onwards'). This is unambiguous and distinguishable from numeric siblings like unit_convert or fx_convert, which lack the intertemporal framing.
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?
Explicit use cases are given ('contract comparisons, historical pricing and long-running budgets') plus the required-input note. There is no explicit 'when not to use' or named alternative sibling (e.g. vs unit_convert/fx_convert), so it falls short of 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
know_your_agentARead-onlyIdempotentInspect
Who is this agent wallet — the identity half of agent trust — x402 proves payment; this answers whether the wallet should be recognised. Resolves a wallet's onchain identity — Coinbase verification (a KYC'd attestation), Basename, and an ERC-8004 registry entry when configured — and corroborates with its payment track record. One verdict: recognised / named / anonymous / unknown. The identity leg alongside x402-seller-check (endpoint) and agent-reputation (behaviour). Identity is not intent; a degraded read is 'unknown'. Not financial advice. Required input: agent. 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 API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| agent | Yes | Agent 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only, idempotent, and open-world traits, so the bar is lower; the description nonetheless adds real context beyond them – the 'degraded read is unknown' failure mode, no-API-key auth, the x-credit-token prepaid header, and per-call pricing. It does not describe rate limits beyond the free daily quota, but the added operational detail is substantive.
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 identity framing is front-loaded and useful, but the description is padded with redundant restatements ('the identity half of agent trust' then 'the identity leg') and boilerplate like 'Not financial advice'. Sizable, and some sentences do not 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?
An output schema exists, so return values need not be explained, and this single-parameter read tool is fully described: purpose, sources, verdicts, failure mode, auth, and pricing. Nothing an agent needs 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?
Schema coverage is 100% and there is a single required 'agent' parameter, so the schema already documents the input fully. The description only restates 'Required input: agent' without adding format or constraint semantics, which is the expected baseline when the schema does the heavy lifting.
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 (resolves) and resource (a wallet's onchain identity), enumerating the sources checked (Coinbase verification, Basename, ERC-8004 registry) and the resulting verdicts. It also explicitly distinguishes its role from the sibling tools x402-seller-check and agent-reputation, so an agent can place it without opening either 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?
Clearly situates the tool as the 'identity leg' alongside x402-seller-check (endpoint) and agent-reputation (behaviour), which routes the agent to the right sibling by scope. It gives clear context but stops short of explicit when-not-to-use conditions or prerequisites beyond the required input.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
launch_snipersARead-onlyIdempotentInspect
Were the first buyers a coordinated bundle, or organic? — Reads a token's EARLIEST transfers to judge how it was launched: many recipients in a single early block or a tight block span is a sniped/bundled launch (coordinated, expect correlated dumping); very few early holders is dangerous concentration; a spread is organic. Returns the first holders and a verdict. The launch-quality read that pairs with b20-launch-radar — a heuristic, not proof. Pass first= (default 40). Not financial advice. 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 API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| first | No | Earliest transfers to analyse (default 40) | |
| 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive, open-world), so the bar is lower, yet the description still adds substantial behavioral context beyond them: a heuristic-confidence caveat, the exact output shape, and full invocation economics (x402 pricing on Base, prepaid x-credit-token header for unlimited calls, 1 free call/day, no API key). This is exactly the extra information an agent needs before paying for a 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 core purpose and interpretation rules are front-loaded in a dense, well-organized first paragraph, and the required parameter is called out explicitly. The trailing pricing/legal sentences are longer than ideal but earn their place by telling the agent about cost and auth before 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 an output schema exists, return values need little elaboration, and the description still summarizes them ('first holders and a verdict'). With annotations covering safety, the description fills the remaining gaps an agent needs: heuristic limitations, payment/auth mode, and the sibling relationship. Nothing material 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 in the schema, including the default for 'first'. The description repeats 'first= (default 40)' and 'Required input: address' without adding format, range, or trade-off guidance (e.g., what a larger window costs or reveals). Baseline 3 is appropriate when the schema carries the load.
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 concrete operation ('reads a token's EARLIEST transfers') and the exact question it answers ('Were the first buyers a coordinated bundle, or organic?'), plus the output ('the first holders and a verdict'). It also positions itself against a named sibling ('pairs with b20-launch-radar'), so the agent can distinguish it without opening 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?
It gives clear usage context: this is the 'launch-quality read' complementing b20-launch-radar, and it explicitly frames itself as 'a heuristic, not proof'. It also explains how to interpret each outcome (single-block cluster = sniped, few holders = concentration risk, spread = organic). It stops short of stating when NOT to use it or naming an alternative for related questions (e.g., rug_score or token_risk), so it is not a full 5.
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 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. |
TDQS
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, openWorldHint=true), so the description's burden is lower. It earns credit by disclosing operational traits the annotations omit: $0.02 per call over x402 on Base, a prepaid x-credit-token header for unlimited calls, 1 free call/day, and no API key requirement. It 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?
It is front-loaded with a compact question that frames the resource, then layers in the surfaced fields and the payment model. Every sentence carries information, though the pricing/credit mechanics sentence is long and only loosely related to invoking 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?
With an output schema present, the description doesn't need to enumerate return values, and it still summarizes the categories of data surfaced. It covers the single required input and the payment/auth model, leaving only minor gaps such as which chains a token address may belong to.
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 a single parameter with 100% schema description coverage ('Token contract address'), so the schema already carries the semantics and the baseline is 3. The description only restates 'Required input: address' without adding format, chain, or validation 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 names a precise resource and scope: whether liquidity is locked, by how much, until when, plus the LP holders, lockers, and burned-vs-pullable split. That level of detail cleanly separates it from adjacent siblings such as exit_liquidity, pair_info, or token_pools, which don't enumerate lockers and unlock dates. An agent can tell what it returns without opening 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?
It gives a motivating context ('unlocked liquidity is the clearest rug setup') that implies use during rug/safety screening, but never states when to prefer it over rug_score, rug_monitor, or exit_liquidity. No exclusions or alternative routing are provided, so usage is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
market_pulseARead-onlyIdempotentInspect
Mood + attention + leverage, in one read — One trading-grade read where the single Fear & Greed number isn't enough. Combines three independent angles: mood (Fear & Greed), attention (what's trending), and leverage (OI-weighted perp funding tilt market-wide). The edge is the combination — greed + crowded longs = froth/long-squeeze risk; fear + crowded shorts = capitulation/short-squeeze setup. Returns a stance (frothy / capitulation_setup / risk_on / risk_off / neutral). One call, no key. A gauge, not a signal. Not financial advice. 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 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive, openWorld), and the description adds genuinely new behavioral context: cost ($0.03/call via x402 on Base), the prepaid x-credit-token header, 1 free call/day, and no API key needed. It also frames the output's epistemic status ('a gauge, not a signal. Not financial advice'), which is useful for downstream reasoning.
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 concept is front-loaded, but the description is ~150 words for a zero-parameter tool and carries marketing flourish ('trading-grade read', 'the edge is the combination') that repeats the point. The pricing/header mechanics at the tail are useful but 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?
With an output schema present, the description needn't enumerate return values, yet it helpfully names the stance values anyway. Combined with the pricing/auth transparency, it is largely complete for a no-input, read-only gauge; only explicit sibling routing is absent.
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 takes zero parameters, so the baseline is 4 per the rubric. There is no parameter syntax or format to document, and the description correctly spends no space on 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 names a specific composite resource (mood + attention + leverage) and the concrete output (a stance from frothy / capitulation_setup / risk_on / risk_off / neutral). It implicitly differentiates from the fear_greed sibling by positioning the combined read as the point ('where the single Fear & Greed number isn't enough'). An agent can distinguish this from fear_greed, crypto_trending, or perp_funding without opening any 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?
It states the usage context clearly ('one read where the single Fear & Greed number isn't enough') and gives interpretive guidance (greed + crowded longs = froth risk, fear + crowded shorts = capitulation setup). However it never names a sibling to use instead when only one angle is needed, so the when-not guidance is implied rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
meeting_slotsARead-onlyIdempotentInspect
Overlap office hours across timezones — Find 30-minute UTC slots where every zone is inside a local window (default 09–17) on a given date. Pass zones= IANA list. Does not know holidays or personal calendars. Required input: zones. 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 API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | Date YYYY-MM-DD | |
| zones | Yes | Timezones (comma-separated) | |
| endHour | No | Local end hour | |
| startHour | No | Local start hour |
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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the safe-read profile (readOnly, idempotent, non-destructive, openWorld), and the description adds substantive extra context: pricing ($0.002/call via x402 on Base), an auth mechanism (prepaid x-credit-token header), a free tier (1 call/day), and no API key requirement. These are behavioral details the annotations cannot convey.
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?
Front-loaded with the core purpose, then defaults, limitations, and payment terms. It is dense but every clause is operational (format, defaults, limits, billing). The pricing/payment sentence is longer than ideal but is genuinely needed for correct invocation of an x402 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?
An output schema exists, so return values need not be explained. The description covers inputs, format, defaults, limitations, and payment/auth, leaving nothing an agent needs to call it correctly unspecified.
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, but the description adds real meaning: 'Pass zones= IANA list' specifies the format the schema only calls 'comma-separated', and it documents the default 09–17 local window that governs startHour/endHour. Required input (zones) is also reaffirmed.
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 with scope: 'Find 30-minute UTC slots where every zone is inside a local window (default 09–17) on a given date.' It even distinguishes itself from a plausible sibling by noting it 'Does not know holidays or personal calendars,' so an agent can tell it apart from holiday_calendar/business_days.
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 given: overlap office hours across timezones, pass an IANA zones list, defaults to 09–17. It discloses the limitation (no holidays, no personal calendars) which is effectively a when-not signal, but it does not explicitly route the agent to a named alternative for the holiday case.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mev_guardARead-onlyIdempotentInspect
How exposed is this swap to a sandwich — and how to land it safely — Agents are the easiest MEV prey: predictable, public-mempool, a measured ~$50M/quarter tax. A sandwich only pays when a trade moves the pool enough to front-run (size vs pool depth). This returns an exposure read (low/elevated/high) and a protected-execution plan: a tight min-out, private/off-mempool inclusion (a Cobalt validity tx via validity-build), and splitting a large order into unattackable chunks. Pass tokenOut + amountUsd. Not financial advice. Required input: tokenOut. 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 API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| tokenOut | Yes | Token you want to buy | |
| 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, openWorld, and non-destructive, so the safety profile is covered. The description adds genuinely useful non-annotation behavior: the x402 $0.04/call pricing on Base, the prepaid x-credit-token header for unlimited calls, a 1-free-call/day tier, and 'no API key required'. It 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 hook question is front-loaded and the operational facts (inputs, pricing) come later, which is reasonable. But the MEV-education copy ('easiest MEV prey', '~$50M/quarter tax', sandwich economics) is padding that does not help an agent select or invoke 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?
With an output schema present, return values need not be spelled out, yet the description helpfully summarizes the output shape (exposure read + protected-execution plan). Required input, pricing, and auth are all covered. An agent has everything needed 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 description coverage is 100%, so the schema already documents both parameters. The description repeats 'Pass tokenOut + amountUsd' and flags tokenOut as required but adds no format, unit, or syntax detail beyond what the schema provides. Baseline 3 is appropriate when the schema does the heavy lifting.
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: it returns an MEV/sandwich exposure read (low/elevated/high) plus a protected-execution plan for a swap. This is distinguishable from generic swap/route siblings and it points to the related validity-build tool. It is slightly bloated with marketing framing, but the actual purpose is clear.
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 implies the usage context (checking a swap for sandwich exposure and getting guidance to land it safely) and references a sibling (validity-build) as part of the plan. However, it never states explicit when-not conditions or how to choose between this and other pre-trade or swap tools, leaving routing partly to inference.
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 (no free tier on this tool). No 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive, openWorld), and the description adds real operational context on top: $0.04 per call over x402 on Base, a prepaid x-credit-token header for unlimited calls, no free tier, and no API key required. That auth/cost model is exactly the kind of behavior annotations cannot express, though rate limits beyond the pricing note are absent.
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 hook question front-loads the purpose well, but the body is padded with marketing claims ('First lending tooling in the catalog', 'before the market cuts them', 'Not financial advice') that dilute the actionable content. The pricing paragraph is useful, yet the overall length is longer than the two parameters and one return shape warrant.
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 need not detail return values, and annotations cover safety; the description fills the remaining gaps around cost, auth, and the default market. A minor gap remains: it asserts being 'first lending tooling in the catalog' when siblings like morpho_liquidatable and position_health clearly exist, which could mildly mislead rather than inform.
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 adds meaning not present in the schema by disclosing that market defaults to cbBTC/USDC when omitted. It also reinforces that wallet is the required input. This extra default-value semantics lifts it slightly above 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?
States a specific verb and resource (reads a Morpho Blue position on Base) and enumerates the returned signals: health factor, current vs liquidation LTV, and the collateral price drop that triggers liquidation. However, it never names its closest siblings (morpho_liquidatable, position_health, near_lending_health), so the agent must infer differentiation from the 'Base/Morpho Blue' scope alone.
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 is implied rather than stated: 'built for borrowing agents and treasuries that need to know how close they are before the market cuts them' signals the scenario but gives no explicit when-to-use conditions, prerequisites, or when-not-to-use guidance. The only nod to an alternative is the cryptic 'Morpho's own API is deferred', which does not clearly route the agent elsewhere.
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 (no free tier on this tool). No 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations cover the safety profile (readOnly, idempotent, openWorld, non-destructive), and the description goes well beyond them: it discloses the reconstruction method (Borrow events + one multicall), the health threshold logic, and the crucial commercial behavior — $0.06 per call via x402, prepaid x-credit-token header for unlimited calls, no free tier, no API key. Cost/auth requirements are exactly the context an agent needs to avoid failed 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?
Front-loaded with the core question, then method, then parameters, then pricing — a sensible order, and most sentences carry information. It is dense with em-dash clauses and one throwaway line ('Not financial advice'), which keeps it just short of maximally 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?
For a read-only feed with an output schema (so return values needn't be spelled out) and both params documented, the description covers everything an agent needs: scope, method, defaults, thresholds, and payment/auth. Nothing material 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, but the description adds real value the schema lacks: concrete defaults for both optional params (market defaults cbBTC/USDC, maxHealth defaults 1.1). It doesn't explain the market-id format or accepted string form for maxHealth, so it stops at 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?
States a specific verb and resource up front — identifying which Base Morpho positions are liquidatable right now — and names the exact scope (active borrower set on a Morpho Blue market). This is clearly distinct from single-position siblings like morpho_health or the generic position_health, and an agent can tell what it gets without opening a 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?
Declares the intended caller (liquidator / MEV searchers) and the conditions the output covers (health <= 1.0 vs one small move away), which gives clear usage context. It stops short of naming an alternative tool or stating when *not* to use it, so it doesn't reach the explicit 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.
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 (no free tier on this tool). No 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint/idempotentHint/openWorldHint, and the description adds substantial context beyond them: the exact payment model ($0.05 per call over x402 on Base), the auth mechanism (prepaid x-credit-token header for unlimited calls), the absence of a free tier, and "No API key required." This is precisely the cost/auth/rate-limit disclosure the rubric credits.
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 decision framing and the risk-factor list are front-loaded, and no sentence is filler. There is avoidable redundancy, though: the vault requirement is stated twice ("vault= required" and "Required input: vault"), and the disclaimer phrase sits mid-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?
For a single-parameter read tool with an output schema, an agent needs purpose, the input, and the payment/auth path — all present, plus a preview of the verdict values it will receive. Nothing material is missing for 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?
There is a single parameter with 100% schema description coverage ("MetaMorpho vault address"), so the schema already carries the semantics. The description only restates the requirement ("vault= required", "Required input: vault") without adding format or validation detail, which is the baseline 3 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 decision framing ("Should you deposit into this MetaMorpho vault?") and then states a concrete verb+resource: it reads the vault's live allocation, idle share, performance fee, timelock and control metadata and returns a diversified/concentrated/control_risk verdict. The scope (vault-level deposit risk) is specific enough to separate it from position-oriented siblings like morpho_health and 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?
It gives clear usage context — "the read before parking funds in a yield vault" — which tells the agent exactly when to reach for it. It does not, however, name an alternative or state a when-not condition (e.g. vs morpho_health), so it stops short of the explicit routing a 5 requires.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
multi_chain_gasARead-onlyIdempotentInspect
Which chain is cheapest to operate on right now — Reads the live gas price on each major EVM chain an agent uses (base, arbitrum, optimism, ethereum, polygon) and turns it into the USD cost of the actions that matter — a plain transfer and a DEX swap — using live native-token prices. Returns one ranked answer with the cheapest chain, so an agent deciding where to settle doesn't make five RPC calls. A chain it could not read is 'unknown' and excluded from the pick, never guessed. Gas units are typical estimates. Not financial advice. 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 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnly/idempotent annotations, it discloses unreadable chains are labeled 'unknown' and excluded rather than guessed, that gas units are estimates, that the answer is a single ranked pick, and its commercial/access model ($0.01 per call over x402 on Base, prepaid x-credit-token header for unlimited calls, 1 free call/day, no API key). That is unusually rich 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 core answer ('which chain is cheapest right now') is front-loaded before mechanics, and each sentence maps to a real agent decision. It runs long, with pricing and free-tier details plus a 'Not financial advice' disclaimer that a knowledgeable agent could largely infer.
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-shape explanation is unnecessary, and the description still covers scope (which chains), failure handling (unknown chains excluded), estimation caveats, and cost/access model. Nothing needed to call it correctly is absent.
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 takes zero parameters, so the schema carries no semantics to explain and the description correctly describes the fixed chain set rather than implying inputs. Nothing is missing, though there is no extra parameter-level detail to add.
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: reads live gas prices across five named EVM chains and converts them to USD cost of a transfer and a swap, returning one ranked answer. An agent can distinguish it from gas_oracle/gas_payer by the explicitly comparative, cross-chain 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?
Gives a clear triggering scenario: 'an agent deciding where to settle doesn't make five RPC calls.' That frames when to reach for this instead of per-chain RPC or a single-chain gas tool. It does not name a sibling alternative (e.g. gas_oracle) explicitly, so it stops short of full when-not guidance.
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 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive, openWorld), and the description adds substantial context on top: the $0.02 per-call x402 cost on Base, the prepaid x-credit-token header for unlimited calls, 1 free call/day per tool, and that no API key is required. Payment and auth behavior is exactly what annotations cannot convey.
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?
Front-loaded with the core capability and batch limit, then payment mechanics. Dense but every clause is relevant; 'No API key required' is mildly redundant given the x402/header explanation, keeping it out of 5 territory.
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, yet the description still names the return shape (USD price + 24h change), and it covers chain scope, batch ceiling, cost model, and auth. Nothing needed to call 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 coverage is 100% for the single 'addresses' parameter, so the baseline is 3. The description adds value beyond the schema by stating the 10-address maximum and restricting inputs to Base token addresses, which the schema's 'comma-separated' note does not convey.
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+resource with scope: batch pricing of 'up to 10 Base tokens at once', returning USD price + 24h change. It is clearly distinguishable from single-token siblings like token_price or pair_info because the batch size and chain are explicit.
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?
'Ideal for agents pricing a portfolio or watchlist' gives clear usage context, and the up-to-10 limit implicitly tells the agent when to use it over a single-token call. It never explicitly names an alternative tool or a when-not-to-use condition, 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.
near_accountARead-onlyIdempotentInspect
What is this NEAR account, and who controls it? — Before an agent pays or trusts a NEAR account: does it exist, what kind is it (named, implicit, 0x), how much NEAR it holds (available, staked, locked for storage), whether it is a contract or a NEP-141 token, and who controls it — full-access keys that can do anything, and function-call keys limited to one contract. Flags a wallet held by one key, a contract replaceable by key, and an account no one can sign for. Live from the NEAR RPC. Required input: account. 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 API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| account | Yes | NEAR account |
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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/openWorld/idempotent/destructive=false, so the safety profile is covered. The description adds meaningful context beyond them: the data is 'Live from the NEAR RPC,' and it surfaces derived flags (single-key wallet, key-replaceable contract, un-signable account) plus pricing/access terms (x402 $0.01, prepaid header, 1 free/day, no API key).
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 front-loaded: purpose question first, capability enumeration second, then operational/pricing terms last. The pricing and free-tier sentences are somewhat verbose, but for a metered x402 tool that access information is load-bearing, and no sentence is redundant with the schema.
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 (so return shape needn't be described), the description still covers what data is gathered, the source of truth (NEAR RPC), the notable derived flags, and the billing/access model. Nothing an agent needs to decide whether and how to call this 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?
Only one parameter, with 100% schema description coverage ('NEAR account'). The description merely restates 'Required input: account' without adding format, resolution, or validation semantics beyond what the schema already conveys, matching the baseline 3 for a fully-covered 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 opening question states a specific resource ('NEAR account') and its scope ('who controls it'), then enumerates exactly what is returned: existence, kind (named/implicit/0x), balance breakdown, contract/token status, and controlling keys. An agent can distinguish this account-identity/ownership tool from siblings like near_account_age or near_token_safety without opening any 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?
'Before an agent pays or trusts a NEAR account' gives a clear triggering context for use. It does not, however, name alternative or adjacent sibling tools (e.g. near_account_age, near_wallet_activity) so the agent gets positive context but no explicit exclusions or routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
near_account_ageARead-onlyIdempotentInspect
Is this NEAR account/agent established or a fresh throwaway? — Before you trust, pay or copy a NEAR account — or one of the agents on NEAR AI's Agent Market — is it established or created minutes ago? near-account gives the current state; this gives the PROVENANCE: the creation date (age), the creator (first provenance hop), and whether it's since been deleted, from the NearBlocks indexer. Age is a first-order Sybil/trust signal — new ≠ malicious, but a fresh counterparty warrants caution. Pair with near-wallet-activity. Not financial advice. Required input: account. 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 API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| account | Yes | NEAR account id |
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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the read-only/idempotent/non-destructive profile, and the description adds substantially more: the data source (NearBlocks indexer), the exact fields returned, the auth model ('no API key required', optional x-credit-token header), the price ($0.02/call over x402 on Base) and the rate limit (1 free call/day). That is behavioral context 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 hook question and provenance framing are front-loaded and the required input/pricing are sequenced sensibly. It is slightly padded with marketing-style boilerplate ('new != malicious', 'Not financial advice') that does not help 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 tool with an output schema, everything an agent needs is present: what it returns, where the data comes from, how to authenticate, cost and rate limits, and how it relates to sibling 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?
There is a single parameter with 100% schema coverage, and the description only restates it as 'Required input: account'. It adds no format, semantics or constraints beyond what the schema already documents, 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 names a specific verb+resource - returning the PROVENANCE (creation date, creator, deletion status) of a NEAR account - and explicitly contrasts it with the sibling near_account ('near-account gives the current state; this gives the PROVENANCE'). An agent can distinguish the two without opening either 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?
It states the triggering context ('Before you trust, pay or copy a NEAR account'), names the alternative it is not (near_account) and the one it pairs with (near-wallet-activity). This is explicit when-to-use plus sibling routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
near_agent_gateARead-onlyIdempotentInspect
Before you pay a NEAR account — will it clear, and is it safe? — The NEAR counterpart of agent-pay-gate. Composes the recipient's account posture (does it exist, is it a contract, control flags) with the NEP-141 transfer preflight into one GO/HOLD/STOP before an agent sends. On NEAR a mistyped account is unrecoverable and a token transfer silently fails unless the recipient has storage_deposit — this catches both ahead of time. Pass token (+amount) for a token transfer, near= for native-amount sizing. Not financial advice. Required input: to. 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 API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| to | Yes | NEAR account you are about to pay | |
| near | No | Native NEAR amount (optional, for sizing) | |
| token | No | NEP-141 token (optional) | |
| amount | No | Token amount (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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond the annotations by explaining the underlying NEAR failure modes it protects against (mistyped accounts are unrecoverable; a token transfer silently fails unless the recipient has storage_deposit). It also discloses pricing ($0.02/call over x402 on Base), the x-credit-token prepaid path, a 1 free call/day allowance, and that no API key is needed — unusually rich 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?
Front-loads the core question ('will it clear, and is it safe?') before mechanism and pricing. It is somewhat long with several distinct clauses (safety framing, composition, failure modes, parameter usage, pricing, disclaimer), but each carries real information rather than 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 an output schema present, return values need not be explained, and the description still covers purpose, triggering context, parameter usage, failure modes, and payment mechanics. Nothing material an agent needs 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?
Schema coverage is 100%, so the per-parameter descriptions already carry meaning and baseline is 3. The description adds relational semantics beyond the schema: token should be paired with amount for a token transfer, while near= is used for native-amount sizing, and it reiterates that 'to' is the only required input.
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 — it evaluates whether a NEAR payment will clear and is safe, returning GO/HOLD/STOP before an agent sends. It explicitly positions itself as 'the NEAR counterpart of agent-pay-gate' and names the two things it composes (account posture + NEP-141 transfer preflight), which distinguishes it from siblings like near_transfer_preflight and near_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?
Gives a clear triggering context ('Before you pay a NEAR account') and mode selection ('Pass token (+amount) for a token transfer, near= for native-amount sizing'). It does not name explicit alternatives or a when-not-to-use, but the counterpart framing plus mode guidance leaves little ambiguity.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
near_lending_healthARead-onlyIdempotentInspect
How close is this Rhea Lending position to liquidation? — Health factor of an account's Rhea Lending (Burrow) position on NEAR, computed as the contract does — collateral discounted and debt marked up by each asset's volatility ratio — with collateral and debt in USD, how far collateral can fall before liquidation, and GO / HOLD / STOP. Positions from the contract, prices from NEAR Intents. Required input: account. 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 API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| account | Yes | NEAR account |
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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the read-only, idempotent, non-destructive, open-world profile, and the description adds substantial context beyond them: the methodology (collateral discounted and debt marked up by volatility ratio), data sources (positions from the contract, prices from NEAR Intents), and a detailed pricing/auth model (x402 on Base, $0.02/call, prepaid x-credit-token header for unlimited, 1 free call/day, no API key). This is exactly the behavioral detail an agent needs before invoking a paid endpoint.
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 and scenario are front-loaded, and the trailing pricing/auth sentence earns its place given the x402 payment model. It is a dense single paragraph rather than a structured list, which slightly impairs scanability, but there is little true 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?
Output schema exists, so return values need not be explained, yet the description still previews the key outputs (collateral and debt in USD, distance-to-liquidation, GO/HOLD/STOP). Combined with the data-source and payment details, an agent has everything needed 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% for the single 'account' parameter, so the schema itself documents the input adequately. The description only restates 'Required input: account' without adding format or derivation detail beyond the schema's 'NEAR account', 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?
States a precise verb+resource: the health factor of an account's Rhea Lending (Burrow) position on NEAR, computed as the contract does. This is specific enough to distinguish it from siblings like morpho_health, position_health, and exit_liquidity without opening any 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?
The opening question ('How close is this position to liquidation?') frames the scenario in which the tool applies, and naming Rhea Lending/NEAR implicitly scopes it away from other chain lending tools. However, it never explicitly states when to use this versus a sibling such as position_health or morpho_health, nor any prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
near_portfolioARead-onlyIdempotentInspect
What a NEAR account holds, and what it is worth — Net worth of a NEAR account: its NEAR (liquid and staked) plus balances in every NEP-141 token NEAR Intents routes with a live price — USDC, USDT, wNEAR, bridged BTC and ETH and more — each valued in USD and sorted by value, with the total. Says how many tokens were scanned; tokens outside that list are not included. Live from the NEAR RPC, priced by NEAR Intents. Required input: account. 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 API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| account | Yes | NEAR account |
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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover readOnly/idempotent/openWorld, but the description adds genuinely useful behavior: the data is live from the NEAR RPC and priced by NEAR Intents, coverage is bounded ('tokens outside that list are not included'), and it reports how many tokens were scanned. It also discloses the payment/auth model ($0.02 per call over x402, x-credit-token header, 1 free call/day, no API key), which is material to invocation.
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?
It is front-loaded with the core meaning (holdings + value) and the coverage caveat, then pricing last. The em-dash-heavy enumeration of tokens and the extended payment sentence are somewhat long but each clause carries real information, so waste is limited.
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 structure needn't be explained, and the description supplies the coverage limits, data sources, and input requirement an agent needs. It stops short of describing error/pagination behavior, but for a single-param, output-schema-backed tool it is essentially 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?
There is a single parameter with 100% schema coverage, so the schema already documents 'account'. The description only restates that account is required and adds no format, syntax, or resolution semantics beyond the schema, making the 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 names a specific resource and scope: 'What a NEAR account holds, and what it is worth', enumerating NEAR (liquid and staked) plus NEP-141 token balances. An agent can tell this is a net-worth/portfolio tool for NEAR rather than a generic account lookup, but it never explicitly contrasts itself with close siblings like near_account, wallet_networth, or b20_portfolio.
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 required input ('Required input: account') and implies the use case (valuing a NEAR account's holdings), which is enough to know when to call it. However, it offers no explicit when-not guidance or alternatives, so routing against similar portfolio/wallet tools is left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
near_pre_trade_gateARead-onlyIdempotentInspect
One call before buying a NEAR token — GO / HOLD / STOP — The call to make before buying a NEP-141 token: who controls it (keys, owner, pause), whether you can get back out — a USDC round trip through NEAR Intents at your trade size, loss measured — and whether a few accounts hold most of the circulating supply. Over 15% lost or no route is STOP or HOLD; HIGH concentration is HOLD. One verdict with the quotes. size is in USD (default 100). Required input: token. 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 API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| size | No | Trade size in USD (optional, default 100) | |
| token | Yes | NEAR token contract account |
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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive, openWorld), and the description goes further with real operational context: the checks performed (keys/owner/pause, exit route via NEAR Intents, holder concentration), the verdict decision rules, and the payment/auth model ($0.05/call over x402 on Base, prepaid x-credit-token header, 1 free call/day, no API key). Latency, caching, and failure modes are not covered, so it falls short of a 5.
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 and action are front-loaded in the first clause, and the pricing sentence is clearly separated at the end. The middle section is a long em-dash run-on that bundles the three analysis dimensions and the verdict rules into one dense sentence, costing some 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?
With an output schema present, return values need no explanation, and the description still supplies inputs, default size, cost/auth model, and the decision thresholds for interpreting the verdict. For a two-parameter read-only gate this is everything an agent needs to call it and act on the answer.
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 both parameters, and the description's notes ('size is in USD (default 100)', 'Required input: token') largely repeat what the schema already declares. Baseline 3 applies when the schema carries 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 states a specific verb and resource ('One call before buying a NEAR token') and a concrete output ('GO / HOLD / STOP'), plus a precise scope: NEP-141 tokens on NEAR. It does not name or distinguish itself from adjacent siblings such as near_token_safety, near_agent_gate, or the generic pre_trade_gate, so an agent must infer the boundary.
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 explicit and front-loaded: run this before buying, with the trade size supplied in USD. The decision thresholds (15% loss / no route → STOP or HOLD; HIGH concentration → HOLD) tell the agent how to act on the result. No when-not guidance or named alternative is offered.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
near_staking_yieldsARead-onlyIdempotentInspect
What liquid staking on NEAR really pays, measured on-chain — Measured APY of NEAR liquid staking (LiNEAR, Meta Pool stNEAR): each token's redemption price in NEAR now against N days ago from an archival node, annualised — no advertised rates. Plus NEAR staked behind each, and the cost of exiting instantly by selling for wNEAR through NEAR Intents instead of waiting ~2–3 days to unstake. days sets the window (default 7), size the exit in USD. 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 API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | Window in days (optional, 1-30) | |
| size | No | Exit 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive, so that bar is covered. The description adds genuinely non-obvious behavior: a $0.02 per-call x402 charge on Base, a prepaid x-credit-token header for unlimited calls, one free call/day per tool, and no API key. It also discloses methodology (redemption price now vs N days ago from an archival node) that the annotations cannot convey.
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?
Front-loaded with purpose, then methodology, then parameters, then pricing, which is a sensible order. It is dense but slightly rambling across em-dash clauses and a long pricing sentence; a small amount of tightening would help without losing 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?
An output schema exists, so return values need not be explained; the description still sketches what is returned (APY, staked amounts, exit cost). Given the tool's complexity, the pricing/auth model is fully spelled out, leaving only minor gaps such as freshness/latency of the archival read.
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 adds one piece of meaning beyond the schema — the default of 7 for the window — and clarifies that size is the exit notional in USD, but does not add format or edge-case guidance (e.g. what happens at bounds, unit parsing for string 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?
States a specific verb and resource: measures on-chain APY of NEAR liquid staking (LiNEAR, Meta Pool stNEAR), plus staked amounts and instant-exit cost. This is clearly distinguishable from siblings like yield_scout, exit_liquidity, and near_swap, which an agent can rule out 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?
Gives clear context for use: real measured rates rather than advertised, working over a configurable window, and comparing instant exit via wNEAR/NEAR Intents against ~2-3 day unstaking. It stops short of explicitly naming a competing sibling ('use yield_scout instead for...'), so no hard exclusivity statement.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
near_swapARead-onlyIdempotentInspect
Swap any asset through NEAR Intents — get a deposit address — An executable NEAR Intents swap: a binding quote with a deposit address. Send amountIn of the origin asset there before the deadline; the output goes to recipient, or it is refunded to refundTo. Funds never pass through us. Any asset NEAR Intents routes, across chains. Buying a NEAR token runs near-token-safety first and refuses a STOP token unless force=1. Track with near-swap-status. Required inputs: from, to, amount, recipient, refundTo. 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 API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| to | Yes | Asset you want | |
| from | Yes | Asset you pay with | |
| amount | Yes | Amount of the paying asset | |
| refundTo | Yes | Your address on the origin chain (refunds) | |
| slippage | No | Slippage in bps (optional, default 100) | |
| recipient | Yes | Receiving address on the destination chain | |
| depositType | No | INTENTS to pay from a NEAR Intents balance (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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations it discloses the full lifecycle (send amountIn before the deadline, output to recipient, refund to refundTo), custody posture ("Funds never pass through us"), and operational constraints (x402 payment at $0.01/call on Base, prepaid x-credit-token header, 1 free call/day, no API key). The one caveat is that "executable swap" and "binding quote" sit in mild tension with readOnlyHint=true/idempotentHint=true, though the non-custodial framing and external deposit step make that defensible rather than a direct 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 first clause is well front-loaded and immediately actionable, and most sentences do earn their place (deadline, refund path, safety gate, pricing). However, the body is a dense run-on that mixes execution mechanics, token-safety rules, tracking, and billing without structural separation, which makes it harder to scan than its length warrants.
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 complex, cross-chain, paid, non-custodial swap, the description covers the inputs, the execution/refund lifecycle, the safety precondition, the tracking tool, and the payment model, and an output schema exists so return values need no explanation. The remaining gap is selection guidance against the near_swap_quote sibling and any note on the optional slippage/depositType 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 from, to, amount, recipient, refundTo, slippage, and depositType. The description only restates the required set ("Required inputs: from, to, amount, recipient, refundTo") and adds no format, default, or semantics beyond what the schema provides; slippage and depositType are not mentioned at all. Baseline 3 is appropriate when the schema carries the parameter 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 lead sentence gives a specific verb and resource — "Swap any asset through NEAR Intents — get a deposit address" — and clarifies the artifact returned is a binding quote plus deposit address. It names two siblings (near-token-safety, near-swap-status) for the safety and tracking steps. It stops short of 5 because it never distinguishes itself from the adjacent near_swap_quote or the other swap tools 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?
It states clear applicability ("Any asset NEAR Intents routes, across chains"), lists the five required inputs, and gives a conditional rule ("Buying a NEAR token runs near-token-safety first and refuses a STOP token unless force=1"). It also routes the agent to near-swap-status for follow-up. It does not, however, state when to prefer near_swap_quote, base_swap, or swap_route instead.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
near_swap_quoteARead-onlyIdempotentInspect
What does swapping A for B through NEAR Intents give back? — An indicative quote for swapping any asset NEAR Intents routes — NEAR, USDC, USDT, BTC, SOL and more, across chains. Name assets as a symbol (USDC = on NEAR, USDC@base for another chain), a NEAR token account, or a 1Click asset id. Returns amount out, minimum out, USD in and out, the rate, the cost in percent lost to fees and price impact, and the expected time. Nothing is reserved or paid. Required inputs: from, to, amount. 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 API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| to | Yes | Asset you want | |
| from | Yes | Asset you pay with | |
| amount | Yes | Amount of the paying asset |
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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, openWorld and non-destructive, but the description adds substantial context beyond them: the x402/Base payment model, the prepaid x-credit-token header for unlimited calls, one free call per day, and no API key requirement. It also explicitly states nothing is reserved or paid and enumerates the returned fields, which is exactly the extra behavioral disclosure a quote tool needs.
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?
Front-loads the purpose as a question and then packs a lot of relevant detail (asset formats, outputs, payment terms, free tier) without filler. It is longer than most definitions and the opening rhetorical question is a slightly indirect way to lead, 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?
Given a 3-required-param, quote-only tool with full schema coverage and an output schema, the description covers everything an agent needs: identifier formats, what is returned, that it is non-binding, and the pricing/auth model. Even the return-value list is redundant with the output schema but harmless.
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, but the description adds real meaning by explaining how asset identifiers may be written (symbol like USDC for on-NEAR, USDC@base for another chain, a NEAR token account, or a 1Click asset id). That naming convention is not recoverable from the bare schema strings 'Asset you pay with' and 'Asset you want'.
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+resource (indicative swap quote through NEAR Intents) and clearly distinguishes itself from the sibling near_swap by emphasizing it is a quote, not an execution. It also scopes the asset universe (NEAR, USDC, USDT, BTC, SOL, cross-chain), so an agent can distinguish it from near_swap_status or base_swap without opening a 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?
Gives clear context for when this applies — an indicative price check where 'nothing is reserved or paid' — and notes the cost model (paid per call, free daily call), which shapes when an agent should invoke it. It stops short of naming the sibling to use for the actual swap (near_swap), so there is no explicit alternative routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
near_swap_statusARead-onlyIdempotentInspect
Where is my NEAR Intents swap? — Status of a NEAR Intents swap by its deposit address: waiting for deposit, deposit seen, processing, done, refunded or failed — with amounts in and out, refund reason, and the origin and destination transactions. Use after near-swap. Required input: depositAddress. 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 API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| depositAddress | Yes | Deposit address from near-swap |
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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive/openWorld, and the description adds real operational context on top: the full status lifecycle, the fields returned (amounts in/out, refund reason, origin and destination transactions), plus the payment model ($0.002 per call via x402 on Base), the x-credit-token prepaid header for unlimited calls, a 1-free-call-per-day allowance, and that no API key is required. Auth and rate-limit behavior is exactly the kind of disclosure annotations cannot carry.
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?
Front-loads the user-facing question and the core definition before the commercial details, and every sentence carries information. The pricing/auth sentence is dense and slightly long, but it earns its place because it is the only place payment behavior is documented.
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 need no further explanation, yet the description still summarizes them usefully. Combined with the status enumeration, the precondition, and the payment/auth model, an agent has everything needed to call 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?
There is one parameter at 100% schema description coverage, so the schema already documents depositAddress fully, and the description's "Required input: depositAddress" merely confirms it. The only added nuance is the implicit link to near-swap as the source of the value, which the schema also states. Baseline 3 for high 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?
Names a specific resource (a NEAR Intents swap) and a specific operation (look it up by deposit address), and enumerates the status values the tool resolves to. This clearly separates it from near_swap (which creates the swap) and near_swap_quote (which prices one).
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?
"Use after near-swap" gives an explicit sequencing precondition that tells the agent exactly when this tool applies and where the depositAddress comes from. It stops short of stating when-not to use it or naming an alternative status-check sibling, so it is not a full 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
near_token_holdersARead-onlyIdempotentInspect
Who holds this NEAR token, and how concentrated is it? — Top holders of a NEP-141 token on NEAR with each one's share of total supply, labelled as the token itself, an issuer treasury, a contract (pool, bridge, custodian) or a plain account, so neither a pool nor unissued stock is mistaken for a whale. Holder count, shares, and LOW / MEDIUM / HIGH concentration of plain accounts over circulating supply. Supply from the NEAR RPC, holders from NearBlocks. Required input: token. 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 API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| top | No | Holders to list (optional, 1-25) | |
| token | Yes | NEAR token contract account |
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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive, openWorld), yet the description adds real operational context: data provenance (supply from NEAR RPC, holders from NearBlocks), the labelling logic that prevents pools/unissued stock being read as whales, and the cost/limit model ($0.02/call over x402 on Base, prepaid x-credit-token header, 1 free call/day). Error behaviour and pagination for large holder sets are not described, so it falls short of a 5.
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?
Front-loaded with a scoping question and the core deliverable, then provenance, then payment terms. The middle sentence is a long run-on packing labelling, concentration tiers and sources together, but every clause earns its place and nothing 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?
An output schema exists, so return structure needn't be spelled out, yet the description still explains what comes back (holder count, shares, LOW/MEDIUM/HIGH concentration) and where the numbers originate. Provenance and pricing are covered; only the when-to-use routing against sibling holder tools is absent.
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 both parameters are self-documenting ('token' = NEAR token contract account, 'top' = holders to list, 1-25). The description only restates that token is required and hints at holder count/shares, adding no default value or format detail beyond the schema. Baseline 3 applies when the schema carries the 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?
States a specific verb+resource: top holders of a NEP-141 token on NEAR, each with share of total supply, plus concentration of plain accounts. It also names the classification scheme (token/treasury/contract/plain account), which makes it distinguishable from generic siblings like holders, holder_forensics and 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?
It states the required input and the payment model, and implies the use case ('how concentrated is it?'), but never says when to pick this over holder_forensics, holder_overlap, holders or token_supply. No exclusions or alternatives are named, so routing depends on the agent inferring from the NEAR/NEP-141 framing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
near_token_safetyARead-onlyIdempotentInspect
Who can change a NEAR token's contract? GO / HOLD / STOP — Before an agent takes a NEP-141 token on NEAR: who can change it? Counts full-access keys that can redeploy the contract, and asks the contract for an owner and a pause switch — issued tokens like USDt keep control through owner methods, not keys. No key and no owner → GO; key- or owner-controlled → HOLD; paused, no contract or not NEP-141 → STOP. Plus name, symbol, supply, and NEAR Intents liquidity and price. Live from the NEAR RPC. Required input: token. 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 API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| token | Yes | NEAR token contract account |
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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With annotations already covering readOnly/idempotent/destructive, the description goes well beyond them: it discloses the methodology (counting full-access keys that can redeploy, querying owner and pause switch), the verdict mapping, the data returned, the live NEAR RPC source, and the payment model ($0.02/call via x402 on Base, prepaid x-credit-token header, 1 free call/day, no API key).
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 decision question and GO/HOLD/STOP mapping are front-loaded and high-value. The pricing/auth sentence is long and slightly crowds the behavioral content, but nearly every clause carries information an agent needs.
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: trigger, methodology, verdict semantics, data scope, and the payment/auth path are all covered. Nothing needed 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% with a single 'token' parameter, so the schema already carries the semantics. The description only restates 'Required input: token' and adds no format or syntax detail, 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?
States a specific verb and resource — assessing who can change a NEAR NEP-141 token's contract — and immediately frames the output as a GO/HOLD/STOP verdict. An agent can distinguish it from near_pre_trade_gate or token_risk without opening any 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 scopes usage: 'Before an agent takes a NEP-141 token on NEAR: who can change it?' gives a clear trigger condition. It does not name alternative sibling tools for adjacent questions (e.g. holders or liquidity), so it stops short of full when/when-not routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
near_transfer_preflightARead-onlyIdempotentInspect
Will this NEAR token transfer go through? GO / HOLD / STOP — Before sending a NEP-141 token on NEAR: is the token real and not paused, does the receiver exist, and is it registered on the token — the storage_deposit step whose absence fails a transfer. If not, says the exact fix and its NEAR cost. With from and amount, also checks the sender holds enough. Catches sending to the token contract itself. Live from the NEAR RPC. Required inputs: token, to. 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 API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| to | Yes | Receiver NEAR account | |
| from | No | Sender NEAR account (optional) | |
| token | Yes | NEAR token contract account | |
| amount | No | Amount in token units (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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only/idempotent/non-destructive, but the description goes well beyond: it discloses the storage_deposit step omission that causes failures, that it returns the 'exact fix and its NEAR cost', that it catches sending to the token contract itself, and that data is 'live from the NEAR RPC'. It also transparently describes the pricing/auth model.
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?
Front-loads the core question and verdict tokens, then the checks, then the fix behavior, then inputs, then pricing. Dense but every block earns its place; the billing/marketing tail is the longest single component and slightly dilutes the read.
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 restated, and the description still covers the verdict semantics, required inputs, and the live-data source. Nothing an agent needs 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?
Schema coverage is 100%, so parameters are documented; the description still adds value by explaining the conditional semantics of the optional params — 'With from and amount, also checks the sender holds enough' — which the schema alone does not convey.
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 question-form verb+resource ('Will this NEAR token transfer go through? GO / HOLD / STOP') and enumerates exactly what it verifies: token reality/pause state, receiver existence, registration/storage_deposit, and sender balance. The 'NEAR' scoping cleanly distinguishes it from chain-specific siblings like b20_transfer_preflight.
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 trigger condition: 'Before sending a NEP-141 token on NEAR.' It clearly names the case it governs, though it doesn't call out an alternative tool or state when NOT to use it (e.g., for swaps or non-NEP-141 assets).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
near_wallet_activityARead-onlyIdempotentInspect
What has this NEAR account been doing? — Recent history of a NEAR account, summed up: transactions signed and received, failures, NEAR sent and received, token flows in and out per token, the contracts it calls most, who it deals with most, and signals (inactive, failing, receive-only). One-line summary plus the last 10 transactions. Reads the NearBlocks indexer; limit sets how many recent transactions (default 25). Required input: account. 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 API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Recent transactions to read (optional, 5-50) | |
| account | Yes | NEAR account |
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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover readOnly/idempotent/openWorld, so the description goes beyond them usefully by disclosing the data source (NearBlocks indexer), the auth model (no API key, prepaid x-credit-token header, 1 free call/day), and the price ($0.02 per call over x402 on Base). These are real selection-affecting facts an agent can't get from 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?
Front-loads the purpose in one sharp question, then consolidates outputs, pricing, and input requirements into a tight block. Slight redundancy: the output is described twice (the full enumeration and the 'one-line summary plus the last 10 transactions'), and 'Required input: account' merely repeats the schema.
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 two-parameter read tool with full schema coverage, an output schema, and safety annotations, the description supplies everything else that matters: what the data source is, what the response contains, pricing/rate-limit model, and the account requirement. 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?
Schema coverage is 100%, so the baseline is 3. The description adds the one thing the schema omits — that limit defaults to 25 — plus framing that limit governs 'recent transactions,' which is genuinely additive rather than restated from the schema's optional/5-50 note.
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 concrete question framing a specific verb+resource ('Recent history of a NEAR account, summed up') and enumerates the exact content returned: txns signed/received, failures, NEAR flows, per-token flows, top contracts, top counterparties, and signals. It never names the adjacent siblings (near_portfolio, near_account, wallet_activity) so differentiation must be inferred from the feature 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?
Gives operational context (reads the NearBlocks indexer, limit defaults to 25, $0.02 per call via x402, free tier of 1 call/day) but never states when to pick this over near_portfolio, near_account, or wallet_summary. Usage is implied by the feature enumeration rather than explicitly routed.
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 (no free tier on this tool). No 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only, open-world, idempotent and non-destructive behavior. The description adds genuinely new operational context the annotations cannot express: x402 pricing ($0.01/call), the prepaid x-credit-token header for unlimited calls, no free tier, and no API key requirement. This is useful payment/auth disclosure that an agent needs before invoking.
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?
Front-loaded with the purpose and data source, then pricing, then auth. Slightly redundant in restating 'profiled on Base' twice and repeating 'Base' three times, but every sentence carries information and nothing is padded.
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 need not be explained, and the description still summarizes the payload. With zero parameters and a low-complexity read, the definition covers purpose, source, and payment model adequately; only explicit sibling routing 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 takes zero parameters, so there is nothing for the description to disambiguate; baseline is 4. Schema coverage is 100% and no enum/nested complexity exists.
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 ('Returns the latest tokens profiled on Base from the DexScreener feed') plus the payload fields (address, description, links). It is clear what the tool does, but with a crowded sibling set (trending_tokens, launch_snipers, token_age, b20_launch_radar) it never explicitly says how it differs from those.
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?
'Great for discovery bots hunting new launches early' gives a use-case context, which is more than nothing. However there is no when-not guidance and no named alternative for an agent trying to decide between this and the other launch/trending tools.
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 (no free tier on this tool). No 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, idempotent, open-world, non-destructive behavior, so the bar is lower. The description still adds meaningful operational context beyond them: pricing model ($0.02/call over x402 on Base), the prepaid x-credit-token option, no free tier, no API key required, and the data-source/coverage constraints.
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?
Front-loads the core purpose, but the opening redundantly restates itself ('Live floor price for a Base NFT collection — Current floor price for a Base NFT collection'), and 'For agents tracking NFT markets' and 'Required input: contract' add little. Information is dense but not tightly edited.
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 details are not required, and the description covers pricing, payment mechanics, data sources, and coverage limits. Minor gaps remain around failure modes (e.g., unlisted collections) but 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?
Single required parameter with 100% schema description coverage, so the schema carries the load. The description ('Pass the collection contract address') merely restates the schema without adding format details such as checksum expectations or chain qualifier beyond 'Base'.
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: retrieves the live/current floor price for a Base NFT collection, naming the data sources (OpenSea/LooksRare via Alchemy). No sibling tool provides NFT floor pricing (wallet_nfts lists holdings, not floor), so it is clearly distinguishable.
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 is only implied via 'For agents tracking NFT markets' and the coverage caveat ('limited to marketplace-listed collections'). There is no explicit when-to-use vs alternative guidance, though the absence of a direct sibling alternative softens the gap.
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 (no free tier on this tool). No 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Going well beyond the annotations (which only cover read-only, idempotent, open-world, non-destructive semantics), the description discloses pricing ($0.02/call over x402 on Base), the auth model (x-credit-token header for unlimited calls, no API key required), the absence of a free tier, and the 122-country scope. These are exactly the operational facts the structured fields do not carry.
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 leading question frames the purpose immediately and the operational facts are grouped at the end, so the structure is front-loaded and scannable. It runs slightly long with a marketing-tinged sentence ('most integrations discover only after a user fails'), but nearly every clause carries actionable 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, read-only lookup with an output schema already defined, the description supplies everything the agent needs: what it returns conceptually, when to call it, its cost, and its auth requirements. Return-value detail is correctly left to 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?
There is a single parameter with 100% schema description coverage ('country', ISO country code), so the schema already does the heavy lifting. The description only restates 'Required input: country' without adding format, examples, or edge-case guidance, so this sits at the high-coverage 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 verb+resource: it reports which fiat-in and cash-out rails Coinbase runs in a country, plus currencies, limits, and supported asset/network counts. It is clearly a country-level feasibility lookup rather than a quote or transfer, but it never names its closest sibling onramp_quote, so the boundary is inferred rather than stated.
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 an explicit usage context — 'the feasibility check before you ask a user for money' — and explains the practical distinction between card-rail countries and transfer-only countries. What is missing is an explicit 'when not to use this / use onramp_quote for pricing instead' statement, so the agent must infer when to prefer a sibling.
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 (no free tier on this tool). No 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover readOnly/idempotent/non-destructive/openWorld, so the bar is lower, and the description still adds real behavior: live Coinbase pricing rather than a rate card, a $0.03 per-call x402 charge on Base, a prepaid x-credit-token header for unlimited calls, and no free tier or API key. That billing/auth disclosure is exactly the kind of context annotations cannot express.
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?
Front-loads the purpose reasonably well, but the '$100 in the US… card takes 2.44' illustration, 'Not financial advice', and repeated payment boilerplate dilute the signal. The billing facts and required inputs earn their place; the marketing framing does not.
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 correctly focuses on what those can't convey: pricing computation model, cost/auth mechanics, and the address-driven checkout mode. Near-complete for the agent's decision, lacking only routing guidance against siblings.
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 restates the required inputs and explains that address produces a payable checkout link, but that meaning is already in the schema, adding little 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?
States a concrete verb and resource: prices the same fiat purchase across every payment method a country allows and ranks them by net received. Very specific about output and scope. It does not name or differentiate against the obvious sibling onramp_coverage, so the agent must infer which to pick.
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 operative guidance ('Required inputs: country, amount', 'Pass address= for a payable checkout link') but never states when to use this versus onramp_coverage or the various *_gate / pre_trade tools. Usage is implied rather than delineated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
owner_powersARead-onlyIdempotentInspect
What can the owner do to you AFTER you buy? — A token can look clean now — low tax, no honeypot, sells fine — and still leave the owner holding the switches to trap you later. sellability asks 'can I sell today'; this asks 'what can the owner do AFTER I buy'. Lists the mutable owner powers — raise sell tax to 100%, zero your balance, blacklist you, pause transfers, reclaim 'renounced' ownership, mint supply — each mapped to the attack it enables, plus whether a renounce is real. Not financial advice. 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 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. |
TDQS
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 covered by structured data. The description adds credit-worthy operational context the annotations cannot convey: auth needs ('no API key required', prepaid x-credit-token header) and a rate limit (1 free call/day per tool) plus the $0.03 per-call x402 price on Base. It stops short of describing response shape or failure modes, which keeps it at a 4.
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 hook question is front-loaded and the rest is dense with specific, useful content rather than filler. It is somewhat long and the central question is restated twice, plus 'Not financial advice' and the pricing sentence add bulk, but none of it is misleading or wasted enough to derail the reader.
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 need not be explained, and the description still summarizes what comes back (owner powers mapped to enabling attacks, realness of a renounce). Inputs, access/auth, cost, and sibling routing are all covered, leaving nothing an agent needs to call 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?
There is a single parameter and schema description coverage is 100%, with the schema already documenting address as 'Token contract address'. The description only restates it as 'Required input: address', adding no format, chain, or validation detail beyond the schema. Baseline 3 is appropriate when 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 states a precise verb+resource space: it enumerates the mutable owner powers a token contract retains (raise sell tax, zero balance, blacklist, pause, reclaim ownership, mint) and frames the output as those powers mapped to attack outcomes plus renounce authenticity. It explicitly distinguishes itself from its closest sibling by contrast ('sellability asks can I sell today; this asks what can the owner do AFTER I buy'), so an agent can route between the two without opening either 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?
It names the alternative tool (sellability) and the exact question that selects this one over it, which is the decision an agent actually faces for a token contract address. The post-purchase framing also makes the temporal condition for use explicit.
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 (no free tier on this tool). No 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare this a safe, idempotent, read-only, open-world call, so the description adds the operationally critical facts those annotations cannot carry: $0.02 per call over x402 on Base, no free tier, and that a prepaid x-credit-token header unlocks unlimited calls with no API key. That payment/auth detail directly determines whether an invocation succeeds.
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?
It is front-loaded well: value proposition first, then audience, then required input, then pricing — the ordering an agent needs. Slightly dense with the em-dash metrics list and "Required input: pair" duplicates the schema's `required` array, costing a little efficiency.
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 values need not be explained, and the description covers what is returned, who it is for, the required input, and the full payment/auth path. Nothing an agent needs to invoke this 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 `pair` parameter, so the schema fully documents it. The description only restates "Required input: pair" and adds the mildly useful constraint that the address must be a Base DEX pair (pool) — no format or example is provided, so this 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 names the exact resource (a Base DEX pair/pool address), the exact verb (returns), and enumerates the returned metrics — price, liquidity, 24h volume, buy/sell counts, FDV — plus the data source (DexScreener). This is enough to distinguish it from siblings like token_info, token_pools, or dex_spread without opening any 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?
"For agents analysing a specific pool's depth and activity" gives a clear use context, and the required input is stated. However, it never names an alternative (e.g., token_pools for discovering pools, token_info for token-level data) or a when-not condition, so routing is still partly inferential.
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 (no free tier on this tool). No 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/openWorld, so the description adds value by disclosing cost ($0.05 per call over x402), the x-credit-token prepaid header for unlimited calls, the absence of a free tier, and that no API key is needed. These are real operational behaviors an agent cannot infer from 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?
Front-loaded with the core question, then scope, then usage, then parameters and pricing. Dense and mostly waste-free, though the pricing/header/no-free-tier tail and 'Not financial advice' line add bulk some agents may not need.
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 values needn't be explained, and the description covers purpose, use case, parameters, and cost. Complete enough to call correctly; only the lack of alternative-tool routing keeps it from a 5.
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 further by stating that paymaster is required and giving the days default (30) and cap (max 90), which the schema's terse 'Lookback days (optional)' omits. It adds genuine semantics beyond the structured fields.
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 ('audits whether it's a healthy, active gas sponsor') and enumerates exactly what is measured (op volume, distinct accounts, success rate, gas sponsored, concentration). This clearly distinguishes it from siblings like gas_payer or multi_chain_gas, which address gas differently.
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 says when to run it: 'The read to run before integrating a paymaster... or judging who funds a counterparty's gas.' That is strong positive guidance, though it names no alternative tool or when-not-to-use condition, 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.
perp_fundingARead-onlyIdempotentInspect
The futures side of a trade — funding, OI, basis, crowding — Choosing between spot and a perp? This is the data that choice needs. Aggregate OI-weighted perpetual funding, open interest and basis for a coin across venues (CoinGecko, no key): who pays whom (longs crowded vs shorts crowded), the carry you earn or bleed holding the perp, and contango vs backwardation. Verdict neutral / elevated / extreme. Pass symbol=BTC. Funding annualised as an estimate (8h intervals assumed). A market-structure signal, not a price call. Not financial advice. Required input: symbol. 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 API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | Yes | Coin symbol (BTC, ETH, SOL…) |
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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, openWorld, non-destructive), yet the description adds substantial operational context: pricing ($0.04/call over x402 on Base), the auth path (prepaid x-credit-token header or 1 free call/day), and a methodological caveat that funding is annualised from assumed 8h intervals. This is exactly the auth/rate-limit/estimation disclosure annotations cannot carry.
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, but several sentences are marketing or boilerplate ('The futures side of a trade', 'This is the data that choice needs', 'Not financial advice') that do not help an agent invoke the tool. Meaningful content is diluted across a long block rather than structured into crisp clauses.
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 need no explanation, and the description still supplies the interpretive frame (neutral/elevated/extreme verdict), cross-venue aggregation, estimation assumptions, and payment mechanics. Complete enough for a single-param read tool, though a brief note on venue coverage or data freshness would close the remaining 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?
Schema coverage is 100% and there is a single well-described parameter, so the schema already does the work; the description only restates 'Required input: symbol' and gives an example 'Pass symbol=BTC'. No format or edge-case meaning is added beyond the schema, 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?
States a specific verb and resource: 'Aggregate OI-weighted perpetual funding, open interest and basis for a coin across venues (CoinGecko, no key)'. It also enumerates the concrete outputs (who pays whom, carry, contango/backwardation) and a verdict scale, which lets an agent distinguish it from siblings like funding_radar or market_pulse without opening 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?
Frames the decision context ('Choosing between spot and a perp?') and adds a negative framing ('A market-structure signal, not a price call'), which implies when it fits. But it never names an alternative tool or states an explicit when-not to pick it over a sibling, so guidance remains implied rather than actionable.
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 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the safe read-only/idempotent profile, yet the description adds genuinely new behavioral facts: results are derived offline with no assignment or reachability check, line type is returned only where ranges are unambiguous and is otherwise null with a reason rather than guessed, plus auth model (no API key), rate limits (1 free call/day) and pricing ($0.002 via x402). That is well beyond what the structured fields convey.
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?
Front-loaded with the core purpose and scope in the opening clause, with limitations and edge-case policy following in a logical order. Slightly long, and the trailing pricing/auth sentence is close to boilerplate, but each sentence still carries usable 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?
An output schema exists, yet the description still covers the two things an agent must know to call it correctly: what the result means (length match, conditional line type) and what it explicitly does not guarantee (assignment/reachability). For a two-parameter read tool with a documented output, nothing material 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 both parameters, so the baseline is 3. The description restates the required input ('Required input: phone') but does not clarify the optional 'country' fallback parameter beyond what the schema already says ('Calling code, if the number has no +'), adding little 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?
States a specific verb and resource (normalise a phone number to E.164) and enumerates exactly what it returns: country, calling code, national number, length validity, and conditional line type. An agent can distinguish it from adjacent validation siblings like email_verify or tax_id_check without opening 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?
Gives clear usage context and a strong 'when not' signal: 'Offline: it does not check that the number is assigned or reachable.' It does not, however, name an alternative tool or route the agent elsewhere for reachability checks, so it stops short of full when/when-not/alternatives guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
pingARead-onlyIdempotentInspect
Always-returns health check — the cheapest end-to-end x402 test — The cheapest possible end-to-end x402 purchase: always returns 200 with a timestamp (and echoes an optional message). Use it to verify your x402 client, the payment path and our settlement in one sub-cent call before wiring up a real endpoint — the pattern crawlers and monitors hit most across the network. 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 API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| echo | No | Optional message to echo back |
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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive/open-world, and the description adds materially to them: per-call price ($0.002 over x402 on Base), the prepaid x-credit-token header path for unlimited calls, a 1-free-call/day allowance, and 'no API key required.' Cost and auth mechanics are exactly the behavioral context an agent cannot infer from 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?
Front-loaded with the core behavior, and the pricing/auth sentences earn their place. However the opening contains three near-identical clauses ('always-returns health check', 'the cheapest end-to-end x402 test', 'the cheapest possible end-to-end x402 purchase'), which is redundant restatement rather than 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?
An output schema exists, so the return payload needn't be explained, and annotations cover the safety profile. The description fills the remaining gaps an agent needs before calling: what it returns, what it costs, how to authenticate, and the intended test-before-production use. Nothing material 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?
Only one optional parameter (echo) at 100% schema coverage, so the schema already carries the semantics and a baseline of 3 applies. The description adds a small amount by confirming the message is echoed back, but no format, length, or constraint 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?
States a specific resource and behavior: an always-returns health check that returns 200 with a timestamp and echoes an optional message. An agent can immediately tell this apart from siblings like chain_status or agent_pay_gate. The triple-restatement opening ('always-returns health check — the cheapest end-to-end x402 test — the cheapest possible end-to-end x402 purchase') blurs the punchline slightly but does not obscure the 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?
Explicitly names the situation: 'Use it to verify your x402 client, the payment path and our settlement in one sub-cent call before wiring up a real endpoint.' That is a concrete when-to-use with a sequencing cue (before wiring a real endpoint). It does not name a sibling alternative or a when-not-to-use case, 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.
polymarket_oddsARead-onlyIdempotentInspect
Event prediction probabilities & consensus odds from Polymarket — Queries Polymarket's Gamma CLOB for active prediction markets. Resolves event outcome probabilities (Yes/No %), 24h volume, liquidity, and resolution date in one call. Designed for AI agents that need a real-world reality check before trading, hedging, or rebalancing treasury. Pass query= (e.g. 'fed', 'btc', 'kraken-ipo-in-2025'). A probabilistic signal, not financial advice. Required input: query. 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 API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Market topic, question or slug |
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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, idempotent, open-world, non-destructive behavior, and the description adds substantial context beyond them: pricing ($0.02/call over x402 on Base), the prepaid x-credit-token header for unlimited calls, the 1 free call/day allowance, and that no API key is required. It also flags that the output is a probabilistic signal and not financial advice, which an agent needs to interpret results responsibly.
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?
Front-loaded with the core purpose and key return data, then layers on payment and access mechanics. It is somewhat dense with pricing/credit details, but those are operationally relevant to an autonomous agent and each sentence carries weight.
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 with an output schema and full annotation coverage, the description is complete: it covers what is queried, what comes back, how to authenticate/pay, and how to interpret the signal. No essential calling 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 there is only one parameter, so the schema already carries the definition. The description adds value by providing concrete example query values ('fed', 'btc', 'kraken-ipo-in-2025'), helping the agent form a well-shaped query rather than guessing the expected granularity.
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: queries Polymarket's Gamma CLOB for active prediction markets and resolves Yes/No outcome probabilities. It names the concrete data returned (probability %, 24h volume, liquidity, resolution date), which clearly distinguishes it from sibling market tools like crypto_markets or market_pulse.
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 a clear use context — 'a real-world reality check before trading, hedging, or rebalancing treasury' — which tells the agent when this tool is the right choice. However, it never names an alternative sibling tool or an explicit when-not-to-use condition, so routing is left partly to inference.
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 (no free tier on this tool). No 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, openWorld, and non-destructive, so the safety profile is covered. The description goes beyond that in a genuinely useful way by disclosing the full commercial/auth model: $0.15 per call over x402 on Base, a prepaid x-credit-token header for unlimited calls, no free tier, and no API key. That is exactly the kind of non-annotation behavior an agent needs before invoking.
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 pricing sentence is front-loadable but sits at the end, and the core idea — 'which of the things you already hold could hurt you' — is stated twice in nearly identical wording. The redundant restatement costs marks even though the overall length is reasonable.
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 correctly covers scope, auth/payment, and the risk-check nature of the call. The only missing piece is explicit routing against similar wallet-audit siblings, which 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?
There is a single required parameter with 100% schema coverage, so the schema already fully documents 'address'. The description's 'Required input: address' adds nothing beyond what the schema states, 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 verb and resource — 'audit a whole wallet', 'pulls a wallet's holdings and runs a risk check on each' — and specifies what it flags (honeypots, high-risk, illiquid, USD at risk). This distinguishes it from plain portfolio-listing tools in the sibling set, though it never names the nearest alternatives (ai_wallet_security, agent_wallet_audit, wallet_portfolio) to sharpen the boundary.
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 is implied by 'One call audits the whole wallet' and the risk-oriented framing, which tells the agent this is for holdings you already own rather than a trade preflight. However, there is no explicit when-to-use/when-not guidance and no sibling is named as the alternative for related questions like net worth or token lists.
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 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive, openWorld), and the description goes further by disclosing the full access model: $0.04 per call over x402 on Base, an x-credit-token prepaid header for unlimited calls, one free call/day per tool, and no API key requirement. Payment/auth mechanics and rate-limit terms are exactly the behavioral context an agent cannot infer from 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 and outputs are front-loaded before the pricing/access terms, so the most decision-relevant information comes first. One clause ('The risk that changes after you buy is exactly the risk holders miss') is stylistic filler that doesn't help selection or invocation, keeping it short of 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 3-parameter read tool with full schema coverage, an output schema, and rich annotations, the description supplies the remaining context an agent needs: the decision verdict it produces, the required input, and the payment/auth path. Nothing needed to call or interpret 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 documents address, size, and entryPrice. The description restates the required input and notes that entryPrice optionally enables P&L, which mirrors the schema's own wording rather than adding syntax, format, or units beyond it. Baseline 3 applies when the schema does the heavy lifting.
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 combination (post-trade position health check on a token) and enumerates exactly what it returns: live price, P&L, exitability at the given size, and rug score rolled into a healthy/watch/exit_now verdict. The framing 'the post-trade check everything else skips' distinguishes it from siblings like rug_score and exit_liquidity without needing to open any 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?
Clearly establishes the triggering context ('You're IN the token — should you stay in?'), i.e. use this after acquiring a position to decide hold vs. exit. It does not name specific alternatives to prefer in other situations, so it gives clear context but no explicit when-not or sibling routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
pre_trade_bundleARead-onlyIdempotentInspect
Five pre-trade checks, one GO / HOLD / STOP — Runs pre-trade-gate (risk, sellability, route, deployer), b20-gate (seize/freeze/pause; N/A for non-B20 tokens), owner-powers and dump-risk in parallel on a Base token, with clanker-token-audit as provenance that never moves the verdict. Returns GO/HOLD/STOP, what each check saw, an unverified list, a max size held to 2% impact on the exit-liquidity read, and a receipt. GO only if every applicable check ran clean; if a gating check could not run there is no GO and no charge. Required input: address. Priced $0.15 per call over x402 on Base; send a prepaid x-credit-token header for unlimited calls (no free tier on this tool). No 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond the read-only/idempotent/open-world annotations by disclosing pricing ($0.15/call over x402 on Base), the auth path (prepaid x-credit-token header for unlimited calls, no free tier, no API key required), the no-charge failure mode, and the 2%-impact cap on max size. These are exactly the operational traits annotations cannot convey.
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?
Front-loads the composition and verdict model before pricing/auth details, and every sentence carries distinct information (composition, verdict rule, returns, failure mode, cost, headers). The clauses are dense and run long, but there is no obvious filler to cut.
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 complex composite tool, it covers verdict semantics, per-check visibility, the unverified list, the receipt, the no-GO/no-charge path, and the full payment/auth model. With an output schema present, return values needn't be spelled out, and nothing an agent needs 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?
Schema description coverage is 100%, so the schema already documents both address and amountUsd; the description only restates 'Required input: address.' It adds a faint hint about amountUsd's role in the exit-liquidity/max-size read but no format or syntax detail, so 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?
States a specific action (runs five named pre-trade checks in parallel on a Base token) and the bundled resources it wraps (pre-trade-gate, b20-gate, owner-powers, dump-risk, clanker-token-audit). It explicitly differentiates itself from those siblings by positioning them as sub-components rather than alternatives, so an agent can identify it as the aggregator without opening any 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?
Clearly states the operational rule: 'GO only if every applicable check ran clean; if a gating check could not run there is no GO and no charge,' and notes b20-gate is N/A for non-B20 tokens. It gives strong context but never explicitly tells the agent when to call this bundle versus the individual sibling tools (pre_trade_gate, b20_gate, etc.).
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 — Use before an agent buys or swaps into a Base token: token-risk, sellability (honeypot, tax), swap route and price impact for your size, and deployer reputation in one GO/HOLD/STOP verdict with a receipt. GO only when every check ran clean; an outage is HOLD. Coinbase tokenized stocks get stock checks (transfer policy, wallet eligibility, premium vs reference). GO/HOLD return enforce: a Cobalt condition so Base never includes your trade if the pool is drained first. Bind this tool first. Required input: address. Priced $0.10 per call over x402 on Base; send a prepaid x-credit-token header for unlimited calls (no free tier on this tool). No API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| wallet | No | Buyer wallet — for tokenized stocks, checks it may receive (optional) | |
| address | Yes | Token contract address | |
| amountUsd | No | Trade size in USD (optional) | |
| maxLiquidityDropPct | No | Enforce: max pool drop before the trade is refused, % (optional, default 20) |
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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations cover safety (readOnly, idempotent, non-destructive, openWorld), and the description adds substantive context beyond them: GO only when every check ran clean, an outage degrades to HOLD, GO/HOLD return an `enforce` Cobalt condition, pricing at $0.10/call over x402, prepaid x-credit-token for unlimited calls, no free tier, and no API key required. These are operational facts an agent cannot derive from 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?
Front-loads the core verdict semantics (GO/HOLD/STOP, when to call) before pricing/auth details. It is dense and long, but nearly every clause carries distinct information (outage handling, stock case, enforce, payment). Minor redundancy between the first and later sentences 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 high-complexity, paid, multi-check gate with an output schema, the description covers calling conditions, verdict logic, degradation behavior, the tokenized-stock branch, the enforce return, and payment/auth requirements. An agent has everything needed 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 already 100%, so the baseline is 3, but the description adds meaning: it flags `address` as the required input and ties `amountUsd` to the price-impact/'for your size' check and the enforce behavior around max pool drop. The added semantic framing slightly exceeds the schema text.
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+resource ('one call before you trade') and enumerates exactly what the verdict aggregates: token-risk, sellability (honeypot, tax), swap route, price impact for size, and deployer reputation. This clearly differentiates it from single-purpose siblings like token_risk, sellability, swap_route, and deployer_rep, which it bundles into one GO/HOLD/STOP receipt.
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 explicit context ('Use before an agent buys or swaps into a Base token') and a directive ('Bind this tool first'), plus the special case for Coinbase tokenized stocks. It does not name alternatives (e.g., pre_trade_bundle, near_pre_trade_gate) or state when NOT to use it, 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.
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 cron checks DexScreener every 10 minutes and POSTs your webhook when it crosses — HMAC-signed (secret returned once at registration), retried up to 3 times. 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 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With annotations covering only the safety profile, the description carries substantial extra behavioral detail: a cron polls DexScreener every 10 minutes, the callback is HMAC-signed with a secret returned once, delivery is retried up to 3 times, alerts expire after 30 days, and polling returns one of THRESHOLD_MET/ok/FIRED/unknown. Pricing ($0.05 over x402, prepaid x-credit-token header, 1 free call/day) is fully disclosed. The readOnlyHint annotation sits somewhat oddly on a state-creating registration that persists for 30 days, but the description itself is candid about the state it creates.
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?
Front-loaded with the core action and trigger, and essentially every clause carries decision-relevant information (payment model, retry/expiry semantics, verdict values). It is nevertheless a dense single block that mixes invocation, billing, and return semantics; light structuring 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?
For a paid, stateful tool with an output schema, the description covers what the agent needs: required inputs, webhook vs poll paths, auth/payment headers, delivery guarantees, lifetime, and the polling verdict vocabulary. Nothing material is left implicit.
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 adds real semantics: up to/below for direction, USD for threshold, the https requirement for webhook, and that check is an alert id used only in polling mode. It doesn't clarify whether check can be combined with token/threshold/direction or must be passed alone.
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 gives a specific verb and resource ('register a price-threshold alert on any Base token') plus the trigger mechanism (webhook when a token crosses your target). It is immediately distinguishable from read-only siblings such as token_price or multi_price because it is a persistent, paid registration with an expiry, not a one-shot quote.
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 lays out the two operating modes and the condition that selects each: supply an https webhook URL to get pushed to, or 'omit the webhook and poll with check=<id>'. It also states the prerequisites (token, threshold, direction) and the payment options. It does not, however, route the agent away from the many sibling price tools (token_price, multi_price, rug_monitor) when a one-off or different kind of check is the better fit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
price_impactARead-onlyIdempotentInspect
How much will MY trade move the price? — size before you buy — A quote shows today's price; it does NOT tell you a $5k buy into a $20k pool pays ~20% more. This takes the token's deepest Base pool, treats it as constant-product (Uniswap-V2 / Aerodrome volatile) and computes the exact x*y=k price impact for your USD size. Conservative — concentrated-liquidity pools usually do better. Also returns the largest size under 1% and 3% impact. Pass address= and size= (USD). An estimate; confirm with swap-route. Not financial advice. Required inputs: address, size. 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 API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| side | No | buy or sell (default buy) | |
| size | Yes | 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond annotations by disclosing the pricing model ($0.03 per call over x402 on Base), the prepaid x-credit-token header option, a free call/day allowance, no API key requirement, and the conservative constant-product assumption. Annotations only cover readOnly/idempotent safety; the description carries the 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?
Front-loads the core question and computation, but carries some promotional and boilerplate text ('Not financial advice', the $5k/$20k illustration) that adds length. Most sentences still earn their place by conveying method or payment mechanics.
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 values needn't be described, yet the model is explained (constant-product, conservative, deepest Base pool). Payment mechanics and required inputs are covered, and annotations already carry the safety profile, leaving no critical gap for 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%, so the schema already documents address, size, and side (with its buy/sell default). The description restates 'Pass address= and size= (USD)' and notes defaults but adds no syntax or format detail 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?
States a specific verb+resource with scope: computes the exact x*y=k price impact of a given USD trade size on a token's deepest Base pool, and returns the largest size under 1% and 3% impact. Clearly distinguishable from siblings like token_price, swap_route, or price_alert, which it implicitly contrasts ('a quote shows today's 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?
Gives clear context: 'size before you buy' and explains the scenario where it is needed versus a spot quote. It names swap-route as the confirmation alternative, though it doesn't state exclusions such as when the constant-product approximation is invalid or non-Base chains.
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 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive), so the bar is lower; the description still adds meaningful operational context the annotations lack — live slot reads, the dangerous EOA-admin/no-timelock case it flags, plus pricing ($0.03/call), x402 payment on Base, the x-credit-token header, 1 free call/day, and no API key requirement.
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?
Front-loads the core question and the tool's purpose, then layers in the risk framing and payment mechanics. Efficient overall, though the pricing/call-mechanics tail is somewhat long relative to the diagnostic 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?
With an output schema present, return values need no explanation, and the description adequately covers what is inspected, the key risk pattern flagged, and access/payment mechanics. Only the positioning against overlapping ownership/authority tools is left implicit.
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, so the schema carries the burden. 'Required input: address' adds nothing beyond confirming requiredness, making the baseline 3 correct.
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+resource: reads EIP-1967 proxy slots to determine upgradeability, current implementation, and who holds upgrade authority. This is highly specific and clearly distinguishable from broader siblings like contract_info, contract_owner, or owner_powers.
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 well ('Upgradeability is a rug vector static scans miss'), implying it belongs in a contract due-diligence flow, but it never names alternatives or states when NOT to use it. Overlapping siblings such as owner_powers, contract_owner, and contract_danger are not addressed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
qr_encodeARead-onlyIdempotentInspect
Text in, SVG (or data-URL) QR out — Encode text= into a QR code as SVG (default) or format=dataurl PNG. Offline, no upstream. Built for agents putting payment links, IBANs or URLs onto a page. Required input: text. 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 API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes | Payload | |
| format | No | svg (default) or dataurl |
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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive), and the description adds genuinely new behavioral context beyond them: offline/no-upstream operation, per-call pricing over x402 on Base, the x-credit-token prepaid header for unlimited calls, a 1-free-call/day tier, and no API-key requirement. That is exactly the auth/cost/rate-limit detail annotations cannot express.
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?
Front-loaded with the core 'Text in, SVG out' contract, then branches into format and payment details. Dense but every clause carries information; the payment sentences are somewhat heavy but relevant to whether the agent can even 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?
With an output schema present, return values need not be explained, and the description fills the remaining gaps: required input, format options, offline behavior, and auth/payment mechanics. An agent has everything needed 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 coverage is 100%, so the baseline is 3. The description adds real meaning beyond the schema by clarifying that format=dataurl produces a PNG image and that svg is the default, plus restating that text is required.
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 (encode) and resource (QR code) with explicit input (text) and output (SVG or data-URL PNG) forms. No sibling tool does QR generation, so the purpose is unambiguous and instantly distinguishable across the large tool set.
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 when-to-use context: 'Built for agents putting payment links, IBANs or URLs onto a page.' However, it names no alternatives and provides no explicit exclusions or preconditions, which is what would push this to a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
receipt_parseARead-onlyIdempotentInspect
Pull totals, IBAN, dates out of receipt text — Heuristic extraction from invoice/receipt text: totals, amounts, VAT hints, IBANs, dates, emails, invoice numbers. Not OCR — convert a scan to text first, then send it here. 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 API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes | Receipt / invoice text |
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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnly/idempotent/openWorld annotations, the description discloses the extraction method (heuristic, explicitly not OCR), the pricing model ($0.01/call over x402 on Base), the auth options (prepaid x-credit-token header for unlimited calls, or 1 free call/day), and that no API key is required — rich operational context an agent needs before invoking.
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 extraction scope is front-loaded in the first clause, and the OCR/pricing caveats follow logically. It is slightly dense with payment boilerplate, but every sentence carries usable 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, return-value documentation is unnecessary, and the description fully covers what the tool extracts, the required preprocessing, the cost/auth model, and the input requirement. 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?
There is a single parameter with 100% schema description coverage; the description only restates 'Required input: text', adding no format, size, or encoding guidance beyond what the schema already provides. 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 states a specific verb-plus-resource ('Pull totals, IBAN, dates out of receipt text') and enumerates the exact fields extracted (totals, amounts, VAT hints, IBANs, dates, emails, invoice numbers), so an agent can distinguish it from generic extraction siblings like ai_extract or web_extract.
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 an explicit usage precondition and exclusion: 'Not OCR — convert a scan to text first, then send it here.' That tells the agent when this tool is the wrong choice. It stops short of naming a sibling alternative for plain-text extraction, so it is not a full 5.
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 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive, open-world), and the description goes well beyond them: it discloses the live on-chain allowance read from Base, flags the 'unlimited' vs 'already revoked' cases, and documents payment/auth mechanics ($0.02 via x402, prepaid x-credit-token header, 1 free call/day, no API key). This is exactly the extra context annotations cannot carry.
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 and the sibling distinction are front-loaded, which is the right structure. It runs long with em-dash-nested clauses and some framing copy ('the action half of approval hygiene'), plus a dense pricing block, but nearly every sentence carries actionable 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 needn't detail return values, and it still names the returned artifact (to + calldata). Inputs, routing, payment model, and the signer hand-off are all covered, so nothing an agent needs 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?
Schema description coverage is 100%, so both required params and the optional wallet param are already documented in the schema. The description restates the required inputs and the meaning of the generated call (approve(spender, 0) on a token), adding only marginal semantics. 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 a precise verb+resource: it builds the ready-to-sign transaction (to + calldata) for approve(spender, 0). It explicitly separates itself from the sibling approval_advisor ('tells you WHAT to revoke; this builds the HOW'), so an agent can choose between them without opening either 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?
Gives explicit when-to-use routing against the sibling (approval_advisor for identification, this for construction) and states the next step in the workflow ('Hand the result straight to a wallet or agent signer'). The preconditions (token, spender required) are also stated.
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, every 10 minutes, 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. Deliveries are HMAC-signed (secret returned once at registration) and retried up to 3 times. 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 (no free tier on this tool). No 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Despite annotations covering safety, the description adds substantial behavior: baseline snapshot, 10-minute POST cadence, HMAC-signed deliveries with secret returned once, up to 3 retries, 30-day expiry, and the payment/auth model. This is exactly the kind of context annotations cannot express.
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?
Front-loads the core purpose ('Get alerted the moment liquidity is pulled') before mechanics. Slightly dense with metric/price/retry details stacked together, but nearly every sentence carries information an agent needs.
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, webhook-driven monitoring tool, the description covers trigger definition, cadence, delivery guarantees, expiry, auth, and pricing. An output schema exists, so return-value explanation is unnecessary, and nothing essential to correct invocation 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?
Schema description coverage is 100%, so the schema already documents `token`, `webhook`, `dropPct` (default 50) and `check`. The description reinforces `token` as required and the omit-webhook-to-poll pattern but adds no format or syntax 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?
States a specific action ('watch a Base token's liquidity' and 'get alerted the moment liquidity is pulled') and explicitly distinguishes itself from price-moving tools ('Not price moving — the pool being drained out from under you'). This lets an agent separate it from siblings like price_alert or token_momentum.
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 operational context: required input is `token`, omit `webhook` to poll, and payment options (x402 per call vs. prepaid x-credit-token header, no free tier). It does not explicitly name an alternative sibling (e.g. rug_score, lp_lock) for agents comparing monitoring vs. static risk checks, so it stops short of full when/when-not routing.
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) — Use when a trading agent wants one number for "will this Base token rug?": a deterministic 0-100 rug-pull probability from security flags (honeypot, tax, owner powers), holder concentration, LP lock and liquidity depth, with the exact signals that drove it and the sources that did not answer. Higher = riskier; a missing feed reads unknown, never low. 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 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish read-only/idempotent/no-destructive, and the description adds substantial context beyond them: the scoring inputs (security flags, holder concentration, LP lock, liquidity depth), the inclusion of driving signals and non-answering sources, the crucial fallback rule ('a missing feed reads unknown, never low'), and the x402 pricing/free-tier/auth model.
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?
Front-loads the core purpose and the 'one number' framing before elaborating on components, fallback semantics, and pricing. The heavy em-dash chaining makes it dense/run-on, but virtually every clause (payment model, missing-feed behavior) carries actionable 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-parameter, output-schema-backed tool, the description supplies everything an agent needs: input, output scale/direction, signal composition, missing-data semantics, and access/pricing constraints. Nothing material is left to 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?
Schema description coverage is 100%, so the single 'address' parameter is already documented in the schema. The description restates it as 'Required input: address' but adds no syntax, format, or validation detail beyond what the schema provides, matching the baseline-3 rule for high 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?
States a specific verb+resource ('deterministic 0-100 rug-pull probability') for a concrete input (Base token) and defines the exact output unit and direction ('Higher = riskier'). An agent can readily distinguish this composite gate from point tools like rug_monitor or token_risk without opening a 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 frames the use case ('Use when a trading agent wants one number for will this Base token rug?'), which is clear context. It does not name alternative siblings (rug_monitor, token_risk, pre_trade_gate) or state when-not-to-use, so it stops 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.
rwa_dividend_feedARead-onlyIdempotentInspect
Dividends paid, dividends announced, and accrual to date on Base's tokenized stocks — Every dividend or split applied to a Coinbase tokenized stock on Base, with multiplier before/after and the share accrual, joined to Coinbase's own record; those announced but not yet applied; and each stock's cumulative accrual. The record cost-basis and NAV need. symbol= narrows to one stock. A failed warehouse read reads as degraded, never 'none'. Not financial advice. 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 API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max past events (optional, default 50) | |
| symbol | No | Stock (optional, e.g. NVDA) |
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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, open-world, so the safety profile needs no repeating. Beyond that the description discloses genuinely useful behavior: a failed warehouse read reports as 'degraded' rather than 'none' (critical for interpreting empty results), the cost model ($0.03/call over x402 on Base), the prepaid x-credit-token header for unlimited calls, a 1-free-call/day allowance, and that no API key is required. It does not state pagination or freshness/latency for the feed, keeping it out of 5 territory.
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 scope is front-loaded and informative, but the delivery is a long run-on sentence stitched with em-dashes, followed by fragments ('The record cost-basis and NAV need.'). The payment/access sentences earn their place for invocation, yet the whole is denser than needed and the grammar occasionally obscures 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, return-shape explanation is unnecessary, and the description instead supplies what the schema cannot: exact data coverage, the degraded-vs-none error semantics, access/pricing model, and one optional filter's effect. It is essentially complete for calling the tool correctly; only freshness/latency or pagination behavior 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 only 2 optional params, so the schema already carries limit and symbol semantics; baseline is 3. The description reinforces symbol as a narrowing filter ('symbol= narrows to one stock') but adds nothing about limit's interaction with the events returned, and does not explain how limit applies across the three datasets (applied vs. announced vs. cumulative).
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 its three constituent datasets: applied dividends/splits with multiplier before/after and share accrual, announced-but-not-applied events, and cumulative accrual per stock, all scoped to Coinbase tokenized stocks on Base. That is concrete enough to separate it from generic siblings like corporate_actions or tokenized_stock_price. It stops short of naming any sibling explicitly, so it stays at 4.
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 an implied use case — 'The record cost-basis and NAV need' points at portfolio/accounting reconciliation — and 'symbol= narrows to one stock' hints at drill-down vs. full-feed use. But there is no explicit when-to-use/when-not, no stated alternative for someone who just wants a current price (tokenized_stock_price) or generic corporate actions. Usage must be inferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
safe_approveARead-onlyIdempotentInspect
Exact-amount approve calldata — never unlimited — Unlimited allowances are the #1 drain vector, and agents reach for approve(max) on every swap. This builds ready-to-sign calldata for an approval of EXACTLY the amount you need (via the token's decimals) and refuses unlimited unless forced. Reads the live allowance and returns a revoke step first when one is already set (a non-zero→non-zero approve reverts on USDT-style tokens). Build-time prevention, not detection; we never hold keys. Not financial advice. Required inputs: token, spender, amount. 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 API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| owner | No | Your wallet (optional, reads live allowance) | |
| token | Yes | Token contract | |
| amount | Yes | Exact amount to approve (or 'max') | |
| spender | Yes | Spender (router/contract) | |
| allowUnlimited | No | Allow unlimited (1 = yes, not recommended) |
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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond annotations (readOnlyHint/idempotentHint only say it is a safe read): it discloses live-allowance reads, the non-zero→non-zero revert risk on USDT-style tokens, refusal of unlimited unless forced, x402 pricing/auth model, free daily call, and that no keys are held. Nothing contradicts 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?
Dense and front-loaded with the core behavior and safety rationale, but carries some promotional/boilerplate weight ('#1 drain vector', 'Not financial advice') that a routing agent does not strictly need.
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 format need not be described. The description still covers pricing, auth, refusal behavior, and the edge case that triggers a prepended revoke step — enough for correct invocation of a 5-param 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 already 100%, but the description adds real meaning: it names the three required inputs, explains that amount is resolved through the token's decimals, notes 'max' as an accepted value, and warns that allowUnlimited is 'not recommended'.
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+resource: builds ready-to-sign calldata for an exact-amount token approval, including a refusal path for unlimited. It also implicitly distinguishes itself from detection-oriented siblings ('approval_advisor', 'token_approvals') by declaring 'build-time prevention, not detection'.
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 ('agents reach for approve(max) on every swap') and the condition under which it refuses or prepends a revoke, but never explicitly routes the agent to specific alternatives (e.g. revoke_builder for pure revocation or approval_advisor for auditing existing grants).
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 (no free tier on this tool). No 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover readOnly/idempotent/openWorld, but the description adds genuine behavioral context: modules can move funds via execTransactionFromModule with no owner signatures, the possible verdict values, and the auth/pricing model ($0.04 via x402, prepaid x-credit-token header, no API key, no free tier). That is exactly the extra layer annotations cannot express.
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 hook and risk explanation are front-loaded effectively, but the text repeats the required input ('address= required' and again 'Required input: address'), and marketing flourishes ('critically', 'Not financial advice') dilute an otherwise tight description.
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 and the description still names the verdict values, so an agent has everything needed: input, semantics, risk interpretation, and cost/auth. Nothing material is missing for a single-param read 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?
Only one parameter and schema description coverage is 100%, so the baseline is 3. The description restates 'address= required' twice but adds no syntax, format, or resolution 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?
States the exact verb+resource: given an address, determine whether it is a Gnosis Safe and report owners, M-of-N threshold, version, activity, and enabled modules, plus a multisig/single_signer/has_modules verdict. This is clearly distinguishable from siblings like safe_to_send, safe_approve, contract_owner or address_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?
Frames the use case explicitly as 'the counterparty check before you trust funds to a multisig', including the risk model (modules with unilateral control). It gives clear context for when to run it but does not name alternative tools 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.
safe_to_sendARead-onlyIdempotentInspect
Is this address safe to send, approve or sign to? — Before your agent sends, approves or signs to an address — a wallet risk check with 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.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 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only/idempotent/non-destructive, and the description adds substantial extra context: pricing ($0.03 per call via x402 on Base, prepaid x-credit-token for unlimited, 1 free call/day), no API key required, and the critical caveat that unchecked factors never read as clean so GO implies everything material was actually screened. That is real behavioral disclosure 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?
Front-loads the core question and verdict, and the screening factors are packed in efficiently. The tail (Not financial advice, pricing tiers, free-call policy) is longer than strictly needed but does carry decision-relevant cost/auth information, so it is not 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 single-parameter read tool with an output schema already covering return values and annotations covering the safety profile, the description supplies the remaining gaps: cost/auth model and the trust caveat about uncovered factors. 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 there is only one required parameter, so the schema already carries the meaning (the description's 'Required input: address' just restates it). Baseline 3 applies; the description adds no format, chain, or validation details for the 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?
States a specific decision verb and resource: a wallet risk check that returns one GO/REVIEW/STOP verdict for an address before sending, approving or signing. It enumerates exactly what is screened (OFAC sanctions, Coinbase/Basename identity, wallet vs contract, age, mutable contract logic), which makes it distinguishable from generic siblings like address_check, safe_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?
Gives a clear activation condition ('Before your agent sends, approves or signs to an address') and explains the semantics of the GO outcome. It does not name or exclude specific sibling tools (e.g. address_check, sign_guard, safe_approve), so it stops short of explicit routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sanctioned_exposureARead-onlyIdempotentInspect
Has this wallet dealt with an OFAC address? (taint by association) — Not 'is this address sanctioned' (that's sanctions) but 'has it DEALT with one' — screens a wallet's USDC counterparties (both directions) against the OFAC SDN list. Taint by association: receiving from or routing through a wallet that transacts with sanctioned addresses carries sanctions risk. Returns the sanctioned counterparties found. Covers direct counterparties; pair with fund-trace for the multi-hop funding chain. 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 API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | Window days (default 90, max 365) | |
| wallet | Yes | Wallet 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive, and the description goes well beyond them: it discloses the analytical scope boundary (direct counterparties only, multi-hop requires fund-trace), the risk model (taint by association, both directions), the auth/pricing model ($0.05 per call over x402, x-credit-token header, 1 free call/day, no API key), and what is returned. That is exactly the extra context annotations cannot carry.
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?
Front-loaded with the differentiating question and the sibling contrast, then scope, then payment mechanics. It is long and em-dash heavy, and 'Not financial advice.' is disposable boilerplate, but nearly every remaining clause carries routing or pricing 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 paid screening tool with an output schema, the description supplies the scope limit, the alternative and complement tools, the safety annotations, and the full access/pricing model. Nothing an agent needs to decide or invoke 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 (wallet, days with default 90/max 365) are already documented in the schema. The description only restates 'Required input: wallet' and adds no format, address-type, or chain constraints. 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 a precise verb and resource ('screens a wallet's USDC counterparties against the OFAC SDN list') and explicitly distinguishes itself from the nearest sibling: 'Not "is this address sanctioned" (that's sanctions) but "has it DEALT with one"'. An agent can route correctly without opening either 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?
Names the alternative (sanctions) and the condition that selects it, and gives a complementary-tool rule: 'Covers direct counterparties; pair with fund-trace for the multi-hop funding chain.' It even documents the access path (x402 payment, prepaid header, free tier), which is when-to-use information in a paid-tool ecosystem.
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? — Use before an agent pays, receives from or onboards a wallet: an OFAC sanctions / AML screen of the address against the US Treasury SDN list of sanctioned digital-currency addresses. Direct-address match with a GO/STOP receipt, for compliance agents and payment bots that must screen counterparties before transacting. For many addresses at once use sanctions-batch; for a person or company name use sanctions-name. No API key. 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 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish read-only, idempotent, open-world behavior; the description adds genuinely new operational context: pricing ($0.02/call over x402 on Base), the x-credit-token prepaid path, a 1 free call/day tier, and no-API-key auth. These are the practical facts an agent needs to actually invoke the paid 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?
Front-loaded with the core question, then usage, then alternatives, then payment details — a good ordering. It loses a point for redundancy: 'No API key' appears near the start and again as 'No API key required' at the end.
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 already covering return values, the description supplies everything else an agent needs: purpose, routing, prerequisites, auth, and cost model.
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 fully documented in the schema, so the baseline is 3. The description only restates 'Required input: address' without adding address format, chain, 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?
Opens with a specific question-shaped verb+resource ('Is this address OFAC-sanctioned?') and immediately specifies the screen target (US Treasury SDN list) and the output form (GO/STOP receipt). It is clearly distinguishable from sanctions_batch and sanctions_name, which it names.
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?
Explicit when-to-use ('before an agent pays, receives from or onboards a wallet') plus explicit routing to alternatives for batch addresses (sanctions_batch) and entity names (sanctions_name). Nothing is left to inference.
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 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnly/idempotent/openWorld annotations, the description discloses genuinely operational traits: a hard 25-address capacity cap, the flagged-subset return behavior, a concrete pricing model ($0.03/call over x402 on Base), an unlimited prepaid x-credit-token path, a 1 free call/day tier, and no-API-key enforcement. These are exactly the traits an agent needs before committing a 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?
Front-loads the core action and scope ('Screen up to 25 addresses...') before moving to use case, required input, and pricing. Efficient overall, though the pricing/auth sentences are dense and could be trimmed slightly.
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 batch tool with an output schema covering return values and annotations covering the safety profile, the description closes every remaining gap: capacity limit, format, cost, auth mechanism, and intended caller.
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 there is only one parameter, so the baseline is 3. The description still adds value beyond the schema's 'Addresses (comma-separated)' by stating the hard 'up to 25' limit on the list length, which the schema does not encode.
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), resource (addresses against OFAC), and scope (up to 25 at once, batch). The batch framing implicitly distinguishes it from the singular sanctions/sanctions_name siblings, though it doesn't name them explicitly.
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 a clear use case: 'Built for compliance agents vetting whole counterparty lists in one call.' This tells the agent the right context for the batch tool, but it never names the alternative (single-address sanctions screening) or states 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.
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 (no free tier on this tool). No 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations cover read-only/idempotent/open-world, so the bar is lower, yet the description goes well beyond them: it defines the output states (GO/HOLD/STOP), the matching policy ('only a full-name match is a hit'), alias coverage, and critical invocation constraints (pricing, x-credit-token auth, no API key, no free tier). This is the auth/cost context annotations cannot carry.
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?
Front-loads the core purpose and scope distinction, then layers matching behavior and access/pricing. 'Required input: name' is slightly redundant given the schema, and the pricing/auth cluster is dense, but each sentence carries actionable information for 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?
With an output schema present, return-format detail is not required, and the description still summarizes the decision states. It covers scope, matching policy, cost, and auth method — everything an agent needs to call it correctly. No meaningful 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?
One parameter at 100% schema coverage, and the schema already says 'Person or company name'. The description's 'Pass a person or company' and 'Required input: name' largely restate the schema, adding little semantic meaning. Baseline 3 is appropriate when the schema does the work.
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?
A specific verb+resource ('Screen a person or company against the OFAC SDN list') with an explicit scope carve-out: 'Sanctions screening for NAMES, not wallets.' This immediately separates it from the wallet-oriented siblings (sanctions, sanctioned_exposure) without opening a 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?
Clear context for use: pass a person or company name to get GO/HOLD/STOP, and it states it is a screening aid, not a compliance determination. It distinguishes itself from wallet-based screening ('not wallets') but does not name the batch alternative (sanctions_batch) for multi-name workflows, leaving that to inference.
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 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, non-destructive, open-world), and the description goes well beyond them by disclosing the auth/payment model: x402 pricing on Base, a prepaid x-credit-token header for unlimited calls, a 1-free-call/day tier, and that no API key is required. That is exactly the operational context (auth needs, rate limits, cost) an agent needs before invoking a metered 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?
Purpose is front-loaded, followed by usage examples and then the payment/auth model. It is a dense paragraph with mild marketing phrasing ('tiny paid utility') and a long pricing sentence, but each sentence contributes actionable 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 simple one-parameter utility with a full output schema and rich annotations, the description supplies everything an agent needs: what it returns (url-safe random tokens), how many to request, and the complete payment/auth path. Nothing material 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% and there is a single parameter, so the schema already documents 'count'. The description only restates it ('Pass count= for how many') and adds no format or constraint detail, notably leaving the unusual string-typed count unexplained. Baseline 3 is appropriate when the schema carries the 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?
States a specific verb and resource ('Generate N cryptographically-strong, url-safe random tokens server-side') and enumerates concrete use cases (session IDs, API nonces, one-time codes, coupon secrets). No sibling tool in the list produces entropy, so the purpose is unmistakable and easy to distinguish from the mass of blockchain/finance tools around 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?
Gives clear when-to-use context ('for agents that need entropy without a crypto library') and example artifacts, which is strong guidance. It does not state exclusions or name an alternative tool, but for a standalone utility with no overlapping siblings that gap is minor.
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? — Use when an agent must know it can SELL a Base token before it buys: the honeypot check, answered three ways. Security simulation (honeypot, cannot-sell-all, sell/buy tax, pausable transfers), a live transfer simulation we run ourselves from a real holder (does it revert, is it taxed?), and exit liquidity. Returns a hard canSell verdict with reasons. Selling is where rugs hide. Required input: address. Priced $0.08 per call over x402 on Base; send a prepaid x-credit-token header for unlimited calls (no free tier on this tool). No 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations cover the safety profile (readOnly, idempotent, non-destructive, openWorld), but the description adds substantial context beyond them: it discloses that a live transfer simulation is run from a real holder, that the result is a hard canSell verdict with reasons, and — critically — the payment model ($0.08 per call over x402 on Base, prepaid x-credit-token header for unlimited calls, no free tier, no API key). That pricing/auth detail is exactly the kind of operational fact an agent needs and cannot get from 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?
Front-loaded with the core question and the decision context, and the bulk of the text is dense with substantive detail (three check types, payment terms, required input). It loses a point for rhetorical filler like 'Selling is where rugs hide' and the punchy hook, which add tone rather than 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?
An output schema exists, so return-value documentation is not owed, yet the description still summarizes the verdict shape ('hard canSell verdict with reasons'). Combined with the three analysis dimensions and the full payment/auth model, an agent has enough to call it correctly. The only gap is any guidance on the optional `size` parameter's effect, which is minor given schema coverage.
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` (token contract address) and `size` (position size USD for the exit check). The description only restates that address is the required input and adds nothing about the optional size parameter or accepted formats. Baseline 3 is appropriate when the schema carries the parameter 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?
States a specific verb and resource: it answers whether a Base token can actually be sold, framed as a honeypot check with three named components (security simulation, live transfer simulation, exit liquidity). It's far more than a restatement of the name. However, it never explicitly distinguishes itself from close siblings like exit_liquidity, rug_score, or base_swap_validity — in fact it absorbs 'exit liquidity' as a sub-component, leaving the agent to infer the boundary.
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 a clear triggering context: 'Use when an agent must know it can SELL a Base token before it buys.' That is an actionable precondition. It stops short of naming when-not-to-use or pointing to a specific alternative tool, so it is clear context without explicit exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sepa_creditorARead-onlyIdempotentInspect
Is this Creditor Identifier self-consistent? — Validate a SEPA Creditor Identifier offline: country, check digits (mod-97), business code and national id. Catches mistyped creditor ids before a mandate setup. Structure only — not a scheme-manager registration proof. Required input: creditorId. 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 API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| creditorId | Yes | Creditor Identifier |
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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations cover safety (readOnly, idempotent, non-destructive), and the description adds real behavioral context beyond them: it runs offline/structurally, is priced at $0.002 per x402 call on Base, supports a prepaid x-credit-token header, offers 1 free call/day, and needs no API key. Cost, auth path, and rate limit are exactly the traits annotations cannot express.
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?
Front-loaded with a question that names the resource, then scope, then limitations, then pricing — a sensible order with no wasted preamble. The pricing/auth sentence is long but each clause carries distinct information, so it earns its space.
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 need no explanation, and annotations cover the safety profile. The description supplies the remaining essentials: the structural-only limitation, the single required input, and the payment/rate-limit model, 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?
Only one parameter (creditorId) with 100% schema description coverage, so the schema already carries the load; 'Required input: creditorId' merely restates the required field. The description adds a little meaning by listing the identifier components validated, but no format, length, or example syntax is given, 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?
States a specific verb and resource ('Validate a SEPA Creditor Identifier offline') and enumerates exactly what is checked: country, mod-97 check digits, business code, national id. It also draws a boundary against a different kind of check ('not a scheme-manager registration proof'), so an agent can distinguish it from iban_check/bic_check/vat_check 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?
Gives a clear when-to-use ('Catches mistyped creditor ids before a mandate setup') and an explicit when-not ('Structure only — not a scheme-manager registration proof'). It stops short of naming the sibling alternative (e.g. iban_check) for callers who actually need a registration or IBAN check.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
settlement_lineARead-onlyIdempotentInspect
USDC payment → double-entry journal stub — Turn a USDC settlement into bookkeeping lines: amount, accounts, memo, optional Base tx= enrichment (status, timestamp, to). Returns journal JSON plus a two-line CSV. Not tax advice. 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 API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| tx | No | Base tx hash (optional) | |
| memo | No | Memo | |
| asset | No | Asset | |
| amount | No | Amount | |
| counterparty | No | Counterparty | |
| debitAccount | No | Debit account | |
| creditAccount | No | Credit account |
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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations cover the safety profile (readOnly, idempotent, non-destructive), and the description goes further: it discloses the exact return artifacts, x402 pricing ($0.005/call), the x-credit-token unlimited path, a free 1-call/day tier, and that no API key is needed. It even flags the 'stub' nature and 'Not tax advice', which are meaningful behavioral caveats.
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?
Front-loads the core purpose and return artifacts before the commercial mechanics. Dense but every clause carries information; the pricing/auth sentence is long, yet it is genuinely needed 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?
An output schema exists, so return-shape detail is not strictly required, and the description still summarizes the outputs. Payment/auth model is fully covered. Gaps are minor: no note on how missing required-free fields (0 required params) are handled or what validation errors look like.
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 the schema descriptions are terse single words ('Amount', 'Memo', 'Asset'). The description adds real semantics, clarifying that tx is an optional Base tx hash used for enrichment (status, timestamp, to) and grouping amount/accounts/memo as the bookkeeping 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?
States a specific transformation: a USDC settlement into double-entry bookkeeping lines, with concrete artifacts named (journal JSON, two-line CSV). This clearly separates it from siblings such as bank_csv or receipt_parse, which handle other ledger inputs.
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 framing 'turn a USDC settlement into bookkeeping lines' implies the use case, and the payment/free-tier mechanics tell the agent how to invoke it, but there is no explicit when-to-use versus alternatives or when-not guidance. Usage is inferred rather than stated.
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 (no free tier on this tool). No 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive, but the description adds real behavioral context beyond them: what it screens (OFAC sanctions, owner powers, unlimited approvals), the exact output form (verdict + receipt), and crucially the pricing model ($0.06/call over x402, prepaid header for unlimited, no free tier, no API key). That pricing/auth detail is valuable and not in annotations. Doesn't contradict readOnlyHint — decode + onchain screen is a read.
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?
Front-loaded with the key verdict concept, but it is dense and repetitive — the unlimited-approval drain vector is mentioned multiple times, and pricing/header detail sprawls across several clauses. Every sentence mostly earns its place, but tighter structuring would help.
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 what the tool decodes, the verdict output (also backed by an output schema), the screening scope, and the pricing/auth requirement. Given an output schema exists, return values needn't be spelled out. Minor gap: doesn't explain what HOLD triggers versus STOP, which an agent selecting the tool would want.
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 both params are described there, so the schema does the heavy lifting. The description reinforces 'Required input: data' which aligns with the schema's required field but adds no format/semantic detail 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?
States a specific verb+resource: decodes raw unsigned calldata (approve/permit/transfer/setApprovalForAll) and returns a GO/HOLD/STOP verdict with sanctions screening. This is clearly distinguishable from siblings like tx_decode, decode_selector, and safe_approve by its pre-signing risk-verdict framing and named calldata types.
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?
Positions the tool at the riskiest moment (before signing) and notes 'No simulation needed' which implicitly contrasts with simulate_tx, but does not explicitly name sibling alternatives or state when NOT to use it. Clear context, no explicit exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
simulate_txARead-onlyIdempotentInspect
Will this tx succeed, what will it cost, is it a drain — before you sign — Simulate an UNSIGNED transaction against live Base state before an agent signs: will it SUCCEED or revert (with the contract's own reason), the gas estimate and ETH cost, and — decoded from the calldata — whether it grants an approval, and whether that approval is UNLIMITED (approve/permit) or a setApprovalForAll, the classic drain vectors. Pass from, to, and optionally data (calldata) + value. The pre-execution check the agent-safety playbook says to run and block on. Not financial advice. Required inputs: from, to. 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 API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| to | Yes | To (recipient/contract) | |
| data | No | Calldata (hex, optional) | |
| from | Yes | Sender address | |
| value | No | ETH value (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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare the safe-read profile, and the description goes well beyond them: it discloses exactly what is returned (revert reason, gas estimate, ETH cost, decoded approval and whether it is UNLIMITED or setApprovalForAll) plus the full commercial behavior ($0.03/call via x402, prepaid x-credit-token header, 1 free call/day, no API key). That is unusually rich 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 core capability is front-loaded effectively, but the prose is dense and padded with marketing flavor ('is it a drain', 'the classic drain vectors', 'Not financial advice') and repeats the required inputs already in the schema. Several clauses could be cut 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?
An output schema exists, so return values need not be re-explained, yet the description still names the key results and covers inputs, pricing, and auth alternatives. Given a 4-param schema at full coverage and one sibling-free niche, nothing an agent needs 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?
Schema description coverage is 100%, so the baseline is 3. The description restates 'from, to, and optionally data (calldata) + value' and adds the useful point that data is decoded for approval detection, but it adds little syntax or format detail beyond the schema's own 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?
States a precise verb+resource+scope: simulate an UNSIGNED transaction against live Base state, and enumerates the three concrete outputs (success/revert with the contract's own reason, gas+cost, decoded approval/drain vectors). An agent can distinguish this from siblings like tx_decode, ai_tx_explain, or sign_guard without opening any 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?
Gives a clear temporal trigger — 'before an agent signs' and 'the pre-execution check the agent-safety playbook says to run and block on' — which strongly implies when to use it. However, it never names the adjacent siblings it should be preferred over (e.g., safe_to_send, pre_trade_gate, mev_guard), so the routing is implied rather than explicit.
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 (no free tier on this tool). No 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive, openWorld), so the bar is lower, and the description still adds real operational context: the $0.05/call x402 price, the prepaid x-credit-token header requirement, the absence of a free tier, and no API key needed. It also discloses what it flags (unlimited allowance, no expiry, unrecognized spender), which is behavior 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?
Front-loads the core question ('Which apps/agents can pull funds from this Base wallet?') and then the mechanism, pricing, and input requirements. A few lines are promotional filler ('the primitive behind autonomous agent payments', 'agent-era drain check') but overall it is dense and 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?
Output schema exists, so return values needn't be explained, and annotations cover the safety profile. The description still supplies everything an agent needs to call it correctly: the required wallet argument, cost model, auth header, and what the audit surfaces.
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 there is a single required parameter, so the schema already carries the semantics. 'Required input: wallet' merely restates the required field without adding format or validity constraints, 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?
States a specific verb+resource ('reconstructs a wallet's ACTIVE spend permissions from onchain approve/revoke events') and explicitly contrasts itself with ERC-20 approval tools, which maps onto siblings like token_approvals and approval_advisor. An agent can distinguish this from the surrounding approval/revoke tools without opening 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?
The framing as 'the drain check that ERC-20 approval tools can't see' implies when this tool is the right pick, but there is no explicit when-to-use/when-not guidance and no sibling named outright as an alternative (e.g. wallet_drain_watch, token_approvals). Usage must be inferred from positioning rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ssl_checkARead-onlyIdempotentInspect
When does this host's certificate expire? — TLS probe for host=: subject, issuer, validFrom/validTo, daysRemaining, expired/expiringSoon, fingerprint. GO/HOLD/STOP from dates. Chain trust is not asserted — dates and identity fields are. Required input: host. 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 API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| host | Yes | Hostname | |
| port | No | Port (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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive, so the safety profile is covered; the description adds genuinely new context — that trust is not asserted, the pricing model, x402/Base payment, the prepaid header option, and the free-call allowance. That is material behavioral and auth context 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?
Front-loaded with the core question and the returned field list, then scoping and payment terms. Dense but largely waste-free; the pricing sentence is long though relevant to 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?
With an output schema present the return values needn't be spelled out (it lists them anyway), annotations cover the safety profile, and the auth/cost caveat is given. Only the lack of when-to-use routing leaves a small 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?
Schema coverage is 100% with host and port documented, so the schema carries the parameter burden; the description only restates that host is required and adds no format or port-range semantics. 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?
Names a specific verb and resource (TLS probe for a host's certificate) and enumerates the returned fields (subject, issuer, validFrom/validTo, daysRemaining, expired/expiringSoon, fingerprint). It is clearly distinguishable from sibling infra tools like dns_lookup or domain_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?
Usage is implied (check whether a host's cert expires) and it states the required input and a key scope caveat ('chain trust is not asserted'), but it never names when to prefer this over adjacent siblings such as url_risk or proxy_check, nor any exclusion conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stablecoin_mcapARead-onlyIdempotentInspect
Total stablecoin market cap + the largest by circulating supply — Total stablecoin market capitalisation and the largest stablecoins by circulating supply across all chains (DefiLlama), with peg type/mechanism and live price — plus a depeg watch flagging any USD-pegged coin 2%+ off a dollar. The stablecoin-market commodity agents track; for a single Base-stablecoin peg check use stablecoin-peg. Not financial advice. 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 API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | How many top coins (default 10, max 30) |
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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, openWorld, non-destructive, so the safety bar is low. The description adds genuinely non-obvious context: the DefiLlama data source, the 2% depeg threshold, and the access model (x402 at $0.01/call, prepaid x-credit-token header, 1 free call/day, no API key) – details an agent cannot infer from 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 and the sibling alternative are front-loaded, but the tail is padded with boilerplate ('Not financial advice', a full pricing/payment paragraph) that is more marketing than operational guidance and lengthens the definition without adding selection 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 values need not be explained, and the single parameter is fully documented. Combined with annotations and the data-source and pricing notes, the definition is complete enough to call correctly, with only minor redundancy.
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 there is only one optional parameter, whose default and max are fully documented in the schema. The description adds nothing about limit semantics, so the baseline of 3 is correct.
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 and scope: total stablecoin market cap, largest coins by circulating supply across all chains, peg type/mechanism, live price, and a depeg watch for USD-pegged coins 2%+ off peg. It explicitly distinguishes itself from the sibling stablecoin-peg, so an agent can route without opening a 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?
It gives a clear use case (the stablecoin-market commodity agents track) and an explicit alternative with its own condition: 'for a single Base-stablecoin peg check use stablecoin-peg'. There is no broader when-not guidance against other market tools such as crypto_markets or crypto_global, 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.
stablecoin_pegARead-onlyIdempotentInspect
Are the dollars you're holding still worth a dollar? — Live DEX price vs the $1.00 peg for major USD-pegged stablecoins on Base (USDC, USDT, DAI, USDbC). A depeg is silent — balanceOf doesn't change, only what it's worth does — so an agent parked in stables reprices everything off a stale $1. Reports per-coin deviation in basis points and a healthy/watch/depeg status, worst-case across the set. A feed outage reads as 'unknown', never a healthy peg. Pass symbol= for one coin. Not financial advice. 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 API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | One stablecoin (optional, default all) |
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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond the read-only annotations with a concrete failure mode ('A feed outage reads as unknown, never a healthy peg'), the pricing/access model (x402 $0.01, prepaid x-credit-token header, 1 free call/day, no API key), and the key insight that depegs are silent. This is exactly the behavioral context annotations cannot carry.
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?
Front-loaded with the core question then the scope, and information-dense. Slightly padded by the rhetorical opener, the 'Not financial advice' disclaimer, and the payment boilerplate, though each is arguably necessary for an x402-priced 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?
Covers purpose, scope, failure handling, and access model; since an output schema exists, return-value detail is unnecessary. Nothing an agent needs to call this 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 single param is self-documenting, so the baseline is 3. The description adds value by enumerating the supported coin set and restating single-coin vs all-coins behavior, giving meaning beyond the bare 'One stablecoin (optional, default all)'.
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 ('Live DEX price vs the $1.00 peg for major USD-pegged stablecoins on Base') with named coverage (USDC, USDT, DAI, USDbC). An agent can tell this apart from cap/supply siblings like stablecoin_mcap or b20_stablecoin without opening a 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?
Explains the triggering scenario well ('an agent parked in stables reprices everything off a stale $1') and how to narrow to one coin ('Pass symbol= for one coin'). It does not explicitly name an alternative tool or a when-not-to-use condition, 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.
stock_collateral_riskARead-onlyIdempotentInspect
Your tokenized-stock loan's health factor when the US market reopens — Aave V4 and Morpho on Base lend USDC against tokenized stocks (AAPLc, NVDAc, TSLAc…), priced by a 24/5 oracle that freezes from Friday 20:00 to Sunday 20:00 ET while the tokens keep trading. This re-prices each collateral at the live Base DEX price: health factor now, projected at the reopen, the fall that liquidates, paused reserves and announced dividends. Pass wallet=. 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 API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the read-only/idempotent/non-destructive profile, and the description adds substantial context beyond them: what is returned (health factor now, projected at reopen, liquidation price, paused reserves, dividends), plus auth/cost mechanics (x402 at $0.04/call, prepaid x-credit-token header, 1 free call/day, no API key). The 'Not financial advice' caveat further sets 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 purpose is front-loaded in the first clause and the rest is information-dense operational context. Minor waste exists in the redundant restatement of the wallet requirement ('Pass wallet=' and 'Required input: wallet') and the run-on first sentence, keeping it just short of 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 one-parameter tool this covers everything an agent needs: the scenario, the required input, the pricing/auth path, and even the return contents despite an output schema existing. Nothing material is missing for 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% for the single wallet parameter, so the schema already documents it; the description's 'Pass wallet=' and 'Required input: wallet' add only usage syntax, no new meaning. Baseline 3 applies when the schema does the heavy lifting.
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 computed result (health factor / liquidation risk for tokenized-stock loans) with named protocols (Aave V4, Morpho on Base) and the exact oracle-freeze scenario it addresses. This clearly separates it from generic siblings like morpho_health or position_health, which lack the tokenized-stock reopen framing.
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 Friday 20:00–Sunday 20:00 ET oracle-freeze window gives a concrete condition under which the tool is relevant, so the agent knows when this matters. However, it never explicitly names an alternative (e.g. morpho_health) or states when NOT to use it, so the routing comparison is left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_fair_valueARead-onlyIdempotentInspect
Is the Base price of AAPLc, NVDAc… fair right now — and is the reference frozen? — Tokenized stocks trade 24/7 on Base; their reference price (Chainlink, used by Aave and Morpho) freezes when the US market shuts. One call: the US session, the reference and its age, the DEX premium/discount in bps against it, pool depth and rough impact for amountUsd, paused features and any announced dividend. Covers every stock Coinbase lists. Not financial advice. 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 API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | Stock (NVDA, NVDAc or token 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, idempotent, open-world, non-destructive. The description adds pricing behavior ($0.02 per call over x402 on Base, prepaid x-credit-token header for unlimited calls, 1 free call/day, no API key) and that the reference price can freeze when the US market is shut — behavior an agent needs to know. It does not describe error cases or freshness guarantees beyond reference age.
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?
Front-loads the core question, which is good, but the single long sentence chains many clauses and includes pricing/access boilerplate and a disclaimer in the same breath. It is information-dense but not well structured; some content (x402 pricing details) belongs in a separate note.
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 read-only tool with an output schema, the description covers the essential scoping (frozen reference, 24/7 Base trading), the return contents, and selectable amountUsd impact. Output schema handles return format. Minor gaps: no explicit guidance on when a frozen reference matters or what the dividend announcement field implies.
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 documents both symbol (NVDA, NVDAc or token address) and optional amountUsd. The description mentions amountUsd in the context of 'rough impact for amountUsd' but adds no format or usage 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?
States a specific question: whether the Base price of a tokenized stock is fair right now and whether the reference is frozen. The verb and resource are clear, and the scope (every Coinbase-listed stock, 24/7 on Base) distinguishes it from siblings like tokenized_stock_price or stock_position.
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?
Implies usage by describing what one call returns (US session, reference age, DEX premium/discount, pool depth, etc.), but never explicitly says when to use this instead of tokenized_stock_price, stock_position, or stock_collateral_risk. The reader must infer the distinction from the return contents.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_positionARead-onlyIdempotentInspect
How many shares does this wallet actually control? — B20 Asset tokens do NOT apply multiplier() to balanceOf() — measured on chain: a multiplier moved 1.0→2.0 while holder balances read identically. Coinbase settles splits and dividend adjustments on its 13 tokenized equities through that multiplier, so reading balanceOf as a share count is wrong by exactly that factor the day one fires. Returns both numbers per holding: what an unadjusted integrator shows, and what is owed. Wallet balances only; LP/lending is declared excluded, never zeroed. Required input: wallet. Priced $0.04 per call over x402 on Base; send a prepaid x-credit-token header for unlimited calls (no free tier on this tool). No 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive), and the description adds the details that matter beyond them: pricing ($0.04/call over x402 on Base), the prepaid x-credit-token header for unlimited calls, no free tier, and no API key requirement. It also discloses the domain behavior (Coinbase settling splits/dividends via multiplier) so the agent understands why two numbers are returned.
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?
Front-loaded with the core question and the key differentiator, and every section carries content (mechanism, scope, pricing, auth). It is somewhat long and the multiplier rationale is slightly repetitive, but no sentence is pure 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?
An output schema exists, so return values need no elaboration, and the description still covers everything an agent needs to invoke correctly: required input, the meaning of the two returned numbers, scope exclusions, payment/auth model, and cost. Nothing material 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?
One parameter with 100% schema coverage, so the schema already documents 'wallet' fully. The description only restates that wallet is required, adding no format, chain, or validation nuance beyond the schema; 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?
States a specific verb+resource (returns both the unadjusted and multiplier-adjusted share count per tokenized-stock holding for a wallet) and the exact mechanism that makes it distinct: B20 Asset tokens do not apply multiplier() to balanceOf(). An agent can tell this apart from generic balance readers like token_balance or wallet_tokens without opening any 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?
Gives clear usage context and an explicit scope exclusion ('Wallet balances only; LP/lending is declared excluded, never zeroed'), which tells the agent when this result is and is not authoritative. It stops short of naming the alternative tool to use for raw balances, so it is clear context without explicit alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
supply_inflationARead-onlyIdempotentInspect
Not 'can it mint' — is it minting, and how fast? — owner-powers says the owner CAN mint; this says whether they ARE, and how fast. A token can advertise fixed supply and quietly inflate it, diluting holders before the dump. Sums zero-address mints and burns over a window (CDP SQL) against live on-chain totalSupply, annualised. Verdict from fixed_in_window / deflationary to hyperinflation. Honest: bridges, staking and LP programs mint legitimately — flags the RATE, not intent. Not financial advice. 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 API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | Window days (default 30, max 45) | |
| 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only/idempotent/non-destructive/open-world, so the bar is lower. The description adds real value beyond them: the computation method (zero-address mints+burns over a window, annualised vs live totalSupply), the 'rate not intent' caveat, and access/pricing behavior ($0.03 x402, prepaid header, 1 free/day, no key).
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 distinction is front-loaded in the opening clause, and most sentences carry load. It is fairly long and includes pricing/promo and 'Not financial advice' boilerplate that is tangential, but the structure is deliberate rather than padded.
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 values need not be explained, and annotations carry the safety profile. The description still supplies method, verdict scale, interpretation caveats, required input, and access model, so an agent has everything needed to call and trust 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 description coverage is 100% and both params (address, days default 30/max 45) are already documented in the schema. The description only restates 'required input: address' and refers vaguely to 'a window', adding no meaning beyond the schema. Baseline 3 is correct.
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 analytical verb and resource ('is it minting, and how fast') and explicitly distinguishes itself from the sibling owner_powers ('says the CAN mint; this says whether they ARE'). An agent can tell exactly what question this tool answers without opening 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?
Names the alternative tool (owner_powers) and the precise condition that selects this one instead, plus the honest caveat about legitimate bridge/staking/LP mints so the agent interprets the verdict correctly. No explicit 'when not to use' list, but routing is clear.
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 (no free tier on this tool). No 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish readOnly/idempotent/non-destructive, and the description stays consistent with that (it produces a quote, not a trade). It adds genuinely useful context beyond the annotations: cost ($0.03/call over x402), the prepaid x-credit-token header path, no free tier, and no API key required — all auth/billing facts the agent needs before calling.
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 in the first clause and the operational facts (required input, pricing, auth) come last. It is a dense run-on with an arrow clause and some redundant framing ('moves an agent from analysis to action'), but almost every sentence carries decision-relevant 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 needn't spell out return fields, and the safety annotations plus the billing/auth disclosure cover the practical gaps. The main omission is that chain scope (Base-only) is only implied by 'deepest Base pool' rather than stated as a constraint.
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 both parameters are documented in the schema and the baseline is 3. The description reinforces that tokenOut is the required input and that the safety gate applies to the token being received, but adds no format or range detail (e.g., token address vs symbol, decimals) 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?
States a specific verb-and-resource outcome: given a token and USD size it returns the deepest Base pool, price impact, slippage/minimum-out, plus a honeypot/sell-tax gate. This is clearly distinguishable from execution-oriented siblings like base_swap and from narrower tools like price_impact or sellability, and an agent can tell what it gets without opening 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?
It frames the use case ('moves an agent from analysis to action', pre-trade routing/safety) and notes why the safety gate matters, which implies when to call it. However, it never names an alternative or an explicit when-not-to-use, leaving the boundary with base_swap (execution) and pre_trade_gate to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tax_id_checkARead-onlyIdempotentInspect
EORI, EIN, TCKN and friends — format first — Offline tax/customs id formats: EORI, US EIN/SSN, UK NINO, AU ABN (checksum), TR VKN/TCKN (checksum), CA BN. kind= selects the scheme. A well-formed id is not proof of registration. Required inputs: kind, value. 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 API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| kind | Yes | Kind | |
| value | Yes | Identifier |
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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only cover the safety profile (readOnly, idempotent, openWorld, non-destructive). The description goes well beyond them by disclosing that validation is offline, the x402/Base payment model ($0.002 per call), the prepaid x-credit-token header for unlimited calls, the 1 free call/day allowance, and that no API key is required — exactly the auth/pricing behavior an agent needs.
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 definition is dense and front-loads the covered formats before the operational details. The opening 'EORI, EIN, TCKN and friends — format first' is slightly cryptic, but the pricing/auth block earns its space by answering questions an agent would otherwise have to ask.
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 values need not be explained, and the description covers scheme list, the registration caveat, required inputs, and the payment/auth model. The one real omission is the set of valid 'kind' values, which matters given there are no enums.
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 the schema's own descriptions are placeholders ('Kind', 'Identifier'), so the baseline is 3. The description usefully clarifies that 'kind' selects the scheme, yet it never enumerates the accepted kind values (no enums present), leaving the agent to guess the exact strings.
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 resource precisely (offline tax/customs ID formats) and enumerates the covered schemes — EORI, US EIN/SSN, UK NINO, AU ABN, TR VKN/TCKN, CA BN — which differentiates it from generic 'check' siblings. The verb is only implied ('format first'), and it never contrasts itself with the adjacent vat_check, iban_check or bic_check 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?
'kind= selects the scheme' plus the caveat 'A well-formed id is not proof of registration' give real context on how and why to use it. However there is no explicit when-to-use vs alternatives guidance and no routing away from the sibling vat_check / iban_check tools, leaving usage largely inferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
token_ageARead-onlyIdempotentInspect
How old is this token? (new = higher rug risk) — When was this token born — its earliest transfer on Base — and how old is it in days, with a verdict: brand_new (<1d), very_new (<7d, where most rugs happen), new (<30d), established, or mature. New is not bad, but age is a first-order risk input every agent should have before sizing. Pairs with launch-snipers and token-risk. Not a safety verdict on its own. 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 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the read-only/idempotent safety profile, and the description adds substantial non-annotation context: Base chain, x402 pricing at $0.01/call, the x-credit-token prepaid header for unlimited calls, a 1 free call/day allowance, and no API key requirement. It also discloses the semantic caveat that the age verdict is not a standalone safety judgment.
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?
Front-loaded with the core question ('How old is this token?') and the risk framing before the mechanics. The pricing/access block is useful but somewhat extended, and the 'Not financial advice' line is boilerplate, keeping it a step below maximally 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?
An output schema exists, so return values need not be explained. The description still covers chain, verdict bands, pairing tools, access/pricing model, and scope limits, leaving nothing an agent needs 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% for the single 'address' parameter, so the schema already documents it fully. The description only restates it as a required input ('Required input: address') without adding format or chain-specific guidance, matching the baseline-3 expectation when the schema does the heavy lifting.
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+resource (token age, earliest transfer on Base, age-in-days verdict) and enumerates concrete output categories (brand_new/very_new/new/established/mature). It explicitly names the sibling tools it complements ('Pairs with launch-snipers and token-risk'), letting an agent place it without opening either 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?
Gives clear usage context ('a first-order risk input every agent should have before sizing') and a boundary caveat ('Not a safety verdict on its own'), routing the agent to pair it with risk tools. It stops short of explicit when-not or a direct alternative-selection rule, so it lands just below the top.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
token_approvalsARead-onlyIdempotentInspect
Open allowances & USD at risk for a wallet — Lists a wallet's active token approvals — which contracts can spend its tokens, the allowance, USD value at risk and a risk factor (revoke.cash-style). Essential wallet-security check for agents and users. Required input: address. Priced $0.02 per call over x402 on Base; send a prepaid x-credit-token header for unlimited calls (no free tier on this tool). No 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint/openWorldHint/idempotentHint/destructiveHint, so the safety profile is covered. The description adds genuinely new operational context that annotations cannot carry: the $0.02 x402-on-Base pricing, the prepaid x-credit-token header for unlimited calls, no free tier, and no API key required, all of which materially affect invocation.
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 before the payment/auth logistics. It is slightly dense with em-dash clauses and commercial detail, but every sentence carries information an agent needs, so little 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?
An output schema exists, so return-value explanation is unnecessary, and annotations carry the safety profile; the description covers pricing and auth. The one notable omission is which chains the approval scan covers, which for a cross-chain sibling set would be useful 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 description coverage is 100% and there is a single required parameter. The description only restates 'Required input: address,' adding no syntax, format, or chain-scoping detail beyond what the schema already declares, 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 verb and resource ('lists a wallet's active token approvals') and enumerates the returned data (spendable contracts, allowance, USD at risk, risk factor), which is highly concrete. It does not explicitly name or differentiate itself from closely related siblings such as approval_advisor or revoke_builder, so it falls 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?
'Essential wallet-security check for agents and users' implies a usage context but gives no explicit when-to-use/when-not guidance. It never names the alternatives (approval_advisor, revoke_builder, safe_approve) that would let an agent route correctly among the many approval-related siblings.
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 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/openWorld/non-destructive, yet the description still adds substantial behavior an agent could not infer: zero balances are flagged explicitly, non-balanceOf addresses return found:false, plus x402 pricing ($0.002), the prepaid x-credit-token header, the 1 free call/day tier, and no API key requirement.
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 and unique zero/found:false semantics are front-loaded, and each sentence carries information. It is on the long side and the payment/logistics sentence could be tightened, but nothing is redundant with the structured fields.
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, yet the description still covers the semantics an agent most needs: units (raw + decimals), resolved symbol/decimals, the explicit zero flag, and the found:false failure mode. For a two-parameter read on Base, nothing material 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 both parameters are documented in the schema, so the baseline is 3. The description only restates the two required inputs ('token, wallet') without adding format, expected casing, or chain-qualifier semantics 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?
States a precise verb+resource ('One wallet's balance of one token') plus chain scope ('ERC-20 balance on Base') and the exact shape of the answer (raw units, decimals, symbol). The 'one wallet / one token' framing implicitly separates it from aggregate siblings like wallet_tokens or token_info without ambiguity.
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 establishes the scenario (single wallet, single token, on Base) and lists required inputs and payment mechanics, but never names a sibling or states when NOT to use it, e.g. when to prefer wallet_tokens for a full portfolio. Usage is implied by scope rather than explicitly routed.
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 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond the annotations by disclosing the scoring methodology and its priority order (rug score, then liquidity, then momentum), the best-first ranking, the 'none pass the gate' outcome, the $0.05 x402 price on Base, the prepaid x-credit-token header, and the 1 free call/day limit. Annotations only cover safety/idempotency, so this behavioral and commercial detail is genuinely additive.
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?
Front-loads the core purpose in the first clause and follows with methodology, output, and payment in a logical order. It is slightly padded with a slogan ('Agents choose between tokens, not around them') and a long payment sentence, but nothing is genuinely off-topic.
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 need not be spelled out, and the description still covers chain, scoring weights, ranking direction, gate-failure behavior, and payment/auth requirements. An agent has everything needed to call and interpret 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% and the single parameter is fully documented ('Token addresses (comma-separated, 2-5)'), so the schema does the heavy lifting. The description adds only the chain specificity ('Base token addresses') and repeats the 2-5 range, which is marginal value; 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?
States a specific verb (compare/rank) and resource (2-5 Base token addresses) with the exact output shape: 0-100 scores, best-first ranking, and a named pick. It is clearly distinguishable from single-token siblings like rug_score, token_risk, and token_momentum because it is the only one that takes a candidate set and returns a decision.
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 use ('choose between tokens') and implicitly contrasts against the alternative of gathering 'a dozen data dumps' from multiple single-token tools. However, it never names a sibling tool or states an explicit exclusion (e.g., when NOT to use it), so the guidance is clear but not fully prescriptive.
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 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, openWorld, non-destructive), so the bar is lower, and the description still adds real operational context: data source (DexScreener), cost model ($0.01 per call over x402 on Base), an auth path (prepaid x-credit-token header for unlimited calls), a free quota (1 free call/day per tool), and no API key requirement. That is genuinely beyond what annotations carry, with only return-shape details left to the output 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?
It is front-loaded with the payload description, which is good, but the opening clause ('Name, logo, website & socials for a token') is then restated at length ('name, symbol, logo image, official website and social links'), and the pricing tail makes it a run-on string of em-dash clauses. The content is useful but not tightly edited.
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 tool with an existing output schema, the description covers source, scope, cost, and auth sufficiently for correct invocation; return values need not be spelled out. Minor gap: no coverage of failure modes (unknown address, token not indexed by DexScreener).
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 adds meaning the schema does not: the address is scoped to a Base token, which constrains the value an agent should pass. It does not add format or validation detail for the address itself, so it sits just above 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?
States a concrete resource and payload: token metadata (name, symbol, logo, website, socials) plus price and liquidity, sourced from DexScreener. It clearly tells an agent what it gets back, though it never names the nearby siblings it overlaps with (token_price, pair_info, token_supply), so it stops short of full disambiguation.
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 and UIs enriching a token' implies the use case, and the pricing/free-tier detail is practical context. But there is no explicit when-to-use guidance, no exclusions, and no routing away from overlapping siblings such as token_price or pair_info, so the agent must infer the boundary.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tokenized_stock_priceARead-onlyIdempotentInspect
Live Base price & liquidity of Coinbase's tokenized stocks — b20-safety says a tokenized stock is a real issuance; this says what it trades at ON-CHAIN and whether there's liquidity for size. Pass symbol=AAPL (or AAPLc) for the deepest Base pool's price, aggregate liquidity, 24h move and volume; omit symbol for the full directory. Covers every stock Coinbase lists — the roster tops itself up from Coinbase's own API. This is the tradeable Base price, which can diverge from NYSE NAV. Not financial advice. 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 API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | Ticker (AAPL, TSLA, NVDA… or AAPLc). Omit for the 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, openWorld, non-destructive, so safety is covered; the description adds real behavioral context the schema cannot: x402 pricing ($0.03/call), the x-credit-token prepaid header for unlimited calls, a 1-free-call/day rate limit, and no API-key requirement. Some of the remaining text is promotional ('Not financial advice'), which keeps this from a 5.
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?
Front-loaded with the core purpose and the scoping parameter before any of the pricing detail, and every major clause carries information. It is somewhat sprawling with markdown-style dashes and appended pricing/disclaimer copy that could be tightened, so not 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 tool with an output schema, the description covers what is needed: data coverage (every coinbase-listed stock, roster self-updating), the on-chain vs NYSE NAV caveat, and the payment/auth model. Complete enough to invoke correctly; the small redundancy around return fields is harmless.
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 there is only one parameter, so the baseline is 3. The description clarifies what omission yields (the full directory) and what the symbol returns (deepest Base pool price, aggregate liquidity, 24h move, volume), but this is mostly return-value content rather than added parameter syntax or format 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?
States a specific resource and verb ('Live Base price & liquidity of Coinbase's tokenized stocks') and explicitly positions itself against the b20_safety sibling by contrast ('b20-safety says a tokenized stock is a real issuance; this says what it trades at ON-CHAIN'). An agent can distinguish this from token_price, stock_fair_value, and b20_safety without opening any 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?
Gives clear conditional usage: pass symbol for one stock's deepest-pool price, omit symbol for the full directory, and notes the price can diverge from NYSE NAV. It stops short of explicit when-not-to-use or naming a competing price sibling (e.g. token_price / multi_price), so it is clear context rather than full routing guidance.
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 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive, openWorld), yet the description still adds substantial non-obvious context: $0.02 per call over x402 on Base, a prepaid x-credit-token header for unlimited calls, 1 free call per day, and no API key. That payment/auth/rate-limit detail is exactly the kind of information an agent needs and cannot infer from 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?
Front-loaded with the resource, windows, and trend scale, then the access/cost terms, so the most important information leads. The pricing sentence is dense but each clause (cost model, prepaid header, free tier, no API key) carries distinct operational value rather than 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?
An output schema exists, so return-shape explanation is unnecessary, and the description still provides the window set and trend scale to frame the output. Purpose, required input, cost, and auth model are all covered, leaving nothing an agent needs missing for 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?
There is a single parameter at 100% schema description coverage, so the schema already documents it fully. The description only restates that address is required, adding no format or semantic detail beyond the schema, which is the expected baseline for a fully-covered single-param tool.
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 (price & volume trend) over explicit windows (1h / 6h / 24h) with a named trend scale (strong_up → strong_down). The line 'Lets agents gauge momentum, not just a single 24h number' implicitly separates it from single-value siblings like token_price, so an agent can pick it without opening any 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?
'Gauge momentum, not just a single 24h number' gives clear context for when this is the right pick versus a plain price lookup, and the required-input note removes ambiguity. It stops short of naming an alternative tool or stating exclusions, so it is strong context without full when-not guidance.
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 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, openWorld, idempotent, and non-destructive, so safety is covered. The description adds genuine behavioral context beyond them: sort order (by liquidity), pricing ($0.02/call over x402 on Base), the prepaid x-credit-token header for unlimited calls, one free call/day, and no API key requirement.
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?
Front-loaded with the core action ('All DEX pools for a token, deepest first') followed by returned fields and then payment details. Every sentence carries information, though the pricing/access sentence is somewhat dense and 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?
An output schema exists, so return values need not be detailed, yet the description still enumerates the key fields. Combined with the pricing/access terms and the single well-documented input, an agent has everything needed 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 description coverage is 100% for the single parameter, so the schema already documents 'address' as a token contract address. The description only restates that the address is required, adding no format or constraint detail beyond the schema. 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?
States a specific verb and resource ('Lists every DEX pool for a Base token') plus the scope ('All DEX pools... deepest first'). Names the concrete fields returned and the chain, so an agent can distinguish it from siblings like pair_info or dex_spread without opening a 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?
Implies usage via 'Tells agents where — and how deep — a token can be traded,' which signals the intent to find trading venues. However it names no alternative sibling (e.g., pair_info, exit_liquidity, dex_spread) and gives no when-not-to-use condition, leaving routing to inference.
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 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive, openWorld), so the bar is lower, and the description adds genuinely new behavior: the pricing/rate-limit model (1 free call/day, $0.02/call), the auth mechanism (prepaid header), and the auto-selection of the highest-liquidity pair. That pair-selection note is important context a caller could not 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 first sentence is well front-loaded and dense with the key facts. But 'No API key required' is repeated verbatim at the end of the description, and the payment mechanics are somewhat sprawling, so a sentence is wasted and the structure is looser than it should 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 one-parameter read tool with an output schema present, the description covers what an agent needs to invoke it: the token scope (Base), the data source, the cost/auth model, and a safe/idempotent read profile via annotations. The main omission is differentiation from neighboring market-data 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?
Schema coverage is 100% with a single documented 'address' parameter, so the schema already does the work. The description only restates 'Required input: address' and adds no format, chain-format, or validation semantics beyond it — 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?
Specific verb+resource: 'DEX price & liquidity for any Base token', with the concrete outputs (USD price, 24h change, liquidity, volume) and data source (DexScreener) named. It does not differentiate itself from adjacent siblings that also return token market data (multi_price, token_info, pair_info), so it falls 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?
Provides real usage context — no API key, $0.02/call over x402, prepaid x-credit-token header for unlimited calls, 1 free call/day — which tells the agent about cost and auth. However it never states when to prefer this over sibling pricing/market tools, so guidance on selecting this tool versus alternatives is absent.
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 — Use when an agent asks "is this Base token safe?" before buying, holding or listing it. One scam/rug check read live from Base RPC + GoPlus: honeypot, buy/sell tax, hidden or reclaimable owner, pausable transfers, blacklist, holder concentration (sellable holders only), LP lock and upgradeable proxy. Returns a 0-100 score, flags and a GO/HOLD/STOP receipt. On established tokens (50k+ holders, $1M+ liquidity) admin controls are context, not risk. Required input: address. Priced $0.03 per call over x402 on Base; send a prepaid x-credit-token header for unlimited calls (no free tier on this tool). No 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, so the safety profile is covered. The description still adds real value beyond that: what is inspected, that checks are live from Base RPC + GoPlus, the output shape (0-100 score, flags, GO/HOLD/STOP receipt), the $0.03 x402 price with no free tier, the prepaid header option, and a key nuance that admin controls are context not risk on established tokens.
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?
Front-loaded with purpose then checks then output then pricing; every sentence carries information. It is dense and long-ish for a single-param tool but no sentence is truly wasted, though pricing/payment details could be trimmed slightly.
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 explained, and the description still previews them (score, flags, receipt). It covers source, scope, input, pricing, and the key interpretation nuance, leaving nothing an agent needs 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?
Only one parameter and schema coverage is 100%, so the schema documents 'address' fully. The description reinforces that 'address' is required and clarifies scope ('any Base token'), adding light but genuine context beyond the schema baseline of 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 and resource ('Pre-trade safety score for any Base token') and enumerates exactly what is checked (honeypot, taxes, owner powers, blacklist, LP lock). It is easily distinguishable from siblings like rug_score, safe_check, or ai_contract_risk because it names the Base-chain scope, the live GoPlus+RPC source, and the GO/HOLD/STOP 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?
Gives a clear triggering condition ('Use when an agent asks is this Base token safe? before buying, holding or listing it') and notes the pricing prerequisite. It doesn't explicitly exclude alternatives like rug_score or secure_token, 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.
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 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the read-only/idempotent annotations, the description discloses genuinely important behavior: the 18-decimal fallback assumption and the fact that it is marked as assumed, the found:false response for non-tokens, and the full payment model ($0.002/call over x402, prepaid x-credit-token header, 1 free call/day, no API key). These are the details an agent needs before invoking and budgeting the 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 core purpose and the decimals caveat are front-loaded before the payment logistics, and every sentence carries information. It runs slightly long, with the pricing/header sentence being the most verbose element, but nothing is 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 one-parameter, read-only tool with an output schema already defining the return shape, the description covers everything an agent needs: scope, decimal-handling behavior, non-token behavior, and cost/access requirements. No material 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 description coverage is 100% for the single 'token' parameter, so the schema already carries the semantics. The description only restates 'Required input: token' without adding format, chain, or address-type nuance, which is the expected baseline when the schema does the work.
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 on-chain value (totalSupply) scoped to 'any Base token' and states what is returned (raw value scaled by decimals, plus name and symbol). This is far more precise than a tautology, but it never names a sibling such as token_info, b20_supply, or supply_inflation to disambiguate the choice.
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 is implied through edge-case handling (non-token addresses return found:false, missing decimals assume 18) rather than explicit 'use this when / not when' guidance. No alternative tool is named, so an agent must infer when token_supply is the right call versus token_info or b20_supply.
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 (no free tier on this tool). No 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive, openWorld), yet the description adds real behavioral context beyond them: x402 pricing ($0.03/call on Base), the prepaid x-credit-token header for unlimited calls, no free tier, and no API key. That auth/billing detail is not derivable from structured fields. It stops short of pagination/row-limit 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 core purpose and pricing are front-loaded, but the opening is repetitive: 'in/out transfers of a token — Recent transfers of a specific token for a wallet — direction...' says the same thing twice. Several clauses could be merged without loss.
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 rich annotations, a 100%-covered schema, and an output schema present, the description only needs to add purpose, inputs, and access terms — all of which it does. The remaining omission is routing versus sibling history tools, but nothing needed 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 two parameters (address, token) are already documented in the schema. The description only restates them as 'Required inputs: address, token' and adds no format or semantic detail beyond what the schema provides, matching the 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 and resource ('A wallet's in/out transfers of a specific token') and enumerates the returned fields (direction, amount, USD value, counterparty, tx hash, time). Clear purpose, but it never names or contrasts with very similar siblings like wallet_activity, token_balance, or fund_trace, so an agent has to infer when this beats 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?
Gives a target audience cue ('For agents tracking token flows and cost basis') and required inputs, which implies usage, but offers no explicit when-to-use/when-not-to-use or alternative routing against the many transfer/history siblings. Usage is inferred rather than guided.
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 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/openWorld/non-destructive, so the safety bar is low; the description still adds real behavioral context beyond them — x402 pricing on Base ($0.02/call), a prepaid x-credit-token header for unlimited calls, 1 free call/day, and no API key required. It does not discuss latency, error modes, or multi-chain scope, keeping it short of a 5.
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?
Front-loaded with the triggering question, then output contents, then commercial terms — each sentence carries information. The pricing/payment sentence is dense but earns its place since it is not available elsewhere; only the aphoristic 'moment a rug becomes possible' is arguably flavor.
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 values need no prose, and annotations cover the safety profile. The description still supplies the input requirement, the calendar semantics, the audience, and the full payment/access model, leaving nothing an agent needs in order 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?
Single parameter with 100% schema coverage, so the schema already documents it; 'Required input: address' merely restates the required field without adding format, chain, or validation detail. Baseline 3 is appropriate when the schema does the work.
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 (LP unlock schedule) and output (forward calendar with date, % freed, locker, days away), and implicitly distinguishes itself from the raw 'lp_lock' sibling by framing itself as the transform of raw LP-lock data into a calendar. Clear, though it never names the sibling it supersedes, so an agent must infer the split.
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?
Offers a use-case trigger ('is a cliff coming?') and audience ('For agents managing open positions'), which implies when to reach for it. It names no alternatives (e.g. lp_lock, rug_monitor, rug_score) and gives no when-not guidance, so routing between the several risk/lock tools is left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tracking_detectARead-onlyIdempotentInspect
Which carrier is this tracking number? — Guess UPS / FedEx / USPS / DHL / DPD / TNT / TR carriers from tracking-number shape and return a carrier tracking URL. Live parcel status is NOT fetched — pattern detection only. Required input: tracking. 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 API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| tracking | Yes | Tracking 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, openWorld and non-destructive, so the safety profile is covered. The description adds genuine behavioral context those annotations cannot express: pricing ($0.002/call over x402 on Base), the prepaid x-credit-token auth path, a 1-free-call/day allowance, and that no API key is required — all material to whether and how an agent invokes 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?
Front-loaded with the core question and the scope caveat, then required input and commercial terms. Each sentence contributes, though the billing/auth sentence is dense and slightly overstuffed for a one-parameter detector.
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 values need not be explained, and the description still notes it returns a carrier tracking URL. Purpose, exclusion, input, auth and pricing are all covered; only the candidate-pattern details for the input remain unstated, which is minor.
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 'tracking' parameter, so the schema already carries the semantics. The description only restates that 'tracking' is required, adding no new format or example detail (e.g., accepted character patterns), which is the baseline 3 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?
States a specific verb and resource — detect which carrier a tracking number belongs to — and names the candidate carrier set (UPS/FedEx/USPS/DHL/DPD/TNT/TR). It also explicitly disclaims what it is not ('Live parcel status is NOT fetched'), so an agent can distinguish intent without opening 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?
Gives a clear usage boundary: pattern detection only, not live status lookup, which prevents misuse against a parcel-tracking expectation. It does not name an alternative tool for actual tracking status, but the when/when-not split is otherwise explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
trending_tokensARead-onlyIdempotentInspect
What is trending on Base DEXes right now — Use when an agent hunts what is moving on Base. Up to 15 trending Base pools ranked by live DEX activity (GeckoTerminal): token address, pool, DEX, price, 24h change, volume, liquidity and trade count. Paid DexScreener promotions are listed separately, never mixed in. Trending is not safety: vet with token-risk before buying. 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 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only/idempotent/safe, and the description adds rich context beyond them: paid DexScreener promotions are listed separately and never mixed in, pricing is $0.01/call via x402 with a prepaid x-credit-token header for unlimited calls and 1 free call/day, and no API key is required. These are exactly the operational details an agent needs before invoking.
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 in the first clause, followed by scope, caveat, then pricing. Every sentence carries distinct information an agent needs (ranking basis, promotion separation, safety caveat, cost model) 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?
Output schema exists and the description still summarizes the returned fields; combined with the usage trigger, safety caveat, and payment model, nothing needed to call this no-arg 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 tool takes zero parameters, so the schema has nothing to describe and the description correctly adds no parameter-level noise. Baseline for a 0-param tool is 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?
States a specific verb+resource (trending tokens on Base DEXes), the scope (up to 15 Base pools ranked by live DEX activity via GeckoTerminal), and the returned fields. It distinguishes itself from siblings like crypto_trending and new_tokens by being explicitly Base-DEX-pool-activity ranked.
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?
"Use when an agent hunts what is moving on Base" gives explicit when-to-use context, and it routes the agent to token-risk for vetting rather than alternatives like token_momentum or activity_trend. It lacks explicit when-not or a named alternative sibling, 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.
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 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, open-world, non-destructive behavior. The description goes beyond that by disclosing the payment model ($0.02/call via x402), the auth path (prepaid x-credit-token header), the free tier (1 call/day), and that no API key is needed — genuinely useful 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?
Front-loaded with purpose and output fields, then billing details. Reasonably tight, though the enumerated return fields partially duplicate what the output schema already provides.
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 decode tool with a full output schema and rich annotations, the definition covers input, output shape, and access/pricing prerequisites. The only gap is the absence of guidance distinguishing it from overlapping transaction-lookup siblings.
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 a single 'hash' parameter at 100% schema coverage, the schema already carries the semantics. The description only restates 'Required input: hash' and adds no format, chain, or validation 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?
States a specific verb ('Structural decode') and resource ('any Base transaction'), and enumerates the exact fields returned (from/to, ETH value, status, gas used, block, method selector, nonce). It is clear what the tool does, but it never differentiates itself from close siblings like base_tx, receipt_parse, or ai_tx_explain.
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 is only implied: give a hash, get a decoded summary. There is no explicit statement of when to prefer this over base_tx, base_receipt, or ai_tx_explain, and no exclusion criteria. Paid/free conditions are stated but those concern billing, not tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
unit_convertARead-onlyIdempotentInspect
wei / gwei / ether — or any token decimals, both ways — Convert an amount between wei, kwei, mwei, gwei, szabo, finney and ether — or between any token decimals (pass a number like 6 for USDC). Integer-exact, no precision loss. Pass amount, from, to. Pure compute, sub-cent — the unit-conversion commodity agents call constantly when building transactions. Not financial advice. Required input: amount. 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 API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | To unit (or decimals number) | |
| from | No | From unit (or decimals number) | |
| amount | Yes | Amount |
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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive), and the description adds genuinely useful behavioral facts: integer-exact conversion with no precision loss, pure-compute/latency-and-cost positioning, no API key requirement, and the x402/credit-token payment path. These go beyond what the annotations declare.
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?
Core purpose is front-loaded, but the body carries marketing language ('the unit-conversion commodity agents call constantly'), a 'Not financial advice' disclaimer, and detailed pricing boilerplate that dilute the signal. Functional content could be half the length.
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 format need not be described, and the behavior is well covered. The only gap is that from/to are optional in the schema yet the description implies all three are passed, leaving default-unit behavior unexplained.
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 amount/from/to, and the description's note about passing a number like 6 for USDC largely restates the schema's 'or decimals number'. It adds no format examples (e.g. how to express from/to defaults) beyond the structured fields, 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?
States a specific verb (convert) and resource (amounts between wei/gwei/ether or arbitrary token decimals), with the supported unit ladder spelled out. It is clearly separable from siblings like fx_convert (fiat) and file_convert (files) by resource alone.
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 hints at context ('when building transactions') and says what to pass, but never states when to choose this over fx_convert or any other conversion utility, nor any exclusion conditions. Usage is implied rather than directed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
upc_lookupARead-onlyIdempotentInspect
Checksum + Open Food Facts product hit — Validate UPC/EAN/GTIN checksum offline, then look up the barcode on Open Food Facts when it is a food/consumer item. Non-food codes often checksum-ok with no product match. Required input: code. 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 API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| code | Yes | Barcode digits |
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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only, idempotent, open-world, non-destructive, so the description is not obligated to repeat those. It adds genuinely useful operational context: offline-first checksum stage, the no-match outcome for non-food codes, x402 pricing at $0.01/call on Base, prepaid x-credit-token header, free daily call, and no API key requirement.
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?
Front-loads the core two-stage behavior before the pricing/payment detail, and every sentence is relevant. The payment mechanics sentence is dense but justifies its length given the x402 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 single-parameter tool with rich annotations and an output schema, the description covers the behavior model, partial-failure expectation, cost model, and auth requirements. Nothing an agent needs 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?
Schema coverage is 100% ('Barcode digits' documents the single parameter), so the schema already carries parameter meaning. The description only restates 'Required input: code' plus the acceptable formats (UPC/EAN/GTIN) implied by the purpose, meeting the baseline without adding format syntax or validation rules.
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 ('Validate UPC/EAN/GTIN checksum', 'look up the barcode on Open Food Facts') and precisely delineates the two-phase behavior. The agent immediately knows this is a barcode validation + product-lookup tool, with no ambiguity against siblings like hs_code or bin_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?
Explains when the tool applies (food/consumer barcodes) and gives the caveat that non-food codes often pass checksum with no product match. It doesn't name an alternative tool or an explicit when-not-to-use case, but the context is clear 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.
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 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only, open-world, idempotent and non-destructive, and the description adds substantial behavior beyond them: it follows redirects safely, refuses non-text content, caps payloads at 2 MB, requires no API key, and documents the payment model ($0.002/call via x402, prepaid x-credit-token header for unlimited, 1 free call/day). That is exactly the kind of auth, limit and cost context annotations cannot express.
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, which is good, but the paragraph is padded with marketing filler ('The step every agent needs', 'Nothing crypto about it') and a redundant 'Required input: url' sentence the schema already covers. The pricing and auth sentences earn their place; the rest dilutes them.
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 need not be explained, yet the description helpfully previews them. With redirect handling, content-type refusal, a size cap and the full payment/auth model disclosed, an agent has nearly everything needed to call it correctly; only explicit sibling differentiation 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 only two parameters, so the schema already carries the load and baseline is 3. The description restates the required input (url) but adds nothing about the optional maxChars parameter or the URL format 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 names a specific verb and resource: pass a URL, get back clean agent-ready text with nav/scripts/ads stripped plus title, description and site name. It is precise about the transformation. It does not, however, differentiate itself from close siblings like web_extract, url_to_json or exa_contents, which an agent would need in order to choose between 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 gives clear context for when to reach for it: before reasoning about a page, and specifically for serverless/MCP runtimes that have no browser or HTML parser. That is a real usage signal. But it never names an alternative tool or states when NOT to use it, so selection against url_to_json/web_extract is left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
url_riskARead-onlyIdempotentInspect
Cheap phishing heuristics before you click — Heuristic URL risk: scheme, IP hosts, deep subdomains, credential-themed labels, sensitive paths/params, optional brand= lookalike. Returns reasons + GO/HOLD/STOP. Not a malware or Safe Browsing scan. 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 API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | URL | |
| brand | No | Expected brand host (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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses the return contract (reasons + GO/HOLD/STOP verdict), the pricing model ($0.002/call over x402 on Base), the auth mechanism (prepaid x-credit-token header for unlimited calls, 1 free call/day, no API key). Annotations only cover read-only/idempotent/open-world safety, so this adds substantial operational context the agent cannot get elsewhere.
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?
Front-loaded with the core purpose and heuristics before moving to caveats, output, and pricing. Dense but every sentence carries information; the pricing/auth sentence is long but necessary given no annotations cover 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?
Covers purpose, scope exclusions, verdict output, cost, and auth. An output schema exists so return-value detail is unnecessary, and the description supplies everything else an agent needs 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 baseline is 3. The description adds value by clarifying the optional brand parameter's purpose as a lookalike comparison ('optional brand= lookalike') and confirms url is the required input, going slightly beyond the schema's terse 'Expected brand host' wording.
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 ('Heuristic URL risk') and enumerates the exact dimensions analyzed (scheme, IP hosts, deep subdomains, credential-themed labels, sensitive paths/params, brand lookalike). This clearly distinguishes it from siblings like url_extract, url_to_json, or ssl_check, which have different outputs.
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?
'before you click' frames the workflow position, and 'Not a malware or Safe Browsing scan' draws an explicit boundary excluding adjacent use cases. It also states the required input. What's missing is naming a concrete alternative tool for those excluded cases, so it is not a full 5.
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 (no free tier on this tool). No 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond the readOnly/idempotent/openWorld annotations by disclosing pricing ($0.01 per call, $0.06 for list mode because of a larger output budget), the payment rails (x402 on Base), the auth mechanism (prepaid x-credit-token header, no API key), and the absence of a free tier. The 10-field cap on the default path is an important operational limit an agent would otherwise discover only by failing.
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?
Front-loaded with the core value proposition and dense with useful detail, but 'no browser, no parser, no scraping code' is a triple restatement and the pricing sentence packs several distinct facts that could be split for scannability.
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-shape explanation is unnecessary, and cost/auth — the highest-risk unknowns for a paid tool — are fully covered. Minor gaps remain around failure behavior (paywalled pages, JS-only pages) since openWorldHint implies an unbounded target space.
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 the schema text is thin ('Page URL', 'Extract all records (true/false)'), so the description's additions matter: it shows the comma-separated fields format, caps fields at 10, and clarifies that list=true returns an array of every repeated record. Only the string-typed boolean for list is left unexplained.
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 opening line gives a specific verb+resource+output: fetch a page, name fields, receive schema-enforced JSON, with a concrete example (fields=price,author,published). It implicitly separates itself from raw-scrape tools via 'not a pile of HTML — no browser, no parser,' but it never names the obvious siblings (url_extract, web_extract, ai_extract) it must be chosen over, which keeps it at 4 rather than 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?
Clear usage context is given: 'Built for agents that need a fact off a page,' plus the precise condition for switching modes (add list=true for repeated records). However, there is no explicit when-not-to-use or routing to the sibling extraction tools, and no guidance on what pages are unsupported.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validity_buildARead-onlyIdempotentInspect
Make any signed Base transaction conditional (Cobalt) — Make any signed Base transaction conditional (Cobalt validity tx): Base includes it only while your conditions hold. We validate the predicates and return the base_sendRawTransactionValidity request; we never touch funds or keys. Every request carries the deadline Base requires (at most 60 s out; set for you if omitted). Optional conditions: fromBlock, flashblockIndex (1-10), minNativeBalanceWei, or a storage predicate for price. 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 API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| signedTx | No | Your signed serialized tx (optional) | |
| fromBlock | No | Earliest block (optional) | |
| storageOp | No | Advanced: operator (< <= = != > >=) | |
| beforeBlock | No | Deadline block (optional; at most 60 s out, set for you if omitted) | |
| storageMask | No | Advanced: mask (hex, optional) | |
| storageSlot | No | Advanced: storage slot (hex) | |
| storageValue | No | Advanced: compare value (hex) | |
| balanceAddress | No | Account for the balance floor (optional) | |
| storageAddress | No | Advanced: pool/token for a storage condition | |
| flashblockIndex | No | Flashblock index 1-10 (optional) | |
| flashblockIndexOp | No | Flashblock operator (optional, default =) | |
| minNativeBalanceWei | No | Min ETH balance floor, wei (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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds substantial context beyond annotations: it never touches funds or keys, the deadline is at most 60s and set automatically if omitted, and it discloses the payment model ($0.01/call over x402, prepaid x-credit-token for unlimited calls, 1 free call/day, no API key). This is behavior an agent could not infer from readOnly/idempotent hints alone.
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?
Front-loaded with the core purpose, but the opening clause is duplicated verbatim and the pricing/credit paragraph, while useful, is dense and could be tightened. Roughly half the text is payment logistics rather than tool semantics.
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 12-parameter, all-optional tool with an output schema and full annotation coverage, the description supplies enough — purpose, condition types, deadline behavior, payment/auth model — to call it correctly. It omits only how the constructed request is consumed downstream, which the output schema can cover.
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 every parameter is already documented. The description restates a subset (fromBlock, flashblockIndex 1-10, minNativeBalanceWei, storage predicate) and clarifies the deadline default, but adds little semantic detail the schema lacks. 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 a specific verb and resource — making a signed Base transaction conditional and returning a base_sendRawTransactionValidity request. It is clearly distinct from most siblings, though it never names or contrasts with the plausible alternative base_swap_validity or simulate_tx.
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 implies when to use it (when you want a signed tx gated on predicates like fromBlock, flashblockIndex, minNativeBalanceWei, or storage) and notes defaults are auto-set, but it gives no explicit when-not guidance and no comparison to sibling validity/simulation tools.
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 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only/idempotent/non-destructive/open-world, yet the description adds substantial behavior beyond them: it runs offline, only 8 countries have a real checksum, checksumChecked distinguishes a verified pass from a format-only pass, and it discloses pricing ($0.002/x402), the prepaid header path, and the free tier. This is exactly the extra context annotations cannot carry.
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?
Front-loaded with the core question, then scope, then payment mechanics; nearly every clause carries signal. It is dense and slightly overlong on the payment/pricing tail, but nothing is truly 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?
With an output schema present, return values need not be described, yet the description still flags the key output field (checksumChecked) and its meaning. Combined with the scope and payment disclosures, an agent has everything needed 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% for the single required parameter, so baseline 3 applies. The description restates the required input (vat) and hints at expected structure (country prefix plus national format) but adds no syntax or normalization 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?
States a specific verb (validate) and resource (EU VAT number) plus the exact layers checked: country prefix, national format, and the check-digit algorithm for the 8 named countries. It also sharply delineates what it is not (VIES registration check), so an agent can distinguish it from any registry-lookup sibling.
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 tells the agent when this tool is and is not the right answer ('Registration is deliberately NOT claimed: only VIES can say whether a number is registered'), which is strong scope guidance. It does not name a concrete sibling to redirect to, 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.
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 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true, idempotentHint=true, and openWorldHint=true, so safety and idempotence are covered. The description adds pricing ($0.02/call, x402 on Base), auth options (x-credit-token header, 1 free call/day), and what the score represents (0-100 suspicion, verdict). These are operational details 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?
Front-loaded with a direct question and explanation, then details on what is reads and returns, and finally logistics. A bit long due to pricing and auth details, but every sentence works toward agent 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?
Complete for an agent: explains inputs, outputs (score + verdict), behavioral traits (read-only, idempotent), and payment/auth model. Since an output schema exists, the description needn't detail return structure further.
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' is already documented as 'Token contract address'. The description adds no further meaning about the parameter—e.g., valid address formats, chain specifics, or examples—so 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?
Clear verb+resource: reads the deepest pool's 24h volume, buy/sell counts, liquidity and price move, and scores organic activity. This is unmistakably distinct from siblings like wash_trading (which likely does the same) but the hook question 'Is this trading volume real — or painted on by bots?' makes intent immediate.
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 by stating what it detects (wash-trading signatures) and requiring just an address. It doesn't explicitly say when to use this instead of wash_trading or dump_risk, nor does it exclude alternative tools, but the context is clear enough for an agent to decide.
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 (no free tier on this tool). No 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover safety (readOnly, idempotent, non-destructive, openWorld), but the description adds critical operational context the annotations cannot: $0.03 per call via x402 on Base, a prepaid x-credit-token header for unlimited calls, no free tier, and no API key required. It stops short of disclosing result limits or pagination.
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?
Front-loaded with purpose, and the em-dash style packs chain, returned fields, provider, and pricing into a compact block. Slightly run-on, but every clause carries 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, return-value explanation is not required, and the description still lists the fields. Pricing and auth are covered; the only real gap is how many transactions are returned and over what window.
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 'address' parameter, so the schema already documents it; 'Required input: address' is largely redundant. The description does add that the address is a Base address, which is mildly useful framing.
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 (latest transactions for an address), names the chain (Base), and enumerates exactly what is returned (hash, time, from/to, ETH value, success). This distinguishes it from the many sibling wallet tools and from near_wallet_activity, which covers a different chain.
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?
'For agents tracking what a wallet is doing' implies a use case but gives no explicit when-to-use vs alternatives such as wallet_summary, wallet_portfolio, or near_wallet_activity. The agent must infer routing from the chain/recency scope alone.
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 (no free tier on this tool). No 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safe-read profile (readOnly, idempotent, non-destructive), and the description goes well beyond them: it discloses pricing ($0.03/call over x402 on Base), the auth path (prepaid x-credit-token header, no free tier), 'No API key required,' and enumerates the verdict outcomes. This is exactly the extra context annotations cannot carry.
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?
Front-loaded hook explains the threat before the mechanics, and the pricing/auth tail is genuinely useful. It is on the dense side and the rhetorical question plus the double reference to the designator add slight redundancy, so not a clean 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?
With an output schema present, return values needn't be explained, yet the description still surfaces the verdict taxonomy, the required input, and the payment/auth model. Nothing an agent needs to correctly select and invoke 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% and there is a single required param, so the schema already fully documents 'wallet: EOA address.' The description only restates 'Required input: wallet,' adding no format or semantic detail beyond the schema. 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?
States a precise verb+resource: it reads the EIP-7702 designator, resolves the delegate, and verdicts it into named outcome classes. It also explicitly distinguishes itself from siblings by calling out that this drain surface is 'invisible to approval tools' and '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?
It establishes clear context for when this matters (an EOA carrying delegated code is a hidden takeover vector), and implicitly rules out relying on approval tools. However it never names a concrete sibling alternative nor states an explicit when-not condition, leaving the routing to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
wallet_drain_watchARead-onlyIdempotentInspect
The three ways an agent wallet gets emptied, in one verdict — One GO/REVIEW/STOP across every drain vector: EIP-7702 delegation (a hostile delegate is total takeover), Base Account spend permissions (unbounded, non-expiring pulls), and ERC-20 approvals (unlimited allowance to unknown spenders). Composes wallet-delegation + spend-audit + approval-advisor so an agent checks its whole surface in one call instead of three; drill into each vector for detail. A vector that could not be read is 'unknown', never clear. Not financial advice. 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 API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| wallet | Yes | Wallet to scan |
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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only/idempotent/non-destructive/open-world, and the description adds a great deal on top: verdict semantics (GO/REVIEW/STOP), a fail-safe rule ('A vector that could not be read is unknown, never clear'), and invocation economics (x402 on Base, $0.06/call, prepaid header for unlimited, 1 free call/day, no API key). Cost, auth and rate-limit behavior are all disclosed, which is exactly the beyond-annotation context that matters.
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, vectors and routing rule are front-loaded and each of those sentences earns its place; payment/auth details are also load-bearing for a paid x402 tool. It runs long as a single undifferentiated block and the 'Not financial advice' boilerplate is filler, keeping it out of the top band.
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 need no explanation, yet the description still names the verdict vocabulary. Combined with the covered vectors, fail-safe behavior, cost and auth model, an agent has everything needed to decide to call it and 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 coverage is 100% for the single 'wallet' parameter, so the schema already carries the burden and 3 is the baseline. The description only restates it ('Required input: wallet') without adding format guidance (address vs ENS, required chain scope), so it adds no 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 opening states a specific, vivid verb+resource: 'The three ways an agent wallet gets emptied, in one verdict,' then enumerates the exact vectors (EIP-7702 delegation, Base Account spend permissions, ERC-20 approvals). It explicitly positions itself against siblings by naming the tools it composes ('wallet-delegation + spend-audit + approval-advisor ... in one call instead of three'), so an agent can distinguish the aggregate from the individual scanners.
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 selection rule directly: use this to check the whole surface in one call rather than three, and 'drill into each vector for detail' when per-vector depth is wanted. Both the when-this and the when-the-alternatives conditions are explicit, so no inference is required.
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 (no free tier on this tool). No 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, openWorld, non-destructive), yet the description adds real operational context: cost model ($0.02/call over x402 on Base), the auth mechanism (prepaid x-credit-token header for unlimited calls), absence of a free tier, and no API key requirement. It also discloses an important data-handling edge case: unquoted holdings are listed and counted separately instead of being silently valued at zero.
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?
Front-loaded summary followed by scope, edge-case behavior, and payment terms; no filler or repetition. The billing/header sentence is slightly dense but it is genuinely load-bearing information an agent needs before calling a paid endpoint.
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 need not explain return values, and it correctly focuses on coverage, ordering, totals, unquoted-holding handling, and payment/auth requirements. Nothing an agent needs in order to call this 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, so the schema does the documentation work and the 3 baseline applies. The description adds only marginal meaning — 'Required input: address' plus the implicit 'Base address' chain constraint — and gives no format or validation 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?
States a specific verb-like outcome and resource: 'Complete token portfolio for a Base address with USD values', enumerating scope (every ERC-20 plus native ETH, sorted by value with a total). An agent can tell this is a priced valuation snapshot rather than a raw balance list. It never names the adjacent siblings (wallet_tokens, wallet_portfolio, token_balance) to disambiguate, 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?
Usage is implied by the scope statement — use it when you need USD-valued holdings for a Base wallet — and the pricing sentences signal that cost matters. But there is no explicit when-to-use/when-not, no prerequisites, and no routing to alternatives among the many wallet_* siblings. Adequate but leaves selection to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
wallet_nftsARead-onlyIdempotentInspect
NFT collections held by a wallet (+ floor) — Lists the NFT collections a Base wallet holds — name, count and floor value — spam-filtered, via Covalent. For agents profiling a wallet's NFT exposure. Required input: address. Priced $0.02 per call over x402 on Base; send a prepaid x-credit-token header for unlimited calls (no free tier on this tool). No 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only cover the safety profile (read-only, idempotent, open-world), while the description adds genuinely useful behavior: spam filtering is applied, the data comes from Covalent, the address is Base-scoped, and the call is paid ($0.02 per call over x402, prepaid x-credit-token header for unlimited calls, no free tier, no API key required). Cost and auth mechanics are exactly what an agent needs and are not in 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?
Front-loaded with the core purpose, then scope, then payment terms; each sentence carries information. The opening 'NFT collections held by a wallet (+ floor)' mildly duplicates the sentences that follow, which is the only 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?
An output schema exists, so return values need not be described. Chain scope, spam filtering, data source, single required input, and full payment/auth requirements are all covered, leaving nothing an agent needs missing before calling.
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 is documented in the schema, so the description's 'Required input: address' adds little. It does not add any format or syntax guidance (e.g., checksumming or Base-specific address handling), 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?
States a specific verb and resource (lists NFT collections held by a wallet), plus chain scope (Base), returned fields (name, count, floor value) and data source (Covalent). This is clearly distinguishable from near siblings like nft_floor or wallet_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?
Gives an explicit use case ('For agents profiling a wallet's NFT exposure') and names the required input, which sets the context for invocation. It does not, however, name alternatives such as nft_floor for per-collection floor data or wallet_tokens for fungible holdings, so the when-not-to-use side is left to inference.
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 (no free tier on this tool). No 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive, openWorld), and the description adds substantial context on top: data provenance (CDP Data API with Alchemy fallback, DexScreener for USD), the pricing model ($0.02/call via x402 on Base), the prepaid x-credit-token header for unlimited calls, no free tier, and no API key needed. That is exactly the behavioral detail annotations cannot express.
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 payment/auth details follow in a compact block, but the opening repeats itself ('All ERC-20 holdings of a wallet with USD value' / 'Complete ERC-20 portfolio ... with ... live USD value'). One clause could be trimmed without loss.
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 values need not be described, and the description still covers chain scope (Base), token coverage (every non-zero token), pricing, payment header, and data-source fallback. An agent has everything needed 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?
There is a single parameter with 100% schema description coverage, so the schema already carries the semantics; 'Required input: address' restates it and adds nothing about format (checksummed vs lowercase, EOA vs contract). Baseline 3 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 states a specific verb+resource ('All ERC-20 holdings of a wallet') and pins the scope precisely: Base address, every non-zero token, balance + metadata + live USD value, plus a total. That 'complete portfolio with total' framing is enough to separate it from single-token siblings like token_balance or wallet_tokens without opening either 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?
It says what input is required ('Required input: address') and how to pay, but never says when to pick this over alternatives such as wallet_networth (multi-chain net worth), wallet_tokens (raw balances) or portfolio_scan. Usage is implied by the scope statement rather than guided.
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 (no free tier on this tool). No 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations cover the safety profile (readOnly, idempotent, non-destructive), and the description adds genuinely new operational facts: outgoing-only counting semantics, archive rather than 30-day sourcing, per-call pricing, the prepaid x-credit-token header, absence of a free tier, and no API key requirement.
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 headline outputs are front-loaded and each sentence carries real information (sourcing, counting rules, pricing, auth). There is mild redundancy between the opening fragment and the fuller restatement of the same three outputs, which slightly dilutes density.
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 need no explanation, and the description still covers the non-obvious counting semantics, data sourcing, pricing, and auth requirements needed to call the tool correctly. Nothing material 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, so the schema already carries the parameter documentation and the baseline is 3. The description's "Required input: address" merely restates the schema's required field without adding format or validation 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?
States a specific set of outputs (wallet age in days, first/last activity timestamps, outgoing transaction count) for a Base address, which is concrete and unambiguous. It implicitly distinguishes itself from 30-day-feed tools and from base_nonce-style tools, but it never names a sibling to sharpen the boundary, keeping it below 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?
Gives clear intended use cases ("Built for sybil screening and counterparty trust checks"), so an agent knows the context in which to reach for it. It offers no explicit when-not guidance or named alternatives, which a 5 would require.
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 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive, openWorld), and the description still adds material behavior: 'Only non-zero holdings are returned' (filtering), live pricing via DexScreener (data source/freshness), and full auth/cost terms ($0.02/call over x402, x-credit-token header for unlimited calls, 1 free call/day, no API key). This is exactly the auth/pricing/rate-limit context the annotations cannot express.
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 and token scope are front-loaded in the first sentence, with filtering, data source, and pricing following in a logical order. The pricing sentence is dense but every clause carries actionable info; 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?
An output schema exists, so return values need not be explained. The description covers chain scope, token set, filtering, data source, and payment/auth mechanics, leaving nothing an agent needs in order 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?
One required parameter with 100% schema description coverage, so the baseline is 3. The description only restates 'Required input: address' and adds no format detail (e.g., checksum vs. ENS, chain assumption) beyond what the schema already conveys.
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 ('Returns native ETH plus WETH, USDC, USDbC, DAI, cbETH balances for any Base address') and enumerates the exact token set and chain, so the agent knows precisely what it gets. It does not explicitly distinguish itself from close siblings like wallet_portfolio, wallet_networth, or token_balance, which is the only thing keeping it from 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?
Usage is implied by the scoping details (Base chain, fixed major-token list, non-zero only) and 'Required input: address', but there is no explicit when-to-use guidance or naming of alternatives among the many wallet/token siblings. An agent can infer this is a quick fixed-basket balance check, but must guess whether wallet_portfolio or token_balance is the better fit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
wash_tradingARead-onlyIdempotentInspect
Is this token's volume real, or circular? — Hot volume is often fake. This reads a token's transfer events and flags the wash/circular shape: the share of transfers round-tripping through addresses active on BOTH the send and receive side, plus participant concentration. Returns clean / elevated / likely_wash with the top round-trippers. A heuristic signal, not proof — LPs and routers legitimately sit on both sides — so size off it, don't convict on it. Pass days= (default 7). Not financial advice. 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 API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | Window days (default 7, max 30) | |
| 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (read-only, idempotent, non-destructive, open-world), and the description adds substantial context on top: the outputs it emits, the heuristic caveat that LPs and routers legitimately sit on both sides, the cost per call, and the header needed for unlimited use. That is exactly the extra behavioral layer the structured fields cannot convey.
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 the mechanism are front-loaded in the first two sentences, which is the right ordering. The tail carries pricing, credit, and disclaimer boilerplate that is useful but denser than necessary for a tool-selection decision.
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 values need no further explanation, and the description still summarizes the verdict vocabulary and the top round-trippers. Auth, cost, defaults, and the heuristic's limits are all covered, leaving nothing an agent needs before calling 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 description coverage is 100%, so both parameters are already documented, and the description largely restates the days default. It does reinforce that address is required and frames days as the analysis window, but adds no format or constraint 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 states a concrete verb-and-resource pair: it reads a token's transfer events and flags the wash/circular shape, returning clean / elevated / likely_wash. That is far more specific than the name alone. It never names a sibling such as volume_check or token_transfers, so differentiation is left to inference rather than stated.
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 operating context: pass days= (default 7), treat the result as a sizing signal rather than proof, and the payment/auth model (x402, prepaid header, one free call/day). It stops short of explicit when-not-to-use or naming alternative tools for volume questions, so it is strong but not complete 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 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only/non-destructive/idempotent/open-world, and the description adds real context beyond them: the snapshot-then-delta pattern, what the deltas contain (liquidity ±%, price ±%, honeypot flips, sell-tax spikes, LP pulls), billing via x402/prepaid header, and the 1-free-call-per-day limit. The snapshot/watchId retention is arguably a state write that sits awkwardly beside readOnlyHint=true, which keeps this from a 5.
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 and the two-call pattern are front-loaded, and most sentences carry decision-relevant content (retention, auth, cost). The pricing/'second call is worth more' lines are somewhat promotional padding for an agent that just needs to invoke the tool correctly, costing it a point.
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 fields need not be explained), full schema description coverage, and complete annotations, the description supplies everything else an agent needs: the two-mode invocation flow, retention semantics, auth/cost requirements, and the free tier. Nothing essential to 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 coverage is 100%, so the two parameters are already fully documented in the schema ('Up to 10 token addresses' and 'Or: watchId to re-check an existing list'). The description restates the same mutual-exclusivity and adds the sequencing workflow, but contributes little parameter meaning beyond what structured fields already supply. 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?
The opening question plus the retention mechanics state a specific verb and resource: diffing up to 10 watchlisted tokens against a prior snapshot. The delta/retention framing inherently distinguishes it from one-shot siblings like token_info or token_risk, but no sibling is named explicitly, so it stops short of the 5 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?
It gives a clear usage context ('Built for agents holding positions that re-check daily') and an explicit two-call workflow: first call snapshots tokens and returns a watchId, second call returns deltas. It never states when NOT to use it or which sibling to prefer for a one-shot check, so no exclusions are covered.
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 (no free tier on this tool). No 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, openWorld, non-destructive), but the description adds substantial context beyond them: partial-success semantics with a `failed` list and per-URL reason, the no-charge guarantee when every URL fails, and the billing/auth model (x402 on Base, prepaid x-credit-token header, no free tier, no API key). That is exactly the kind of operational detail an agent cannot infer from 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?
Densely front-loaded: the batch scope and JS capability lead, followed by the failure model, then the pricing/routing caveats. Every sentence carries information, though the payment-model detail (x402, prepaid header, no free tier) is somewhat compressed into a single trailing clause.
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, yet the description still explains the partial-failure shape. Combined with the routing guidance, billing model, and required-input note, an agent has everything needed to call this correctly on the first attempt.
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?
Only one parameter with 100% schema description coverage ('URLs (comma-separated, max 5)'), so the schema already does the work. The description repeats the comma-separated/max-5 constraint and labels the input required, adding emphasis but no new meaning. 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 a specific verb and resource with scope: 'Up to 5 pages in one call', 'Pass up to 5 URLs (comma-separated) and get each page back as clean text with its title.' It also distinguishes itself from the sibling url-extract by name, so an agent can route between them without opening either 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?
Explicit when-to-use ('Renders pages that build their content in the browser... covers the SPAs, dashboards and app pages that url-extract deliberately refuses') and when-not ('For a single static page, url-extract is cheaper'). Both the alternative and the selecting condition are named.
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 (no free tier on this tool). No 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, openWorld, idempotent, non-destructive), and the description adds substantial context the agent cannot get elsewhere: a hard cost ($0.01 per call over x402 on Base), the prepaid x-credit-token header for unlimited use, 'no free tier', and 'No API key required'. That is exactly the payment/auth information an agent needs before invoking a metered external 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 purpose and payload are front-loaded before the parametric, timing, and pricing details, so an agent can stop reading early. It is slightly padded — 'Ask the live web' followed immediately by 'Search the live web' repeats the same idea, and several sentences carry marketing cadence — but no section is truly 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?
With an output schema present, return values need no further explanation, yet the description still summarizes them. It covers scope, timing, parameters, defaults, payment rail, and auth requirements, so nothing an agent needs in order to call this 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, but the description goes beyond the terse schema text: it states the maxResults range with its default (1..20, default 5) and explains what includeAnswer=false actually does ('skip the summary and take sources only'). The default value of 5 is not present in the schema, so this is genuine added 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?
Very specific verb+resource: 'Search the live web' and it names the exact payload (ranked results with title, URL, snippet, relevance score, plus a synthesized one-paragraph answer). It runs long on framing ('Ask the live web... from an agent that has no browser'), and it never distinguishes itself from the closest sibling, exa_search, so it falls 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?
It gives a clear triggering condition — 'The step before reasoning about anything that happened after the model's training cutoff — prices, releases, incidents, docs' — which tells an agent exactly when to reach for it. It does not name alternatives (exa_search, web_extract) or state a when-not-to-use beyond the throwaway 'Nothing crypto about it', so no explicit routing.
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 (no free tier on this tool). No 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations (readOnly/idempotent/openWorld/non-destructive), it discloses data freshness ('decays in hours'), the indexing source (CDP-indexed events), and the full payment/auth model: $0.04/call over x402 on Base, prepaid x-credit-token header for unlimited calls, no free tier, no API key. These are operationally critical and not derivable from 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?
Front-loaded with the core analytical question and answer, and the analytical content is dense rather than padded. It runs long, mixing billing/payment logistics into the same block as the analytical framing, so it is slightly heavier than it 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?
An output schema exists so return values needn't be explained, and the description covers the analytical semantics, the sibling it complements, freshness decay, and the payment/auth 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 description coverage is 100%, so the schema fully documents both parameters and the baseline is 3. The description adds only 'Required input: address' and the implicit 24h/default window, which largely restates 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 precise verb+resource: the largest Base-token transfers in the last 24h, classified by direction (whales INTO DEX pools = sell pressure vs pulling OUT = accumulation). It explicitly distinguishes itself from holder_forensics ('who could dump' vs 'is anyone dumping now'), so an agent can tell them apart without opening either 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?
The complement framing against holder_forensics gives a clear when-to-use signal, and the 'is anyone dumping now' framing scopes the temporal window. It does not state explicit when-not conditions (e.g., for very low-liquidity tokens or other chains), so it stops short of a full 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
x402_market_intelARead-onlyIdempotentInspect
What the Bazaar holds for a capability, and the real demand behind it — Reads the CDP discovery index (the directory agents search) for a capability keyword and reports the competitive picture: how many indexed services match, distinct sellers, price range, networks, and the index's own 30-day demand metric — total calls and unique payers, real usage not a guess. For a builder choosing what to ship or an agent picking a provider. Pass payTo to scope to one seller. The index under-reports (partial), so counts are a floor. Not financial advice. Required input: query. 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 API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| payTo | No | Scope to one seller wallet (optional) | |
| query | Yes | Capability / keyword |
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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive), and the description adds substantial context beyond them: the index under-reports so counts are a floor, the $0.02/call x402-on-Base pricing, the prepaid x-credit-token option for unlimited calls, the 1 free call/day allowance, and that no API key is needed. These are exactly the auth/cost/accuracy caveats an agent needs.
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 before pricing and caveats, and the dense single paragraph is mostly substantive. A few phrases ('real usage not a guess', 'Not financial advice') are padding, and the em-dash-heavy packing makes it slightly harder to scan.
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 need no explanation, and the description still covers purpose, cost, authentication, and the index's known under-reporting limitation. Nothing an agent needs in order 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%, so both parameters are already documented in the schema. The description restates 'pass payTo to scope to one seller' and 'required input: query', adding only marginal value over the structured fields. 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 a specific verb and resource ('reads the CDP discovery index for a capability keyword') and enumerates exactly what it reports: match counts, distinct sellers, price range, networks, and 30-day demand metrics. An agent can distinguish it from the similarly-named x402_seller_check without opening either 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?
Names the audience and decision context ('for a builder choosing what to ship or an agent picking a provider'), which tells the agent when this tool is appropriate. It stops short of naming the alternative (e.g. x402_seller_check) or stating when-not to use it, so it lacks explicit routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
x402_seller_checkARead-onlyIdempotentInspect
Before your agent pays an x402 endpoint — is the seller real? — x402 proves payment, not trust: an agent handed a URL pays blind, and the payee may be a real service or a burner that takes the USDC and vanishes. Give a url and/or a payTo wallet and get GO/WARN/STOP: is the URL a well-formed 402 resource, does its price match, and is the seller wallet sanctioned, a fresh throwaway, or paying a different address than you expected. Screens the PAYMENT side the protocol drops — not a guarantee the service returns good data. 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 API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | x402 endpoint URL | |
| payTo | No | Seller wallet (optional if url given) |
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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (read-only, idempotent, open-world, non-destructive), and the description adds material context beyond them: the GO/WARN/STOP output semantics, what specifically gets checked (well-formed 402 resource, price match, sanctioned vs throwaway wallet, payTo mismatch), an explicit scope limitation, and the pricing/auth model ($0.04/call over x402, x-credit-token header, 1 free call/day, no API key). That is unusually complete 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?
Front-loads the trigger and the value proposition, and each subsequent sentence carries distinct information (checks performed, scope caveat, pricing, auth). The rhetorical 'is the seller real?' framing and dense dash-heavy style add a little noise, but nothing is truly 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?
An output schema exists, so return values need not be spelled out, yet the description still conveys the decision shape (GO/WARN/STOP). Combined with the checks performed, scope limits, and cost/auth details, an agent has everything needed to decide to call it 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 both params are self-documenting, so the baseline is 3. The description adds meaning by explaining how each input is used — the url is validated as a well-formed 402 resource with a price match, and payTo is screened for sanctions, freshness, and mismatch — and notes the url and/or payTo combination is flexible.
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: check an x402 seller/endpoint before an agent pays, returning GO/WARN/STOP. It immediately distinguishes itself from generic payment or safety siblings by scoping to the payment side of the x402 protocol, so an agent can tell what it does without opening 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?
Gives a clear trigger condition ('Before your agent pays an x402 endpoint') and boundaries ('Screens the PAYMENT side the protocol drops — not a guarantee the service returns good data'). It does not name a specific alternative sibling for the non-payment checks, so routing away from it is left somewhat implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
yield_scoutARead-onlyIdempotentInspect
Where should an agent's idle USDC sit on Base right now? — Every pre-funded agent wallet carries idle USDC that earns nothing. This reads the live USDC supply rate across Base money markets (Aave v3, Moonwell) straight from each protocol — not a feed — and returns the best, with the annual yield on your balance so you can weigh moving against the gas. Rates are variable and change every block; a venue it could not read is excluded from 'best', never sent funds on an unconfirmed rate. Pass amount= for the yield projection. Not financial advice. 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 API key required.
| Name | Required | Description | Default |
|---|---|---|---|
| amount | No | Idle USDC balance (optional, for projection) |
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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive, and the description layers on genuinely additive behavior: rates are variable and change every block, unreadable venues are excluded from 'best' rather than guessed, funds are never moved on an unconfirmed rate, and the access model ($0.01 per call over x402, prepaid x-credit-token header, 1 free call/day, no API key). That freshness, failure-handling, and billing detail is exactly what annotations cannot convey.
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?
Front-loaded with the scoping question, then data-source, freshness, parameter, and pricing facts in a sensible order; nothing critical is buried. It is on the verbose side, with a rhetorical opening and a 'Not financial advice' tail that are soft marketing rather than invocation-critical, costing it the top 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 an output schema present, return formatting need not be described, and the description still covers decision context, data provenance, freshness caveats, failure semantics, the single optional parameter, and the payment/auth path. 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% and there is a single parameter, so the schema already carries the semantics. 'Pass amount= for the yield projection' only restates the schema's 'Idle USDC balance (optional, for projection)' without adding format, units, or precision guidance — the 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 names a specific action (read the live USDC supply rate), the exact venue set (Base money markets: Aave v3, Moonwell), and the output shape (best venue plus annual yield on your balance). It explicitly distinguishes itself from data-feed-style siblings by stressing 'straight from each protocol — not a feed,' and from chain-specific yield tools like near_staking_yields by scoping to Base USDC.
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?
Opens with the decision it supports — where idle USDC in a pre-funded agent wallet should sit — and frames the trade-off ('weigh moving against the gas'), which tells the agent when this is the right call. However, it never names an alternative tool or states an explicit when-not-to-use condition, so it stops 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.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
6 tool updates
- Changed
base_swap_validity2 fields changed- changed
Input schema / properties / beforeBlock / descriptionPrevious value: -"Deadline: before this block (recommended)"New value: +"Deadline block (optional; at most 60 s out, set for you if omitted)" - changed
Input schema / properties / flashblockIndex / descriptionPrevious value: -"Flashblock index (optional)"New value: +"Flashblock index 1-10 (optional)"
- Changed
pre_trade_gate2 fields changed- added
Input schema / properties / maxLiquidityDropPctAdded value: +{ + "description": "Enforce: max pool drop before the trade is refused, % (optional, default 20)", + "type": "string" +} - added
Input schema / properties / walletAdded value: +{ + "description": "Buyer wallet — for tokenized stocks, checks it may receive (optional)", + "type": "string" +}
- Changed
rwa_dividend_feed1 field changed- added
Input schema / properties / symbolAdded value: +{ + "description": "Stock (optional, e.g. NVDA)", + "type": "string" +}
- Added
stock_collateral_risk - Added
stock_fair_value - Changed
validity_build2 fields changed- changed
Input schema / properties / beforeBlock / descriptionPrevious value: -"Deadline: before this block (recommended)"New value: +"Deadline block (optional; at most 60 s out, set for you if omitted)" - changed
Input schema / properties / flashblockIndex / descriptionPrevious value: -"Flashblock index (optional)"New value: +"Flashblock index 1-10 (optional)"
1 tool update
- Added
address_label
1 tool update
- Added
pre_trade_bundle
1 tool update
- Added
clanker_token_audit
9 tool updates
- Removed
agent_credit_score - Removed
agent_full_audit - Removed
agent_provenance - Removed
agent_session_guard - Removed
base_dex_spread - Removed
clanker_token_audit - Removed
pre_trade_alpha_shield - Removed
pre_trade_bundle - Removed
rwa_yield_benchmark
1 tool update
- Added
pre_trade_bundle
4 tool updates
- Added
agent_session_guard - Added
base_dex_spread - Added
clanker_token_audit - Added
farcaster_social_velocity
3 tool updates
- Added
agent_credit_score - Added
agent_full_audit - Added
pre_trade_alpha_shield
3 tool updates
- Added
agent_provenance - Added
polymarket_odds - Added
rwa_yield_benchmark
5 tool updates
- Added
funding_radar - Added
market_pulse - Added
near_account_age - Added
perp_funding - Added
tokenized_stock_price
1 tool update
- Added
activity_trend
1 tool update
- Changed
supply_inflation1 field changed- changed
Input schema / properties / days / descriptionPrevious value: -"Window days (default 30, max 365)"New value: +"Window days (default 30, max 45)"
1 tool update
- Added
supply_inflation
1 tool update
- Added
owner_powers
1 tool update
- Added
dump_risk
1 tool update
- Added
price_impact
2 tool updates
- Added
address_poisoning - Added
sanctioned_exposure
Publisher details
- Operator
- Sukru KUCUK
- Operator website
- https://402.com.tr · Publisher source
- Vendor relationship
- First-party
- Documentation
- https://402.com.tr · Publisher source
- Trust center
- Unknown
- Restrictions
- Not applicable
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceRemote MCP server that lets AI assistants read tracked competitive intelligence — competitor news, reviews, website changes, social posts and ads — and act on it by managing projects, competitors, battle cards, reports and canvases. Every answer carries a source and a date, and write actions only publish when explicitly shared.MIT
- AlicenseCqualityBmaintenanceCompetitor Monitor AI - MCP server providing AI-powered tools and automation by MEOK AI Labs115 npm55 PyPIMIT
- AlicenseAqualityCmaintenanceEnables brand visibility monitoring across major AI platforms like ChatGPT, Claude, Gemini, and Perplexity. It allows users to track visibility scores, analyze competitor data, and receive actionable insights to improve AI-generated brand recommendations.1618 npm1MIT

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
Glama MCP Gateway
Add one secure layer between your agents and this server.