AgentFeed
Server Details
Crypto briefs and data, Solana pre-trade checks, sanctions, papers, NLP. 102 tools, USDC, 20 chains.
- Status
- Healthy
- Uptime
- 100.0% over 65 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- Repository
- seekdaseek/agentfeed
- GitHub Stars
- 0
- Server Listing
- io.github.seekdaseek/agentfeed
- ChatGPT
- –
- Claude
- –
TDQS
Scored across 102 tools
Many tools overlap heavily in the Hyperliquid/crypto market-data space: get_market_snapshot, get_trade_context, get_positioning, get_market_state, get_perp, get_signal_board, and get_coin_signal all bundle similar price/funding/OI/liquidation information. Liquidation and funding families are similarly crowded (get_liq_pulse, get_liquidation_leaders, get_recent_liquidations, get_liq_feed, get_liquidation_stats; get_funding_rate, get_funding_pulse, get_funding_extremes, get_funding_radar). Descriptions add useful nuance, but an agent can easily misselect among near-duplicates.
Almost every tool follows a consistent get_ snake_case noun pattern (get_base_balance, get_liq_heatmap, get_sec_filings). The main outlier is the free pricing tool, which breaks the otherwise predictable convention. Minor, but enough to keep it from a perfect score.
102 tools is far beyond a well-scoped set and includes multiple overlapping market-data and utility endpoints. The surface is extremely broad, making discovery, selection, and maintenance difficult. This is an extreme mismatch for a coherent MCP server.
The server covers a wide range of domains: crypto market data, Solana/Base wallet utilities, SEC filings, web extraction, hashing, OCR, and x402 tooling. However, it is a sprawling aggregator rather than a complete lifecycle for any one domain, and obvious cohesive gaps remain (e.g., no clear historical OHLC/candlestick family, no order execution or account management). It is broad but not clearly complete for a stated purpose.
Available Tools
102 toolsget_anomaly_flagAnomaly flagARead-onlyIdempotentInspect
Use when an agent needs one check for what is abnormal across Hyperliquid perps right now. Returns funding, liquidation and open-interest anomalies in one ranked list, using the thresholds of /api/market-state, or nothing abnormal with what was checked. If a source is stale and nothing else was found it answers 503 rather than an all-clear, and is never billed. Costs 0.02 USDC per call (x402, USDC on Solana, Base, Polygon, Arbitrum or Arc).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | the get_anomaly_flag payload; a real captured example is free at https://x402.ochinimus.app/api/sample/get_anomaly_flag |
| tool | Yes | the tool that produced this payload |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond the annotations by disclosing threshold source (/api/market-state), the empty-result shape ('nothing abnormal with what was checked'), and a non-obvious failure semantic: stale source with no other findings returns 503 instead of a false all-clear. It also discloses cost (0.02 USDC per call, x402 payment rails) and that error responses are never billed — precisely the operational facts 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?
Three sentences, front-loaded with the usage trigger, then the return contract, then error/payment semantics in descending order of importance. No sentence restates the title or wastes space on the read-only nature already covered by annotations.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, the description needn't explain return fields, and it doesn't. It still supplies the three things the schema and annotations cannot: what is measured, the 503-instead-of-all-clear edge case, and the per-call price and payment chain — complete for a zero-parameter paid 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?
Zero parameters with 100% schema coverage, so there is nothing for the description to disambiguate. The description correctly implies no inputs are required and instead spends its words on scope and cost.
Input schemas describe structure but not intent. Descriptions should explain 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 scope ('what is abnormal across Hyperliquid perps right now') and the exact output shape: funding, liquidation and open-interest anomalies in one ranked list. The 'one check / one ranked list' framing implicitly differentiates it from the per-metric siblings (get_funding_extremes, get_oi_spike_scan, get_liq_heatmap), but no sibling is named 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?
'Use when an agent needs one check for what is abnormal' gives a clear triggering condition, and the aggregation framing points to it over single-metric tools. There is no explicit when-not or named alternative, so the routing 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.
get_base_balanceBase wallet balanceARead-onlyIdempotentInspect
ERC20 and native ETH wallet balance on Base or Ethereum mainnet, for a 0x address or an ENS name. decimals() and symbol() are read from the contract at request time rather than assumed, because assuming 18 reports a USDC balance a trillion times too large. ENS is resolved through two independent resolvers and the answer is used only when they agree, so a wrong address can never produce a confident balance for the wrong wallet. An unsupported chain is refused rather than silently answered from the wrong one. Costs 0.005 USDC per call (x402, USDC on Solana, Base, Polygon, Arbitrum or Arc).
| Name | Required | Description | Default |
|---|---|---|---|
| chain | No | base (default) or ethereum | |
| token | No | ERC20 contract address, or a known ticker: USDC, WETH, DAI, CBBTC, USDBC, CBETH, AERO, EURC. Omit for the native ETH balance | |
| address | Yes | 0x address (40 hex) or an ENS name ending .eth |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | the get_base_balance payload; a real captured example is free at https://x402.ochinimus.app/api/sample/get_base_balance |
| tool | Yes | the tool that produced this payload |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond the readOnly/idempotent/non-destructive annotations by disclosing that decimals()/symbol() are read live from the contract, that ENS is resolved via two independent resolvers with agreement required, that unsupported chains are rejected rather than mis-answered, and that each call costs 0.005 USDC. These are exactly the 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?
Purpose and scope are front-loaded in the first sentence, followed by the highest-value behavioral caveats. Some sentences carry defensive/marketing flavor (the 'trillion times too large' example, resolver trust prose) that is longer than strictly necessary, but none are wasted entirely.
Shorter descriptions cost fewer tokens and are easier for agents to parse. 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; the safety profile is covered by annotations and the pricing, chain-support, and ENS-resolution behaviors are all stated. 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 genuine meaning: it explains the address/ENS contract for the required param and why token metadata is resolved at request time rather than assumed, which contextualizes the token parameter's 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?
Opens with a specific verb+resource+scope: ERC20 and native ETH balance on Base or Ethereum mainnet for an address or ENS name. An agent can immediately tell this apart from pricing/gas/wallet-activity 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?
Gives clear usage context: chain must be base or ethereum, unsupported chains are refused, and cost is 0.005 USDC via x402. It does not name a sibling alternative (e.g. get_wallet_holdings) or state when NOT to use this tool, 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.
get_base_gasBase gas priceARead-onlyIdempotentInspect
Base gas price (chain 8453) in BOTH gwei and wei, with base fee, priority fee and block number when the node supplies them. Both units are returned because a caller asking in wei and a caller asking in gwei are asking the same question. Served from keyless public RPC with three-node fallback, so there is no API key to rotate or expire. Costs 0.005 USDC per call (x402, USDC on Solana, Base, Polygon, Arbitrum or Arc).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | the get_base_gas payload; a real captured example is free at https://x402.ochinimus.app/api/sample/get_base_gas |
| tool | Yes | the tool that produced this payload |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond the annotations: it discloses a per-call cost of 0.005 USDC with the x402 payment rails and accepted chains, and states the data comes from keyless public RPC with three-node fallback so no API key must be managed. This is exactly the auth/payment/reliability context annotations cannot express. No contradiction with readOnlyHint/idempotentHint.
Agents need to know what a tool does to the 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/source facts are compact and useful. The 'a caller asking in wei and a caller asking in gwei are asking the same question' sentence is mildly redundant justification that could be trimmed, but the whole is still 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 needn't be described; the description still names the returned fields and notes they appear 'when the node supplies them.' Combined with annotations covering safety and the description covering cost and sourcing, nothing needed 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?
The tool takes zero parameters, so per the rubric the baseline is 4. The description correctly adds no parameter noise, and its unit discussion (gwei and wei both returned) usefully frames the no-argument call.
Input schemas describe structure but not intent. Descriptions should explain 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: 'Base gas price (chain 8453)' plus the exact fields returned (base fee, priority fee, block number). An agent immediately knows what this retrieves. It stops short of 5 because it never distinguishes itself from overlapping siblings like get_priority_fees or get_base_balance, which an agent scanning a 90-tool list would need.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use or when-not-to-use guidance, and no alternative is named despite get_priority_fees and get_eth_price sitting adjacent and partially overlapping. The sentence about wei vs gwei explains output units, not tool selection. The agent must infer usage purely from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_base_launchesBase launchesARead-onlyIdempotentInspect
Use when an agent needs the newest token launches on Base. Returns pools created on Base in the last 24 hours on Uniswap V4, V3, V2 and Aerodrome, newest first, with launchpad, liquidity and volume. Each carries its pair, creation time, launchpad named from the V4 hook (Zora, Clanker, Doppler, Flaunch), quote-side liquidity, 24h volume and swaps, and our honeypot simulation for the busiest. Read from Base logs every minute; a snapshot older than 5 minutes answers 503. Costs 0.02 USDC per call (x402, USDC on Solana, Base, Polygon, Arbitrum or Arc).
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | launches returned, newest first, 1-100, default 20 | |
| min_liq_usd | No | minimum quote-side liquidity (ETH, WETH or USDC held) in USD, default 1000; 0 lists every launch |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | the get_base_launches payload; a real captured example is free at https://x402.ochinimus.app/api/sample/get_base_launches |
| tool | Yes | the tool that produced this payload |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond the annotations by disclosing data freshness (logs refreshed every minute, stale snapshot older than 5 minutes returns 503), the exact return contents, and the x402 payment model with cost and accepted chains. These are operationally critical facts an agent cannot infer from readOnlyHint/idempotentHint 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 trigger and scope, then builds outward to return contents, freshness, and pricing. It is dense and information-rich, though the long single paragraph enumerating return fields could be tightened 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?
Covers the trigger, the data sources and venues, the freshness SLA and failure mode (503), the payment requirement, and the return shape. Even though an output schema exists, nothing an agent needs to call this correctly or interpret a failure 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 (limit, min_liq_usd) are already fully documented with ranges and defaults. The description reinforces quote-side liquidity semantics but adds no syntax or edge-case guidance beyond the schema, 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?
States a specific verb and resource ('newest token launches on Base') plus scope: pools created in the last 24 hours across Uniswap V4/V3/V2 and Aerodrome, newest first. It clearly distinguishes itself from siblings like get_honeypot_check or get_token_risk by being a launch-feed, not a per-token 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?
Opens with an explicit trigger ('Use when an agent needs the newest token launches on Base'), giving clear when-to-use context. It doesn't name an alternative tool or state when not to use it, so it falls short of the top score.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_basisPerp basis vs oracleARead-onlyIdempotentInspect
Perp basis for any Hyperliquid perp: its mark price against Hyperliquid's oracle price (the validators' weighted median of spot venues), as a premium or discount in %, with a contango or backwardation read and the funding context. Costs 0.01 USDC per call (x402, USDC on Solana, Base, Polygon, Arbitrum or Arc).
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | USDT perp symbol e.g. SOLUSDT, BTCUSDT (default SOLUSDT) |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | the get_basis payload; a real captured example is free at https://x402.ochinimus.app/api/sample/get_basis |
| tool | Yes | the tool that produced this payload |
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 genuinely new behavioral context: a 0.01 USDC per-call cost and the x402 payment rails (Solana, Base, Polygon, Arbitrum, Arc). That payment/auth detail is valuable and not present in 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?
It is a single dense sentence that front-loads the core definition before the cost/payment tail. It is slightly long but every clause (metric definition, oracle methodology, output forms, price) earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return-value detail is not strictly required, yet the description helpfully summarizes what is returned and discloses the cost mechanism. Combined with annotations covering safety, the definition is essentially complete for a one-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?
There is a single optional parameter with 100% schema description coverage (symbol with example values and a default), so the schema already carries the semantics. The description adds nothing beyond confirming the scope is 'any Hyperliquid perp', 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?
The description names a specific metric (perp basis = mark price vs Hyperliquid oracle price), and defines the computation and its output form (premium/discount %, contango/backwardation, funding context). An agent can distinguish this clearly from siblings like get_funding_rate, get_perp, or get_spot.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 scopes the tool to 'any Hyperliquid perp' and discloses the per-call cost, which implies usage context, but gives no explicit when-to-use/when-not guidance versus adjacent siblings such as get_funding_rate or get_trade_context. 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.
get_btc_priceBTC spot priceARead-onlyIdempotentInspect
Live BTC/USD spot price read on-chain: the median of three Uniswap V3 reads on Base and Ethereum (cbBTC/USDC, cbBTC and WBTC through WETH/USDC). confidence is null: a pool publishes none. Costs 0.001 USDC per call (x402, USDC on Solana, Base, Polygon, Arbitrum or Arc).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | the get_btc_price payload; a real captured example is free at https://x402.ochinimus.app/api/sample/get_btc_price |
| tool | Yes | the tool that produced this payload |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive), yet the description adds substantial context: the three-pool median methodology, the explicit explanation that confidence is null because no pool publishes it, the per-call cost of 0.001 USDC, and the accepted payment rails (x402 on Solana, Base, Polygon, Arbitrum, Arc). The pricing/auth disclosure is exactly the kind of behavior an agent needs and 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?
Three dense sentences, purpose front-loaded before methodology, cost, and payment details. Parentheticals carry load-bearing specifics (pool pairs, payment chains) rather than filler, and nothing is redundant with the schema or annotations.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return format needn't be described, yet the description still proactively explains the null confidence field — a genuine output quirk. Methodology, cost, and data provenance are all covered, leaving no gap an agent must fill 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?
The tool takes zero parameters, so the baseline is 4. The description correctly implies no inputs are needed, and there is nothing further to clarify about 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+resource with full scope: 'Live BTC/USD spot price read on-chain', including the exact data sources (Uniswap V3 on Base and Ethereum, cbBTC/USDC, WBTC via WETH/USDC). This clearly differentiates it from siblings like get_eth_price, get_sol_price, and the generic get_spot 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 explains methodology and cost, which implies usage, but never states when to prefer this over get_spot or other price tools, nor any when-not conditions. Usage is inferable from the name and the 'live on-chain' framing, but no routing guidance is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_cascade_alertLiquidation cascade alertARead-onlyIdempotentInspect
Liquidation cascade detector for the 5 majors (SOL, BTC, ETH, XRP, DOGE): returns cascades active NOW - clustered same-side liquidations with symbol, side, USD total, prints, duration, severity (minor/major/extreme). Empty cascades array = no cascade in window. For every USDT perp we record across 3 exchanges, use get_cascade_scan. Costs 0.01 USDC per call (x402, USDC on Solana, Base, Polygon, Arbitrum or Arc).
| Name | Required | Description | Default |
|---|---|---|---|
| window | No | lookback window seconds, 30-300, default 90 | |
| min_usd | No | min summed USD, default 50000 | |
| min_events | No | min prints to qualify, default 4 |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | the get_cascade_alert payload; a real captured example is free at https://x402.ochinimus.app/api/sample/get_cascade_alert |
| tool | Yes | the tool that produced this payload |
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 genuine context beyond that: the empty-array-means-no-cascade convention and the 0.01 USDC per-call payment requirement (x402, listed chains), which is real auth/cost information 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?
Dense but front-loaded: purpose first, then return shape, then the alternative, then cost. Every sentence carries information. Slightly packed, 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?
With an output schema present, the description needn't detail return values, yet it helpfully summarizes fields and the empty-result case. It covers scope, the key alternative, and cost. Minor gap: no mention of the forecast/history siblings that share the 'cascade' namespace.
Complex tools with many parameters or behaviors need more documentation. 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 all three parameters (window, min_usd, min_events) are documented in the schema with ranges and defaults. The description adds no additional meaning about these parameters, 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+resource (liquidation cascade detector) scoped to the 5 majors, and names what it returns (active NOW, with symbol/side/USD/prints/duration/severity). It explicitly differentiates from the sibling get_cascade_scan by restricting itself to the majors.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 agent: 'For every USDT perp we record across 3 exchanges, use get_cascade_scan.' It also implies real-time-only scope ('active NOW', empty array = none). It does not, however, distinguish itself from get_cascade_history or get_cascade_forecast, which are equally close siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_cascade_backtestCascade backtestARead-onlyIdempotentInspect
Use when an agent needs what price did after past liquidation cascades. Returns a symbol's events with 15 m, 1 h, 4 h and 24 h forward returns, n, mean, median, hit rate, a bootstrap interval and a random-time baseline. Not charged on 400, 404 or 503. Costs 0.5 USDC per call (x402, USDC on Solana, Base, Polygon, Arbitrum or Arc).
| Name | Required | Description | Default |
|---|---|---|---|
| side | No | which liquidations count: long, short or both (default both) | |
| limit | No | events listed, largest first, 1 to 100, default 20; the statistics always use every event | |
| symbol | No | BTC, ETH, SOL or any symbol the backtest covers (default SOLUSDT); a symbol it does not cover answers 400 with the list that works | |
| min_usd | No | USD liquidated inside the window, 10,000 to 1,000,000,000, default 100,000 | |
| window_min | No | rolling window in minutes, 1 to 60, default 5 | |
| cooldown_min | No | minutes without a qualifying window before the next event can start, 15 to 1,440, default 60 |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | the get_cascade_backtest payload; a real captured example is free at https://x402.ochinimus.app/api/sample/get_cascade_backtest |
| tool | Yes | the tool that produced this payload |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the read-only/idempotent safety profile, but the description adds real behavioral context beyond them: the per-call price (0.5 USDC via x402, listing payment chains) and, crucially, that 400/404/503 responses are not charged. This billing/error-charging disclosure is exactly the kind of trait 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 use case, then the return payload, then cost/error terms — a sensible order with little waste. The multi-chain pricing enumeration ('Solana, Base, Polygon, Arbitrum or Arc') is slightly verbose but justified as payment detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so the description needn't detail return shape, and it correctly focuses on purpose, triggering context, and cost/error-charging behavior. For a paid, read-only analytical tool this covers what an agent needs to invoke it 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%, so every parameter (side, limit, symbol, min_usd, window_min, cooldown_min) is already documented with ranges and defaults. The description adds no parameter-level meaning beyond the schema, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a clear verb and resource: it tells you what price did after past liquidation cascades and enumerates the exact statistics returned (forward returns at 4 horizons, n, mean, median, hit rate, bootstrap interval, random-time baseline). This distinguishes it from alerting/history siblings by framing it as a backtest, though it doesn't name 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?
'Use when an agent needs what price did after past liquidation cascades' gives a clear triggering context. But with many close siblings (get_cascade_history, get_cascade_forecast, get_cascade_alert, get_cascade_scan), the description offers no when-not or alternative-routing guidance to disambiguate among them.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_cascade_forecastLiquidation cascade forecastARead-onlyIdempotentInspect
Liquidation forecast, FORWARD-LOOKING and not a description of what already happened. Returns the probability that a symbol will liquidate more in the NEXT 15 minutes than its own 90th-percentile 15-minute window. Calibrated on our whole multi-venue liquidation tape, over 6 million liquidations, refit every 6 hours; no exchange publishes that history, so it cannot be rebuilt. Every answer carries the exact question, the threshold in USD, the window it read, the number of historical occurrences behind the number, and instructions for settling it yourself from the public feed. When a state has too little history the tool DECLINES rather than guessing, and says why. The settled record is free at /api/forecast-record. Costs 0.02 USDC per call (x402, USDC on Solana, Base, Polygon, Arbitrum or Arc).
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | SOL, BTC, ETH or any USDT perp e.g. SXTUSDT (default SOL) | |
| symbols | No | comma separated for a batch, max 20, e.g. SOL,BTC,ETH |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | the get_cascade_forecast payload; a real captured example is free at https://x402.ochinimus.app/api/sample/get_cascade_forecast |
| tool | Yes | the tool that produced this payload |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only cover the safety profile (readOnly, idempotent, non-destructive, open-world). The description adds substantial non-structured context: 0.02 USDC per call via x402 on named chains, decline-rather-than-guess behavior with a stated reason, refit cadence, calibration provenance, and self-settlement instructions. This is well beyond what 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?
The single differentiating claim (forward-looking, next-15-min probability) is front-loaded, and each subsequent sentence carries useful content (return contents, decline behavior, cost). It is dense and longer than ideal, but little 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, the description need not explain return values, and it still covers the decision-critical extras: cost, decline semantics, calibration, and settlement. 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 description coverage is 100% and both parameters (symbol, symbols) are documented there, so the baseline is 3. The description references 'the window it read' and 'the threshold in USD' but adds no syntax, batch limits, or default 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+resource (forward-looking liquidation forecast) and pins down the exact output semantics: probability a symbol liquidates more in the next 15 minutes than its own 90th-percentile window. The explicit 'FORWARD-LOOKING and not a description of what already happened' cleanly separates it from sibling history tools like get_cascade_history.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Contrasts the tool against retrospective alternatives ('not a description of what already happened') and tells the agent about the free settled record at /api/forecast-record, which implies the paid-vs-free choice. However it never names the sibling get_cascade_forecast_free or get_cascade_alert directly, so routing is inferred rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_cascade_forecast_freeFree cascade forecastARead-onlyIdempotentInspect
FREE taster: the full-quality liquidation forecast for SOL, no delay and nothing withheld. Use it to check the calibration before paying for coverage of the other ~345 symbols. Free.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | the get_cascade_forecast_free payload |
| tool | Yes | the tool that produced this payload |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and non-destructive behavior. The description adds value by explaining the free nature, the scope (SOL only), and the purpose of calibration checking, which goes beyond the structured metadata.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the key facts: 'FREE taster' and 'full-quality liquidation forecast for SOL.' No filler, every word contributes to understanding the tool's scope and purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is complete for an agent to select and invoke correctly. It explains what, scope, and why to use it. The output schema exists, so return format details are not required. It fully covers the free vs. paid distinction and the use case.
Complex tools with many parameters or behaviors need more documentation. 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 zero parameters and 100% schema coverage (empty schema), the description has no need to explain parameters. The baseline for 0-param tools is 4, and the description appropriately omits any param details.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it is a free liquidation forecast for SOL, explicitly noting it is the 'full-quality' version with 'no delay and nothing withheld.' It distinguishes itself from the paid sibling get_cascade_forecast by being free and limited to SOL, making its purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly tells when to use: 'Use it to check the calibration before paying for coverage of the other ~345 symbols.' This implies the alternative (get_cascade_forecast) for broader coverage and provides clear context for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_cascade_historyCascade historyARead-onlyIdempotentInspect
Liquidation cascade history: past clustered same-side flush events reconstructed from our own tape, with start and end, prints, USD total and peak print, up to 72h back. /api/cascade tells you what is happening NOW; this tells you what already happened. Costs 0.03 USDC per call (x402, USDC on Solana, Base, Polygon, Arbitrum or Arc).
| Name | Required | Description | Default |
|---|---|---|---|
| gap_s | No | max gap seconds within an event, default 60 | |
| hours | No | 1-72, default 24 | |
| scope | No | symbol = just this symbol (default), all = every recorded USDT perp | |
| symbol | No | USDT perp symbol e.g. SOLUSDT, BTCUSDT (default SOLUSDT) | |
| min_usd | No | min event USD, default 100k (250k for scope=all) |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | the get_cascade_history payload; a real captured example is free at https://x402.ochinimus.app/api/sample/get_cascade_history |
| tool | Yes | the tool that produced this payload |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover readOnly/idempotent/non-destructive/openWorld, but the description adds genuinely new behavioral facts: the 0.03 USDC per-call cost, x402 payment flow and accepted chains, the 72h retention window, and that events are reconstructed from the provider's own tape. These are material for deciding whether to call the tool and are not in any structured field.
Agents need to know what a tool does to the 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 tight sentences, front-loaded with what the tool returns before the disambiguation and cost note. Every sentence carries distinct information (data shape, sibling contrast, price), 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?
With an output schema present, return values need no prose, and annotations carry the safety profile. The description closes the remaining gaps an agent would care about: cost, payment mechanism, retention window, and how this differs from the live cascade endpoint.
Complex tools with many parameters or behaviors need more documentation. 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 gap_s, hours, scope, symbol and min_usd are all documented in the schema. The description only reinforces the 72h retention bound, adding no syntax or default detail beyond what the schema already gives; 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 (liquidation cascade history) and defines exactly what is returned: clustered same-side flush events with start/end, prints, USD total and peak print. The explicit contrast with '/api/cascade' separates it from the live-scan 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?
Clearly routes the agent: '/api/cascade tells you what is happening NOW; this tells you what already happened', giving a concrete when-to-use condition versus the live tool. It stops short of distinguishing itself from the other history siblings (get_liq_history, get_recent_liquidations, get_last_liquidation), so it is not exhaustive.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_cascade_scanFull universe cascade scanARead-onlyIdempotentInspect
Liquidation cascade scan across EVERY USDT perp we record at once, not just the majors: symbol, side liquidated, USD total, prints, duration, severity. Computed from our own multi-venue liquidation tape. Costs 0.05 USDC per call (x402, USDC on Solana, Base, Polygon, Arbitrum or Arc).
| Name | Required | Description | Default |
|---|---|---|---|
| window | No | lookback window seconds, 30-300, default 90 | |
| min_usd | No | min summed USD, default 50000 | |
| min_events | No | min prints to qualify, default 4 |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | the get_cascade_scan payload; a real captured example is free at https://x402.ochinimus.app/api/sample/get_cascade_scan |
| tool | Yes | the tool that produced this payload |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/openWorld/idempotent/destructive, so the safety profile is covered. The description adds genuinely new behavioral context: it is computed from 'our own multi-venue liquidation tape' and costs 0.05 USDC per call via x402 across five specific chains, which is real payment/auth information 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?
Two sentences, front-loaded with the core purpose and scope, followed by the data source and cost. No filler; every clause carries information (scope, output fields, provenance, price).
Shorter descriptions cost fewer tokens and are easier for agents to parse. 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, and the description covers purpose, scope, provenance, and cost. It is essentially complete; only minor gaps remain (e.g., how the window/severity thresholds interact), which the schema largely absorbs.
Complex tools with many parameters or behaviors need more documentation. 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 all three params (window, min_usd, min_events) are fully documented with defaults and ranges in the schema. The description adds no parameter semantics beyond what the schema provides, 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 gives a specific verb and resource ('Liquidation cascade scan across EVERY USDT perp') and explicitly carves out scope versus other tools with 'not just the majors', then lists the returned dimensions (symbol, side liquidated, USD total, prints, duration, severity). An agent can tell this is a full-universe scan rather than a majors-only feed.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 'not just the majors' phrasing implies when to prefer this over a narrower feed, but it names no alternative among the many sibling liquidation tools (get_liq_feed, get_liquidation_stats, get_cascade_history, get_recent_liquidations, etc.). Usage is implied rather than stated, leaving the agent to guess which sibling to pick.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_claim_checkClaim checkARead-onlyIdempotentInspect
Use when an agent needs a short claim checked against sources. Returns SUPPORTED, CONTRADICTED or INSUFFICIENT, with every supporting line quoted word for word from a filing, Wikipedia article or URL. No readable source answers 404 or 503, not charged. Costs 0.15 USDC per call (x402, USDC on Solana, Base, Polygon, Arbitrum or Arc).
| Name | Required | Description | Default |
|---|---|---|---|
| urls | No | up to 3 https URLs of pages that should settle it, comma separated or repeat the parameter; omit them and the service reads one SEC filing when the claim carries an explicit ticker such as $AAPL, else the Wikipedia articles the claim names | |
| claim | Yes | the claim to check: one statement of fact, 10 to 300 characters |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | the get_claim_check payload; a real captured example is free at https://x402.ochinimus.app/api/sample/get_claim_check |
| tool | Yes | the tool that produced this payload |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds substantial context beyond the readOnly/openWorld/idempotent annotations: verbatim-quoted supporting lines, the three verdict outcomes, that 404/503 sources are not charged, and the exact price plus payment rails (x402, USDC on five chains). That is precisely the billing and failure semantics an autonomous agent needs before spending money.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four tight sentences: trigger first, output contract second, failure/refund third, price last. No repetition of the annotation flags and 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 needn't be spelled out, yet the description still surfaces the verdict vocabulary. Combined with the cost, payment networks and no-charge-on-unreadable-source rule, an agent has everything required to decide and 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?
Schema coverage is 100% and the schema already documents both `claim` (10–300 chars, single statement) and `urls` (up to 3 https URLs, fallback behaviour). The description adds only the soft hint 'short claim' and nothing about URL format or the max-of-3 limit, so it does not meaningfully exceed 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 ('a short claim checked against sources') and immediately names the output contract (SUPPORTED / CONTRADICTED / INSUFFICIENT), which clearly separates it from siblings like get_extract, get_summarize or get_wiki that fetch or condense content rather than adjudicate a claim.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 an explicit trigger ('Use when an agent needs a short claim checked against sources') and the schema-described default behaviour (reads an SEC filing for ticker claims, else the Wikipedia articles named) tells the agent what happens when no URLs are supplied. It stops short of naming when NOT to use it or pointing at an alternative sibling.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_classifyText classificationARead-onlyIdempotentInspect
Use when an agent needs text sorted into its own categories. Returns a score per label that sums to 1 and the best label, for up to 4,000 characters and 2 to 20 labels. Labels are names, never instructions. Cached 24 hours. Costs 0.005 USDC per call (x402, USDC on Solana, Base, Polygon, Arbitrum or Arc).
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes | the text to classify, up to 4,000 characters | |
| labels | Yes | 2 to 20 labels, comma separated, e.g. billing,bug,feature |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | the get_classify payload; a real captured example is free at https://x402.ochinimus.app/api/sample/get_classify |
| tool | Yes | the tool that produced this payload |
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 adds genuinely new operational facts: 24-hour caching and a 0.005 USDC per-call fee via x402 across named chains. The "labels are names, never instructions" note is a useful injection-safety signal. Error/rate-limit behavior is still unstated.
Agents need to know what a tool does to the 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 usage trigger, then output shape, constraints, caching and pricing. Every sentence carries information, though the chain enumeration adds length that borders on list-dumping.
Shorter descriptions cost fewer tokens and are easier for agents to parse. 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 (they are described anyway as a bonus), and annotations carry the safety profile. The description supplies cost, caching and input limits, leaving little an agent needs to invoke it correctly, though no failure or retry guidance is given.
Complex tools with many parameters or behaviors need more documentation. 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 4,000-character and 2-to-20-label limits are already documented and the description only reinforces them. It does add one semantic constraint absent from the schema – that labels must be names rather than instructions – which justifies a bump above 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: sorting text into caller-provided categories, with a clear output shape (per-label scores summing to 1 plus a best label). It does not explicitly differentiate itself from near-neighbors like get_extract or get_summarize, 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?
"Use when an agent needs text sorted into its own categories" gives a clear triggering context and implicitly points at the caller supplying labels. There are no when-not conditions or named alternative tools, so it stops at a solid 4.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_coin_signalCoin signalARead-onlyIdempotentInspect
Signal for one Hyperliquid perp, for trading bots. Everything on the signal board for the coin (price changes, funding, open interest, liquidations with their z-score, whale net position and tilt, flags) plus the 15-minute liquidation cascade probability from our forecast model, the nearest liquidation cluster above and below price from the 24 h liquidation heatmap, and the top 3 whale positions (side, size, entry, liquidation price). BTC, ETH, SOL, HYPE or any other Hyperliquid perp. Poll every 1-5 minutes. An unknown coin answers 400 with the supported list and a stale source answers 503; neither is billed. Costs 0.004 USDC per call (x402, USDC on Solana, Base, Polygon, Arbitrum or Arc).
| Name | Required | Description | Default |
|---|---|---|---|
| coin | Yes | a Hyperliquid perp, e.g. BTC, ETH, SOL, HYPE, kPEPE |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | the get_coin_signal payload; a real captured example is free at https://x402.ochinimus.app/api/sample/get_coin_signal |
| tool | Yes | the tool that produced this payload |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well past the annotations by disclosing a polling cadence, the failure semantics (unknown coin → 400 with supported list, stale source → 503, neither billed), and the cost/payment model (0.004 USDC per call, x402, five chains). Annotations only cover read-only/idempotent safety; the billing and error behavior are pure added value 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-loaded with the purpose, and the bundled-fields parenthetical, while long, is doing real work. It is a single dense paragraph though, and the cost/error details at the tail could be split out for faster scanning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. 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 paid composite endpoint, everything an agent needs is present: scope, coin universe, freshness guidance, cost, and both documented failure modes; return values are already covered by the output schema and annotations cover safety.
Complex tools with many parameters or behaviors need more documentation. 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 parameter already documents examples, so the baseline is 3; the description adds that the coin is not a fixed whitelist ('or any other Hyperliquid perp') and explains what happens with an unrecognized symbol. That meaningfully reduces wrong-input risk but stops short of format/symbol-syntax guidance beyond the examples.
Input schemas describe structure but not intent. Descriptions should explain 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 ('Signal for one Hyperliquid perp') and then enumerates exactly what the payload contains (price changes, funding, OI, liquidations with z-score, whale positioning, cascade probability, liquidation clusters, top 3 whale positions). An agent can distinguish this composite 'everything for one coin' tool from siblings like get_signal_board, get_perp, or get_liq_heatmap 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 operating context ('for trading bots', 'Poll every 1-5 minutes') and an explicit input universe (BTC, ETH, SOL, HYPE or any other Hyperliquid perp). What it lacks is an explicit routing statement — it never says 'use this instead of get_signal_board / get_perp / get_hl_whales', leaving the sibling trade-off to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_company_checkCompany checkARead-onlyIdempotentInspect
Use when an agent needs to check a US-listed company. Returns a verdict line and the SEC facts behind it: going-concern language, delisting-notice 8-Ks, overdue reports, insider Form 4 direction. EDGAR down (503) or a foreign filer (404) is not charged. Costs 0.25 USDC per call (x402, USDC on Solana, Base, Polygon, Arbitrum or Arc).
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | the company: a US-listed ticker such as AAPL, the company name as it is filed, or its website such as example.com (EDGAR rarely maps a website, so a website is matched by its domain to the company name and the answer says how) | |
| site | No | optional: the company website to read with the site check (TLS, DNS, security headers), such as www.example.com; without it the site is the website given as q, or the one EDGAR lists |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | the get_company_check payload; a real captured example is free at https://x402.ochinimus.app/api/sample/get_company_check |
| tool | Yes | the tool that produced this payload |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond the readOnly/idempotent/openWorld annotations by disclosing price (0.25 USDC), the x402 payment rail and supported chains, and failure billing semantics (EDGAR 503 or foreign-filer 404 not charged). These are load-bearing behaviors an agent cannot learn 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?
Three dense sentences: trigger first, return contents second, cost/failure terms last. No filler, and the highest-value routing signal is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. 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 covers return values, and the description still summarizes the verdict-plus-evidence shape. With paid x402 access, the cost and non-billing-on-failure details are the missing pieces an agent would otherwise lack, and both are 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 the schema itself explains the ticker/name/website matching rules and the optional site parameter in detail. The description adds nothing about 'q' or 'site', so the baseline 3 applies – the schema does all the parameter 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 ('check') and resource ('a US-listed company') and then enumerates exactly what the check covers: going-concern language, delisting 8-Ks, overdue reports, Form 4 direction. An agent can tell this is a synthesized verdict tool rather than a raw-filings tool like get_sec_filings or get_sec_8k.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 needs to check a US-listed company' gives the trigger context, and the 404 note implicitly excludes foreign filers. It stops short of naming sibling alternatives (e.g. get_sec_filings for raw documents, get_insider_trades for Form 4 detail), so routing is by inference rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_convertUnit conversionARead-onlyIdempotentInspect
Use when an agent needs an exact unit conversion. Returns the value converted between units of length, mass, volume, time, data, speed, area, pressure, energy or temperature, to 12 significant digits. Mixing categories is a 400, never billed. Costs 0.005 USDC per call (x402, USDC on Solana, Base, Polygon, Arbitrum or Arc).
| Name | Required | Description | Default |
|---|---|---|---|
| to | Yes | unit, e.g. km, lb, MB, F | |
| from | Yes | unit, e.g. mi, kg, GiB, C | |
| value | Yes | a plain number |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | the get_convert payload; a real captured example is free at https://x402.ochinimus.app/api/sample/get_convert |
| tool | Yes | the tool that produced this payload |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare it read-only, idempotent and non-destructive, and the description layers on genuinely useful context beyond them: precision (12 significant digits), failure behavior (cross-category mix returns 400 and is never billed), and the payment model (0.005 USDC via x402 on Solana/Base/Polygon/Arbitrum/Arc). Cost and error semantics are never derivable from 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?
Three tight sentences with no filler; the usage trigger is front-loaded, then output precision, then error and cost semantics. Every clause 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?
With an output schema present, the description need not restate return shape, and it still summarizes the return (converted value to 12 significant digits). For a 3-parameter, read-only, paid tool, the description covers invocation, failure mode, and billing, 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 coverage is 100% and each of value/from/to is documented in the schema, so the baseline is 3. The description adds only indirect parameter context (the set of valid unit categories and the category-mixing constraint) and gives no syntax or format detail beyond what the schema states.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific operation (convert a value between units) and enumerates the covered categories (length, mass, volume, time, data, speed, area, pressure, energy, temperature), which cleanly separates it from siblings like get_fx_rates (currency) or get_base_gas (chain metrics). An agent can identify this as the unit-conversion tool 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?
"Use when an agent needs an exact unit conversion" gives an explicit trigger condition, and "Mixing categories is a 400" communicates a clear exclusion/constraint. It stops short of naming an alternative tool for edge cases (e.g. FX/currency conversion), so it is clear context rather than 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.
get_domainDomain DNS and TLSARead-onlyIdempotentInspect
Use when an agent needs the basic facts about a domain. Returns its DNS A, AAAA, MX, NS and TXT records and the live TLS certificate: issuer, alternative names, validity dates and days to expiry. Public hosts only; no registrar data. Costs 0.005 USDC per call (x402, USDC on Solana, Base, Polygon, Arbitrum or Arc).
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | a hostname such as example.com (no URL, no IP address) |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | the get_domain payload; a real captured example is free at https://x402.ochinimus.app/api/sample/get_domain |
| tool | Yes | the tool that produced this payload |
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 context annotations cannot: a per-call price of 0.005 USDC via x402 with the specific chains accepted. That payment requirement is critical pre-invocation knowledge and is surfaced clearly.
Agents need to know what a tool does to the 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 trigger, then return shape, then scope limits and price. 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?
For a one-parameter read tool with an output schema and full annotations, the description covers the trigger, scope exclusions, and the non-obvious cost/payment model. Nothing an agent needs before calling is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the single 'domain' parameter is already documented as a hostname with no URL/IP. The description contributes only the scoping constraint 'public hosts only', which is useful but marginal; 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 ('basic facts about a domain') and enumerates exactly what comes back: DNS A/AAAA/MX/NS/TXT plus live TLS certificate fields (issuer, SANs, validity, days to expiry). No sibling tool covers DNS/TLS lookup, so the scope is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Opens with an explicit trigger ('Use when an agent needs the basic facts about a domain') and adds a meaningful exclusion ('Public hosts only; no registrar data'). It doesn't name an alternative tool, but no sibling performs this function, so nothing is left ambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_email_verifyEmail verificationARead-onlyIdempotentInspect
Use when an agent needs to know whether an email address can plausibly receive mail. Returns syntax, MX, disposable-domain, role-account and free-provider checks with a deliverable_likely, risky or undeliverable verdict and its reasons. No SMTP probe. Costs 0.005 USDC per call (x402, USDC on Solana, Base, Polygon, Arbitrum or Arc).
| Name | Required | Description | Default |
|---|---|---|---|
| Yes | the address to check, up to 254 characters |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | the get_email_verify payload; a real captured example is free at https://x402.ochinimus.app/api/sample/get_email_verify |
| tool | Yes | the tool that produced this payload |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive). The description adds real value beyond them: it discloses the limitation 'No SMTP probe' and the per-call cost (0.005 USDC via x402 across named chains), which materially affects invocation decisions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, tightly front-loaded: trigger first, then what it returns, then the SMTP limitation and cost. Every sentence earns its place with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be re-explained; the description still summarizes the verdict vocabulary. Combined with cost, limitation disclosure, and covered annotations, 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?
Schema description coverage is 100% and the single parameter is documented as 'the address to check, up to 254 characters'. The description adds no syntax or format 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 resource (email address deliverability) and enumerates the exact checks performed (syntax, MX, disposable-domain, role-account, free-provider) plus the verdict types. No sibling tool performs email verification, so the definition unambiguously owns this capability.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 an explicit trigger: 'Use when an agent needs to know whether an email address can plausibly receive mail.' Clear context for invocation, though it names no exclusions or alternative tools for adjacent tasks (e.g. generic domain or sanctions checks).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_equity_24hEquity 24/7 priceARead-onlyIdempotentInspect
Weekend price for US stocks: an indicative 24/7 price for a stock or index (TSLA, NVDA, S&P 500, Nasdaq) from stock perps on Hyperliquid and our tokenized stocks DEX price, with the last regular-session price, its time and source, the implied gap in %, each source's liquidity and the session (open, pre, after, overnight, weekend). Indicative, never an exchange quote; 503 when no source has liquidity. Costs 0.01 USDC per call (x402, USDC on Solana, Base, Polygon, Arbitrum or Arc).
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | Yes | US stock or index ticker as the venues list it, e.g. TSLA, NVDA, SP500, XYZ100 |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | the get_equity_24h payload; a real captured example is free at https://x402.ochinimus.app/api/sample/get_equity_24h |
| tool | Yes | the tool that produced this payload |
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 adds substantial context beyond that: the actual data sources, the session taxonomy returned, explicit 'indicative, never an exchange quote' caveat, 503 error condition when no source has liquidity, and a pay-per-call cost of 0.01 USDC via x402 across named chains.
Agents need to know what a tool does to the 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 asset class are front-loaded, and the trailing sentences carry distinct information (caveat, error behavior, cost). The first sentence is a dense run-on with many stacked clauses, which is slightly heavy, but nearly every element earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter pricing tool with an output schema already present, the description supplies everything an agent needs: scope, sources, session/return semantics, error behavior, and payment model. 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% and the single symbol parameter is already documented with examples, so the baseline is 3. The description adds example tickers (TSLA, NVDA, S&P 500, Nasdaq) but these largely restate the schema examples (which use SP500, XYZ100), adding little new 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 verb/resource and scope: an indicative 24/7 price for US stocks or indices sourced from Hyperliquid stock perps and a tokenized-stocks DEX. It clearly separates itself from crypto-price siblings like get_btc_price, get_eth_price, get_sol_price by naming the equity asset class 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?
Implied usage is clear from the framing ('Weekend price for US stocks', session labels including weekend), so an agent can infer it is for off-hours equity pricing. However, it never explicitly says when to use this versus alternatives such as get_tradfi_perps, get_spot, or get_tradfi_radar, 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.
get_eth_priceETH spot priceARead-onlyIdempotentInspect
ETH spot price in USD, read on-chain from the two deepest WETH/USDC Uniswap V3 pools, on Ethereum and on Base. Returns their median plus each pool's own price, so a caller can see the spread between chains. Computed from chain state; no exchange feed. Costs 0.001 USDC per call (x402, USDC on Solana, Base, Polygon, Arbitrum or Arc).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | the get_eth_price payload; a real captured example is free at https://x402.ochinimus.app/api/sample/get_eth_price |
| tool | Yes | the tool that produced this payload |
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 safety profile is handled. The description adds genuine behavioral context beyond that: the exact on-chain data source, the median-plus-per-pool return shape and cross-chain spread, and a concrete cost of 0.001 USDC per call via x402 with accepted chains.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four tight sentences, front-loaded with the purpose and source, then return shape, then sourcing caveat, then cost. Every sentence carries distinct, non-redundant 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 and annotations covering the safety profile, the description needs only to establish what is measured, from where, and at what cost – all of which it does. 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?
The tool takes zero parameters, so there is nothing to disambiguate; the schema is empty and 100% covered. The baseline of 4 applies since no parameter-level meaning is missing.
Input schemas describe structure but not intent. Descriptions should explain 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 (ETH spot price in USD) with the data provenance spelled out: read on-chain from the two deepest WETH/USDC Uniswap V3 pools on Ethereum and Base. It is trivially distinguishable from siblings like get_btc_price and get_sol_price, and even from an exchange-feed price tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies a use context ('Computed from chain state; no exchange feed') which differentiates it from feed-based pricing, and it discloses a per-call cost. However, it never explicitly names an alternative or states when-not to use it, so routing guidance is only implied rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_exit_methodExit liquidity methodARead-onlyIdempotentInspect
FREE: how overhang measures exit liquidity on lending collateral, and the counts behind every paid answer - computed from the tape at request time, nothing hardcoded. Returns what is measured (the protocol's own live-refetched mark vs realisable value from sell-direction quotes at real clip sizes), the corroboration rule in plain terms (a terminal verdict needs six consecutive agreeing floor observations from the symbol's own tape; one sample is never enough; a contradicted floor buys a fresh probe rather than writing a hole), the full status vocabulary including why a router refusal and an empty book are different facts, the size-matched control design and its results, the gated sweep and row counts, covered symbols and markets, and the measured cadence. Read this before paying for get_exit_quote, and to check the claim rather than trust it. Free.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | the get_exit_method payload |
| tool | Yes | the tool that produced this payload |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already state readOnly/openWorld/idempotent. The description goes well beyond them by disclosing that data is 'computed from the tape at request time, nothing hardcoded,' that it is free, and that the status vocabulary distinguishes events like 'a router refusal and an empty book' as different facts. These are behavioral specifics not derivable from the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a dense single paragraph covering many distinct aspects (measurement methodology, corroboration rule, status vocabulary, control design, row counts, covered symbols, cadence) with no filler. It is front-loaded with 'FREE' and the core question about overhang, though a bulleted structure would slightly improve 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?
For a zero-parameter read-only informational tool with an output schema, the description is complete: it explains what is returned, why the tool exists, how the data is computed, and when to use it relative to the paid sibling. Nothing an agent needs to correctly select and invoke the tool is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and schema coverage is trivially 100%, so the baseline of 4 applies. The description correctly contains no parameter information because none is needed for invocation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly defines the tool as returning the methodology and live-computed data behind exit liquidity measurements, with specific phrases like 'Returns what is measured' and 'the corroboration rule in plain terms.' It distinguishes itself from the paid sibling get_exit_quote by being explicitly 'FREE' and framed as the precursor, so an agent can tell it apart 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 explicitly tells the agent when to use it: 'Read this before paying for get_exit_quote, and to check the claim rather than trust it.' This both identifies the alternative tool and the condition that selects this one, leaving nothing to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_exit_quoteCollateral exit liquidityARead-onlyIdempotentInspect
EXIT LIQUIDITY on seized collateral: what a liquidator ACTUALLY realises selling a Kamino reserve into live routing, versus the oracle price the protocol marks it at. Returns max_exitable_usd (largest clip whose liquidator margin is still positive, found by bisection, with its resolution width), the exitable fraction, the conservative bound at the 2% penalty floor, and for the nearest clip actually probed: realised USD, haircut bps and liquidator margin bps. Distinguishes a router that REFUSES to quote a token (permissioning, not illiquidity) from a book with no route (a real liquidity finding) - they are different facts and were one status until this split. A terminal verdict requires six consecutive agreeing observations from the symbol's own tape, so a single bad quote cannot produce a finding; withheld verdicts fall back to the last corroborated measurement with its age rather than returning null. Zero bad debt today does not disprove any of this - it means nobody has been forced to test it at size. Method, corroboration rules and row counts are free via get_exit_method. Costs 0.02 USDC per call (x402, USDC on Solana, Base, Polygon, Arbitrum or Arc).
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | Yes | reserve symbol e.g. SPYx, cbBTC, FWDI, CRCLx (get_exit_method lists all covered) | |
| size_usd | No | clip size in USD you would need to exit; the nearest MEASURED clip is returned, never interpolated |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | the get_exit_quote payload; a real captured example is free at https://x402.ochinimus.app/api/sample/get_exit_quote |
| tool | Yes | the tool that produced this payload |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare safety (readOnly, idempotent), so the description adds real behavioral context: REFUSED-quote vs no-route status distinction, six consecutive agreeing observations required before a verdict, fallback to last corroborated measurement with its age rather than null, and the caveat that zero bad debt doesn't disprove findings. This is exactly the kind of non-obvious 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?
Front-loads purpose, then lays out return fields and the corroboration/refusal nuances. The sentences are dense and mostly earn their place, but the parentheticals and the 'zero bad debt' caveat push toward long-windedness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. 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 isn't required, yet the description still names key fields (max_exitable_usd, exitable fraction, conservative bound, nearest-probe realised USD/haircut/margin). With annotations covering safety and the schema covering both params, only minor gaps remain (e.g., exact cost flow timing for x402).
Complex tools with many parameters or behaviors need more documentation. 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 already carry their meaning (symbol examples; size_usd maps to nearest MEASURED clip, never interpolated). The description reinforces the 'nearest clip actually probed' idea but adds no syntax or format 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 (measure exit liquidity on seized collateral) against a specific resource (a Kamino reserve sold into live routing, versus oracle price), and enumerates its return fields. Distinguishable from siblings in a crowded liquidation family, and explicitly points to get_exit_method for the method.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Sets clear context (measuring realisable exit value on seized collateral) and points to get_exit_method for method/corroboration details, plus discloses the 0.02 USDC x402 payment. It doesn't name a sibling that should be used instead when you don't need liquidity measurement, but the intended 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.
get_extractStructured extractionARead-onlyIdempotentInspect
Use when an agent needs named fields from a page or PDF. Returns JSON for a schema of up to 20 fields (string, number, boolean, date, string[]), with null for anything the document does not state, never an invented value. Costs 0.025 USDC per call (x402, USDC on Solana, Base, Polygon, Arbitrum or Arc).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | the page or PDF: an absolute http or https URL | |
| schema | Yes | JSON object of field name to type, e.g. {"title":"string","price":"number","released":"date"}; up to 20 fields and 2 KB |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | the get_extract payload; a real captured example is free at https://x402.ochinimus.app/api/sample/get_extract |
| tool | Yes | the tool that produced this payload |
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 genuinely new behavior: null for unstated fields rather than invented values, and a per-call cost of 0.025 USDC across five chains. 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?
Three tight sentences: use condition, output contract, cost. Every sentence carries distinct information and the when-to-use clause is front-loaded ahead of the 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?
Output schema exists so return shape needn't be repeated, yet the description still clarifies the null semantics that govern the schema's values. With only two fully documented params and a clear cost/authorization note, 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% and both params are documented in-schema, including the 20-field/2 KB constraint. The description restates the field count and type palette rather than adding syntax or format meaning beyond what the schema already supplies, 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: extracting named fields from a page or PDF into JSON. Clear enough to distinguish from raw-text siblings like get_ocr/get_pdf_markdown, but it never names those alternatives, so the agent must infer the distinction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 needs named fields from a page or PDF" gives a clear triggering condition. It stops short of stating when NOT to use it or pointing to the sibling extraction tools, so the routing guidance is contextual rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_fear_greedFear and Greed indexARead-onlyIdempotentInspect
Crypto Fear & Greed index (0-100) with classification. Free.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | the get_fear_greed payload |
| tool | Yes | the tool that produced this payload |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so the safety profile is covered. The description adds minimal extra behavioral context: it is free and includes a classification. It does not contradict annotations, but it does not disclose rate limits, update frequency, or other operational nuances.
Agents need to know what a tool does to the 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 extremely concise and front-loaded: it states the data source, scale, output characteristic, and cost in two short sentences. Every word adds value with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter, read-only tool with an output schema and comprehensive annotations, the description is sufficient for an agent to understand what the tool provides and to invoke it correctly. Missing usage guidance is captured under usage_guidelines, not completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters)Skip, and schema coverage is 100% with an empty properties object. There are no parameters requiring additional semantic explanation, so the baseline of 4 applies; the description need not add parameter detail.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the specific resource (Crypto Fear & Greed index) and adds the scale (0-100) and classification aspect, making the purpose clear. It lacks an explicit verb like 'returns' or 'retrieves', and it does not explicitly differentiate itself from sibling tools, though the resource is unique.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. The word 'Free' hints at a cost advantage but does not state a use case, prerequisites, or exclusions. An agent would not know when this is preferred over other data tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_forecast_questionForecast question specARead-onlyIdempotentInspect
FREE: the exact question the forecast answers, machine readable, plus how to settle it yourself from the public exchange feed and the full list of covered symbols. Read this before building on the forecast. Free.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | the get_forecast_question payload |
| tool | Yes | the tool that produced this payload |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint false, so the description only needs to add extra context. It adds useful behavioral detail: the data is free, machine-readable, from the public exchange feed, and includes self-settlement instructions and covered symbols.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact: two sentences with the key 'FREE' fact and main content front-loaded. The repetition of 'Free' at the end is a minor redundancy, but overall it is efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. 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 parameterless, read-only tool with an output schema, the description is sufficiently complete. It states what is returned, the data source, the free nature, and the correct usage order, with no important gap for an agent selecting and invoking the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and 100% schema description coverage, so the baseline of 4 applies. There are no parameters for the description to explain.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as returning the exact question a forecast answers, including machine-readable settlement details and the list of covered symbols. It lacks an explicit verb like 'returns' and doesn't name a differentiating sibling, but the purpose is unambiguous enough.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 'Read this before building on the forecast' explicitly gives a precondition for using this tool, and the 'FREE' marker signals a no-cost entry point. It doesn't discuss when not to use the tool or point to alternative tools, but the context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_forecast_recordForecast track recordARead-onlyIdempotentInspect
FREE: the live track record of this miner. Every forecast was written down BEFORE its 15-minute window opened and settled afterwards from the exchange public feed, and the raw rows are returned alongside the score so you can recompute it yourself rather than take it on trust. Returns settled count, base rate, Brier skill against climatology, coverage, calibration error and a reliability curve. A backtest is a claim about the past that its author also chose how to compute; this is not that. Free.
| Name | Required | Description | Default |
|---|---|---|---|
| rows | No | how many raw rows to return, max 500, default 50 | |
| symbol | No | restrict the record to one symbol |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | the get_forecast_record payload |
| tool | Yes | the tool that produced this payload |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations (readOnlyHint, idempotentHint, etc.), the description discloses valuable behavioral details: forecasts are written before the window opens, settled from the exchange public feed afterward, and raw rows are returned for independent recomputation. It also notes the output fields and that the tool is free, giving agents a strong safety and trust profile.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the key fact ('FREE: the live track record of this miner') and contains useful details, but it is slightly wordy with the repeated 'Free' at the end and a somewhat rhetorical backtest sentence. It earns a high score but loses a point for minor redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the read-only annotations, optional parameters, and existing output schema, the description covers what an agent needs: what the record is, how it was produced, what metrics are returned, and why it can be trusted. No critical call-invocation information 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 coverage is 100% and both parameters have clear descriptions. The tool description adds general context about raw rows being returned, but it does not contribute meaningfully beyond the schema's own parameter documentation, so the baseline score of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb-resource pair ('get the live track record of this miner') and clearly states what is returned: settled count, Brier skill, coverage, calibration error, and reliability curve. It also distinguishes the tool from a backtest, so an agent can understand what this record is and is not 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 description gives clear context for when this tool is appropriate: when you need a verifiable live track record rather than an author-computed backtest. It explicitly contrasts it with backtests ('this is not that') but does not name specific sibling tools or provide a full when-to-use vs alternatives matrix.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_funding_extremesFunding extremesARead-onlyIdempotentInspect
Funding rate extremes across every Hyperliquid perp above a liquidity floor: the most positive and most negative funding with annualized %, 24h price move and open interest. The most crowded trades in the market — crowded shorts are squeeze candidates. Costs 0.02 USDC per call (x402, USDC on Solana, Base, Polygon, Arbitrum or Arc).
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | top N each side, 1-25, default 10 | |
| min_turnover_usd | No | 24h volume floor in USD, default 1M |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | the get_funding_extremes payload; a real captured example is free at https://x402.ochinimus.app/api/sample/get_funding_extremes |
| tool | Yes | the tool that produced this payload |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish read-only, idempotent, open-world, non-destructive behavior, so the bar is lower, and the description still adds real value: a per-call price of 0.02 USDC and the x402 payment rails (USDC on Solana, Base, Polygon, Arbitrum, Arc) that an agent must know before invoking. It does not mention rate limits, tiering, or fallback behavior if payment fails, 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?
Three sentences, properly front-loaded with what the tool returns, then the trading interpretation, then the cost. Every sentence is load-bearing; the only minor slack is that the parenthetical payment-rail list is longer than strictly 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?
An output schema exists, so the description needn't explain return values, and it correctly focuses on scope, use case, and the non-obvious x402 cost. The one gap is sibling disambiguation within a very crowded funding-tool family.
Complex tools with many parameters or behaviors need more documentation. 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, min_turnover_usd) are already documented with ranges and defaults. The description restates the existence of a 'liquidity floor' and 'top N each side' but adds no format, unit, or interaction 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+scope: the most positive and most negative funding across every Hyperliquid perp above a liquidity floor, with named output fields (annualized %, 24h move, open interest). It differentiates by scope (extremes across all perps) but never names the close siblings get_funding_radar, get_funding_pulse, get_funding_rate or get_funding_history, so an agent must infer which funding tool 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?
The line 'The most crowded trades in the market — crowded shorts are squeeze candidates' implies the use case (squeeze/positioning hunting) and hints at a relationship with get_squeeze_score, but gives no explicit when-to-use, when-not-to-use, or named alternative. 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.
get_funding_historyFunding historyARead-onlyIdempotentInspect
Funding rate history for any Hyperliquid perp, up to 200 hourly settlements: the average rate, its annualized %, the share of intervals that were positive, and the raw series. What the carry has actually been. Costs 0.005 USDC per call (x402, USDC on Solana, Base, Polygon, Arbitrum or Arc).
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | hourly settlements, 1-200, default 30 | |
| symbol | No | USDT perp symbol e.g. SOLUSDT, BTCUSDT (default SOLUSDT) |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | the get_funding_history payload; a real captured example is free at https://x402.ochinimus.app/api/sample/get_funding_history |
| tool | Yes | the tool that produced this payload |
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 non-structured behavioral context: the per-call cost of 0.005 USDC, the x402 payment requirement, and the accepted chains (Solana, Base, Polygon, Arbitrum, Arc). It does not, however, describe latency or failure modes beyond the 200-settlement cap.
Agents need to know what a tool does to the 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 concrete capability before the interpretive line and the payment clause. Mostly earns its place, though 'What the carry has actually been.' is flavor rather than specification 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?
Output schema exists, so return values needn't be spelled out, yet the description still previews them usefully. The payment/auth detail is an important completeness addition for an x402-priced tool. Nothing essential for correct invocation is missing, though alternatives 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?
Schema description coverage is 100%, so both params (limit, symbol) are already fully documented in the schema. The description only echoes 'up to 200 hourly settlements' and 'any Hyperliquid perp' without adding format or default guidance beyond the schema. Baseline 3 is correct 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?
States a specific verb+resource (funding rate history), scopes it (any Hyperliquid perp, up to 200 hourly settlements), and enumerates what it returns (average rate, annualized %, positive-interval share, raw series). The word 'history' plus the aggregate-stat framing cleanly separates it from the sibling funding tools (get_funding_rate, get_funding_pulse, get_funding_extremes), even without naming them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: 'What the carry has actually been' hints at assessing realized funding carry, but there is no explicit when-to-use, no when-not-to-use, and no named alternative among the many sibling funding tools. The agent must infer that this is the historical/aggregate counterpart to the live-rate tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_funding_pulseFunding pulseARead-onlyIdempotentInspect
Use when an agent needs the most extreme funding rates right now. Returns the 5 largest absolute annualised rates across the Hyperliquid perps above a liquidity floor, each with 8h rate, open interest and 24h price move. One call, not a full screen. Costs 0.005 USDC per call (x402, USDC on Solana, Base, Polygon, Arbitrum or Arc).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | the get_funding_pulse payload; a real captured example is free at https://x402.ochinimus.app/api/sample/get_funding_pulse |
| tool | Yes | the tool that produced this payload |
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 adds genuinely useful non-annotation context: the exact cost (0.005 USDC per call) and the x402 payment rails (Solana, Base, Polygon, Arbitrum, Arc), plus the fixed liquidity-floor filter and the 5-item cap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four tight sentences, front-loaded with the when-to-use trigger and the returned payload; the cost and payment rails come last. Nothing is redundant and the size matches a zero-parameter, single-shot 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 the description need not detail the return shape, yet it still summarizes the payload usefully. Payment requirements are disclosed, which is essential for a paid endpoint. The one real gap is routing guidance against the other funding tools, which the description leaves unresolved.
Complex tools with many parameters or behaviors need more documentation. 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, so the baseline is 4. The description's mention of an internal liquidity floor is context rather than a parameter, and there is no parameter surface that needs explaining.
Input schemas describe structure but not intent. Descriptions should explain 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 a precise scope: the 5 largest absolute annualised funding rates on Hyperliquid perps above a liquidity floor, with named fields (8h rate, open interest, 24h price move). However, it fails to differentiate itself from obvious siblings like get_funding_extremes, get_funding_radar and get_funding_rate, which sound like near-identical capabilities.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 needs the most extreme funding rates right now" plus "One call, not a full screen" gives implied usage context. But with get_funding_extremes and get_funding_radar in the sibling list, the description never says when to pick this over them — a significant omission for a crowded funding-rate family.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_funding_radarFunding radarARead-onlyIdempotentInspect
Funding radar over every Hyperliquid perp: 337 on 13 Oct 2026, 178 on the main dex and 159 on the HIP-3 dexes (stocks, indices, commodities, FX). Per perp: the current funding at its 8h equivalent, its 30-day z-score against its own settled history, the dex and asset class, and a flag on any |z| of 2 or more, most extreme first. By default it returns the perps with $10M and up of open interest; min_oi_usd changes that and 0 returns them all. Precomputed every 5 minutes with as_of; a snapshot older than 15 minutes answers 503 and is never billed. Costs 0.02 USDC per call (x402, USDC on Solana, Base, Polygon, Arbitrum or Arc).
| Name | Required | Description | Default |
|---|---|---|---|
| top | No | perps returned, most extreme first, 1-100, default 20 | |
| min_oi_usd | No | minimum open interest in USD: default 10000000 ($10M); 0 returns every perp the radar tracks |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | the get_funding_radar payload; a real captured example is free at https://x402.ochinimus.app/api/sample/get_funding_radar |
| tool | Yes | the tool that produced this payload |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond the read-only/idempotent annotations: it discloses the 5-minute precompute cadence, the as_of field, the 503-on-stale-snapshot rule (and that stale calls are never billed), and the 0.02 USDC x402 cost with supported chains. These are operationally decisive facts an 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?
Dense but front-loaded: scope first, then returned fields, then filtering, then operational caveats. Every clause carries a distinct fact, though the pricing and chain list at the tail is slightly tangential.
Shorter descriptions cost fewer tokens and are easier for agents to parse. 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 handling return shape, the description still covers the things only prose can: default filtering, cost, staleness failure mode, and freshness guarantee. Nothing needed to invoke 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 both params (top, min_oi_usd) are already documented with ranges and defaults. The description restates the default threshold and the 0-returns-all behavior but adds no syntax or format detail 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?
States a specific verb and resource (funding radar over every Hyperliquid perp) and quantifies scope (337 perps, 178 main dex, 159 HIP-3). It enumerates the exact returned fields, so an agent knows what this produces 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?
Explains the default behavior ($10M+ OI) and how min_oi_usd=0 returns everything, which implicitly guides usage, but never names or contrasts with close siblings like get_funding_extremes, get_funding_pulse, get_funding_history, or get_funding_rate. The agent must infer when this radar beats those alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_funding_ratePerp funding rateARead-onlyIdempotentInspect
Funding rate for any Hyperliquid perp: raw rate, interval hours, 8h equivalent, annualised rate, next funding time and mark price. Without a symbol, SOL and BTC from Hyperliquid with open interest. Costs 0.005 USDC per call (x402, USDC on Solana, Base, Polygon, Arbitrum or Arc).
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | USDT perp symbol e.g. ETHUSDT, ONDOUSDT (omit for SOL and BTC from Hyperliquid) |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | the get_funding_rate payload (without symbol: {sol, btc} from Hyperliquid; with symbol: {symbol, venues: {hyperliquid}}); a real captured example is free at https://x402.ochinimus.app/api/sample/get_funding_rate |
| tool | Yes | the tool that produced this payload |
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), so the bar is lower. The description adds non-annotated behavior that matters operationally: a metered cost of 0.005 USDC per call and the x402 payment rails/ledgers accepted, which an agent must know 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?
Two dense, front-loaded sentences: what you get first, then the default behavior and price. The long enumeration of returned fields is partially redundant given an output schema exists, but it aids selection and nothing reads as 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 cost/auth are covered. What remains unstated is freshness/real-time vs delayed pricing and any rate limits on the paid calls, minor gaps for an otherwise complete 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?
With one parameter at 100% schema coverage, the baseline is 3. The description goes slightly beyond the schema by spelling out the no-symbol fallback behavior including that open interest is returned in that case, adding meaning the schema's terse 'omit for SOL and BTC' only implies.
Input schemas describe structure but not intent. Descriptions should explain 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 ('Funding rate for any Hyperliquid perp') and enumerates the exact metrics returned, which makes it easy to distinguish from history/radar/extremes siblings by intent. It never explicitly names a sibling to contrast with, so it stops short of the top score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives one conditional (omitting symbol falls back to SOL and BTC with open interest) and discloses the per-call cost, which is genuine usage context. However, it never says when to choose this over get_funding_history, get_funding_pulse, or get_funding_extremes, leaving alternative selection to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_fx_ratesFX reference ratesARead-onlyIdempotentInspect
Use when an agent needs official daily exchange rates. Returns the ECB euro foreign exchange reference rates for about 30 currencies, as published or as crosses for another base, plus Hyperliquid HIP-3 FX and commodity marks. The ECB rates are available free of charge on the ECB's website; they are for information only, not for transactions. Costs 0.002 USDC per call (x402, USDC on Solana, Base, Polygon, Arbitrum or Arc).
| Name | Required | Description | Default |
|---|---|---|---|
| base | No | base currency, 3 letters, default EUR; other bases are crosses computed from the ECB rates |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | the get_fx_rates payload; a real captured example is free at https://x402.ochinimus.app/api/sample/get_fx_rates |
| tool | Yes | the tool that produced this payload |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only, idempotent, open-world, non-destructive. The description adds substantial context beyond them: the exact cost (0.002 USDC per call via x402), supported payment chains, and the licensing/disclaimer that ECB rates are free-of-charge and informational only. This goes well past 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?
Front-loads the usage trigger and content scope efficiently. Most sentences earn their place, though the ECB-website availability note is somewhat extraneous marketing/flavor that could be trimmed without losing agent-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 need not explain return values. It covers the essential agent-facing facts: what data is returned, the base/cross behavior, cost, payment methods, and the informational-only limitation. 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% and the single 'base' parameter is fully documented in the schema. The description's mention of 'as published or as crosses for another base' largely restates the schema rather than adding new syntax or format detail, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: returns ECB euro FX reference rates for ~30 currencies, in published form or as crosses, plus Hyperliquid HIP-3 FX/commodity marks. This clearly distinguishes it from the many crypto price siblings (get_btc_price, get_eth_price, get_sol_price) since it is fiat reference-rate focused.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Opens with an explicit trigger: 'Use when an agent needs official daily exchange rates.' It also gives the important caveat that the rates are for information only, not for transactions, which guides appropriate use. It does not, however, name a sibling alternative (e.g. get_convert) or state when NOT to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_hashHashARead-onlyIdempotentInspect
Use when an agent needs a hash it should not compute itself. Returns SHA-256, Keccak-256 (the Ethereum hash) or BLAKE2b-512 of UTF-8 text or hex bytes, as hex and 0x-hex. Input up to 2 KB; over that is a 400, never billed. Costs 0.005 USDC per call (x402, USDC on Solana, Base, Polygon, Arbitrum or Arc).
| Name | Required | Description | Default |
|---|---|---|---|
| as | No | how to read data: utf8 (default) or hex bytes | |
| alg | Yes | the hash | |
| data | Yes | the input, up to 2,048 bytes |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | the get_hash payload; a real captured example is free at https://x402.ochinimus.app/api/sample/get_hash |
| tool | Yes | the tool that produced this payload |
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 operational context beyond them: a 2 KB input cap, a 400 on overflow that is never billed, and per-call pricing with the payment protocol and supported chains. 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?
Three tight sentences, front-loaded with purpose, then limits, then cost. Every clause carries an actionable fact with no padding or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a pure-function tool with an output schema present, the description need not explain return values, and it covers input limits, error behavior, supported algorithms/encodings, and billing. 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 would be 3, but the description adds genuinely useful meaning: it maps keccak256 to 'the Ethereum hash', clarifies utf8 vs hex byte interpretation, and specifies the output is returned as both hex and 0x-hex. That goes beyond the schema enum labels.
Input schemas describe structure but not intent. Descriptions should explain 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 (returns a hash) plus the exact algorithms and encodings it produces, and frames the scope as something the agent should not compute itself. An agent can immediately tell what this tool returns versus every sibling in the list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The opening sentence gives a clear condition for use ('when an agent needs a hash it should not compute itself'). It does not name an alternative or state when-not to use, but no sibling overlaps this function, so the routing gap is minor.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_hl_whalesHyperliquid whalesARead-onlyIdempotentInspect
Use when an agent needs to know how the biggest Hyperliquid traders are positioned. Returns the open perp positions of the largest Hyperliquid accounts aggregated per coin: net long or short USD, account counts, size-weighted entries, notional-weighted distance to liquidation, notional within 10% of liquidation and uPnL. With coin=BTC: whale liquidation levels in 5% price bands and the largest positions. Refreshed every 5 minutes; stale data answers 503. Costs 0.02 USDC per call (x402, USDC on Solana, Base, Polygon, Arbitrum or Arc).
| Name | Required | Description | Default |
|---|---|---|---|
| top | No | coins (or positions with coin=) returned, 1-50, default 20 | |
| coin | No | one Hyperliquid perp, e.g. BTC, ETH, SOL, HYPE: adds liquidation bands and the top positions |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | the get_hl_whales payload; a real captured example is free at https://x402.ochinimus.app/api/sample/get_hl_whales |
| tool | Yes | the tool that produced this payload |
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 operational context the annotations cannot: a 5-minute refresh cadence, explicit 503 behavior on stale data, and a per-call cost of 0.02 USDC with the accepted payment chains. Cost and failure semantics are exactly the kind of behavioral disclosure that saves an agent from a failed 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?
Four tight sentences with the trigger condition front-loaded, then return shape, then the coin variant, then the operational constraints (refresh, staleness, price). No sentence is filler despite the density of information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter, open-world, paid read tool with an output schema, the description covers trigger, aggregation semantics, the coin drill-down, freshness, failure mode, and pricing — leaving no ambiguity about whether or how to call 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 parameters are already documented in the schema, including the 1-50 bound and default for top. The description restates that coin adds liquidation bands and top positions without adding format, default, or interaction 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?
The description names a specific verb and resource — returning open perp positions of the largest Hyperliquid accounts aggregated per coin — and enumerates the exact aggregates produced (net long/short USD, account counts, size-weighted entries, liquidation distance, uPnL). This is clearly distinguishable from siblings like get_positioning or get_perp because it is explicitly whale-scoped and per-coin aggregated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 needs to know how the biggest Hyperliquid traders are positioned" gives a clear triggering condition, and the coin=BTC sentence shows the drill-down mode. It does not name a competing sibling or state when not to use it, so it stops short of the 5 rubric.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_honeypot_checkHoneypot checkARead-onlyIdempotentInspect
Use when an agent needs to know whether a token on Base, BNB Chain or Ethereum can be sold before it buys. Returns a verdict from our own buy-then-sell simulation on the token's deepest pool, with the buy and sell tax measured. Also: whether a wallet transfer works, bytecode flags (mintable, blacklist, proxy, pausable, owner), where simulation and bytecode disagree, and the block. Uniswap, Aerodrome and PancakeSwap pools. No pool found is a finding; RPC failure answers 503. Costs 0.01 USDC per call (x402, USDC on Solana, Base, Polygon, Arbitrum or Arc).
| Name | Required | Description | Default |
|---|---|---|---|
| chain | No | base (default: Uniswap V2/V3/V4, Aerodrome), bsc (PancakeSwap V2/V3) or ethereum (Uniswap V2/V3) | |
| token | Yes | token contract address, 0x followed by 40 hex characters |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | the get_honeypot_check payload; a real captured example is free at https://x402.ochinimus.app/api/sample/get_honeypot_check |
| tool | Yes | the tool that produced this payload |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish read-only/idempotent safety, yet the description adds substantial non-obvious behavior: the verdict comes from a buy-then-sell simulation on the deepest pool, buy/sell tax is measured, bytecode flags and simulation/bytecode disagreement are returned, 'no pool found is a finding' (not an error), and RPC failure surfaces as 503. It also discloses the payment model (0.01 USDC per call via x402 and accepted chains), which no structured field covers.
Agents need to know what a tool does to the 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 when-to-use condition, then the returned verdict, then caveats and pricing — a sensible priority order. It is dense with fragment-style listing ("Also: whether...") and slightly long, but each sentence carries load-bearing 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-shape detail isn't required, yet the description still characterizes the verdict, tax measurement, bytecode flags, and disagreement output. With annotations covering the safety profile and pricing/cost and error behavior disclosed, 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?
Schema description coverage is 100%, so the schema already documents both `token` and `chain` including the per-chain DEX lists. The description's venue mentions (Uniswap, Aerodrome, PancakeSwap) restate what the schema's chain description already says, adding no syntax or format guidance. Baseline 3 applies when the schema does the 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 (honeypot check on a token) and its outcome (verdict from a buy-then-sell simulation). It clearly distinguishes itself from sibling risk tools like get_token_risk and get_sol_token_check by scoping to EVM chains and stating the sellability question. An agent can select 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?
"Use when an agent needs to know whether a token ... can be sold before it buys" gives explicit, actionable timing and intent. It does not name the alternative for Solana tokens (get_sol_token_check) or contrast with get_token_risk, so routing among near-siblings still requires inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_injection_checkPrompt injection checkARead-onlyIdempotentInspect
Use when an agent needs untrusted text screened for prompt-injection attempts. Returns no_injection_found, suspicious or malicious for up to 4,000 characters, with the matched rules (role tags, hidden Unicode, encoded payloads) and a model's view. Costs 0.004 USDC per call (x402, USDC on Solana, Base, Polygon, Arbitrum or Arc).
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes | the untrusted text to check, up to 4,000 characters |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | the get_injection_check payload; a real captured example is free at https://x402.ochinimus.app/api/sample/get_injection_check |
| tool | Yes | the tool that produced this payload |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnly/idempotent/non-destructive annotations, it discloses the three return classifications, the 4,000-char input cap, the matched-rule categories, and — critically — the per-call cost and payment rails (x402, USDC on five chains). Cost and billing model are behavioral facts 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?
Three sentences, front-loaded with the usage trigger, then return semantics, then cost. Every clause adds decision-relevant 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, yet the description still summarizes the verdict taxonomy, and it adds the cost dimension an agent must budget for. Nothing needed to call this single-parameter, read-only 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 'text' parameter, and the description's only parameter detail (the 4,000-character limit) merely restates the schema. Baseline 3 applies since the schema already does the documentation 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 (screened) and resource (untrusted text for prompt-injection attempts) with clear scope. It is trivially distinguishable from siblings like get_sanctions_check or get_honeypot_check, which screen different artifacts.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 'Use when an agent needs untrusted text screened for prompt-injection attempts' gives a concrete trigger condition. It does not name when-not-to-use or an alternative sibling, but no sibling overlaps enough to require exclusion.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_insider_tradesInsider tradesARead-onlyIdempotentInspect
Use when an agent needs what a company's insiders bought and sold. Returns one row per transaction from the company's recent SEC Form 4 filings: insider, role, transaction code and meaning, shares, price, value, shares owned after and date, plus open-market buy and sale totals for the window. Source: SEC EDGAR Form 4 filings. Costs 0.01 USDC per call (x402, USDC on Solana, Base, Polygon, Arbitrum or Arc).
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | look-back window in days, 1-180, default 30 | |
| ticker | Yes | a US-listed ticker, e.g. NVDA, TSLA |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | the get_insider_trades payload; a real captured example is free at https://x402.ochinimus.app/api/sample/get_insider_trades |
| tool | Yes | the tool that produced this payload |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well past the annotations by disclosing the exact field-by-field return shape, the upstream source (SEC EDGAR Form 4), and — critically — the per-call cost of 0.01 USDC via x402 with the accepted chains. Pricing and payment rail are behavioral facts an agent cannot get from readOnly/idempotent hints, so this adds real value.
Agents need to know what a tool does to the 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 tight sentences: trigger, return shape, source and cost. The most decision-relevant facts — what it does and what it costs — are front-loaded 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?
Despite an output schema existing (so return values needn't be enumerated), the description summarizes them anyway and adds the sourcing and payment context that structured fields omit. Only minor gap: no guidance on rate/payment failure behavior or what happens for tickers with no insider activity.
Complex tools with many parameters or behaviors need more documentation. 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 (ticker, days 1-180 with default 30) are documented in the schema itself. The description's phrase 'recent ... filings' and 'for the window' loosely gestures at the look-back period but adds no format, default, or bounds 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 ('what a company's insiders bought and sold') and immediately follows with the data shape ('one row per transaction from the company's recent SEC Form 4 filings'). The Form 4 / EDGAR framing cleanly separates it from sibling filing tools like get_sec_8k and get_sec_filings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 an explicit trigger condition ('Use when an agent needs what a company's insiders bought and sold'), which gives a clear selection rule. It does not name an alternative or state when NOT to use it — e.g. it never routes the agent to get_sec_filings for raw filings versus parsed trades — so a bit of inference is left.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_jito_tipsJito tip floorARead-onlyIdempotentInspect
Jito tips sampled on-chain: p25 to p99 in SOL of the newest transfers into Jito's tip accounts, what landed bundles actually paid, refreshed every 15 minutes (the age is in the answer), with a landing recommendation. Costs 0.005 USDC per call (x402, USDC on Solana, Base, Polygon, Arbitrum or Arc).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | the get_jito_tips payload; a real captured example is free at https://x402.ochinimus.app/api/sample/get_jito_tips |
| tool | Yes | the tool that produced this payload |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations (readOnly/idempotent/openWorld), the description discloses things the annotations cannot: the data is sampled on-chain rather than quoted, refreshed on a 15-minute cadence with the age included in the response, and the call is paid (0.005 USDC via x402 across five chains). Cost and staleness are precisely the traits an agent needs before spending a metered 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?
One dense sentence that front-loads the data scope, then freshness, then price — the right order for an agent deciding whether to call. It is slightly overstuffed at the tail, where the five-chain payment list could be a single clause, 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 no explanation, and the description covers source, sampling method, freshness, and cost. The only gap is what happens on payment failure or when no recent tips exist, which an agent would want to know for a metered endpoint.
Complex tools with many parameters or behaviors need more documentation. 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 and the baseline of 4 applies. The schema is empty and fully described.
Input schemas describe structure but not intent. Descriptions should explain 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 concrete resource (Jito tip percentiles p25–p99 in SOL, sampled from the newest transfers into Jito's tip accounts and from landed bundles) rather than restating the title. An agent can tell exactly what data comes back. It stops short of naming the nearest sibling (get_priority_fees) to draw the boundary between generic priority fees and Jito-specific tips.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 through the mention of a 'landing recommendation', which points at setting tips for bundle submission, but there is no explicit when-to-use or when-not-to-use guidance. With ~90 siblings and get_priority_fees sitting right next to it in the list, an explicit routing statement is the main missing piece.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_last_liquidationLast liquidationARead-onlyIdempotentInspect
FREE taster: last liquidation for SOL, BTC, ETH, XRP and DOGE (15-min delayed). Real-time via get_recent_liquidations. Free.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | the get_last_liquidation payload |
| tool | Yes | the tool that produced this payload |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only, idempotent, non-destructive behavior. The description adds meaningful context beyond annotations: the 15-minute delay, the limited asset universe, and the free/taster nature of the data.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded with the key facts. The word 'Free' appears twice, which is slightly redundant, but the overall structure is efficient and scannable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no parameters, a rich output schema, and strong annotations, the description covers the essential context: what data is returned, for which assets, with what delay, and when to use the real-time alternative. It is complete for a no-argument 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?
There are zero parameters and schema description coverage is 100%, so the baseline is 4. The description appropriately focuses on scope and data freshness rather than parameter details, since none exist.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the resource ('last liquidation'), the specific assets covered (SOL, BTC, ETH, XRP, DOGE), and the data delay. It also distinguishes itself from get_recent_liquidations by explicitly pointing to that sibling for real-time data.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It names the alternative tool (get_recent_liquidations) and the condition for choosing it ('Real-time'). The 'FREE taster' phrasing implies this is for a free, delayed sample, though it does not explicitly state 'use this when you need delayed data'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_liq_feedLiquidation pressure feedARead-onlyIdempotentInspect
Use when an agent needs liquidation pressure as it happens. Returns 5-second buckets per symbol of long and short USD liquidated across venues, the dominant side and pressure against the symbol's own baseline, from a gap-free cursor. Calls are paced per caller: one every 5 seconds (one bucket) for an x402 payer or a prepaid pack key, one every 10 seconds for a pass key, except while an answer says has_more; a call that comes too early is a 429 with Retry-After and is never billed. Costs 0.001 USDC per call (x402, USDC on Solana, Base, Polygon, Arbitrum or Arc).
| Name | Required | Description | Default |
|---|---|---|---|
| next | No | the `next` value of the previous answer; send it back unchanged to continue with no gap and no repeat | |
| since | No | first call only: start time in milliseconds since the epoch, up to 24 h back; omit to begin 2 minutes back | |
| symbols | No | comma list of up to 20 symbols, e.g. BTC,ETH,SOL or BTCUSDT,ETHUSDT (default SOL,BTC,ETH,XRP,DOGE) |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | the get_liq_feed payload; a real captured example is free at https://x402.ochinimus.app/api/sample/get_liq_feed |
| tool | Yes | the tool that produced this payload |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond the readOnly/idempotent/openWorld annotations by disclosing per-caller pacing (1 bucket per 5s for x402/prepaid pack, 1 per 10s for pass keys, except while has_more), the 429 + Retry-After behavior for early calls, the fact that rejected calls are never billed, the per-call price of 0.001 USDC, and the accepted payment chains. These are exactly the operational traits 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 sentence, followed by payload, then pacing/billing. The pacing sentence is a long run-on but every clause (intervals, exception, 429, no billing, price, chains) carries distinct information, 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?
For a paid, rate-limited streaming feed this covers the essentials an agent must know: what each bucket contains, cursor continuity, rate limits per key type, error handling, and cost. An output schema exists, yet the description still summarizes the shape usefully without being redundant.
Complex tools with many parameters or behaviors need more documentation. 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 next, since, and symbols with format and defaults. The description only alludes to the cursor ('from a gap-free cursor') and adds no syntax, ordering, or constraint detail 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?
States a specific verb and resource ('liquidation pressure feed') and details the payload precisely: 5-second buckets per symbol of long/short USD liquidated across venues, dominant side, and pressure versus the symbol's baseline. However, it never distinguishes itself from closely-named siblings such as get_liq_pulse, get_recent_liquidations, or get_liq_history, so an agent cannot route between them from this text 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?
'Use when an agent needs liquidation pressure as it happens' gives a clear real-time trigger and implicitly separates it from the historical siblings by temporal framing. It stops short of naming alternatives or stating when NOT to use it (e.g. for historical backfill use get_liq_history), 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.
get_liq_heatmapLiquidation heatmapARead-onlyIdempotentInspect
Liquidation heatmap by PRICE LEVEL: where leverage actually got flushed in the last N hours — USD, prints and long/short split per price zone, with the hottest zone flagged. Built from real liquidation prints, not entry-price estimates. BTC, ETH, SOL, HYPE or any other USDT perp on our multi-venue liquidation tape. Costs 0.02 USDC per call (x402, USDC on Solana, Base, Polygon, Arbitrum or Arc).
| Name | Required | Description | Default |
|---|---|---|---|
| hours | No | lookback 1-168, default 24 | |
| symbol | No | BTC, ETH, SOL, HYPE or any USDT perp e.g. BTCUSDT (default SOLUSDT) | |
| buckets | No | price buckets 5-50, default 20 |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | the get_liq_heatmap payload; a real captured example is free at https://x402.ochinimus.app/api/sample/get_liq_heatmap |
| tool | Yes | the tool that produced this payload |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already carry readOnly/idempotent/openWorld/non-destructive, so the safety profile is covered. The description adds beyond them: per-call cost (0.02 USDC via x402 on several chains) which is critical invocation context, and data provenance ('real liquidation prints, not entry-price estimates'). It also enumerates returned fields (USD, prints, long/short split, hottest zone flagged).
Agents need to know what a tool does to the 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, then layered with data fields, provenance, symbols, and cost. Every sentence carries information, though promotional phrasing ('where leverage actually got flushed', 'not entry-price estimates') is slightly 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 cover safety; the description still supplies the payment model, provenance, and symbol universe. The only notable gap is explicit sibling routing in a crowded liquidation-tool family.
Complex tools with many parameters or behaviors need more documentation. 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 hours, symbol, and buckets with ranges and defaults. The description only echoes the symbol options and the N-hour lookback, adding 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 opening clause states a specific verb+resource and scope: 'Liquidation heatmap by PRICE LEVEL'. The emphasis on price-zone bucketing implicitly differentiates it from the many sibling feed/history/stats liquidation tools, though it never names a specific alternative sibling like get_liq_feed or get_liq_history.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 this is for viewing flushed leverage by price over an N-hour window, but there is no explicit 'use this instead of X when...' routing despite a large cluster of competing liquidation tools. The 'last N hours' framing hints at a time-scoped context but no exclusions are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_liq_historyLiquidation historyARead-onlyIdempotentInspect
Liquidation history, time-bucketed: total, long and short USD, prints and biggest print per bucket, for any USDT perp or the whole recorded universe, up to 7 days back. Bybit is the only complete liq tape in crypto and no exchange publishes history of it. Costs 0.05 USDC per call (x402, USDC on Solana, Base, Polygon, Arbitrum or Arc).
| Name | Required | Description | Default |
|---|---|---|---|
| hours | No | lookback 1-168, default 24 | |
| scope | No | all = whole universe | |
| symbol | No | USDT perp symbol e.g. SOLUSDT, BTCUSDT (default SOLUSDT) | |
| bucket_min | No | bucket minutes 5-1440, default 60 |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | the get_liq_history payload; a real captured example is free at https://x402.ochinimus.app/api/sample/get_liq_history |
| tool | Yes | the tool that produced this payload |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, openWorld, so the safety profile is covered. The description adds genuinely useful non-annotation behavior: a paid x402 call costing 0.05 USDC per call across specific chains, the underlying data source (Bybit), and a hard 7-day retention limit. It does not mention rate limits or failure modes, 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?
Purpose, granularity, and scope are front-loaded in the first sentence, with cost and payment details last. The middle sentence ('Bybit is the only complete liq tape in crypto and no exchange publishes history of it') is promotional and contributes little to tool selection, a minor deduction from an otherwise tight three-sentence entry.
Shorter descriptions cost fewer tokens and are easier for agents to parse. 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; both are handled by structured fields. The description covers the remaining gaps an agent needs: data source, lookback ceiling, scope options, and the payment requirement. 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 coverage is 100%: hours, scope, symbol, and bucket_min all carry ranges, defaults, and examples. The description only restates scope semantics ('any USDT perp or the whole recorded universe') and the 7-day cap, which duplicate the schema rather than extend it. 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 and resource plus granularity and output contents: 'Liquidation history, time-bucketed: total, long and short USD, prints and biggest print per bucket.' The scope ('any USDT perp or the whole recorded universe') and depth ('up to 7 days back') are explicit. It never names or contrasts a sibling (e.g., get_liq_feed, get_liq_pulse, get_liquidation_stats), so the differentiation is implicit at best.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 'up to 7 days back' horizon and the 'history, time-bucketed' framing imply this is the retrospective tool rather than a live feed, which is weak implied guidance. No when-to-use, when-not, prerequisites, or named alternatives are given, so an agent must infer its place among the many liq siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_liq_pulseLiquidation pulseARead-onlyIdempotentInspect
Use when an agent needs to know what is being liquidated right now. Returns the last 60 minutes across every USDT perp we record: total USD, long/short split, prints and the top 5 symbols. If our recording is stale it answers 503 and is never billed. Costs 0.005 USDC per call (x402, USDC on Solana, Base, Polygon, Arbitrum or Arc).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | the get_liq_pulse payload; a real captured example is free at https://x402.ochinimus.app/api/sample/get_liq_pulse |
| tool | Yes | the tool that produced this payload |
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 well beyond them: it discloses the stale-data failure mode (503, never billed), the exact per-call cost (0.005 USDC), and the x402 payment rails (USDC on Solana, Base, Polygon, Arbitrum, Arc). Billing and failure semantics are exactly the behavioral 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?
Three sentences, front-loaded with the use case, then what is returned, then failure/billing terms. Every clause carries distinct information and nothing is repeated from the schema or annotations.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return shape needs no elaboration, yet the description still summarizes the payload (total USD, long/short split, prints, top 5 symbols). Combined with cost, payment options, and stale handling, 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?
The tool takes zero parameters, so the baseline is 4; there is nothing for the description to clarify and it correctly does not invent any input surface. The stated scope (60-minute window, all USDT perps) effectively documents the implicit query dimensions.
Input schemas describe structure but not intent. Descriptions should explain 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 ('what is being liquidated right now') and pins the scope tightly: last 60 minutes, every USDT perp, with total USD, long/short split, prints and top 5 symbols. That is enough to distinguish it from broader history tools, though it never names a sibling explicitly despite the crowded liq_* family (get_liq_feed, get_last_liquidation, get_recent_liquidations).
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 needs to know what is being liquidated right now' gives a clear trigger, but there is no when-not and no comparison against the many near-identical siblings (get_liq_feed, get_recent_liquidations, get_last_liquidation, get_liq_history). The 'right now' framing implies recency-scoped usage but leaves the agent to infer which liquidation tool to pick.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_liquidation_leadersLiquidation leaderboardARead-onlyIdempotentInspect
What is blowing up RIGHT NOW: top symbols ranked by liquidation USD across every USDT perp we record on Bybit, OKX and Binance. Per symbol: total liquidated, long vs short split, biggest single print, venue count, dominant side. The fastest read on where leverage is being flushed. Costs 0.02 USDC per call (x402, USDC on Solana, Base, Polygon, Arbitrum or Arc).
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | top N symbols, 1-50, default 10 | |
| window_min | No | lookback minutes, 5-1440, default 60 |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | the get_liquidation_leaders payload; a real captured example is free at https://x402.ochinimus.app/api/sample/get_liquidation_leaders |
| tool | Yes | the tool that produced this payload |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, idempotent and open-world, so the safety profile is covered. The description adds genuinely useful context beyond them: a per-call cost of 0.02 USDC settled via x402 across five named chains, plus which venues are aggregated and what each row contains. It does not mention rate limits or data freshness/lag, which would have pushed it to 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?
Three sentences, front-loaded with the core capability and the scope constraint before the payoff line and the payment detail. The rhetorical opener 'What is blowing up RIGHT NOW' costs a few words but is short enough not to bury the substance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. 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 usefully enumerates the per-symbol fields. Combined with full parameter documentation, annotation coverage and explicit payment/coverage details, an agent has everything needed to select and call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% – both limit (1-50, default 10) and window_min (5-1440, default 60) are fully documented with ranges and defaults. The description adds no additional semantics for either parameter, 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 (top symbols ranked by liquidation USD) and constrains scope precisely: 'every USDT perp we record on Bybit, OKX and Binance'. The ranking framing clearly separates it from siblings like get_liq_feed, get_recent_liquidations and get_liq_heatmap, which are feeds/views rather than leaderboards.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 'The fastest read on where leverage is being flushed' implies a use case, but there is no explicit when-to-use vs when-not guidance and no sibling alternative is named (e.g. get_liq_pulse or get_cascade_alert for other angles). Usage 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.
get_liquidation_statsLiquidation statsARead-onlyIdempotentInspect
Liquidation aggregates for the 5 majors (SOL, BTC, ETH, XRP, DOGE): 1h and 24h totals, longs vs shorts USD split, biggest print, broken out per exchange. Costs 0.01 USDC per call (x402, USDC on Solana, Base, Polygon, Arbitrum or Arc).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | the get_liquidation_stats payload; a real captured example is free at https://x402.ochinimus.app/api/sample/get_liquidation_stats |
| tool | Yes | the tool that produced this payload |
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 adds substantive context annotations cannot: this is a x402-metered call costing 0.01 USDC, settled on five named chains. That payment/authorization requirement is exactly the kind of operational fact an agent must know before invoking. It omits data freshness/caching and any rate limit, hence 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?
A single dense sentence that front-loads what is returned and closes with the cost, which is the one fact an agent might otherwise discover only after failing. No filler, no restatement of the title.
Shorter descriptions cost fewer tokens and are easier for agents to parse. 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 not required; the description nonetheless summarises the metrics, which helps selection. Cost and chain coverage are disclosed. What is missing is sibling disambiguation in a namespace crowded with liquidation tools and any note on update cadence for the 1h/24h windows.
Complex tools with many parameters or behaviors need more documentation. 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 document and the baseline is 4. The description correctly does not invent parameters, and instead spends its words on the fixed dimensions of the response (windows, split, exchange breakout) — the right allocation for a no-arg call.
Input schemas describe structure but not intent. Descriptions should explain 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 enumerates the exact payload: 1h/24h totals, longs vs shorts USD split, biggest print, per-exchange breakout for the five named majors. That scoping ('the 5 majors') is genuinely differentiating. It stops short of naming which sibling it displaces, so an agent still has to guess between this and get_liq_pulse / get_liquidation_leaders / get_liq_feed.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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: the coverage/resolution described (aggregate 1h/24h windows on majors) hints at a summary use case, but there is no explicit 'use this instead of X when Y' and no exclusions against the eight other liquidation siblings. The cost disclosure ('0.01 USDC per call') does usefully signal a paid-vs-free routing decision, which is closer to guidance than most tools get.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_macro_calendarMacro calendarARead-onlyIdempotentInspect
FOMC, CPI, NFP and PCE calendar for traders: the next Fed rate decisions and the CPI, nonfarm payrolls and PCE release dates with UTC times converted from New York time (DST-aware), each with its official Fed, BLS or BEA source URL and the time we verified it. Read daily from the agencies' own pages and never entered by hand; data verified more than 35 days ago answers 503 and is never charged. Costs 0.005 USDC per call (x402, USDC on Solana, Base, Polygon, Arbitrum or Arc).
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | days ahead, 1-400, default 90 | |
| type | No | comma list of FOMC, CPI, NFP, PCE (default all) |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | the get_macro_calendar payload; a real captured example is free at https://x402.ochinimus.app/api/sample/get_macro_calendar |
| tool | Yes | the tool that produced this payload |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds rich context far beyond the read-only/idempotent annotations: data is pulled daily from Fed/BLS/BEA pages and never hand-entered, records verified more than 35 days ago return 503 and are never charged, and DST-aware conversion is documented. Freshness and billing failure behavior are exactly the non-obvious traits 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?
Front-loaded with the resource and its contents, then behavior and cost. Efficient overall, though the first sentence is dense and the pricing/solana-chain detail could be 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?
An output schema exists, so return shape needn't be described; the description instead covers the things schema cannot: data provenance, freshness cutoff, failure semantics, and payment cost. Complete for a monetized external-data 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 schema already documents 'days' (range/default) and 'type'. The description names the event categories (FOMC, CPI, NFP, PCE) matching the type parameter but adds no syntax, format, or interaction 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 resource (FOMC, CPI, NFP, PCE calendar) with the exact contents: next Fed rate decisions, release dates, UTC times converted from NY time, source URLs, and verification timestamps. No sibling tool competes with a macro-event calendar, so no differentiation is needed. An agent immediately knows what it returns.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 traders' gives an implicit audience but there is no explicit when-to-use, when-not-to-use, or named alternative. With no competing sibling, the gap is smaller, but the description still leaves usage conditions to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_market_snapshotMarket snapshotARead-onlyIdempotentInspect
SOL+BTC prices, funding rates, and Fear & Greed in one call. Costs 0.005 USDC per call (x402, USDC on Solana, Base, Polygon, Arbitrum or Arc).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | the get_market_snapshot payload; a real captured example is free at https://x402.ochinimus.app/api/sample/get_market_snapshot |
| tool | Yes | the tool that produced this payload |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, openWorld, and non-destructive, so safety is covered. The description adds a genuinely useful behavioral fact beyond the structured fields: this is a paid call costing 0.005 USDC via x402 and the accepted payment chains, which an agent must know 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?
Two short sentences, front-loaded with what the tool returns and reserving the second for cost. No filler, no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values need not be explained, and the description covers both content and payment cost. Complete for a zero-parameter, paid read tool, with only the deliberate sibling-routing guidance 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?
The tool takes zero parameters, so there is nothing for the description to clarify; the baseline for a no-param tool applies. The description correctly avoids inventing parameter guidance.
Input schemas describe structure but not intent. Descriptions should explain 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-implied resource (a market snapshot) and enumerates its exact contents: SOL+BTC prices, funding rates, and Fear & Greed. The phrase 'in one call' distinguishes it from the single-purpose siblings (get_btc_price, get_sol_price, get_fear_greed, get_funding_rate), though it never explicitly names 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?
'In one call' implies this is a bundle useful when several of these datapoints are needed at once, which is reasonable implied guidance. However there is no explicit statement of when to prefer this aggregate over the individual sibling tools, nor any when-not-to-use condition.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_market_stateMarket stateARead-onlyIdempotentInspect
Market state for BTC, ETH, SOL or HYPE in one call: spot and the perp's basis against the Hyperliquid oracle, realized vol 7d and 30d, funding with its 30-day z-score, open interest and its changes, the top Hyperliquid accounts' net-long share, liquidations 1h and 24h by side, Fear and Greed, the next FOMC or CPI release, and flags with stated thresholds. Every part carries its source and as-of time; a part we do not hold is null with a reason. When nothing of the market itself could be built it answers 503 and is never billed. Costs 0.02 USDC per call (x402, USDC on Solana, Base, Polygon, Arbitrum or Arc).
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | BTC (default), ETH, SOL or HYPE |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | the get_market_state payload; a real captured example is free at https://x402.ochinimus.app/api/sample/get_market_state |
| tool | Yes | the tool that produced this payload |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond the readOnly/idempotent annotations: it discloses per-part source and as-of timestamps, that missing parts are null with a reason, that a total build failure returns 503 and is never billed, and the exact price and payment rails (0.02 USDC via x402 on Solana/Base/Polygon/Arbitrum/Arc). These are exactly the cost, failure, and data-provenance 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 opening content inventory is long but earns its length by letting an agent judge coverage at a glance, and the operational facts (nulls, 503, billing) are packed into short trailing sentences. Slight density cost, but front-loaded and waste-free.
Shorter descriptions cost fewer tokens and are easier for agents to parse. 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; the description still covers the non-schema essentials — data provenance, null/missing semantics, failure mode, and cost. Nothing an agent needs to decide and pay for the call is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the single symbol parameter's allowed values are already documented in the schema; the description repeats 'BTC, ETH, SOL or HYPE' without adding format, casing, or default-resolution detail beyond what the schema states. Baseline 3 applies 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 resource (composite market state) and enumerates exactly which series it bundles: spot, perp basis vs Hyperliquid oracle, realized vol, funding z-score, OI, whale net-long share, liquidations, Fear and Greed, macro calendar, flags. An agent can distinguish it from narrower siblings like get_basis, get_fear_greed, get_open_interest, or get_market_snapshot 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 phrase 'in one call' implies this is the aggregation shortcut versus calling the many single-metric siblings, and the symbol list constrains the universe. However, no sibling is named explicitly and there is no when-not guidance (e.g. when a single cheap metric is preferable to the 0.02 USDC bundle).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_morning_briefMorning briefARead-onlyIdempotentInspect
Use when an agent needs a one-answer summary of the last 8 hours in BTC, ETH, SOL and HYPE. Returns the items ranked by how abnormal each is: price move against the coin's own usual 8-hour move, funding, open interest, liquidations (total, long/short split, biggest print), Fear and Greed, today's macro releases with UTC times, and the nearest liquidation cluster as the level to watch. A stale source is left out and named; with no sampler it answers 503, never billed. Costs 0.03 USDC per call (x402, USDC on Solana, Base, Polygon, Arbitrum or Arc).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | the get_morning_brief payload; a real captured example is free at https://x402.ochinimus.app/api/sample/get_morning_brief |
| tool | Yes | the tool that produced this payload |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond the read-only/idempotent annotations: it explains the ranking rationale (abnormality vs the coin's own usual 8-hour move), discloses partial-failure behavior (a stale source is dropped and named), the 503-without-sampler path, billing semantics ('never billed'), and the exact price and payment rails. This is unusually complete behavioral context for a paid aggregation 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 trigger condition and scoped in three sentences with no filler. The long middle enumeration of returned items is dense but every element is a distinct signal the agent may care about, so it earns its place even though it borders on packing too much into one 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-field definitions are not the description's burden, yet it still characterizes the content and ordering of the response. Cost, payment mechanism, partial-data handling and failure mode are all covered, leaving nothing an agent needs 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?
The tool takes zero parameters, so there is no parameter semantics to document; the baseline for a no-param tool is applied. The description correctly avoids inventing inputs and instead pins down coverage (four named assets, fixed 8-hour window).
Input schemas describe structure but not intent. Descriptions should explain 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 (summary/one-answer) with an explicit resource scope: last 8 hours across BTC, ETH, SOL and HYPE. That aggregate framing distinguishes it from single-metric siblings like get_signal_board, get_funding_pulse or get_market_snapshot 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?
Opens with an explicit trigger, 'Use when an agent needs a one-answer summary of the last 8 hours', which gives a clear selection condition. It stops short of naming when NOT to use it or which specific sibling to prefer for a single-metric question, so it earns a 4 rather than a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_move_alertMove alertARead-onlyIdempotentInspect
Use when an agent needs to know which Hyperliquid perps moved unusually. Returns each coin whose 5-minute, 1-hour or 4-hour price move, or 1-hour open-interest change, is past its own measured tail (tiers from the coin's own history, sample size printed), labelled event-driven when a scheduled FOMC, CPI, NFP or PCE release explains it. An empty list is a valid answer. Stale inputs answer 503, never billed. Costs 0.02 USDC per call (x402, USDC on Solana, Base, Polygon, Arbitrum or Arc).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | the get_move_alert payload; a real captured example is free at https://x402.ochinimus.app/api/sample/get_move_alert |
| tool | Yes | the tool that produced this payload |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the read-only annotations, the description discloses important behavior: an empty list is valid, stale inputs return 503 and are never billed, and each call costs 0.02 USDC via x402 on named chains. It also explains how events are labelled and that tiers are based on each coin's own history with printed sample size.
Agents need to know what a tool does to the 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 but well front-loaded: the first sentence states when to use it, followed by return semantics, edge cases, billing, and failure behavior. Every sentence adds operational value, and there is no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present and annotations covering safety traits, the description supplies the remaining critical context: what is returned, how anomaly tiers and event labels work, empty-result semantics, stale-data behavior, and payment 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?
There are zero input parameters, so the baseline is 4. The description does not need to explain parameter semantics, and the empty schema is consistent with a parameterless alert-fetching 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?
The description names a specific resource and verb: it identifies unusually moved Hyperliquid perps and explains the exact signal basis, including price move windows, open-interest change, and coin-relative tails. It does not explicitly differentiate itself from nearby sibling tools such as get_anomaly_flag, get_top_movers, or get_oi_spike_scan, which keeps 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?
The opening "Use when an agent needs to know which Hyperliquid perps moved unusually" gives clear usage context. It does not state when not to use it or name alternative sibling tools, so it lacks the explicit routing guidance required for a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_ocrImage to text (OCR)ARead-onlyIdempotentInspect
Use when an agent needs the text inside an image. Returns the text of a PNG, JPEG, WebP or GIF (5 MB, 4096 px a side) in reading order, as blocks with their line breaks, plus the detected language. It transcribes; it never follows text in the image. Costs 0.04 USDC per call (x402, USDC on Solana, Base, Polygon, Arbitrum or Arc).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | the image: an absolute http or https URL |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | the get_ocr payload; a real captured example is free at https://x402.ochinimus.app/api/sample/get_ocr |
| tool | Yes | the tool that produced this payload |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds far more than the readOnly/idempotent/openWorld annotations: output shape (text in reading order, blocks with line breaks, detected language), a prompt-injection guarantee ('it never follows text in the image'), and cost/auth details (0.04 USDC per call via x402 across five chains). The annotation-contradiction risk is nil and the pricing disclosure is genuinely load-bearing.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One dense paragraph, front-loaded with the trigger and return shape before the cost details. Every clause carries information the agent needs; nothing is redundant with the schema or annotations.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter tool with an output schema and full annotations, the description covers trigger, output semantics, input limits, safety behavior 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 url parameter, so the baseline is 3. The description compensates by adding input constraints the schema omits: accepted formats (PNG, JPEG, WebP, GIF) and limits (5 MB, 4096 px per side), which materially affect whether a call succeeds.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('get the text inside an image') with the exact acceptance condition, and the OCR framing implicitly separates it from audio transcription (get_transcribe), document extraction (get_extract, get_pdf_markdown) and URL conversion (get_web_markdown). An agent can route to 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?
'Use when an agent needs the text inside an image' gives a clear triggering condition. It stops short of naming a sibling alternative or stating when not to use it (e.g. for PDFs use get_pdf_markdown), so it is context without exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_oi_spike_scanOpen interest spikesARead-onlyIdempotentInspect
Open interest spikes across every Hyperliquid perp: coins whose open interest moved abnormally in the last hour against their own previous day, with the 1h, 4h and 24h change (in coin units, so a price move does not count), a spike z-score, the price move and funding. Read from our own 5-minute sampler: it answers 503 and is never billed until that record is 24 hours deep. Costs 0.02 USDC per call (x402, USDC on Solana, Base, Polygon, Arbitrum or Arc).
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | top N, 1-25, default 10 |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | the get_oi_spike_scan payload; a real captured example is free at https://x402.ochinimus.app/api/sample/get_oi_spike_scan |
| tool | Yes | the tool that produced this payload |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond the annotations (readOnly/idempotent/openWorld/non-destructive): it discloses the data source (own 5-minute sampler), an availability constraint (returns 503 until the record is 24 hours deep), and a per-call cost (0.02 USDC via x402 across five chains). That is exactly the operational 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?
Purpose is front-loaded in the lead clause and no sentence is wasted; every clause adds a distinct fact (scope, units, fields, source, cost). The first sentence is dense with embedded detail but remains readable and information-efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present and annotations covering the safety profile, the description fills the remaining gaps an agent needs: what makes a spike, units that isolate OI from price, the sampler's freshness caveat, and the billing model. Complete for a single-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?
Only one parameter (limit), fully documented in the schema at 100% coverage, so the schema carries the burden. The description adds nothing about the limit parameter's meaning or defaults, 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 specific resource (open interest spikes across every Hyperliquid perp) and precisely scopes it: coins whose open interest moved abnormally in the last hour relative to their own previous day. It then lists the returned fields (1h/4h/24h change in coin units, z-score, price move, funding), which clearly differentiates it from siblings like get_open_interest that return raw levels.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description makes the use case inferable (surfacing abnormal OI moves), but never explicitly says when to pick this over get_open_interest, get_funding_extremes, or get_squeeze_score. No exclusions or alternative routing are given, so the agent must infer the appropriate context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_open_interestOpen interestARead-onlyIdempotentInspect
Open interest for ANY Hyperliquid perp: OI in base units and in USD with the mark price, and its 1h and 24h change from our own 5-minute sampler (null until that record reaches back so far). /api/positioning adds the whale net-long share for SOL and BTC. Costs 0.01 USDC per call (x402, USDC on Solana, Base, Polygon, Arbitrum or Arc).
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | USDT perp symbol e.g. SOLUSDT, BTCUSDT (default SOLUSDT) |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | the get_open_interest payload; a real captured example is free at https://x402.ochinimus.app/api/sample/get_open_interest |
| tool | Yes | the tool that produced this payload |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish readOnly/idempotent/non-destructive, so the safety profile is covered. The description adds genuinely useful non-schema behavior: null semantics for 1h/24h change until the sampler has enough history, the data's provenance (own 5-minute sampler), and the per-call cost of 0.01 USDC via x402 with the accepted chains.
Agents need to know what a tool does to the 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 tight sentences, front-loaded with the core capability before the provenance detail and pricing. No filler, though the payment-chain enumeration is dense enough to slightly dilute the main 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 fields need not be explained, and the description still covers data source, null behavior, and cost. What is missing is rate-limit or caching behavior for a paid endpoint, but the core is complete for a single-optional-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?
Schema coverage is 100% and the single symbol parameter is already documented with format examples and a default in the schema. The description adds only the scoping phrase 'ANY Hyperliquid perp', 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?
The description names the specific resource (open interest for ANY Hyperliquid perp) and enumerates the exact outputs: OI in base units and USD with mark price, plus 1h and 24h change from a documented 5-minute sampler. This distinguishes it from siblings like get_oi_spike_scan and get_positioning without the agent 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?
Usage is implied (query perp OI) and the description usefully notes that /api/positioning adds whale net-long share for SOL and BTC, which hints at an alternative. However, it never explicitly states when to prefer this tool over get_oi_spike_scan or the get_positioning tool, nor any exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_orderbook_imbalanceOrderbook imbalanceARead-onlyIdempotentInspect
Orderbook imbalance for any Hyperliquid perp: resting bid and ask liquidity in USD within ±N bps of mid, the ratio between the two sides, and a skew read. Costs 0.01 USDC per call (x402, USDC on Solana, Base, Polygon, Arbitrum or Arc).
| Name | Required | Description | Default |
|---|---|---|---|
| bps | No | window ±bps around mid, 5-500, default 50 | |
| symbol | No | USDT perp symbol e.g. SOLUSDT, BTCUSDT (default SOLUSDT) |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | the get_orderbook_imbalance payload; a real captured example is free at https://x402.ochinimus.app/api/sample/get_orderbook_imbalance |
| tool | Yes | the tool that produced this payload |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, open-world access, so the safety profile is covered. The description adds genuinely new behavioral context the annotations cannot express: a paid endpoint at 0.01 USDC per call via x402, with the accepted settlement chains enumerated. It does not mention rate limits or failure behavior, but the payment requirement is the key operational fact.
Agents need to know what a tool does to the 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 measurement, then a compact second sentence for the cost and payment rails. Information-dense with no filler; the first sentence is long but each clause contributes a distinct output field.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return-field documentation is not required, and the description covers what is measured, the venue scope, the default symbol, and the cost model. The notable remaining gap is routing relative to the many overlapping market-data 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% with only two params, both already documented with ranges and defaults, so the schema does the heavy lifting. The description's '±N bps of mid' framing reinforces the bps semantics but adds no syntax, units, or edge-case detail beyond what the schema states.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific metric (orderbook imbalance), the underlying computation (resting bid/ask liquidity in USD within ±N bps of mid), and the derived outputs (ratio and skew read) for a named venue universe (Hyperliquid perps). An agent can distinguish this from sibling get_orderbook_walls 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?
No when-to-use or when-not-to-use guidance, and no alternatives named despite many closely related siblings (get_orderbook_walls, get_perp, get_market_snapshot). The only decision-relevant fact offered is the per-call cost, which is pricing rather than routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_orderbook_wallsOrderbook wallsARead-onlyIdempotentInspect
Orderbook walls for any Hyperliquid perp: the largest resting orders on each side of the book, with USD size and distance from mid. Costs 0.01 USDC per call (x402, USDC on Solana, Base, Polygon, Arbitrum or Arc).
| Name | Required | Description | Default |
|---|---|---|---|
| top | No | walls per side, 1-15, default 5 | |
| symbol | No | USDT perp symbol e.g. SOLUSDT, BTCUSDT (default SOLUSDT) |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | the get_orderbook_walls payload; a real captured example is free at https://x402.ochinimus.app/api/sample/get_orderbook_walls |
| tool | Yes | the tool that produced this payload |
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 burden is lower. The description adds genuinely useful non-schema context: a pay-per-call cost of 0.01 USDC via x402 and the accepted settlement chains, which is essential for an agent to invoke it successfully.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences with zero filler: the capability and its output shape come first, the payment terms second. 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?
An output schema exists, so return values need not be explained, and the schema covers inputs. The pricing/payment requirement is surfaced, which is the main non-obvious prerequisite. The only gap is routing guidance relative to the orderbook/imbalance 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 both parameters (top, symbol) are already fully documented with ranges and defaults. The description adds no parameter-level syntax or constraints beyond the schema; the 'distance from mid' detail describes output rather than inputs. 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 resource (orderbook walls), scopes it (Hyperliquid perps), and defines what a wall is ('largest resting orders on each side of the book, with USD size and distance from mid'). This clearly separates it from sibling get_orderbook_imbalance, which measures aggregate imbalance rather than discrete large orders.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the use case (finding large resting liquidity on Hyperliquid perps) but never states when to choose this over get_orderbook_imbalance or other book-derived siblings, nor any prerequisites beyond the pricing note.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_paperPaper by DOIARead-onlyIdempotentInspect
Use when an agent needs the paper behind a DOI. Returns title, year, authors, venue, citation count, open-access URL and the abstract where OpenAlex holds it (CC0 data). The DOI goes in the path as written, slash included: /api/paper/10.1038/nature14539. Costs 0.005 USDC per call (x402, USDC on Solana, Base, Polygon, Arbitrum or Arc).
| Name | Required | Description | Default |
|---|---|---|---|
| doi | Yes | a DOI such as 10.1038/nature14539, sent in the path as written (its slash as %2F also works) |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | the get_paper payload; a real captured example is free at https://x402.ochinimus.app/api/sample/get_paper |
| tool | Yes | the tool that produced this payload |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover safety (readOnly, idempotent, non-destructive), but the description adds details annotations cannot express: the data source (OpenAlex, CC0), what is returned and that abstracts are conditional ('where OpenAlex holds it'), and a paid-call cost of 0.005 USDC via x402 with named chains. The payment prerequisite is exactly the kind of behavior an agent must know 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?
Three sentences, front-loaded with the usage trigger, then return values, then the path and cost mechanics. No filler and no repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Output schema covers the return shape and annotations cover safety, so the description fills the remaining gaps an agent needs: payment cost and rails, data provenance/licensing, and the exact path encoding with an example. Nothing material to a correct call is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and already documents the DOI pattern, max length, and the %2F alternative. The description restates the path form ('slash included') and adds a concrete example URL, which is mildly useful but largely duplicative, 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 ('get the paper behind a DOI') and enumerates the returned fields, which separates it unambiguously from the plural sibling get_papers. An agent can route to it without inspecting 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?
'Use when an agent needs the paper behind a DOI' gives a clear trigger condition, and the enumeration of returned metadata implies the lookup use case. It never explicitly says when to prefer get_papers (search/list) instead, so the exclusion is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_papersPaper searchARead-onlyIdempotentInspect
Use when an agent needs scholarly papers on a topic. Returns OpenAlex works (CC0 data) for a search: title, year, DOI, authors, venue, citation count and open-access link, up to 25, optionally from a given year. Cached 24 hours. Costs 0.015 USDC per call (x402, USDC on Solana, Base, Polygon, Arbitrum or Arc).
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | the search text, up to 200 characters | |
| limit | No | papers returned, 1-25, default 10 | |
| year_from | No | earliest publication year, e.g. 2022 |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | the get_papers payload; a real captured example is free at https://x402.ochinimus.app/api/sample/get_papers |
| tool | Yes | the tool that produced this payload |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond the annotations by disclosing the 24-hour cache, the hard cap of up to 25 results, and — critically — that calls cost 0.015 USDC via x402 on named chains. Payment/auth requirements are exactly the kind of behavioral 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?
Front-loaded with the 'Use when' trigger, then return contents, then caching and cost. Dense but every clause carries information; the payment parenthetical is long but necessary and correctly placed last.
Shorter descriptions cost fewer tokens and are easier for agents to parse. 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, yet the description still summarizes returned fields, and it covers caching, result cap, optional year filter and per-call cost. 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%, so q, limit and year_from are already fully documented. The description only restates 'up to 25, optionally from a given year' without adding format or syntax 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 ('returns OpenAlex works for a search') and enumerates the returned fields, so the agent knows it is a topical scholarly search. It does not explicitly differentiate itself from the sibling get_paper (singular), leaving the search-vs-detail split 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?
'Use when an agent needs scholarly papers on a topic' gives a clear triggering condition and the optional year filter is noted. There are no explicit exclusions or named alternatives (e.g., points to get_paper for full text), 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.
get_pdf_markdownPDF to markdownARead-onlyIdempotentInspect
Use when an agent needs the text of a PDF as markdown. Returns the text of the one PDF URL you pass, page by page as markdown, with title, page count and word count. http or https, 10 MB, 10 s; robots.txt honoured and private addresses refused. A file that is not a PDF, a PDF with no text layer (a scan), or an unreachable URL, is never charged. Costs 0.01 USDC per call (x402, USDC on Solana, Base, Polygon, Arbitrum or Arc).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | the PDF to convert: an absolute http or https URL |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | the get_pdf_markdown payload; a real captured example is free at https://x402.ochinimus.app/api/sample/get_pdf_markdown |
| tool | Yes | the tool that produced this payload |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond the annotations by stating hard operational limits (http/https, 10 MB, 10 s), the robots.txt and private-address policy, the failure modes that are not charged, and the exact cost and payment rails. For an openWorld, paid network call this is exactly the context 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?
Front-loaded with the use case, then constraints, then pricing, so the most decision-relevant content comes first. It is dense but every clause carries distinct information (limits, policy, cost), with only minor overlap between 'http or https' and 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 return shape needn't be spelled out, yet the description still summarizes it (title, page count, word count). Combined with annotations covering safety and the description covering limits, policy, failure handling and payment, nothing required 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% and there is a single parameter whose format is already documented as an absolute http/https URL. The description's 'the one PDF URL you pass' essentially restates the schema, adding no syntax beyond it, 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 action and resource ('the text of a PDF as markdown') so the agent immediately knows the input type and output format. It implicitly distinguishes itself from web-markdown siblings by being PDF-specific, but never names an alternative tool for contrast.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 an explicit when-to-use trigger ('Use when an agent needs the text of a PDF as markdown') and identifies the failure case of a scanned PDF with no text layer. It does not, however, route that case explicitly to a sibling such as get_ocr.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_peg_deviationTokenized stock pegARead-onlyIdempotentInspect
Tokenized stock peg deviation on Solana: the on-chain DEX price of a tokenized US equity versus the underlying's last real trade, in bps, with 24h stats split into market-open and off-hours. Sampled every 5 minutes by our own collector; the token price is read on-chain. latest.reference is null: the underlying's reference price is not returned (its source does not allow redistribution), only the deviation computed from it. Costs 0.02 USDC per call (x402, USDC on Solana, Base, Polygon, Arbitrum or Arc).
| Name | Required | Description | Default |
|---|---|---|---|
| hours | No | lookback 1-168, default 24 | |
| symbol | Yes | Tokenized equity symbol e.g. CRCLx, MSTRx, COINx |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | the get_peg_deviation payload; a real captured example is free at https://x402.ochinimus.app/api/sample/get_peg_deviation |
| tool | Yes | the tool that produced this payload |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond the read-only/idempotent/openWorld annotations: it discloses sampling cadence (every 5 minutes), data provenance (token price read on-chain by our own collector), a key data caveat (latest.reference is null because the underlying source forbids redistribution), and a per-call payment requirement with accepted chains. These are exactly the operational traits an agent cannot get 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-loads purpose in the first clause before the qualifications, and every clause carries real information (unit, cadence, null caveat, cost). It is dense and could be split for readability, but there is no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return values needn't be explained, and the description still pre-empts a likely confusion by flagging that latest.reference comes back null. Cadence, provenance, unit, and cost are all covered, leaving nothing an agent needs to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and both params (symbol with examples, hours 1-168 default 24) are documented in the schema, so the description need not restate them. It adds no syntax or format detail beyond the schema, so baseline 3 applies; it does implicitly confirm the symbol refers to tokenized equities.
Input schemas describe structure but not intent. Descriptions should explain 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 ('peg deviation'), names the counterparties being compared (on-chain DEX price of a tokenized US equity vs the underlying's last real trade), and specifies the unit (bps). An agent can distinguish this from sibling peg tools (get_peg_sessions, get_peg_universe) and from get_equity_24h.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage context is implied: it's a Solana tokenized-equity deviation metric, and the cost line signals a paid call to be used deliberately. However, it never states when to prefer this over the obvious siblings (get_peg_sessions, get_peg_universe, get_equity_24h), so routing remains an inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_peg_sessionsPeg by sessionARead-onlyIdempotentInspect
Tokenized stock peg by trading session: deviation broken out across open, premarket, afterhours, overnight and weekend — mean, p95, max bps and median liquidity each, with the worst off-hours window flagged. Market-open acts as the control. Costs 0.03 USDC per call (x402, USDC on Solana, Base, Polygon, Arbitrum or Arc).
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | lookback 1-30, default 7 | |
| symbol | Yes | Tokenized equity symbol e.g. CRCLx, MSTRx, COINx |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | the get_peg_sessions payload; a real captured example is free at https://x402.ochinimus.app/api/sample/get_peg_sessions |
| tool | Yes | the tool that produced this payload |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint, covering the safety profile. The description adds genuinely new operational context: the 0.03 USDC x402 charge and the accepted payment chains (Solana, Base, Polygon, Arbitrum, Arc), plus the specific statistics returned and the flagged worst off-hours window.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single dense sentence with the headline (peg by session) front-loaded, followed by the breakdown and then the cost caveat. Every clause carries information, though the em-dash chain of sessions and measures is heavy for one 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 doesn't need to enumerate return values, yet it still names the key measures and the control baseline, and it discloses the paid-call requirement. Nothing an agent needs to decide or invoke 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 both parameters are documented inline (days lookback 1-30 default 7; symbol format e.g. CRCLx). The description adds no parameter-level detail at all, so the baseline 3 applies when the schema does all 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 the resource (tokenized stock peg) and the exact analytic cut (deviation broken out across open, premarket, afterhours, overnight, weekend) with the output measures named. This session-level breakout is what separates it from siblings like get_peg_deviation and get_peg_universe, so an agent can pick it 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 implicitly signals when session granularity matters by describing the off-hours breakdown and noting 'Market-open acts as the control,' which tells the agent how to read the result. However, it never states when to prefer this over get_peg_deviation or get_peg_universe, nor any prerequisites beyond the cost line.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_peg_universeTokenized stock rankingsARead-onlyIdempotentInspect
Tokenized stocks ranked by off-hours peg risk: every tokenized US equity we track, with p95 and max deviation bps, market-open deviation as the control, and median liquidity. Dead pools are excluded rather than reported as perfect pegs. Costs 0.05 USDC per call (x402, USDC on Solana, Base, Polygon, Arbitrum or Arc).
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | lookback 1-30, default 7 | |
| min_liquidity_usd | No | filter out thinner pools |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | the get_peg_universe payload; a real captured example is free at https://x402.ochinimus.app/api/sample/get_peg_universe |
| tool | Yes | the tool that produced this payload |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations cover the safety profile (readOnly, idempotent, open world), and the description adds genuinely new operational context: a per-call cost of 0.05 USDC, the x402 payment mechanism, and the accepted chains. It also discloses a behavioral quirk of the result set (dead pools dropped instead of shown at parity), which would otherwise mislead an agent into thinking coverage is complete.
Agents need to know what a tool does to the 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 basis, then the payment cost. Efficient overall, though the chain list is verbose and the opening sentence is a dense run-on that mixes scope, metrics, and exclusion policy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. 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 scope, metric definitions, exclusions, and cost. It omits pagination/row-count limits for a universe-wide listing and does not say how fresh the data is relative to the days lookback.
Complex tools with many parameters or behaviors need more documentation. 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 (days, min_liquidity_usd) are already documented, and the description adds no syntax, units, or default detail beyond them — 'median liquidity' refers to an output metric, not the filter. 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 (ranks/lists), a precise resource (every tokenized US equity tracked), and the metric basis (off-hours peg risk, p95/max deviation bps, market-open control, median liquidity). An agent can tell this is the universe-level peg ranking, but the description never names the closely-related siblings get_peg_deviation or get_peg_sessions, so differentiation relies on inference.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 exclusion policy ('dead pools are excluded rather than reported as perfect pegs') implies when this list is meaningful, but there is no explicit when-to-use or when-not-to-use statement and no routing to get_peg_deviation for single-token pegs. Usage 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.
get_perpPerp snapshotARead-onlyIdempotentInspect
Use when an agent needs one perp market in a single call. Returns Hyperliquid funding and open interest (with 1h/24h change from our 5-minute sampler) and 24h liquidations with long/short split and biggest print from our own tape. A symbol nothing lists answers 400 and a failed read answers 503; neither is ever billed. Costs 0.005 USDC per call (x402, USDC on Solana, Base, Polygon, Arbitrum or Arc).
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | USDT perp symbol e.g. SOLUSDT, BTCUSDT (default SOLUSDT) |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | the get_perp payload; a real captured example is free at https://x402.ochinimus.app/api/sample/get_perp |
| tool | Yes | the tool that produced this payload |
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 goes well beyond them: it discloses error semantics (400 for an unlisted symbol, 503 for a failed read), billing behavior on those errors ('neither is ever billed'), a precise per-call price, and accepted payment rails. That is exactly the operational context an agent needs to decide whether to 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?
Four sentences, each carrying distinct information: when to use, what is returned, error/billing behavior, and cost. The use case is front-loaded and there is no padding or repetition of the title.
Shorter descriptions cost fewer tokens and are easier for agents to parse. 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, composite read tool with an output schema and full annotations, the description covers invocation context, payload contents, failure modes, and pricing. Nothing an agent needs to call it correctly is missing, and return-value detail is appropriately deferred 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%, so the single `symbol` parameter is already documented with an example and a default. The description references the symbol concept only via the error case ('a symbol nothing lists') and adds no format or override guidance beyond the schema, so 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 the resource ('one perp market') and enumerates the payload (Hyperliquid funding, open interest with 1h/24h change, 24h liquidations with long/short split). The phrase 'in a single call' implicitly positions it as the composite snapshot versus single-metric siblings like get_funding_rate or get_open_interest, but it never names those alternatives, so differentiation is left to inference.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 needs one perp market in a single call' is a genuine when-to-use trigger, and the 'single call' framing hints that it consolidates data otherwise spread across siblings. However, with dozens of related perp/funding/OI tools in the namespace, no explicit when-not or named alternative is given, leaving the routing decision implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_pkg_checkPackage checkARead-onlyIdempotentInspect
Use when an agent needs to know if an npm or PyPI version has a published advisory. Returns flagged (any OSV advisory for that exact version), highest severity, advisories, release, scripts, downloads, name-squat flags. 404 or 503: not charged. Costs 0.02 USDC per call (x402, USDC on Solana, Base, Polygon, Arbitrum or Arc).
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | package name: an npm name (optionally @scope/name) or a PyPI project name | |
| version | No | version to check, for example 4.17.21 (default: the latest published version) | |
| ecosystem | Yes | npm or pypi |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | the get_pkg_check payload; a real captured example is free at https://x402.ochinimus.app/api/sample/get_pkg_check |
| tool | Yes | the tool that produced this payload |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnly/idempotent/non-destructive annotations, the description discloses what the response contains (flagged, highest severity, advisories, release, scripts, downloads, name-squat flags), the billing model (0.02 USDC via x402 on listed chains), and the important cost nuance that 404 or 503 responses are not charged. That billing and failure-cost context is exactly the kind of behavioral 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 trigger condition is front-loaded in the first clause, followed by return fields and then billing. It is dense but every sentence carries usable information; the payment-rail enumeration is slightly long but relevant to callers paying per use.
Shorter descriptions cost fewer tokens and are easier for agents to parse. 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 summarizes them and covers cost and non-charged failures. It stops short of noting behavior on other error codes or whether script/download fields indicate supply-chain risk, which a cautious agent might 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%, with name, version, and ecosystem each described in the input schema, including the latest-version default. The description reinforces that matching is on the exact version but adds no syntax or format detail 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 names a specific verb and resource ('know if an npm or PyPI version has a published advisory') and immediately scopes it to exact-version OSV advisories, which separates it cleanly from nearby siblings like get_claim_check, get_honeypot_check, and get_sol_token_check. An agent can pick this 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?
'Use when an agent needs to know if an npm or PyPI version has a published advisory' gives a clear triggering condition, and the ecosystem parameter narrows the domain. It does not name an alternative tool or state when not to use it, but the ecosystem is narrow enough that no obvious conflict exists among siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_positioningSOL and BTC positioningARead-onlyIdempotentInspect
SOL+BTC positioning on Hyperliquid: open interest with 1h/24h change and the top 250 accounts' net-long share (whale crowding). Costs 0.005 USDC per call (x402, USDC on Solana, Base, Polygon, Arbitrum or Arc).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | the get_positioning payload; a real captured example is free at https://x402.ochinimus.app/api/sample/get_positioning |
| tool | Yes | the tool that produced this payload |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/openWorld/idempotent/non-destructive, so the safety profile is covered. The description adds genuinely useful non-annotation context: the 0.005 USDC per-call cost and the x402 payment rails (USDC on Solana, Base, Polygon, Arbitrum, Arc), which is important for an agent deciding whether 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?
A single tight sentence that front-loads the returned data and ends with cost/payment. Every clause earns its place, with no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With a zero-param schema and an output schema present, the description need not explain return values. It covers what the tool computes and its cost/payment requirements, leaving only cross-tool routing to the reader.
Complex tools with many parameters or behaviors need more documentation. 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, so there is nothing for the description to disambiguate; the zero-param baseline of 4 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 resource and scope: SOL+BTC positioning on Hyperliquid, broken down into open interest with 1h/24h change and the top 250 accounts' net-long share. An agent knows exactly what data it returns. It does not, however, distinguish itself from closely overlapping siblings like get_open_interest or get_hl_whales, so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description never says when to reach for this tool versus the many sibling tools that surface open interest or Hyperliquid whale data. It states what the tool produces but provides no usage context or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_priority_feesSolana priority feesARead-onlyIdempotentInspect
Solana priority fees right now: percentiles from min to max of the per-slot minimum fee paid on the busiest SOL/USDC pools over the last ~150 slots, in micro-lamports per compute unit, with a recommended level. For bots that need their transactions to land. Costs 0.005 USDC per call (x402, USDC on Solana, Base, Polygon, Arbitrum or Arc).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | the get_priority_fees payload; a real captured example is free at https://x402.ochinimus.app/api/sample/get_priority_fees |
| tool | Yes | the tool that produced this payload |
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 adds genuinely non-structured context: the data is a live "right now" snapshot over a ~150-slot window, and each call costs 0.005 USDC via x402 (USDC on Solana, Base, Polygon, Arbitrum or Arc). The paid/auth requirement is the kind of behavioral detail annotations cannot convey. It stops short of noting any rate limits or freshness guarantees.
Agents need to know what a tool does to the 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 definition of the metric before the audience and the price. Dense but every clause carries information; the parenthetical payment-network list is slightly bulky but justified for 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 structure is already covered. Given no input parameters, a rich output schema, and full annotation coverage, the description supplies everything else a caller needs: what the numbers mean, their units, freshness, and cost. Only the absence 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?
There are zero input parameters, so the baseline is 4; there is nothing for the description to compensate for. It does add unit semantics (micro-lamports per compute unit) that frame how callers should read the tool's output.
Input schemas describe structure but not intent. Descriptions should explain 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 (Solana priority fees) and then defines the measurement precisely: percentiles from min to max of per-slot minimum fee on the busiest SOL/USDC pools over ~150 slots, in micro-lamports per compute unit, plus a recommended level. An agent can distinguish it from the adjacent get_jito_tips sibling 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?
"For bots that need their transactions to land" gives an implied use context, which is real but thin. It names no alternative (notably get_jito_tips, which is the closest sibling for landing transactions via block-engine tips) and states no when-not condition, 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.
get_qrQR codeARead-onlyIdempotentInspect
Use when an agent needs a QR code for a link, address or payment string. Returns an SVG or PNG (base64 and data URI) at error-correction level M, scaled for scanning. Input up to 2 KB; over that is a 400, never billed. Costs 0.005 USDC per call (x402, USDC on Solana, Base, Polygon, Arbitrum or Arc).
| Name | Required | Description | Default |
|---|---|---|---|
| data | Yes | the text to encode, up to 2,048 bytes | |
| format | No | svg (default) or png |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | the get_qr payload; a real captured example is free at https://x402.ochinimus.app/api/sample/get_qr |
| tool | Yes | the tool that produced this payload |
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 substantial context beyond them: error-correction level M, scan-appropriate scaling, the 2 KB input ceiling with a 400 response that is never billed, and per-call pricing in USDC via x402 across named chains. This is exactly the billing and failure-mode detail an agent needs before spending.
Agents need to know what a tool does to the 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 trigger condition, then the return format, then limits and cost. Every sentence carries distinct information with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, yet the description still names the return forms (SVG/PNG, base64 and data URI) and covers limits, error behavior, and pricing. Nothing an agent needs to call this 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 description coverage is 100%, so both 'data' and 'format' are already documented in the schema; the description's '2 KB' and 'SVG or PNG' merely restate them. Per the rubric, 100% coverage sets the baseline at 3 when the description adds no new parameter syntax.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('get a QR code') and narrows the use case to 'a link, address or payment string.' No sibling tool competes for this function, so the purpose is unambiguous without 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?
'Use when an agent needs a QR code for a link, address or payment string' gives clear usage context. There are no alternatives to route away from among the siblings, but no explicit when-not or exclusion is offered, 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.
get_recent_liquidationsRecent liquidationsBRead-onlyIdempotentInspect
Recent perp liquidations across Bybit (complete unthrottled tape), OKX and Binance: timestamp, long/short, size, price, USD value. Any USDT perp we record, not just majors. Costs 0.005 USDC per call (x402, USDC on Solana, Base, Polygon, Arbitrum or Arc).
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | max rows, 1-100, default 25 | |
| scope | No | core = the 5 majors (default), all = every recorded USDT perp | |
| symbol | No | SOL, BTC, ETH, XRP, DOGE, or any USDT perp e.g. SXTUSDT (omit for majors) | |
| min_usd | No | only prints >= this USD size |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | the get_recent_liquidations payload; a real captured example is free at https://x402.ochinimus.app/api/sample/get_recent_liquidations |
| tool | Yes | the tool that produced this payload |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint and openWorldHint, so the safety profile is covered. The description adds genuinely new behavioral context the annotations lack: a 0.005 USDC per-call cost, the x402 payment mechanism and accepted chains, plus a completeness claim ('complete unthrottled tape'). It does not discuss rate limits or response shape, but the payment prerequisite is meaningful added value.
Agents need to know what a tool does to the 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 tight sentences with no filler; the resource and its field list lead, followed by breadth and cost. Efficient and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. 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-described, and cost/sources are covered. But for a no-required-param tool sitting in a dense cluster of liquidation siblings, the absence of routing guidance leaves the definition only minimally complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all four parameters with ranges, defaults and enum values. The description's 'not just majors' and 'any USDT perp' loosely map to scope and symbol but add no syntax or filtering detail 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 and resource (recent perp liquidations) and enumerates the returned fields plus the venues covered (Bybit, OKX, Binance). However, it never distinguishes itself from the many sibling liquidation tools (get_liq_feed, get_last_liquidation, get_liq_history, get_liq_pulse), so an agent cannot tell which one to pick from the description 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?
There is no when-to-use or when-not-to-use guidance, and no alternatives are named despite at least half a dozen sibling liquidation feeds. The only actionable context is the per-call price, which does not help an agent choose among tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_rwa_yieldsRWA yieldsARead-onlyIdempotentInspect
Use when an agent needs the realized 7-day and 30-day yield of tokenized treasury and credit products, computed from issuer on-chain prices. Returns NAV, yields, contract and method. A failed read answers 503, not charged. Costs 0.02 USDC per call (x402, USDC on Solana, Base, Polygon, Arbitrum or Arc).
| Name | Required | Description | Default |
|---|---|---|---|
| product | No | one product id (usdy, ousg, ustb, usyc, syrupusdc); omit it for every product |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | the get_rwa_yields payload; a real captured example is free at https://x402.ochinimus.app/api/sample/get_rwa_yields |
| tool | Yes | the tool that produced this payload |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only/idempotent, but the description adds genuinely new behavioral facts: a failed read returns 503 and is not charged, and each call costs 0.02 USDC via x402 with an explicit list of payment chains. Pricing and failure-billing semantics are 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?
Four short sentences, front-loaded with the usage trigger, then output, then failure behavior, then price. No sentence is redundant against another.
Shorter descriptions cost fewer tokens and are easier for agents to parse. 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 key return fields (NAV, yields, contract, method), covers error handling, and discloses payment requirements. Nothing an agent needs to decide or call correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the schema itself already lists the five product ids and the omit-for-all behavior. The description adds nothing beyond that on the single parameter, 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 resource (realized 7-day and 30-day yield of tokenized treasury and credit products) plus the computation source (issuer on-chain prices). This clearly separates it from neighboring market-data siblings like get_basis, get_spot, or get_peg_deviation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 needs the realized 7-day and 30-day yield..." gives an explicit trigger condition. It does not name an alternative tool or state when not to use it, so it stops short of a 5, but the context is unambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_sanctions_checkOFAC wallet screenARead-onlyIdempotentInspect
Use when an agent needs to screen a crypto wallet before paying or being paid. Returns an exact match of a Bitcoin, Ethereum, Tron, Solana or other address against the OFAC SDN list, with entry, program and list date. No match is not a clearance. Costs 0.008 USDC per call (x402, USDC on Solana, Base, Polygon, Arbitrum or Arc).
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes | a crypto address of any family: bitcoin, ethereum, tron, solana, xrp, litecoin and so on |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | the get_sanctions_check payload; a real captured example is free at https://x402.ochinimus.app/api/sample/get_sanctions_check |
| tool | Yes | the tool that produced this payload |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well past the annotations: it discloses that the result is an exact match with entry, program and list date, warns that 'no match is not a clearance' (a real semantic caveat), and states cost (0.008 USDC per call) plus the x402 payment rails and chains. Pricing and payment prerequisites are exactly the kind of thing 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?
Four short sentences, front-loaded with the usage trigger, then output shape, then the false-negative caveat, then pricing. No filler and nothing buried.
Shorter descriptions cost fewer tokens and are easier for agents to parse. 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, yet the description still sketches the return shape and flags the critical interpretation limit ('no match is not a clearance'). Combined with cost and payment-chain disclosure, an agent has everything needed to decide and 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?
Schema coverage is 100% and the single parameter already documents accepted address families, so the schema carries the load. The description restates supported chains (Bitcoin, Ethereum, Tron, Solana, other) and adds the 'exact match' interpretation, which is mild incremental value over the schema — 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+resource ('screen a crypto wallet') and the exact target of the check (OFAC SDN list), plus what a hit contains. It is clearly separable from nearby siblings like get_honeypot_check, get_sol_token_check and get_injection_check, which are different risk surfaces.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 needs to screen a crypto wallet before paying or being paid' gives a concrete triggering context rather than a generic 'check sanctions'. It does not explicitly name a complementary or alternative tool, but the usage condition is clear enough to route correctly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_sec_8kSEC 8-K eventsARead-onlyIdempotentInspect
Use when an agent needs the material events US companies disclosed in the last hours. Returns the 8-K filings filed across the market in the window, with company, CIK, filing time, accession number, the 8-K item codes and titles (e.g. 2.02 results, 5.02 officer changes, 1.01 agreements) and a count per item. Source: SEC EDGAR current filings. Costs 0.01 USDC per call (x402, USDC on Solana, Base, Polygon, Arbitrum or Arc).
| Name | Required | Description | Default |
|---|---|---|---|
| hours | No | look-back window in hours, 1-72, default 24 |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | the get_sec_8k payload; a real captured example is free at https://x402.ochinimus.app/api/sample/get_sec_8k |
| tool | Yes | the tool that produced this payload |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover safety (readOnly, idempotent, non-destructive, open-world), but the description adds material context they don't: the upstream source (SEC EDGAR current filings) and that each call costs 0.01 USDC via x402 across five chains. The per-call charge is the kind of cost behavior an agent must know before invoking. It doesn't mention failure/empty-window behavior or latency.
Agents need to know what a tool does to the 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 usage trigger, then the return shape, source, and cost in four tight sentences with no filler. The item-code enumeration is useful but slightly verbose given an output schema exists.
Shorter descriptions cost fewer tokens and are easier for agents to parse. 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, an output schema, and a fully documented single parameter, the description covers what remains: source, cost, and the fields returned. The one meaningful omission is how this differs from get_sec_filings, which matters given the crowded sibling set.
Complex tools with many parameters or behaviors need more documentation. 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 'hours' parameter is fully documented in the schema (range 1-72, default 24), so the schema carries the semantics. The description only alludes to it via 'in the last hours' and 'the window' without adding format or default details. Baseline 3 is appropriate at 100% schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource+scope: 8-K filings filed market-wide in a look-back window, with named return fields (CIK, accession number, item codes). It is clear what the tool returns, but it never distinguishes itself from the sibling get_sec_filings, which an agent will see in the same 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?
'Use when an agent needs the material events US companies disclosed in the last hours' gives a clear triggering condition tied to recency and materiality. It stops short of naming an alternative or exclusion (e.g. get_sec_filings for historical or company-specific lookups), leaving the sibling choice to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_sec_filingsSEC filingsARead-onlyIdempotentInspect
Use when an agent needs a US company's latest SEC filings. Returns the most recent EDGAR filings for a ticker, optionally one form type (10-K, 10-Q, 8-K, 4, S-1, 13F-HR), with filing date, report date, accession number, description, 8-K item codes and links to the document and the filing index. Source: SEC EDGAR public filings. Costs 0.005 USDC per call (x402, USDC on Solana, Base, Polygon, Arbitrum or Arc).
| Name | Required | Description | Default |
|---|---|---|---|
| form | No | one EDGAR form type, e.g. 10-K, 10-Q, 8-K, 4 | |
| limit | No | filings returned, 1-50, default 10 | |
| ticker | Yes | a US-listed ticker, e.g. AAPL, MSFT, BRK-B |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | the get_sec_filings payload; a real captured example is free at https://x402.ochinimus.app/api/sample/get_sec_filings |
| tool | Yes | the tool that produced this payload |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations cover read-only/idempotent/open-world safety, and the description adds material context beyond them: the data source (SEC EDGAR public filings) and the per-call cost of 0.005 USDC along with the accepted x402 payment rails. Cost and payment-chain requirements are exactly the kind of operational detail 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-loaded with the use condition, followed by return contents and then source/cost. The middle clause enumerating every returned field is long and partly redundant with the output schema, but overall the prose is dense and purposeful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. 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, scoping, source, cost/payment rails, and return shape for a three-parameter read tool; an output schema exists, so the extra field listing is a bonus rather than a necessity. 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 ticker format, form type, and the 1-50 limit with default 10. The description adds only that 'form' is optional and limited to a single value, plus a few extra examples (S-1, 13F-HR); it adds nothing about limit semantics, 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 ('Returns the most recent EDGAR filings for a ticker') and enumerates the form types covered, which distinguishes it from the sibling get_sec_8k (single-form) tool. An agent can tell what this retrieves 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?
Opens with an explicit use condition ('Use when an agent needs a US company's latest SEC filings') and the 'optionally one form type' phrasing clarifies the narrowing behavior. It does not, however, name the sibling get_sec_8k as the alternative for 8-K-specific lookups or state when this tool is the wrong choice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_signal_boardPerp signal boardARead-onlyIdempotentInspect
Signal board for trading bots: the Hyperliquid perp market in one table, ranked by open interest in USD (30 coins by default, up to 60, or the coins you list). Per coin: mark, 1h and 24h price change, funding (hourly and annualised), open interest in USD with its 1h and 24h change, liquidations in the last hour by side with a z-score against the coin's own last 7 days, the whale net position and tilt of the top 250 Hyperliquid accounts, and flags: crowded_long (funding_ann_pct >= 30 and oi_chg_24h_pct >= 5), crowded_short (funding_ann_pct <= -10 and oi_chg_24h_pct >= 5), squeeze_risk (crowded_short and (chg_1h_pct >= 1 or liq_1h_short_usd >= 2 x liq_1h_long_usd with liq_1h_short_usd >= 50000)), liq_spike (liq_z >= 3 and liq_1h_long_usd + liq_1h_short_usd >= 50000). Poll every 1-5 minutes: one call is the whole market structure, answered from our own caches, each source named with its as_of. A source past its staleness limit answers 503 and is never billed. Costs 0.01 USDC per call (x402, USDC on Solana, Base, Polygon, Arbitrum or Arc).
| Name | Required | Description | Default |
|---|---|---|---|
| n | No | coins returned, ranked by open interest in USD, 1-60, default 30 | |
| coins | No | comma list of Hyperliquid coins instead of the top n, at most 20, e.g. BTC,ETH,SOL |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | the get_signal_board payload; a real captured example is free at https://x402.ochinimus.app/api/sample/get_signal_board |
| tool | Yes | the tool that produced this payload |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare it safe/idempotent, and the description adds a lot they cannot: responses come from internal caches, every source is labelled with an as_of, a stale source returns 503 and is explicitly never billed, and each call costs 0.01 USDC via x402 across five chains. That payment/staleness/error behaviour is exactly the disclosure 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?
Purpose and ranking are front-loaded, and the staleness/payment facts at the end are load-bearing. The middle is heavy though: four flag definitions with full threshold formulas read like output-schema documentation and make the block dense.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a metered, read-only, multi-metric board, the description covers scope, defaults, ranking, cache/staleness failure mode, billing, and what per-coin fields exist. With an output schema present it does not need to explain return values, so nothing essential is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both parameters are already documented, and the description only restates the same facts ('30 coins by default, up to 60, or the coins you list'). It adds no tie-breaking or interaction rules 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?
It opens with a specific verb and resource ('Signal board for trading bots: the Hyperliquid perp market in one table') and states the ranking key (open interest in USD), so the agent knows exactly what comes back. It never names a sibling (get_perp, get_coin_signal, get_positioning, get_squeeze_score) to differentiate itself, though 'one call is the whole market structure' implies it is the aggregated alternative to the per-metric endpoints.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives operational cadence ('Poll every 1-5 minutes') and scope ('or the coins you list'), which is real usage guidance. But it never says when to reach for this instead of the many sibling market tools, nor any precondition or exclusion — selection is left implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_site_signalsSite signalsARead-onlyIdempotentInspect
Use when an agent needs the technical facts of one website. Returns its TLS certificate, DNS records, a security-header grade over 8 checks, tech stack and social links. A bad URL (400) or unreachable site (503) is not charged. Costs 0.02 USDC per call (x402, USDC on Solana, Base, Polygon, Arbitrum or Arc).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | the site: an absolute https URL on the standard port, for example https://www.example.com/ (a host name, not an IP address) |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | the get_site_signals payload; a real captured example is free at https://x402.ochinimus.app/api/sample/get_site_signals |
| tool | Yes | the tool that produced this payload |
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, openWorld), so credit goes to the added context: a per-call price of 0.02 USDC, the x402 payment rail with five supported chains, and the fact that 400/503 failures are not billed. That is real behavioral disclosure an agent needs before calling. It does not explain the payment handshake or auth flow, which keeps it 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?
Four tight sentences: trigger, return payload, failure billing, price. The trigger is front-loaded and every sentence carries information an agent cannot get from schema or annotations. No filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present and 100% param coverage, the description needn't explain return shapes, and the cost/error behavior makes it safe to invoke. The remaining gap is sibling positioning — an agent choosing between this, get_domain, and get_web_markdown gets no help.
Complex tools with many parameters or behaviors need more documentation. 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 'url' parameter is fully documented in-schema (absolute https URL, standard port, host not IP). The description adds no constraint or format detail of its own, 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 resource ('technical facts of one website') and enumerates exactly what comes back: TLS certificate, DNS records, security-header grade over 8 checks, tech stack, social links. An agent immediately knows what it gets. It stops short of a 5 because it never distinguishes itself from close siblings like get_domain or get_web_markdown.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 needs the technical facts of one website' is a genuine use-case trigger, but there is no explicit when-not, no prerequisite, and no named alternative for overlapping needs (e.g. get_domain, get_web_markdown). Usage is implied rather than routed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_sol_holder_clustersSolana holder clustersARead-onlyIdempotentInspect
Use when an agent needs to know whether a Solana token's holders are one owner. Returns the account that first funded each of the top 20 wallets, the clusters sharing a funder and their supply share. A shared funder can be an exchange. Costs 0.008 USDC per call (x402, USDC on Solana, Base, Polygon, Arbitrum or Arc).
| Name | Required | Description | Default |
|---|---|---|---|
| mint | Yes | the SPL token mint address |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | the get_sol_holder_clusters payload; a real captured example is free at https://x402.ochinimus.app/api/sample/get_sol_holder_clusters |
| tool | Yes | the tool that produced this payload |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the read-only/idempotent/non-destructive safety profile, so the bar is lower. The description still adds non-obvious operational context the schema cannot: a per-call cost of 0.008 USDC via x402 across five settlement chains, and the caveat that a shared funder may be an exchange, which prevents misreading the output. It does not discuss failure modes or what happens for tokens with fewer than 20 holders.
Agents need to know what a tool does to the 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 usage trigger and immediately followed by the return semantics. Mostly tight, though the chain enumeration in the pricing sentence adds bulk that could be collapsed.
Shorter descriptions cost fewer tokens and are easier for agents to parse. 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 shape need not be explained, and annotations carry the safety profile; purpose, output gist, scope limit (top 20) and price are all present. Minor gaps remain around small-holder tokens and how clusters are derived, but 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?
With a single required parameter at 100% schema description coverage, the schema already documents 'mint' as the SPL token mint address with a base58 pattern. The description adds no syntax, format, or constraint detail beyond that, 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 ('know whether a Solana token's holders are one owner') and then names exactly what is returned: the funder of each of the top 20 wallets, the clusters, and their supply share. That is distinguishable at a glance from sibling holder tools such as get_token_holders or get_sol_token_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?
Opens with an explicit trigger ('Use when an agent needs to know whether...'), which gives a clear selection condition. It stops short of naming alternatives or exclusions (e.g. 'for a full holder list use get_token_holders'), so it is strong context but not full routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_sol_networkSolana network healthARead-onlyIdempotentInspect
Solana network health: recent average TPS, the current slot, the current epoch and epoch progress in %. Costs 0.005 USDC per call (x402, USDC on Solana, Base, Polygon, Arbitrum or Arc).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | the get_sol_network payload; a real captured example is free at https://x402.ochinimus.app/api/sample/get_sol_network |
| tool | Yes | the tool that produced this payload |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and openWorldHint, so the safety profile is covered. The description adds a genuinely useful behavioral trait beyond the annotations: a per-call cost of 0.005 USDC via x402 with accepted chains, which the agent could not 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?
Two sentences, both earning their place: the first front-loads the returned metrics, the second discloses payment terms. No filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return-value documentation is unnecessary, and the description already summarizes the payload plus the cost model. For a zero-param, read-only tool this is 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 are zero parameters, so the schema baseline of 4 applies. The description correctly adds no parameter detail because none exists, and there is no ambiguity about 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 resource (Solana network health) and enumerates the exact metrics returned: average TPS, current slot, current epoch, and epoch progress %. This clearly separates it from siblings like get_sol_price (price) and get_sol_token_check (token-level), so an agent can identify 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?
Usage is implied by the metric list but there is no explicit when-to-use, when-not-to-use, or alternative routing (e.g., versus get_priority_fees or get_sol_price for related Solana data). For a zero-param read tool the inference is easy, but the description adds no guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_sol_priceSOL spot priceARead-onlyIdempotentInspect
Live SOL/USD spot price read on-chain: the median of the two deepest SOL/USDC pools on Solana (Orca Whirlpool, Raydium CLMM). confidence is null: a pool publishes none. Costs 0.001 USDC per call (x402, USDC on Solana, Base, Polygon, Arbitrum or Arc).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | the get_sol_price payload; a real captured example is free at https://x402.ochinimus.app/api/sample/get_sol_price |
| tool | Yes | the tool that produced this payload |
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 oracle methodology (median of the two deepest SOL/USDC pools), the fact that confidence is always null, and critically the per-call cost of 0.001 USDC via x402 across five chains. The paid-endpoint and payment-scheme disclosure is exactly the kind of behavioral detail 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 and packed with signal: methodology, output quirk (null confidence), and cost all earn their place. The clipped 'confidence is null: a pool publishes none' is slightly terse but efficient rather than wasteful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. 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 price read with an output schema present, the description is complete: source methodology, output caveat, and payment/auth mechanics are all covered, and return values need not be explained because a schema exists.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Zero parameters and 100% schema coverage, so the baseline is 4. The only parameter-like note ('confidence is null') concerns the output rather than an input, so there is nothing further to add on the input side.
Input schemas describe structure but not intent. Descriptions should explain 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 SOL/USD spot price read on-chain) and disambiguates from siblings like get_btc_price and get_eth_price by naming the exact asset and even the underlying pools (Orca Whirlpool, Raydium CLMM). An agent can select 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?
The description implies usage (read a SOL price) and the asset-specific naming makes selection fairly self-evident, but it gives no explicit when-to-use vs the overlapping get_spot or get_convert siblings, and no exclusions. Adequate but with a clear routing gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_sol_token_checkSolana token pre-trade checkARead-onlyIdempotentInspect
Use when an agent needs a pre-trade check on a Solana token. Returns mint and freeze authority, Token-2022 traps, top holders, deepest pool and USD depth, the price impact of $100 and $1,000 buys, pump.fun progress, and a verdict with every rule. Costs 0.025 USDC per call (x402, USDC on Solana, Base, Polygon, Arbitrum or Arc).
| Name | Required | Description | Default |
|---|---|---|---|
| mint | Yes | the SPL token mint address |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | the get_sol_token_check payload; a real captured example is free at https://x402.ochinimus.app/api/sample/get_sol_token_check |
| tool | Yes | the tool that produced this payload |
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, while the description adds important non-schema context: a cost of 0.025 USDC per call and supported x402 payment chains. It also describes the returned signals, though it does not mention rate limits or failure behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the usage condition, and every clause contributes either invocation guidance, returned-signal scope, or cost. There is no redundant restatement of the name or 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?
The tool has one fully documented parameter, an output schema, and annotations covering safety behavior; the description still adds the crucial pricing and payment-rail details. Nothing essential for deciding to invoke it or understanding the per-call cost 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 one required parameter, mint, and schema description coverage is 100%, so the input schema already fully documents it. The description adds no additional meaning about the mint parameter beyond indicating that the token is on Solana.
Input schemas describe structure but not intent. Descriptions should explain 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 pre-trade check on a Solana token, and enumerates the outputs it returns. This clearly tells an agent what the tool does, though it does not explicitly distinguish it from nearby sibling tools such as get_token_risk or get_honeypot_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?
It gives an explicit usage context: 'Use when an agent needs a pre-trade check on a Solana token.' However, it does not say when not to use it or name alternative sibling tools for related checks.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_sol_token_flowSolana token trade flowARead-onlyIdempotentInspect
Use when an agent needs to know who is trading a Solana token. Returns the unique traders over its latest swaps, top-5 share of volume, round-trip wallets, share of brand-new buyer wallets and launch-slot bundle size for mints under 7 days. Costs 0.008 USDC per call (x402, USDC on Solana, Base, Polygon, Arbitrum or Arc).
| Name | Required | Description | Default |
|---|---|---|---|
| mint | Yes | the SPL token mint address | |
| swaps | No | swaps to read, 20-100, default 50; a 20 second budget may return fewer, flagged truncated |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | the get_sol_token_flow payload; a real captured example is free at https://x402.ochinimus.app/api/sample/get_sol_token_flow |
| tool | Yes | the tool that produced this payload |
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 useful non-annotation context: a hard cost of 0.008 USDC per call and the accepted payment chains (x402). It stops short of describing latency/truncation behavior, which lives only in 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?
Two tightly packed sentences: trigger first, then the concrete outputs, then the cost. No filler, and the most decision-relevant information (when to use, price) is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. 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 names the key metrics. Combined with cost, trigger, and the mint-age caveat, 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 description coverage is 100%, with both 'mint' (SPL mint address) and 'swaps' (20-100, default 50, truncation note) fully documented in the schema. The description adds no parameter-level detail beyond the '<7 days' mint-age caveat that qualifies the bundle-size output.
Input schemas describe structure but not intent. Descriptions should explain 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 it answers ('who is trading a Solana token') and enumerates the exact metrics returned: unique traders, top-5 volume share, round-trip wallets, new-buyer share, bundle size. This clearly separates it from holder/check siblings like get_token_holders, get_sol_holder_clusters, and get_sol_token_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?
Opens with an explicit 'Use when' trigger tied to a concrete agent need, and qualifies the bundle-size metric to mints under 7 days. It does not name any alternative tool or state when another tool 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.
get_spotSpot priceARead-onlyIdempotentInspect
Use when an agent needs a spot price without choosing a venue. Returns the on-chain DEX price for SOL, BTC or ETH, the median of deep USDC pools on Solana, Ethereum and Base read from chain state, and the pools that served it. Any other symbol answers 400 with the supported list and is never billed. Costs 0.001 USDC per call (x402, USDC on Solana, Base, Polygon, Arbitrum or Arc).
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | SOL, BTC or ETH (default SOL). Any other symbol answers 400 with the supported list |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | the get_spot payload; a real captured example is free at https://x402.ochinimus.app/api/sample/get_spot |
| tool | Yes | the tool that produced this payload |
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), but the description adds behavior they cannot express: a 0.001 USDC per-call cost, the x402 payment rails and accepted chains, and the guarantee that unsupported symbols are 'never billed'. Cost and billing semantics are exactly the kind of trait an agent needs before invoking 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?
Four sentences, front-loaded with the usage condition, then returns, then error handling, then price. Every sentence carries information, though the 400/supported-list clause partially duplicates the schema 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, so return-shape explanation is optional and the brief summary suffices; annotations carry the safety profile. Together with cost, payment rails, supported symbols and error semantics, the description gives an agent everything needed to 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?
With a single parameter and 100% schema description coverage, the schema already documents the symbol and default. The description restates the supported set and the 400 fallback but adds no format or syntax detail beyond the schema, so this sits at the baseline for well-covered schemas.
Input schemas describe structure but not intent. Descriptions should explain 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 capability: an on-chain DEX spot price for SOL/BTC/ETH, computed as the median of deep USDC pools on Solana, Ethereum and Base, plus the serving pools. The clause 'without choosing a venue' implicitly separates it from venue-specific siblings like get_sol_price or get_btc_price, but no sibling is named explicitly, so differentiation 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?
The opening sentence gives a clear selection condition ('needs a spot price without choosing a venue'), and the 400 behavior plus supported symbol list tell the agent when the call will fail. It stops short of naming the alternative tools to use when a venue-specific price is wanted, so the agent must infer the exclusion.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_squeeze_scoreSqueeze scoreARead-onlyIdempotentInspect
Short squeeze score and long flush score, 0-100, for any Hyperliquid perp. Composite of Hyperliquid funding (35), whale crowding (25: the net-long share of the top 250 Hyperliquid accounts in the coin, not retail), the 24h open-interest build from our own 5-minute sampler (20) and liquidation skew from our own tape (20). One number for whether a trade is crowded and about to hurt someone. A symbol nothing lists answers 400; while the open-interest record is under 24 hours deep, or Hyperliquid or the whale snapshot is unavailable, it answers 503; both are never billed. A listed coin none of the top 250 accounts holds returns 200 with a decline naming the missing input. Costs 0.1 USDC per call (x402, USDC on Solana, Base, Polygon, Arbitrum or Arc).
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | USDT perp symbol e.g. SOLUSDT, BTCUSDT (default SOLUSDT) |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | the get_squeeze_score payload; a real captured example is free at https://x402.ochinimus.app/api/sample/get_squeeze_score |
| tool | Yes | the tool that produced this payload |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only supply the read-only/idempotent safety profile; the description adds the operationally decisive facts: 400 for an unlisted symbol, 503 while OI history is under 24h deep or a source is unavailable, 200-with-decline when no top-250 account holds the coin, no billing on failures, and a per-call cost of 0.1 USDC via x402 across five chains. That is exactly the 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?
A single dense paragraph, but front-loaded: definition first, then the weighted composite, then failure modes, then price. Every sentence carries information, though the parenthetical component weighting makes the middle heavier than it needs to be for tool 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?
With an output schema present, the description need not explain return values, and it doesn't. It covers composition, error semantics, billing behavior, and cost — everything an agent needs to decide whether to call and to interpret a failure. 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% for the single symbol parameter, so the schema already documents format and default (SOLUSDT). The description adds no symbol syntax, casing, or listing requirements beyond what the schema provides, so the baseline 3 applies; there is a mild mismatch between the schema's 'USDT perp' example and the description's 'Hyperliquid perp' 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 verb+resource ('Short squeeze score and long flush score, 0-100, for any Hyperliquid perp') and immediately distinguishes itself from neighboring analytics tools by naming its four components: funding, whale crowding, OI build, liquidation skew. An agent can tell this apart from get_funding_extremes or get_oi_spike_scan 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 use-case framing ('One number for whether a trade is crowded and about to hurt someone'), which implies when to reach for a composite rather than a raw component. However, it never names an alternative tool or an explicit when-not condition, so routing between this and the many funding/OI/liquidation 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.
get_summarizePage or PDF summaryARead-onlyIdempotentInspect
Use when an agent needs the gist of a web page or PDF. Returns a short or medium summary with key points, and says whether the document was cut at 20,000 tokens and how much was read. Uses only what the document says. Costs 0.02 USDC per call (x402, USDC on Solana, Base, Polygon, Arbitrum or Arc).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | the page or PDF: an absolute http or https URL | |
| length | No | short (default, about 60 words) or medium (about 150) |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | the get_summarize payload; a real captured example is free at https://x402.ochinimus.app/api/sample/get_summarize |
| tool | Yes | the tool that produced this payload |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/openWorld/non-destructive, and the description adds substantial context on top: the 0.02 USDC per-call cost with the x402 payment chains, the 20,000-token truncation cutoff plus how much was read, and that output is grounded strictly in the document. These are the exact behavioral facts 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?
Front-loads the usage trigger and keeps the return/truncation facts tight. The cost sentence is the weakest part, enumerating five chains, but it is genuinely useful information rather than filler, so it mostly 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?
An output schema exists, so return shape need not be spelled out, yet the description still covers the practical concerns: cost and payment rails, truncation at 20,000 tokens with the read amount, and grounded-only output. 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 coverage is 100%, so url and the length enum are already fully documented in the schema. The description's 'short or medium summary with key points' only loosely restates the length parameter without adding format or word-count detail beyond the schema's own '(about 60 words) or medium (about 150)'. 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: it produces a short/medium summary of a web page or PDF, with key points. That clearly separates it from raw-extraction siblings like get_pdf_markdown or get_extract, though no sibling is named 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?
The opening 'Use when an agent needs the gist of a web page or PDF' gives an explicit trigger condition. It does not, however, state when NOT to use it or point to the overlapping alternatives (get_extract, get_pdf_markdown, get_web_markdown), which leaves routing among near-neighbors partly to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_timeTime zone conversionARead-onlyIdempotentInspect
Use when an agent needs an exact time conversion with the right daylight-saving rules. Returns an ISO time or epoch in any IANA time zone: local time with offset, weekday, abbreviation, DST flag and epoch. Defaults to now in UTC. Costs 0.005 USDC per call (x402, USDC on Solana, Base, Polygon, Arbitrum or Arc).
| Name | Required | Description | Default |
|---|---|---|---|
| at | No | ISO 8601 with Z or an offset, or epoch seconds or milliseconds; default now | |
| tz | No | IANA zone such as Europe/Chisinau or America/New_York, default UTC |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | the get_time payload; a real captured example is free at https://x402.ochinimus.app/api/sample/get_time |
| tool | Yes | the tool that produced this payload |
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 adds genuinely new behavioral context: a per-call cost of 0.005 USDC via x402 across five named chains, which is not derivable from annotations or schema and materially affects invocation decisions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the use condition, then return shape, then default, then cost, in a tight block of sentences. Slightly dense, but every sentence carries information an agent needs and none 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?
Covers the trigger, return shape, default, and the non-obvious payment cost, and an output schema exists so return values need no further explanation. An agent has enough to call it correctly, though alternative-tool 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?
Schema description coverage is 100%, so both 'at' and 'tz' are already fully documented with accepted formats (ISO 8601, epoch seconds/milliseconds, IANA zones) and defaults. The description repeats the UTC default but adds no syntax or format detail beyond the schema, 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 ('exact time conversion with the right daylight-saving rules') and specifies the return ('ISO time or epoch in any IANA time zone: local time with offset, weekday, abbreviation, DST flag and epoch'). An agent can distinguish this from sibling conversion tools like get_convert or get_fx_rates 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 trigger with 'Use when an agent needs an exact time conversion with the right daylight-saving rules', which is clear context. However it names no alternatives or exclusions, so the agent gets a clear when but no 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.
get_token_holdersTop token holdersARead-onlyIdempotentInspect
Top holders of any SPL token: per-account share with top-1, top-5 and top-10 concentration for a Solana mint. A deeper cut than the summary in /api/token-risk. Costs 0.02 USDC per call (x402, USDC on Solana, Base, Polygon, Arbitrum or Arc).
| Name | Required | Description | Default |
|---|---|---|---|
| mint | Yes | SPL token mint address (base58) |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | the get_token_holders payload; a real captured example is free at https://x402.ochinimus.app/api/sample/get_token_holders |
| tool | Yes | the tool that produced this payload |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, openWorld), and the description adds genuinely non-derivable context: a 0.02 USDC per-call charge via x402, payable on five named chains. That payment requirement is exactly the kind of operational fact an agent must know before calling. It stops short of disclosing result 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?
Two sentences, both earning their place: the first defines scope and output, the second differentiates and discloses cost. Everything is front-loaded with zero 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 re-explained, and annotations plus the cost disclosure cover the operational side. The only real gap is how many holders are returned and whether concentration is computed over circulating supply — minor omissions for a one-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 parameter carries its own base58 pattern and description, so the schema does the work. The description only reinforces that the mint is a Solana SPL token, which is mildly useful context but not new 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?
States a specific verb and resource ('Top holders of any SPL token'), then names the exact metrics returned (per-account share, top-1/5/10 concentration) and the chain (Solana mint). It also distinguishes itself from the risk-summary sibling: 'A deeper cut than the summary in /api/token-risk.'
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives one comparative cue ('deeper cut than /api/token-risk') and a price signal that helps a cost-sensitive agent decide, but it never says when to pick this over the closest siblings like get_sol_holder_clusters, get_sol_token_check, or get_token_metadata. 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.
get_token_metadataSPL token metadataARead-onlyIdempotentInspect
SPL token metadata: name, symbol, URI, decimals, supply, mint and freeze authority, mutability. Read from the mint account and its metadata account. Costs 0.005 USDC per call (x402, USDC on Solana, Base, Polygon, Arbitrum or Arc).
| Name | Required | Description | Default |
|---|---|---|---|
| mint | Yes | SPL token mint address (base58) |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | the get_token_metadata payload; a real captured example is free at https://x402.ochinimus.app/api/sample/get_token_metadata |
| tool | Yes | the tool that produced this payload |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive, so the description's marginal value comes from disclosing the data source (mint account plus metadata account) and, importantly, that the call is paid — 0.005 USDC via x402 on five named chains. That payment requirement is critical context an agent cannot get from structured fields. It stops short of explaining behavior for mints with no metadata account (legacy vs Token-2022) or error cases.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, zero filler. The returned-field list is front-loaded and the operational constraint (cost, payment rails) is packed into the second sentence.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described, and the cost/payment surface is covered. The main remaining gap is edge-case behavior — what is returned for a mint lacking a metadata account — which matters for a paid call.
Complex tools with many parameters or behaviors need more documentation. 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 a base58 pattern plus a description, so the schema does the work. The description only echoes that data is read from the mint account, adding no format or validation detail beyond what is structured.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource (SPL token metadata) and enumerates the exact fields returned — name, symbol, URI, decimals, supply, authorities, mutability — which lets an agent distinguish it from siblings like get_token_holders, get_token_risk, or get_sol_token_check. It lacks an explicit contrast sentence naming those siblings, keeping it just 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?
Usage is only implied: an agent can infer this is the lookup for token-level facts given a mint address. There is no statement of when to prefer this over get_sol_token_check or get_token_risk, and no prerequisites or exclusions beyond the cost disclosure.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_token_riskToken rug checkARead-onlyIdempotentInspect
SPL token rug-risk signals: mint/freeze authority status (revoked = safer), top-1/top-10 holder concentration, and risk flags. Not a honeypot/LP-lock checker. Costs 0.01 USDC per call (x402, USDC on Solana, Base, Polygon, Arbitrum or Arc).
| Name | Required | Description | Default |
|---|---|---|---|
| mint | Yes | SPL token mint address (base58) |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | the get_token_risk payload; a real captured example is free at https://x402.ochinimus.app/api/sample/get_token_risk |
| tool | Yes | the tool that produced this payload |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive/openWorld, so the safety profile is covered. The description adds the material behavioral fact those annotations cannot express: the call is paid (0.01 USDC via x402 across Solana, Base, Polygon, Arbitrum, Arc), which is a real precondition for invocation. It says nothing about rate limits or failure behavior, but the output schema covers return shape.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, zero waste: purpose and returned fields are front-loaded, followed by the exclusion and the price. Every clause 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?
For a single-parameter, read-only, paid lookup with a full output schema, an agent has everything it needs: what it returns, what it does not cover, and that payment is required. 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?
There is a single required parameter with 100% schema description coverage (base58 SPL mint address, with a length/pattern constraint), so the schema carries the burden. The description reinforces that the input is an SPL token mint rather than a generic address, which is a small but genuine addition.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the resource (SPL token) and enumerates the exact signals returned: mint/freeze authority status, top-1/top-10 holder concentration, and risk flags. It also draws one explicit boundary against a sibling category ("Not a honeypot/LP-lock checker"). It does not differentiate against adjacent siblings such as get_sol_token_check or get_token_holders, which likely overlap.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 exclusion (not for honeypot/LP-lock analysis) and a cost signal (0.01 USDC per call) that an agent can weigh before calling. It stops short of naming the alternative tool to use instead for honeypot checks, 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.
get_top_moversTop moversARead-onlyIdempotentInspect
Top gainers and losers over 24h across every Hyperliquid perp above a liquidity floor, each with its funding rate attached. The "what moved" screener. Costs 0.01 USDC per call (x402, USDC on Solana, Base, Polygon, Arbitrum or Arc).
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | top N each side, 1-25, default 10 | |
| min_turnover_usd | No | 24h volume floor in USD, default 1M |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | the get_top_movers payload; a real captured example is free at https://x402.ochinimus.app/api/sample/get_top_movers |
| tool | Yes | the tool that produced this payload |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint and non-destructive, so safety is covered. The description adds genuinely new behavioral context: a per-call cost of 0.01 USDC via x402 and the accepted chains, plus the liquidity-floor default behavior. It could say more about latency or result shape, but the paid-call disclosure is a strong addition.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with what the tool returns and immediately followed by the positioning tagline and cost. No filler, and the payment detail — the one thing an agent can't learn from the schema — is included without bloating the text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. 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, annotations carry the safety profile, and the schema fully documents both params. The description adds the missing operational detail (paid call, funding-rate attachment, scope) — nothing an agent needs to invoke 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 description coverage is 100%, so both parameters (limit, min_turnover_usd) are already fully documented with ranges and defaults. The description confirms the liquidity-floor concept and 'top N each side' semantics but adds no syntax or format 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 precise verb+resource+scope: top gainers and losers over 24h across every Hyperliquid perp above a liquidity floor, with funding rates attached. This is clearly distinguishable from siblings like get_market_snapshot, get_funding_extremes, or get_volatility, which cover adjacent but different 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?
The tagline 'The "what moved" screener' implies when to reach for it, and the cost line sets a practical precondition. However, it names no alternatives or when-not conditions, so an agent must infer its place against the many other market-scan tools in the sibling list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_trade_contextTrade contextARead-onlyIdempotentInspect
Full market state in one call: SOL+BTC prices, funding, Fear & Greed, positioning (open interest and whale net-long share), and liquidation stats. The complete pre-trade picture. Costs 0.01 USDC per call (x402, USDC on Solana, Base, Polygon, Arbitrum or Arc).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | the get_trade_context payload; a real captured example is free at https://x402.ochinimus.app/api/sample/get_trade_context |
| tool | Yes | the tool that produced this payload |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, open-world, non-destructive. The description adds the critical behavioral trait not in annotations: it costs 0.01 USDC per call via x402 with accepted chains listed. That's real value beyond structured fields. It doesn't mention rate limits or freshness/latency of the data, 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?
Two tight sentences plus a pricing sentence, front-loaded with the value proposition and ending with the cost caveat. No waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values needn't be explained, yet the description still summarizes the payload components. Pricing and payment chains cover the key operational facts for a zero-arg 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?
Zero parameters, so baseline is 4. The description correctly implies no inputs are needed ('in one call') and contextualizes the cost of a zero-arg call.
Input schemas describe structure but not intent. Descriptions should explain 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-free but clear resource ('Full market state in one call') and enumerates exactly the components returned: SOL+BTC prices, funding, Fear & Greed, positioning, liquidation stats. This is a distinct aggregate tool, clearly differentiated from atomic siblings like get_btc_price or get_fear_greed.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 complete pre-trade picture' gives clear context for when to use it as opposed to calling individual atomic tools. It doesn't explicitly name an alternative or when to avoid it, but the aggregate framing implies 'use this instead of many separate calls' strongly enough.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_tradfi_perpsTradfi perps (HIP-3)ARead-onlyIdempotentInspect
Use when an agent needs a 24/7 price for a stock, index, commodity or currency outside market hours. Returns Hyperliquid HIP-3 perp markets: oracle and mark price, premium, hourly and 8h funding, open interest, 24h change and the dex. With symbol (TSLA, GOLD, EUR or xyz:TSLA): every live market for it. Without: the whole list. Prices are each market's own HIP-3 oracle and mark. Costs 0.005 USDC per call (x402, USDC on Solana, Base, Polygon, Arbitrum or Arc).
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | a HIP-3 ticker such as TSLA, GOLD, EUR, or a dex-qualified market such as xyz:TSLA |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | the get_tradfi_perps payload; a real captured example is free at https://x402.ochinimus.app/api/sample/get_tradfi_perps |
| tool | Yes | the tool that produced this payload |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover safety (readOnly, idempotent, non-destructive, open-world), so the description's real contribution is the cost disclosure (0.005 USDC per call via x402, with accepted chains), which annotations cannot express. It also clarifies that prices are each market's own HIP-3 oracle/mark. It does not state rate limits or pagination/response-size behavior for the whole-list mode.
Agents need to know what a tool does to the 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 trigger, then the return payload, then the with/without symbol branch, then the pricing caveat. Every sentence carries distinct information; there is no repetition of the schema or annotations.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With a rich output schema present, the description correctly avoids re-explaining return values and instead covers the decision context, the optional-parameter branches, and the non-obvious per-call cost/chain setup. Nothing needed to invoke it correctly is missing given the annotations and 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 baseline is 3; the description adds value by showing two concrete accepted forms with examples (plain ticker TSLA/GOLD/EUR vs. dex-qualified xyz:TSLA) and explaining that dex-qualified markets exist, which the schema only implies. It stops short of stating matching/case rules explicitly.
Input schemas describe structure but not intent. Descriptions should explain 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 (returns) and resource (Hyperliquid HIP-3 perp markets) with a precise scope, and enumerates the exact fields returned (oracle/mark price, premium, funding, OI, 24h change, dex). It is distinguishable from siblings like get_perp, get_equity_24h, and get_tradfi_radar because it names HIP-3 and the 24/7 off-hours use case.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 an explicit when-to-use condition ('when an agent needs a 24/7 price ... outside market hours') and specifies the when-to-use-symbol vs. omit-symbol branch, mapping each to a distinct output (every live market for it vs. the whole list). That is explicit conditional routing rather than implied usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_tradfi_radarTradFi perps radarARead-onlyIdempotentInspect
Stock perps, S&P 500, Nasdaq, gold and oil perps ranked by funding rate: every stock, index, commodity and FX perp on the Hyperliquid HIP-3 dexes (trade[XYZ], Paragon, Markets by Kinetiq, Entropy), with funding at its 8h equivalent, a 30-day funding z-score, open interest and its 24h change, mark minus oracle basis and 24h volume. Filter by asset class. Precomputed every 5 minutes; stale data answers 503. Costs 0.02 USDC per call (x402, USDC on Solana, Base, Polygon, Arbitrum or Arc).
| Name | Required | Description | Default |
|---|---|---|---|
| top | No | markets returned, 1-200, default 25 | |
| class | No | comma list of stock, index, commodity, fx, rates, pre_ipo, crypto_index, other (default all) | |
| min_oi_usd | No | minimum open interest in USD (default 0) |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | the get_tradfi_radar payload; a real captured example is free at https://x402.ochinimus.app/api/sample/get_tradfi_radar |
| tool | Yes | the tool that produced this payload |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations cover the safety profile (readOnly, idempotent, open-world), and the description adds genuinely non-derivable behavior: precomputation every 5 minutes, a 503 on stale data, and a hard cost of 0.02 USDC per call via x402 across five named chains. Pricing, freshness and failure mode are exactly the operational facts an agent cannot get from 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?
Front-loaded with the highest-value clause (what is ranked and by what metric), then coverage, then constraints. The parenthetical venue list is dense but informative; the piece is one long sentence that could be split for scannability, but almost 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?
With an output schema present, return-value explanation is unnecessary, and the description still supplies fresh-ness, failure mode, cost and coverage. The one gap is routing relative to sibling funding/perp tools, which an agent needs given how crowded this namespace is.
Complex tools with many parameters or behaviors need more documentation. 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 all three parameters are already documented with types and defaults. The description adds only 'Filter by asset class', which maps to the class parameter but adds no syntax, default or interaction detail beyond the schema, 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+resource+ranking metric: 'Stock perps, S&P 500, Nasdaq, gold and oil perps ranked by funding rate', and it enumerates the venues covered (trade[XYZ], Paragon, Kinetiq, Entropy) plus the exact fields returned. However, it never distinguishes itself from close siblings like get_tradfi_perps or get_funding_radar, leaving the agent to guess which ranking source 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?
The only usage cue is 'Filter by asset class', which is really a parameter restatement. There is no statement of when to prefer this over get_tradfi_perps, get_funding_radar or get_funding_extremes, and no when-not guidance, even though several siblings cover adjacent funding/perp territory.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_transcribeSpeech to textARead-onlyIdempotentInspect
Use when an agent needs the words in an audio file. Returns the text, timed segments and the spoken language for mp3, wav, m4a, ogg or webm audio (10 MB, 5 minutes, checked from the file). Cached 24 hours by the audio itself. Costs 0.02 USDC per call (x402, USDC on Solana, Base, Polygon, Arbitrum or Arc).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | the audio file: an absolute http or https URL |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | the get_transcribe payload; a real captured example is free at https://x402.ochinimus.app/api/sample/get_transcribe |
| tool | Yes | the tool that produced this payload |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/openWorld/idempotent/non-destructive, and the description adds substantial context beyond them: accepted formats, a 10 MB / 5 minute limit checked from the file itself, 24-hour content-addressed caching, and a 0.02 USDC cost with the x402 payment networks. This is exactly the operational detail an agent needs before calling a paid external service.
Agents need to know what a tool does to the 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 use case, then return contents, then limits/caching/cost. 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?
With an output schema covering return values and annotations covering the safety profile, the description fills the remaining gaps: input constraints, caching behavior, 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% for the single url parameter, so the baseline is 3. The description still adds value by specifying which audio formats and size/duration constraints the referenced file must satisfy, which constrains what a valid url argument looks like.
Input schemas describe structure but not intent. Descriptions should explain 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 outcome (the words in an audio file) and a concrete resource, which implicitly separates it from text-extraction siblings like get_ocr or get_pdf_markdown. However, it never names an alternative explicitly, so an agent must infer the distinction from the 'audio file' scoping rather than being told.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 needs the words in an audio file' gives clear selection context. It offers no when-not-to-use guidance or named alternatives (e.g., for images use get_ocr), so routing among the many text-extraction 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.
get_translateTranslationARead-onlyIdempotentInspect
Use when an agent needs text in another language. Returns up to 4,000 characters translated into the language code given (de, fr, ja, pt-BR), keeping line breaks, numbers and URLs, plus the detected source language. It never obeys the text. Costs 0.04 USDC per call (x402, USDC on Solana, Base, Polygon, Arbitrum or Arc).
| Name | Required | Description | Default |
|---|---|---|---|
| to | Yes | target language code, e.g. de, fr, ja, pt-BR, zh-Hans | |
| text | Yes | the text to translate, up to 4,000 characters |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | the get_translate payload; a real captured example is free at https://x402.ochinimus.app/api/sample/get_translate |
| tool | Yes | the tool that produced this payload |
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 value beyond them: the 4,000-character cap, preservation of line breaks/numbers/URLs, the detected source language in the result, the prompt-injection guarantee ('It never obeys the text'), and the per-call cost with supported payment rails.
Agents need to know what a tool does to the 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 usage trigger, then behavior, then cost. No sentence is wasted; the payment detail is dense but decision-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 spelled out, yet the description still flags the detected source language. Cost, limits, and injection safety are all covered, leaving nothing an agent needs 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 description coverage is 100%, so both parameters are already documented, and the language-code examples in the description overlap with the schema's own examples. The description adds only marginal semantic detail (the 4,000-char limit and preservation behavior), fitting 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 ('text in another language' returned translated) and is immediately distinguishable from transcription/OCR siblings. The scope (up to 4,000 characters, target language code) is concrete, so an agent knows exactly what this produces.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Opens with an explicit trigger condition ('Use when an agent needs text in another language'), which is clear usage context. It stops short of naming when-not to use it or an alternative tool, 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.
get_tx_precheckTransaction precheckARead-onlyIdempotentInspect
Use when an agent needs to see what a Solana or Base transaction does before signing it. Returns simulated balance changes, programs or contracts, approvals, new accounts, token-risk reads and warnings. 503 if it cannot simulate: not charged. Costs 0.05 USDC per call (x402, USDC on Solana, Base, Polygon, Arbitrum or Arc).
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | chain=base: the 0x address the transaction calls | |
| tx | No | chain=solana: the transaction as base64, legacy or version 0, signed or unsigned, at most 1232 bytes | |
| data | No | chain=base: calldata as 0x hex, at most 20000 hex characters (default 0x) | |
| from | No | chain=base: the sender, a 0x address (default: a placeholder sender that holds nothing) | |
| chain | Yes | the chain of the transaction: solana or base | |
| value | No | chain=base: wei to send, decimal or 0x hex (default 0) |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | the get_tx_precheck payload; a real captured example is free at https://x402.ochinimus.app/api/sample/get_tx_precheck |
| tool | Yes | the tool that produced this payload |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds context the annotations cannot express: pricing (0.05 USDC per call via x402, with the accepted settlement chains), and failure semantics ('503 if it cannot simulate: not charged') so the agent knows a retry costs nothing. The readOnly/idempotent hints are already covered, but the cost and failure contract are genuinely new information.
Agents need to know what a tool does to the 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 usage trigger, then the return payload, then the cost/error contract. Every sentence carries information an agent needs and there is no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Returns are covered by an output schema, and the description still summarizes what comes back; chain scope, payment model, and failure behavior are all stated. 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% and each parameter already documents its chain-scoped meaning (to/data/from/value for base, tx for solana). The description adds no parameter-level detail such as base64 vs hex requirements, so the schema does all the work — 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?
Names a specific verb and resource ('see what a Solana or Base transaction does before signing it') plus the concrete return payload (simulated balance changes, approvals, new accounts, warnings). An agent can distinguish this from token-level siblings like get_token_risk or get_honeypot_check 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?
'Use when an agent needs to see what a ... transaction does before signing it' gives a clear triggering condition and implies the pre-signing step in a workflow. It does not name an alternative tool or state when not to use it, which keeps it below a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_volatilityRealized volatilityARead-onlyIdempotentInspect
Realized volatility for any Hyperliquid perp: 7-day and 30-day annualized from daily candles, plus today's range in %. A position-sizing input. Costs 0.01 USDC per call (x402, USDC on Solana, Base, Polygon, Arbitrum or Arc).
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | USDT perp symbol e.g. SOLUSDT, BTCUSDT (default SOLUSDT) |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | the get_volatility payload; a real captured example is free at https://x402.ochinimus.app/api/sample/get_volatility |
| tool | Yes | the tool that produced this payload |
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 met. The description adds genuinely non-obvious behavioral context beyond the annotations: it is a paid endpoint at 0.01 USDC per call via x402, with accepted chains listed. This is exactly the kind of fact an agent must know before invoking. It stops short of describing rate limits or error 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?
Three compact sentences, front-loaded with what is computed and followed by use context and the cost. No filler; every fragment carries information, though the payment-chain enumeration is slightly dense.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and the description covers scope, computation basis, use case, and payment cost. It is nearly complete for a single-param read tool; only the absence of explicit usage guidance 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 the single symbol parameter already documents its format and default (SOLUSDT). The description adds no syntax or format 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 resource and verb ('Realized volatility for any Hyperliquid perp') and enumerates the exact outputs: 7-day and 30-day annualized from daily candles plus today's range in %. This lets an agent distinguish it from siblings like get_perp or get_basis 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?
The phrase 'A position-sizing input' implies a use context, but there is no explicit when-to-use, when-not-to-use, or named alternative among the many sibling volatility/price tools. Usage is only inferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_wallet_activitySolana wallet activityARead-onlyIdempotentInspect
Solana wallet activity: recent transactions for any address, each with the wallet's SOL and token balance changes, the fee, failures and the programs invoked. Read from the chain and summarised by us. Costs 0.02 USDC per call (x402, USDC on Solana, Base, Polygon, Arbitrum or Arc).
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | tx count, 1-25, default 10 | |
| wallet | Yes | Solana wallet address (base58) |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | the get_wallet_activity payload; a real captured example is free at https://x402.ochinimus.app/api/sample/get_wallet_activity |
| tool | Yes | the tool that produced this payload |
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 is covered. The description adds genuinely non-obvious context: data is chain-sourced but summarised by the provider, and each call costs 0.02 USDC via x402 with the accepted payment chains listed. It does not mention rate limits or what happens if payment fails.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the core capability and followed by a compact cost/payment disclosure. No filler or restatement of 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 the description needn't explain return fields, and the pricing/payment model is disclosed. The remaining gap is operational: no note on error or payment-failure behavior or result volume beyond the limit param.
Complex tools with many parameters or behaviors need more documentation. 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% (wallet base58 with pattern, limit 1-25 default 10), so the schema carries parameter meaning. The description adds nothing about either parameter; 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 ('recent transactions for any address') and enumerates what each entry contains: balance changes, fee, failures, programs invoked. That level of detail distinguishes it from the balance-oriented sibling get_wallet_holdings, although the sibling is never named 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 by 'recent transactions for any address', but there is no explicit guidance on when to prefer this over get_wallet_holdings or the other Solana tools (get_sol_token_flow, get_sol_holder_clusters). The agent must infer the split between activity history and holdings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_wallet_holdingsSolana wallet holdingsARead-onlyIdempotentInspect
Solana wallet holdings: native SOL with its USD value at AgentFeed's own on-chain SOL price, SPL tokens with mint, symbol and amount (no token prices), NFT count (Helius DAS balances). Costs 0.008 USDC per call (x402, USDC on Solana, Base, Polygon, Arbitrum or Arc).
| Name | Required | Description | Default |
|---|---|---|---|
| wallet | Yes | Solana wallet address (base58) |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | the get_wallet_holdings payload; a real captured example is free at https://x402.ochinimus.app/api/sample/get_wallet_holdings |
| tool | Yes | the tool that produced this payload |
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 significant context beyond annotations: the per-call cost (0.008 USDC), accepted payment networks (x402, USDC on Solana, Base, Polygon, Arbitrum, Arc), and data provenance (AgentFeed's own on-chain SOL price, Helius DAS balances). It also clarifies that token prices are not included.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with no wasted words: the first lists outputs and limitations, the second covers cost and payment methods. It is front-loaded with the core value and appropriately sized for a paid 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?
Given the presence of an output schema, annotations covering safety and openness, and full schema coverage for the single parameter, the description is nearly complete. It covers outputs, limitations, cost, and data sources. Minor gaps like rate limits or error behavior are not necessary for this tool type.
Complex tools with many parameters or behaviors need more documentation. 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 parameter (wallet) is already well documented with a base58 pattern and description. The tool description adds no additional parameter semantics, 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?
The description names a specific verb (get) and resource (Solana wallet holdings) and details exactly what is returned: native SOL with USD value, SPL tokens with mint/symbol/amount, and NFT count. It implicitly distinguishes from sibling tools like get_wallet_activity (activity vs holdings) and get_base_balance (Base vs Solana), but does not explicitly name an alternative.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 indicates what the tool returns and mentions the cost, but does not state when to use it instead of alternatives such as get_wallet_activity or get_sol_token_check. Usage is implied by the resource name 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.
get_web_markdownWeb page to markdownARead-onlyIdempotentInspect
Use when an agent needs the readable text of a web page as markdown. Returns the main content of the one URL you pass as clean markdown (Mozilla Readability, then turndown), with title, final URL, fetch time and word count. http or https on ports 80 and 443, 5 MB, 10 s; robots.txt honoured and private addresses refused. A blocked or unreachable URL is never charged. Costs 0.005 USDC per call (x402, USDC on Solana, Base, Polygon, Arbitrum or Arc).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | the page to convert: an absolute http or https URL |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | the get_web_markdown payload; a real captured example is free at https://x402.ochinimus.app/api/sample/get_web_markdown |
| tool | Yes | the tool that produced this payload |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations, it discloses the content pipeline, returned fields, scheme/port restrictions, size and timeout limits, robots.txt enforcement, private-address refusal, failure charging behavior, and per-call cost across multiple chains. This is unusually rich behavioral context and does not contradict any annotation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the use case and return value, then layers in constraints and cost. Every sentence carries actionable information, and the dense semicolon-separated limits are still 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?
Given the output schema exists, the description need not explain return values, yet it helpfully summarizes them. It also covers permissions-adjacent details (payment, private addresses), failure behavior, and operational limits, making the definition complete 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?
The schema already covers the single URL parameter at 100% coverage, establishing a baseline of 3. The description adds meaningful parameter constraints beyond the schema: only http/https on ports 80 and 443, 5 MB size limit, and 10 s timeout. It does not cover URL encoding or query/fragment handling, so it is not exhaustive.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a precise verb+resource: returning the readable text of a web page as clean markdown. The resource 'web page' clearly distinguishes it from sibling tools like get_pdf_markdown and get_wiki, even without naming 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?
It opens with an explicit condition: 'Use when an agent needs the readable text of a web page as markdown.' However, it offers no when-not guidance and does not name alternatives such as get_pdf_markdown for PDF inputs, 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.
get_wikiWikipedia summaryARead-onlyIdempotentInspect
Use when an agent needs a reliable plain-text summary of a topic. Returns the Wikipedia summary and lead section for a page title in any language, with the CC BY-SA 4.0 licence, the article URL and the authors link. Cached 24 hours. Costs 0.005 USDC per call (x402, USDC on Solana, Base, Polygon, Arbitrum or Arc).
| Name | Required | Description | Default |
|---|---|---|---|
| lang | No | Wikipedia language code, default en | |
| title | Yes | the article title, e.g. Solana (blockchain platform) |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | the get_wiki payload; a real captured example is free at https://x402.ochinimus.app/api/sample/get_wiki |
| tool | Yes | the tool that produced this payload |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the safe-read profile (readOnly, idempotent, openWorld), and the description goes well beyond that: it discloses the 24-hour cache, the license under which content is returned, the supplementary URL/author links, and a concrete pay-per-call model (0.005 USDC via x402 across five chains). Pricing and caching are material operational facts 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?
Front-loaded with the "Use when" trigger, then output contents, then caching and price — every sentence carries information. It is slightly dense in the parenthetical chain 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?
For a two-parameter lookup with an output schema, 100% schema coverage and full annotations, the description closes the remaining gaps: what is returned, how fresh it is, what it costs, and under what license. 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 description coverage is 100%, so both parameters (lang, title) are already documented, and the description only echoes that output is "in any language" and keyed on a page title. No added format, default, or constraint detail beyond the schema, so the 3 baseline 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 (returns a summary) and resource (the Wikipedia summary and lead section for a page title), so an agent can immediately tell this is Wikipedia-sourced content. It never mentions the generic sibling get_summarize, so differentiation is implied by the source 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?
"Use when an agent needs a reliable plain-text summary of a topic" gives clear positive context for invocation. It stops short of exclusions or naming alternatives, so there is no guidance on when to prefer get_summarize, get_web_markdown or get_extract instead.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_x402_lintx402 challenge lintARead-onlyIdempotentInspect
Use when an agent needs to check an x402 endpoint's payment challenge before paying it. Returns a verdict, a 0 to 100 score and 32 checks, paywall bypass included. Never pays. An unreachable endpoint answers 503 and a refused URL 400, neither charged. Costs 0.05 USDC per call (x402, USDC on Solana, Base, Polygon, Arbitrum or Arc).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | the x402 endpoint to check, URL-encoded: http or https, a public host, port 80 or 443 | |
| method | No | HTTP method to check, default GET (a POST is sent with an empty body) |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | the get_x402_lint payload; a real captured example is free at https://x402.ochinimus.app/api/sample/get_x402_lint |
| tool | Yes | the tool that produced this payload |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds substantial behavior beyond the annotations: it states a cost (0.05 USDC per call), the accepted payment rails, and precise error semantics (503 for unreachable, 400 for refused URL, neither charged). These are exactly the operational facts an agent needs and cannot infer from readOnlyHint/idempotentHint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Five compact sentences, front-loaded with the usage trigger and return shape, then error/cost facts. No filler; each sentence adds a distinct operational constraint.
Shorter descriptions cost fewer tokens and are easier for agents to parse. 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 enumerated, yet the description still summarizes them (verdict, score, 32 checks). Combined with cost, error codes, and the no-payment guarantee, nothing material is missing for a 2-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 description coverage is 100%, and the schema already explains the URL encoding constraints, host/port rules, and the method enum and its default. The description adds no parameter-level detail beyond what the schema provides, 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 ('check an x402 endpoint's payment challenge') and scopes the outcome ('verdict, a 0 to 100 score and 32 checks'). This clearly separates it from siblings like get_x402_test or get_honeypot_check without needing to open 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 timing guidance: use it 'before paying' an endpoint, and clarifies it 'never pays' itself. It does not name a specific alternative sibling (e.g. get_x402_test) or state when-not to use it, so it falls short of full 5-level routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_x402_testx402 paid testBRead-onlyIdempotentInspect
Use when an agent needs proof that an x402 endpoint takes a real payment. Returns PASS, FAIL or INCONCLUSIVE with the receipt after paying it once from our own wallet, up to $0.05, in Base or Solana USDC. A 503 or 404 is not charged. Costs 1 USDC per call (x402, USDC on Solana, Base, Polygon, Arbitrum or Arc).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | the x402 endpoint to pay once, URL-encoded: https only, a public host, port 443; the paid request goes to exactly this URL | |
| method | No | HTTP method to pay with, default GET (a POST is sent with an empty body) |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | the get_x402_test payload; a real captured example is free at https://x402.ochinimus.app/api/sample/get_x402_test |
| tool | Yes | the tool that produced this payload |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description says the tool pays real money from the provider's wallet and 'costs 1 USDC per call', which is a spend with external side effects, while annotations declare readOnlyHint=true and idempotentHint=true. Repeat calls are materially non-idempotent because each one costs another 1 USDC. This is a direct 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?
Four dense sentences, front-loaded with the trigger condition, then outputs, then edge cases, then price. It loses a point because the pricing statement is internally inconsistent: 'up to $0.05' capped spend versus 'costs 1 USDC per call' cannot both be the price the agent pays.
Shorter descriptions cost fewer tokens and are easier for agents to parse. 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 usefully names the three verdicts and the receipt. However, the conflicting cost figures ($0.05 cap vs 1 USDC per call) leave an agent unable to judge the actual spend of calling it, which is the single most important fact for a paid probe.
Complex tools with many parameters or behaviors need more documentation. 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 url and method are already fully documented including the URL-encoding/public-host constraints and the empty-POST-body behavior. The description adds no parameter-level detail beyond schema (its 'up to $0.05' cap is a cost note, not a parameter note), 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+resource+outcome: pays an x402 endpoint once and returns PASS, FAIL or INCONCLUSIVE with the receipt. The framing ('proof that an x402 endpoint takes a real payment') cleanly separates it from the sibling get_x402_lint, which is a static 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?
'Use when an agent needs proof that an x402 endpoint takes a real payment' gives a concrete trigger condition, and the note that a 503 or 404 is not charged tells the agent how to interpret edge results. It never explicitly says when to prefer get_x402_lint instead, so the routing to the sibling is left implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
pricingPrice listARead-onlyIdempotentInspect
Use when an agent needs the price list before calling anything. Returns every agentfeed tool with its USDC price and description. Free.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | tools: the full price list |
| tool | Yes | the tool that produced this payload |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and non-destructive behavior, so the safety profile is covered. The description adds valuable context beyond annotations: the result is free, covers all agentfeed tools, and includes USDC prices plus descriptions. This gives the agent a clear expectation of what the tool returns without contradicting annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no filler. The usage directive is front-loaded, followed by a precise statement of the return content and cost. Every word 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-only tool with a rich output schema and all safety annotations present, the description fully covers what the agent needs. It specifies when to call it, what it returns, and that it is free. Nothing essential is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the schema is trivially complete. Per the baseline for no-parameter tools, a score of 4 is appropriate; the description correctly omits parameter details because none exist.
Input schemas describe structure but not intent. Descriptions should explain 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: 'Returns every agentfeed tool with its USDC price and description.' It clearly identifies this as a meta-tool for retrieving tool pricing rather than a market data tool, distinguishing it from the many get_* siblings. The phrase 'before calling anything' further reinforces its unique role.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit timing guidance: 'Use when an agent needs the price list before calling anything.' This tells the agent exactly when to invoke this tool and establishes it as a prerequisite for cost-aware tool selection. No alternatives are relevant since this is the only pricing-list tool among siblings.
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.
4 tool updates
- Added
get_company_check - Added
get_pkg_check - Added
get_rwa_yields - Added
get_tx_precheck
5 tool updates
- Added
get_cascade_backtest - Added
get_claim_check - Added
get_site_signals - Added
get_x402_lint - Added
get_x402_test
3 tool updates
- Added
get_anomaly_flag - Added
get_morning_brief - Added
get_move_alert
8 tool updates
- Changed
get_base_launches4 fields changed- added
Input schema / properties / limit / maximumAdded value: +100 - added
Input schema / properties / limit / minimumAdded value: +1 - added
Input schema / properties / min_liq_usd / maximumAdded value: +1000000000000 - added
Input schema / properties / min_liq_usd / minimumAdded value: +0
- Changed
get_hl_whales3 fields changed- added
Input schema / properties / top / maximumAdded value: +50 - added
Input schema / properties / top / minimumAdded value: +1 - changed
Input schema / properties / top / typePrevious value: -"number"New value: +"integer"
- Changed
get_insider_trades3 fields changed- added
Input schema / properties / days / maximumAdded value: +180 - added
Input schema / properties / days / minimumAdded value: +1 - changed
Input schema / properties / days / typePrevious value: -"number"New value: +"integer"
- Changed
get_papers6 fields changed- added
Input schema / properties / limit / maximumAdded value: +25 - added
Input schema / properties / limit / minimumAdded value: +1 - changed
Input schema / properties / limit / typePrevious value: -"number"New value: +"integer" - added
Input schema / properties / year_from / maximumAdded value: +9999 - added
Input schema / properties / year_from / minimumAdded value: +1000 - changed
Input schema / properties / year_from / typePrevious value: -"number"New value: +"integer"
- Changed
get_sec_8k3 fields changed- added
Input schema / properties / hours / maximumAdded value: +72 - added
Input schema / properties / hours / minimumAdded value: +1 - changed
Input schema / properties / hours / typePrevious value: -"number"New value: +"integer"
- Changed
get_sec_filings3 fields changed- added
Input schema / properties / limit / maximumAdded value: +50 - added
Input schema / properties / limit / minimumAdded value: +1 - changed
Input schema / properties / limit / typePrevious value: -"number"New value: +"integer"
- Changed
get_signal_board3 fields changed- added
Input schema / properties / n / maximumAdded value: +60 - added
Input schema / properties / n / minimumAdded value: +1 - changed
Input schema / properties / n / typePrevious value: -"number"New value: +"integer"
- Changed
get_sol_token_flow3 fields changed- added
Input schema / properties / swaps / maximumAdded value: +100 - added
Input schema / properties / swaps / minimumAdded value: +20 - changed
Input schema / properties / swaps / typePrevious value: -"number"New value: +"integer"
12 tool updates
- Changed
get_coin_signal3 fields changed- added
Input schema / properties / coin / maxLengthAdded value: +30 - added
Input schema / properties / coin / minLengthAdded value: +1 - added
Input schema / properties / coin / patternAdded value: +"^[A-Za-z0-9-]+$"
- Changed
get_domain2 fields changed- added
Input schema / properties / domain / maxLengthAdded value: +253 - added
Input schema / properties / domain / minLengthAdded value: +3
- Changed
get_paper3 fields changed- added
Input schema / properties / doi / maxLengthAdded value: +300 - added
Input schema / properties / doi / minLengthAdded value: +7 - added
Input schema / properties / doi / patternAdded value: +"10\\.\\d{4,9}(?:\\/|%2[Ff])\\S+"
- Changed
get_sanctions_check3 fields changed- added
Input schema / properties / address / maxLengthAdded value: +130 - added
Input schema / properties / address / minLengthAdded value: +14 - added
Input schema / properties / address / patternAdded value: +"^\\s*[A-Za-z0-9:]{14,120}\\s*$"
- Changed
get_sol_holder_clusters3 fields changed- added
Input schema / properties / mint / maxLengthAdded value: +44 - added
Input schema / properties / mint / minLengthAdded value: +32 - added
Input schema / properties / mint / patternAdded value: +"^[1-9A-HJ-NP-Za-km-z]{32,44}$"
- Changed
get_sol_token_check3 fields changed- added
Input schema / properties / mint / maxLengthAdded value: +44 - added
Input schema / properties / mint / minLengthAdded value: +32 - added
Input schema / properties / mint / patternAdded value: +"^[1-9A-HJ-NP-Za-km-z]{32,44}$"
- Changed
get_sol_token_flow3 fields changed- added
Input schema / properties / mint / maxLengthAdded value: +44 - added
Input schema / properties / mint / minLengthAdded value: +32 - added
Input schema / properties / mint / patternAdded value: +"^[1-9A-HJ-NP-Za-km-z]{32,44}$"
- Changed
get_token_holders3 fields changed- added
Input schema / properties / mint / maxLengthAdded value: +44 - added
Input schema / properties / mint / minLengthAdded value: +32 - added
Input schema / properties / mint / patternAdded value: +"^[1-9A-HJ-NP-Za-km-z]{32,44}$"
- Changed
get_token_metadata3 fields changed- added
Input schema / properties / mint / maxLengthAdded value: +44 - added
Input schema / properties / mint / minLengthAdded value: +32 - added
Input schema / properties / mint / patternAdded value: +"^[1-9A-HJ-NP-Za-km-z]{32,44}$"
- Changed
get_token_risk3 fields changed- added
Input schema / properties / mint / maxLengthAdded value: +44 - added
Input schema / properties / mint / minLengthAdded value: +32 - added
Input schema / properties / mint / patternAdded value: +"^[1-9A-HJ-NP-Za-km-z]{32,44}$"
- Changed
get_wallet_activity3 fields changed- added
Input schema / properties / wallet / maxLengthAdded value: +44 - added
Input schema / properties / wallet / minLengthAdded value: +32 - added
Input schema / properties / wallet / patternAdded value: +"^[1-9A-HJ-NP-Za-km-z]{32,44}$"
- Changed
get_wallet_holdings3 fields changed- added
Input schema / properties / wallet / maxLengthAdded value: +44 - added
Input schema / properties / wallet / minLengthAdded value: +32 - added
Input schema / properties / wallet / patternAdded value: +"^[1-9A-HJ-NP-Za-km-z]{32,44}$"
1 tool update
- Changed
get_paper1 field changed- changed
Input schema / properties / doi / descriptionPrevious value: -"a DOI such as 10.1038/nature14539, its slash sent as %2F in the path"New value: +"a DOI such as 10.1038/nature14539, sent in the path as written (its slash as %2F also works)"
1 tool update
- Added
get_liq_feed
22 tool updates
- Added
get_classify - Added
get_coin_signal - Added
get_convert - Added
get_domain - Added
get_email_verify - Added
get_extract - Added
get_hash - Added
get_injection_check - Added
get_ocr - Added
get_paper - Added
get_papers - Added
get_qr - Added
get_sanctions_check - Added
get_signal_board - Added
get_sol_holder_clusters - Added
get_sol_token_check - Added
get_sol_token_flow - Added
get_summarize - Added
get_time - Added
get_transcribe - Added
get_translate - Added
get_wiki
20 tool updates
- Removed
get_funding_cross - Changed
get_funding_extremes1 field changed- changed
Input schema / properties / min_turnover_usd / descriptionPrevious value: -"liquidity floor, default 1M"New value: +"24h volume floor in USD, default 1M"
- Changed
get_funding_history1 field changed- changed
Input schema / properties / limit / descriptionPrevious value: -"intervals, 1-200, default 30"New value: +"hourly settlements, 1-200, default 30"
- Changed
get_funding_radar2 fields changed- changed
Input schema / properties / min_oi_usd / descriptionPrevious value: -"minimum combined open interest in USD across the venues: default 10000000 ($10M); the radar tracks pairs from 5000000 ($5M), and lower values return that floor"New value: +"minimum open interest in USD: default 10000000 ($10M); 0 returns every perp the radar tracks" - changed
Input schema / properties / top / descriptionPrevious value: -"symbols returned, most extreme first, 1-100, default 20"New value: +"perps returned, most extreme first, 1-100, default 20"
- Changed
get_funding_rate1 field changed- changed
Output schema / properties / data / descriptionPrevious value: -"the get_funding_rate payload (without symbol: {sol, btc} from Hyperliquid; with symbol: {symbol, venues: {bybit, okx, hyperliquid}}); a real captured example is free at https://x402.ochinimus.app/api/sample/get_funding_rate"New value: +"the get_funding_rate payload (without symbol: {sol, btc} from Hyperliquid; with symbol: {symbol, venues: {hyperliquid}}); a real captured example is free at https://x402.ochinimus.app/api/sample/get_funding_rate"
- Added
get_fx_rates - Added
get_insider_trades - Removed
get_long_short - Removed
get_options_gex - Removed
get_options_summary - Added
get_pdf_markdown - Added
get_sec_8k - Added
get_sec_filings - Changed
get_spot1 field changed- changed
Input schema / properties / symbol / descriptionPrevious value: -"SOL, BTC or ETH (default SOL). Anything else is declined with the supported list"New value: +"SOL, BTC or ETH (default SOL). Any other symbol answers 400 with the supported list"
- Removed
get_spread_arb - Changed
get_top_movers1 field changed- changed
Input schema / properties / min_turnover_usd / descriptionPrevious value: -"liquidity floor, default 1M"New value: +"24h volume floor in USD, default 1M"
- Added
get_tradfi_perps - Changed
get_tradfi_radar2 fields changed- changed
Input schema / properties / min_oi_usd / descriptionPrevious value: -"minimum open interest in USD; venues that publish no OI are then left out (default 0)"New value: +"minimum open interest in USD (default 0)" - removed
Input schema / properties / venueRemoved value: -{ - "description": "comma list of hyperliquid, bybit, binance, okx (default all)", - "type": "string" -}
- Added
get_web_markdown - Removed
get_whale_trades
7 tool updates
- Removed
get_dex_quote - Added
get_hl_whales - Changed
get_honeypot_check2 fields changed- changed
Input schema / properties / chain / descriptionPrevious value: -"base (default); other chains are refused for now"New value: +"base (default: Uniswap V2/V3/V4, Aerodrome), bsc (PancakeSwap V2/V3) or ethereum (Uniswap V2/V3)" - changed
Input schema / properties / token / descriptionPrevious value: -"token contract address on Base, 0x followed by 40 hex characters"New value: +"token contract address, 0x followed by 40 hex characters"
- Removed
get_launch_odds - Removed
get_rwa_yields - Removed
get_stablecoin_flows - Removed
get_tvl
4 tool updates
- Added
get_base_launches - Added
get_honeypot_check - Added
get_launch_odds - Added
get_rwa_yields
Related MCP Connectors
100+ pay-per-call tools: token risk, wallet sanctions screening, onchain data, web, company, AI
Solana on-chain intelligence — token scans, wallet profiling, bundle detection, 19 MCP tools.
Solana onchain intelligence for AI agents: wallet risk, due-diligence, perps funding, smart money.
Intelligence marketplace on Solana — 86 tools, 168+ endpoints, per-call USDC.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceSolana on-chain intelligence API — token scans, wallet PnL, bundle detection, fresh wallets, dev profiling. MCP server for Claude, Cursor & AI agents. Live PumpFun/Raydium streams1MIT
- FlicenseNot gradedqualityBmaintenanceKeyless, pay-per-call compliance & regulated-data tools for AI agents: OFAC wallet + sanctions/PEP + KYB screening, SEC filings, FRED economics, FDA recalls, federal awards, and continuous monitoring (watch a wallet/company/brand for status changes). USDC via x402 on Base/Solana, no API key, no signup.-
- AlicenseBqualityDmaintenanceCross-exchange crypto orderflow for AI agents. 20 exchanges, 26 tokens, 9 tools — CVD, whale activity, funding/OI, 7-year OHLCV, on-chain address risk (EVM + Solana). Pay-per-call USDC via x402, no API key.921 npm1MIT
- AlicenseNot gradedqualityCmaintenanceProvides 76 tools for enterprise Solana development, enabling stablecoin issuance, payments, trading, wallet management, and compliance screening via natural language.32 npmMIT
Glama MCP Gateway
Add one secure layer between your agents and this server.