ARYSPHERE x402 chain reads and token verdicts
Server Details
Pay-per-call onchain reads (Base, Ethereum, Gnosis), token verdicts and LLM chat over x402 USDC
- Status
- Healthy
- Uptime
- 99.6% over 21 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-06-18
- URL
- ChatGPT
- –
- Claude
- –
TDQS
Scored across 5 tools
Each tool has a distinct target: two chain-specific token verdicts (Base vs Ethereum), a token preview, and a DAO preview/verdict pair. The only real friction is the preview/full pairs (eth_mainnet_token_verdict vs eth_mainnet_token_verdict_preview, dao_proposal_preview vs dao_proposal_verdict), but price and description make the escalation path explicit.
Names follow a readable snake_case {chain/resource}_{object}_{action} pattern with a shared x402_q_verdict_v1__ namespace prefix. The outliers are the opaque '_v3' version suffix on base_token_verdict_v3 and the fact that DAO tools omit the chain even though they cover Ethereum or Base.
Five tools is tightly scoped for a paid x402 read service: two product families (token verdicts, DAO proposal review), each with a cheap preview and/or full call. Nothing feels redundant or missing at the count level.
Token verdicts exist for Base and Ethereum and DAO preview+verdict cover both chains, so core workflows are reachable. The gap is asymmetry: Base has no cheap preview tier (only the $0.01 full verdict), and no non-ETH/Base chains are offered for token reads.
Available Tools
5 toolsx402_q_verdict_v1__base_token_verdict_v3ARead-onlyInspect
Base ERC-20 verdict: AI grade and on-chain facts for one token contract. Not financial advice. Returns: a rule-graded token verdict on one token contract: grade (BASED/MID/COOKED/RADIOACTIVE, a stated rule over the contract's own state), a one-liner and a roast, and the facts read: code size, name, symbol, decimals, supply, owner(), proxy slots; plus the deepest Uniswap V3 pool's USD price and depth. No holders, no safety or legitimacy call.
Price: $0.01 USDC per call, paid by x402 (Base, Polygon or Arbitrum). GET https://api.arysphere.com/v1/ventures/x402_q_verdict_v1/base_token_verdict_v3. Same payment terms as that HTTP route. Call once with no payment. The result is the payment terms. Retry the same call with the signed payment at _meta["x402/payment"]. Measured output: {"cached": false, "chain": "base", "disclaimer": "Entertainment, not financial advice. Reads the contract and its deepest Uniswap V3 pool (spot price, quote-side depth): not holders, locks or future price.", "grade": "COOKED", "method": "verdict", "ok": true, "result": {"disclaimer": "Entertainment, not financial advice. Reads the contract and its deepest Uniswap V3 pool (spot price, quote-side depth): not holders, locks or future price.", "facts": {"decimals": 6, "erc20_shaped": true, "is_contract": true, "name": "USD Coin", "owner": "0x3abd6f64a422225e61e435bae41db12096106df7", "owner_renounced": false, "proxy_slot": "zeppelinos", "symbol": "USDC", "upgradeable_proxy": true}, "grade": "COOKED", "grade_rule": "RADIOACTIVE: not a contract, or not ERC-20 shaped (no decimals/totalSupply). COOKED: a proxy implementation slot is set (EIP-1967, its beacon, or ZeppelinOS) AND owner() names a live owner. MID: either one. BASED: neither found.", "market": {"deepest_pool": {"fee": 3000, "pool": "0x6c561b446416e1a00e8e93e221854d6ea4171372", "price_usd": 1.00209, "quote": "WETH", "quote_reserve_usd": 87721037.3, "token_reserve": 58770808.350535}, "depth_rule": "pool_depth from the deepest pool's quote-side reserve in USD: <$1k none_or_dust, <$100k thin, <$5M moderate, else deep. A description of on-chain state, not advice.", "dex": "uniswap_v3", "eth_usd": 2432.8015, "eth_usd_source": "chainlink ETH/USD 0x71041dddad3595f9ced3dccfbe3d1f4b0a16bb70", "fee_tiers": [500, 3000, 10000], "pool_depth": "deep", "pools_found": 3, "price_usd": 1.00209, "quote_assets": ["WETH", "USDC"], "quote_reserve_usd": 87721037.3, "rpc_calls": 2}, "one_liner": "USDC is COOKED", "roast": "USDC: COOKED. Proxy (zeppelinos slot set); a live owner holds the keys.", "token": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "written_by": "template"}, "service": "x402_bazaar_token_verdict_v2.base_token_verdict_v3"}
| Name | Required | Description | Default |
|---|---|---|---|
| token | Yes | token contract, 0x + 40 hex |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond readOnlyHint=true, the description discloses payment terms, the two-step no-payment then signed-payment retry flow, output limitations, grading rules, depth rules, and what is not covered. It is consistent with the read-only GET operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The definition is front-loaded with purpose, return behavior, pricing, and payment flow before the lengthy measured-output example. It is verbose and repeats disclaimers, but the length is justified by the nonstandard payment flow and absence of an output 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 no output schema and only readOnlyHint, the description supplies the missing behavioral and return details, including a full measured output example, grading methodology, market-depth rules, and payment mechanics. An agent has enough information to invoke and interpret the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the single token parameter is documented in the schema as '0x + 40 hex'. The description reinforces that it operates on one token contract but adds no parameter-specific syntax or constraints beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: a Base ERC-20 token verdict with grade and on-chain facts for one token contract. The chain and scope distinguish it from the Ethereum-mainnet sibling token-verdict tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives clear usage context: one token contract, Base ERC-20, no holders or safety/legitimacy call, and an explicit x402 payment procedure. It does not explicitly name when to use the Ethereum-mainnet or preview siblings instead, so it falls 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.
x402_q_verdict_v1__dao_proposal_previewARead-onlyInspect
DAO Proposal Preview: decoded targets, proposal state, votes and timelock delay for one OpenZeppelin Governor proposal on Ethereum or Base. Check this first. Returns: a DAO proposal preview on one OpenZeppelin Governor proposal: the decoded targets and call data the buyer posts, the proposal state, vote totals, quorum and timelock delay read from the chain, and whether each target is verified. No verdict, no model.
Price: $0.002 USDC per call, paid by x402 (Base, Polygon or Arbitrum). POST https://api.arysphere.com/v1/ventures/x402_q_verdict_v1/dao_proposal_preview. Same payment terms as that HTTP route. Call once with no payment. The result is the payment terms. Retry the same call with the signed payment at _meta["x402/payment"].
| Name | Required | Description | Default |
|---|---|---|---|
| chain | Yes | the chain the Governor is on | |
| values | Yes | the wei sent with each call, decimal strings, one per target | |
| targets | Yes | the proposal's target contracts, in order, 0x + 40 hex each | |
| governor | Yes | the Governor contract, 0x + 40 hex | |
| calldatas | Yes | the call data for each target, 0x hex, one per target | |
| description | No | optional, the description text, for display only | |
| descriptionHash | Yes | keccak256 of the proposal description, 0x + 64 hex |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare readOnlyHint=true; the description goes well beyond that by disclosing the x402 price ($0.002 USDC), accepted payment chains, the two-step 402 challenge flow, the HTTP route, and the fact that everything is read from chain rather than computed by a model. It does not cover failure modes (bad proposal hash, unverified target, revert) which keeps it from a 5. No contradiction: reading chain state is consistent with readOnlyHint even though a payment is settled.
Agents need to know what a tool does to the 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 content is front-loaded in the first sentence and the payment mechanics are clearly separated, but the 'Returns:' sentence restates the opening nearly verbatim ('a DAO proposal preview on one OpenZeppelin Governor proposal') before adding the return list, which is avoidable duplication.
Shorter descriptions cost fewer tokens and are easier for agents to parse. 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 7 parameters, 6 required, no output schema and no destructive side effects, the description supplies everything an agent needs: what goes in (exact propose() arguments, sourced from ProposalCreated), what comes out (targets, state, votes, quorum, timelock, verification flags), and how to pay. 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 coverage is already 100%, so the schema carries the baseline; the description adds real cross-field meaning the schema cannot express — that targets, values and calldatas must be the exact propose() arguments, that they hash to the proposal id, that the hash is checked on chain, and where to copy them from (ProposalCreated event). That is genuine semantic lift above the field-level 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 first sentence names a specific verb-and-resource pair (preview of one OpenZeppelin Governor DAO proposal), scopes it to Ethereum or Base, and enumerates the exact payload: decoded targets, proposal state, votes, timelock delay. The line 'No verdict, no model' plus 'Check this first' cleanly separates it from the sibling dao_proposal_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?
'Check this first' plus 'No verdict, no model' implicitly routes an agent needing an actual judgment to the verdict sibling, and the payment handshake instruction ('Call once with no payment... Retry the same call with the signed payment') tells the caller exactly how to sequence the two calls. What's missing is an explicit naming of the alternative tool under a stated condition, so it stops just short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
x402_q_verdict_v1__dao_proposal_verdictARead-onlyInspect
DAO Proposal Verdict: GO, CAUTION or BLOCK on one Governor proposal, Ethereum or Base. Returns: a DAO proposal verdict on one OpenZeppelin Governor proposal: GO, CAUTION or BLOCK from decoded targets, governance reads, Slither flags on verified target contracts, and a fork simulation diff of outflows, mints and ownership changes. Unverified contracts are UNKNOWN, never assumed clean. $0.002 preview, no verdict: https://api.arysphere.com/v1/ventures/x402_q_verdict_v1/dao_proposal_preview
Price: $0.25 USDC per call, paid by x402 (Base, Polygon or Arbitrum). POST https://api.arysphere.com/v1/ventures/x402_q_verdict_v1/dao_proposal_verdict. Same payment terms as that HTTP route. Call once with no payment. The result is the payment terms. Retry the same call with the signed payment at _meta["x402/payment"].
| Name | Required | Description | Default |
|---|---|---|---|
| chain | Yes | the chain the Governor is on | |
| values | Yes | the wei sent with each call, decimal strings, one per target | |
| targets | Yes | the proposal's target contracts, in order, 0x + 40 hex each | |
| governor | Yes | the Governor contract, 0x + 40 hex | |
| calldatas | Yes | the call data for each target, 0x hex, one per target | |
| description | No | optional, the description text, for display only | |
| descriptionHash | Yes | keccak256 of the proposal description, 0x + 64 hex |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare readOnlyHint=true, yet the description adds substantial behavior: the verdict is derived from decoded targets, governance reads, Slither flags and a fork-simulation diff of outflows/mints/ownership changes; unverified contracts return UNKNOWN rather than being assumed clean; and the exact cost ($0.25 USDC, x402 on Base/Polygon/Arbitrum) plus payment handshake are disclosed. This is context an agent cannot get from the annotations 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?
Purpose is front-loaded and the labeled 'Returns:' segment is scannable. There is some redundancy — the opening line and the 'Returns:' line both restate 'GO, CAUTION or BLOCK on one OpenZeppelin Governor proposal' — and the payment/URL block is verbose, but each block carries necessary x402 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 7-parameter read-only analysis tool with no output schema, the description explains both the return (a graded verdict with its evidence sources and the UNKNOWN rule) and the payment protocol needed to actually obtain it. 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 all seven parameters (chain enum, targets, values, calldatas, governor, descriptionHash) are already documented in the schema, including the propose()-argument/hashing semantics. The description adds only the chain scope at the parameter level, 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 ('GO, CAUTION or BLOCK on one Governor proposal') plus the chain scope (Ethereum or Base), and distinguishes itself from the token-verdict siblings by naming OpenZeppelin Governor proposals as the subject. An agent can tell instantly this is the governance-proposal analyzer, not a token scanner.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 operational guidance for the x402 flow: 'Call once with no payment. The result is the payment terms. Retry the same call with the signed payment at _meta["x402/payment"].' It also surfaces the cheaper preview endpoint as an alternative, but never states a when-to-use/when-not rule relative to the dao_proposal_preview sibling tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
x402_q_verdict_v1__eth_mainnet_token_verdictARead-onlyInspect
Ethereum mainnet ERC-20 verdict: AI grade and on-chain facts for one token contract. Not financial advice. Returns: a rule-graded token verdict on one token contract: grade (BASED/MID/COOKED/RADIOACTIVE, a stated rule over the contract's own state), a one-liner and a roast, and the facts read: code size, name, symbol, decimals, supply, owner(), proxy slots; plus the deepest Uniswap V3 pool's USD price and depth. No holders, no safety or legitimacy call.
Price: $0.01 USDC per call, paid by x402 (Base, Polygon or Arbitrum). GET https://api.arysphere.com/v1/ventures/x402_q_verdict_v1/eth_mainnet_token_verdict. Same payment terms as that HTTP route. Call once with no payment. The result is the payment terms. Retry the same call with the signed payment at _meta["x402/payment"]. Measured output: {"cached": false, "chain": "ethereum", "disclaimer": "Entertainment, not financial advice. Reads the contract and its deepest Uniswap V3 pool (spot price, quote-side depth): not holders, locks or future price.", "grade": "MID", "method": "verdict", "ok": true, "result": {"disclaimer": "Entertainment, not financial advice. Reads the contract and its deepest Uniswap V3 pool (spot price, quote-side depth): not holders, locks or future price.", "facts": {"address": "0xdAC17F958D2ee523a2206206994597C13D831ec7", "code_bytes": 11075, "decimals": 6, "erc20_shaped": true, "is_contract": true, "name": "Tether USD", "owner": "0xc6cde7c39eb2f0f0095f41570af89efc2c1ea828", "owner_function": true, "owner_renounced": false, "proxy_implementation": null, "proxy_slot": null, "proxy_slots_checked": ["eip1967", "eip1967_beacon"], "symbol": "USDT", "total_supply": "88301265725.970534", "total_supply_raw": "88301265725970534", "upgradeable_proxy": false}, "grade": "MID", "grade_rule": "RADIOACTIVE: not a contract, or not ERC-20 shaped (no decimals/totalSupply). COOKED: a proxy implementation slot is set (EIP-1967, its beacon, or ZeppelinOS) AND owner() names a live owner. MID: either one. BASED: neither found.", "market": {"deepest_pool": {"fee": 3000, "pool": "0x4e68ccd3e89f51c3074ca5072bbac773960dfa36", "price_usd": 0.999055, "quote": "WETH", "quote_reserve_usd": 65101393.24, "token_reserve": 23042841.153811}, "depth_rule": "pool_depth from the deepest pool's quote-side reserve in USD: <$1k none_or_dust, <$100k thin, <$5M moderate, else deep. A description of on-chain state, not advice.", "dex": "uniswap_v3", "eth_usd": 2320.82077765, "eth_usd_source": "chainlink ETH/USD 0x5f4ec3df9cbd43714fe2740f5e3616155c5b8419", "fee_tiers": [500, 3000], "pool_depth": "deep", "pools_found": 6, "price_usd": 0.999055, "quote_assets": ["WETH", "USDC"], "quote_reserve_usd": 65101393.24, "rpc_calls": 2}, "one_liner": "USDT is MID", "roast": "USDT: MID. No proxy slot set among those checked; a live owner holds the keys.", "token": "0xdAC17F958D2ee523a2206206994597C13D831ec7", "written_by": "template"}, "service": "x402_q_verdict_v1.eth_mainnet_token_verdict"}
| Name | Required | Description | Default |
|---|---|---|---|
| token | Yes | token contract, 0x + 40 hex |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses price ($0.01 USDC), accepted payment chains, the two-step handshake failure mode, and the disclaimer that results are entertainment rather than advice. It also exposes the grading rule and pool-depth thresholds, so the agent knows these are deterministic rules over contract state, not a safety judgment. Consistent with readOnlyHint=true (a paid read, not a mutation).
Agents need to know what a tool does to the 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 scope, followed by payment mechanics and return fields; nothing is buried. The embedded measured-output blob is long and repeats the disclaimer verbatim twice, but with no output schema it is the only channel conveying the return shape, so most of the length 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?
There is no output schema, and the description compensates fully: it enumerates the returned facts (code size, name, symbol, decimals, supply, owner(), proxy slots) and the market block (deepest Uniswap V3 pool price and depth), plus the grade enum and grading rule. An agent can predict the response and the payment failure mode 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?
Only one parameter and schema coverage is 100% ('token contract, 0x + 40 hex'), so the schema carries the format burden. The description adds that the contract must be an Ethereum mainnet ERC-20 read for its own state, but adds no further argument semantics. Baseline 3 applies when the schema already documents the 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 concrete verb+resource+scope: a rule-based grade plus on-chain facts for one Ethereum mainnet ERC-20 contract, with an explicit negative scope ('No holders, no safety or legitimacy call'). The chain qualifier implicitly separates it from base_token_verdict_v3, but the sibling eth_mainnet_token_verdict_preview is never mentioned, so the agent must infer which of the two mainnet tools 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 explicit operational guidance for the x402 payment flow ('Call once with no payment. The result is the payment terms. Retry the same call with the signed payment at _meta["x402/payment"]'), which is non-obvious and essential. It also rules out what the tool will not answer. It does not, however, say when to use the _preview sibling or when a Base token should route elsewhere.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
x402_q_verdict_v1__eth_mainnet_token_verdict_previewARead-onlyInspect
Token Quick Check: Ethereum mainnet contract facts -- name, supply, owner, code. Not financial advice. Returns: a token verdict preview on one token contract: the contract facts the full verdict reads -- code size, name, symbol, decimals, total supply, owner(), proxy slots -- read from the chain. No grade, no model, no pool price, no holders, no safety or legitimacy call.
Price: $0.002 USDC per call, paid by x402 (Base, Polygon or Arbitrum). GET https://api.arysphere.com/v1/ventures/x402_q_verdict_v1/eth_mainnet_token_verdict_preview. Same payment terms as that HTTP route. Call once with no payment. The result is the payment terms. Retry the same call with the signed payment at _meta["x402/payment"]. Measured output: {"cached": false, "chain": "ethereum", "method": "preview", "note": "A preview: the contract's own state read from the chain. No grade, no model, no pool price, no holders, no safety or legitimacy call. Not financial advice.", "ok": true, "result": {"facts": {"address": "0xdAC17F958D2ee523a2206206994597C13D831ec7", "code_bytes": 11075, "decimals": 6, "erc20_shaped": true, "is_contract": true, "name": "Tether USD", "owner": "0xc6cde7c39eb2f0f0095f41570af89efc2c1ea828", "owner_function": true, "owner_renounced": false, "proxy_implementation": null, "proxy_slot": null, "proxy_slots_checked": ["eip1967", "eip1967_beacon"], "symbol": "USDT", "total_supply": "88301265725.970534", "total_supply_raw": "88301265725970534", "upgradeable_proxy": false}, "token": "0xdAC17F958D2ee523a2206206994597C13D831ec7"}, "service": "x402_q_verdict_v1.eth_mainnet_token_verdict_preview"}
| Name | Required | Description | Default |
|---|---|---|---|
| token | Yes | token contract, 0x + 40 hex |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Consistent with readOnlyHint=true and goes well beyond it: discloses the price ($0.002 USDC), accepted payment chains, the two-step unpaid-then-repaid handshake, and exactly which state is read from chain (code size, decimals, supply, owner(), proxy slots). It also explicitly bounds the behavior by listing what it does NOT do (no grade, no pool price, no holders, no safety 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 purpose well in the first line, which is a strength. However, the exclusion list ('No grade, no model, no pool price, no holders, no safety or legitimacy call') is repeated verbatim in the description body and again inside the sample note field, and the full raw JSON blob bloats the text without adding much beyond what one example would.
Shorter descriptions cost fewer tokens and are easier for agents to parse. 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 no output schema, the embedded measured output usefully shows return shape, and the payment mechanics, scope, and exclusions are all covered. Minor gaps remain: no failure/error behavior (e.g., what happens if the address is not a contract or on the wrong chain), which the 'erc20_shaped'/'is_contract' fields hint at but the text never explains.
Complex tools with many parameters or behaviors need more documentation. 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 the schema already documents it fully ('token contract, 0x + 40 hex' at 100% coverage), so baseline applies. The description adds only 'one token contract' plus a sample USDT address in the measured output; it offers no format, checksum, or non-ERC20 handling guidance 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 concrete verb+resource: reading Ethereum mainnet contract facts (name, supply, owner, code) for a single token. It also names what the sibling eth_mainnet_token_verdict adds ('the contract facts the full verdict reads') and excludes Base by branding the chain, so the agent can distinguish it from the other verdict tools 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 explicit procedural guidance for the x402 flow: 'Call once with no payment. The result is the payment terms. Retry the same call with the signed payment at _meta["x402/payment"].' It implicitly frames when this is the right tool (facts only, no grade/model), but never says outright 'use eth_mainnet_token_verdict when you need a grade', so routing to the full-verdict sibling 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.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
2 tool updates
- Changed
x402_q_verdict_v1__dao_proposal_preview10 fields changed- removed
Input schema / additionalPropertiesRemoved value: -false - added
Input schema / descriptionAdded value: +"One OpenZeppelin Governor proposal, named by the chain, the Governor and the exact propose() arguments (they hash to the proposal id, checked on chain). Copy them from the ProposalCreated event or the proposal page." - added
Input schema / properties / calldatasAdded value: +{ + "description": "the call data for each target, 0x hex, one per target", + "items": { + "pattern": "^0x([0-9a-fA-F]{2})*$", + "type": "string" + }, + "maxItems": 10, + "minItems": 1, + "type": "array" +} - added
Input schema / properties / chainAdded value: +{ + "description": "the chain the Governor is on", + "enum": [ + "ethereum", + "base" + ] +} - added
Input schema / properties / descriptionAdded value: +{ + "description": "optional, the description text, for display only", + "maxLength": 2000, + "type": "string" +} - added
Input schema / properties / descriptionHashAdded value: +{ + "description": "keccak256 of the proposal description, 0x + 64 hex", + "pattern": "^0x[0-9a-fA-F]{64}$", + "type": "string" +} - added
Input schema / properties / governorAdded value: +{ + "description": "the Governor contract, 0x + 40 hex", + "pattern": "^0x[0-9a-fA-F]{40}$", + "type": "string" +} - added
Input schema / properties / targetsAdded value: +{ + "description": "the proposal's target contracts, in order, 0x + 40 hex each", + "items": { + "pattern": "^0x[0-9a-fA-F]{40}$", + "type": "string" + }, + "maxItems": 10, + "minItems": 1, + "type": "array" +} - added
Input schema / properties / valuesAdded value: +{ + "description": "the wei sent with each call, decimal strings, one per target", + "items": { + "pattern": "^[0-9]{1,78}$", + "type": "string" + }, + "maxItems": 10, + "minItems": 1, + "type": "array" +} - added
Input schema / requiredAdded value: +[ + "chain", + "governor", + "targets", + "values", + "calldatas", + "descriptionHash" +]
- Changed
x402_q_verdict_v1__dao_proposal_verdict10 fields changed- removed
Input schema / additionalPropertiesRemoved value: -false - added
Input schema / descriptionAdded value: +"One OpenZeppelin Governor proposal, named by the chain, the Governor and the exact propose() arguments (they hash to the proposal id, checked on chain). Copy them from the ProposalCreated event or the proposal page." - added
Input schema / properties / calldatasAdded value: +{ + "description": "the call data for each target, 0x hex, one per target", + "items": { + "pattern": "^0x([0-9a-fA-F]{2})*$", + "type": "string" + }, + "maxItems": 10, + "minItems": 1, + "type": "array" +} - added
Input schema / properties / chainAdded value: +{ + "description": "the chain the Governor is on", + "enum": [ + "ethereum", + "base" + ] +} - added
Input schema / properties / descriptionAdded value: +{ + "description": "optional, the description text, for display only", + "maxLength": 2000, + "type": "string" +} - added
Input schema / properties / descriptionHashAdded value: +{ + "description": "keccak256 of the proposal description, 0x + 64 hex", + "pattern": "^0x[0-9a-fA-F]{64}$", + "type": "string" +} - added
Input schema / properties / governorAdded value: +{ + "description": "the Governor contract, 0x + 40 hex", + "pattern": "^0x[0-9a-fA-F]{40}$", + "type": "string" +} - added
Input schema / properties / targetsAdded value: +{ + "description": "the proposal's target contracts, in order, 0x + 40 hex each", + "items": { + "pattern": "^0x[0-9a-fA-F]{40}$", + "type": "string" + }, + "maxItems": 10, + "minItems": 1, + "type": "array" +} - added
Input schema / properties / valuesAdded value: +{ + "description": "the wei sent with each call, decimal strings, one per target", + "items": { + "pattern": "^[0-9]{1,78}$", + "type": "string" + }, + "maxItems": 10, + "minItems": 1, + "type": "array" +} - added
Input schema / requiredAdded value: +[ + "chain", + "governor", + "targets", + "values", + "calldatas", + "descriptionHash" +]
1 tool update
- Removed
x402_q_verdict_v1__base_token_verdict_preview
6 tool updates
- Removed
x402_q_verdict_v1__base_eth_preview_hybrid_bundle - Removed
x402_q_verdict_v1__cross_chain_verdict_bundle - Removed
x402_q_verdict_v1__deepseek_v3_2_chat - Removed
x402_q_verdict_v1__eth_verdict_cross_preview_bundle - Removed
x402_q_verdict_v1__llama3_1_8b_chat - Removed
x402_q_verdict_v1__qwen3_32b_chat
2 tool updates
- Added
x402_q_verdict_v1__dao_proposal_preview - Added
x402_q_verdict_v1__dao_proposal_verdict
2 tool updates
- Removed
x402_q_verdict_v1__complete_cross_chain_verdict_bundle - Removed
x402_q_verdict_v1__cross_chain_token_preview_bundle
1 tool update
- Added
x402_q_verdict_v1__deepseek_v3_2_chat
1 tool update
- Removed
x402_q_verdict_v1__base_eth_token_verdict_bundle
1 tool update
- Removed
x402_q_verdict_v1__base_verdict_eth_preview_bundle
1 tool update
- Added
x402_q_verdict_v1__base_eth_preview_hybrid_bundle
3 tool updates
- Added
x402_q_verdict_v1__complete_cross_chain_verdict_bundle - Removed
x402_q_verdict_v1__deepseek_v3_2_chat - Added
x402_q_verdict_v1__eth_verdict_cross_preview_bundle
1 tool update
- Added
x402_q_verdict_v1__base_verdict_eth_preview_bundle
3 tool updates
- Added
x402_q_verdict_v1__cross_chain_token_preview_bundle - Added
x402_q_verdict_v1__cross_chain_verdict_bundle - Added
x402_q_verdict_v1__eth_mainnet_token_verdict
3 tool updates
- Added
x402_q_verdict_v1__base_token_verdict_preview - Added
x402_q_verdict_v1__llama3_1_8b_chat - Added
x402_q_verdict_v1__qwen3_32b_chat
2 tool updates
- Added
x402_q_verdict_v1__base_eth_token_verdict_bundle - Added
x402_q_verdict_v1__deepseek_v3_2_chat
2 tool updates
- Added
x402_q_verdict_v1__base_token_verdict_v3 - Added
x402_q_verdict_v1__eth_mainnet_token_verdict_preview
10 tool updates
- Removed
x402_bazaar_token_verdict_v2__base_deepseek_chat - Removed
x402_bazaar_token_verdict_v2__base_erc20_balance_preview - Removed
x402_bazaar_token_verdict_v2__base_erc20_supply_facts_preview - Removed
x402_bazaar_token_verdict_v2__base_erc20_token_facts_preview - Removed
x402_bazaar_token_verdict_v2__base_llama3_1_8b_chat - Removed
x402_bazaar_token_verdict_v2__base_qwen3_32b_chat - Removed
x402_bazaar_token_verdict_v2__base_token_facts_preview - Removed
x402_bazaar_token_verdict_v2__base_token_verdict_preview - Removed
x402_bazaar_token_verdict_v2__base_token_verdict_v3 - Removed
x402_bazaar_token_verdict_v2__deepseek_v4_flash_chat
Related MCP Connectors
Pay-per-call onchain reads (Base, Ethereum, Gnosis), token verdicts and LLM chat over x402 USDC
Pay-per-call AI infra for agents: DeFi market data, LLM inference, STT/TTS. x402 v2, USDC on Base.
Pay-per-call crypto market intelligence for AI agents. USDC on Base via x402.
34 pay-per-call AI and data tools over x402; USDC on Base; no API keys.
Related MCP Servers
AlicenseAqualityDmaintenancePre-trade DeFi intelligence for AI agents. 20 paid x402 endpoints, USDC on Base.23113 npm1MIT- AlicenseNot gradedqualityCmaintenanceEnables AI agents to run honeypot and owner-power safety checks on Base tokens and to read wallet ETH and USDC balances, with every answer sourced from real chain data and paid per call in USDC via x402.MIT
- AlicenseAqualityBmaintenancePay-per-call data and tools for AI agents over x402, by UnyKorn. 360 endpoints: DeFi and market data, multi-chain wallet reads, wallet and token risk signals, SEC filings, web and domain intel, and AI text tools. Settled per call in USDC on Base ($0.001-$0.25). No API keys or subscriptions; unpaid calls return the exact quote first.21MIT
- AlicenseNot gradedqualityCmaintenanceProvides onchain intelligence tools for Base, including token risk checks, wallet PnL, and leaderboard data, with paid calls settled per-request in USDC via x402.307 npmMIT
Glama MCP Gateway
Add one secure layer between your agents and this server.