Skip to main content
Glama

Server Details

Blockchain analytics API for AI agents. Smart Money signals, wallet profiling, token analytics.

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL

Glama MCP Gateway

Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.

MCP client
Glama
MCP server

Full call logging

Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.

Tool access control

Enable or disable individual tools per connector, so you decide what your agents can and cannot do.

Managed credentials

Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.

Usage analytics

See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.

100% free. Your data is private.
Tool DescriptionsA

Average 4.1/5 across 35 of 35 tools scored. Lowest: 2.7/5.

Server CoherenceB
Disambiguation3/5

The tool set has clear thematic groupings (address analysis, token analysis, prediction markets, etc.), but within groups there is significant overlap and ambiguity. For example, multiple tools provide token holder or flow data with subtle differences (token_current_top_holders, token_flows, token_recent_flows_summary), and several tools have similar names but different scopes (e.g., address_counterparties vs address_related_addresses). Descriptions help, but an agent could easily misselect tools without careful reading.

Naming Consistency4/5

Most tools follow a consistent snake_case pattern with clear verb_noun or noun_verb structures (e.g., address_transactions, token_ohlcv, prediction_market_lookup). There are minor deviations like smart_traders_and_funds_perp_trades (longer compound names) and general_search (adjective_noun), but overall the naming is predictable and readable across the set.

Tool Count2/5

With 35 tools, the count is excessive for a single server, creating cognitive overload and likely redundancy. While Nansen's domain (on-chain analytics) is broad, many tools could be consolidated (e.g., multiple prediction market tools or token flow tools). This high count feels heavy and unwieldy for agents to navigate effectively.

Completeness4/5

The tool surface comprehensively covers key domains like address profiling, token analysis, prediction markets, and wallet PnL, with strong CRUD-like operations (e.g., search, get, analyze). Minor gaps exist, such as limited NFT support or some edge cases with native tokens, but agents have extensive coverage for core blockchain analytics workflows without dead ends.

Available Tools

37 tools
address_counterpartiesAnalyzing wallet connectionsAInspect

Get 25 (per page) addresses or entities with the most common interactions with input addresses Default sort is net value transferred between them. Also returns the top 3 tokens transferred by count for each counterparty

Note: To get related wallets:

  • Focus on direct value transfers to get most likely addresses.

  • Include CEX deposit addresses (not withdrawal addresses!) as well.

  • Also go one level deeper:

    • Find addresses that interacted with the most likely addresses.

    • Find addresses that deposited to the same CEX deposit (NOT withdrawal!) addresses.

  • Address structure / string is not important, but the relationship is!

Sorting Options (all fields support "ASC"/"DESC"): Available for sorting: total_volume_usd, volume_in_usd, volume_out_usd, interaction_count

Examples:

Query by single address

{ "address": "0x123...", "sourceInput": "Combined", "groupBy": "wallet", "chain": "ethereum", "timeRange": {"from": "30D_AGO", "to": "NOW"}, "order_by": "total_volume_usd", "order_by_direction": "desc" }

Query by entity

{ "entity_id": "Binance", "sourceInput": "Combined", "groupBy": "entity", "chain": "all", "timeRange": {"from": "7D_AGO", "to": "NOW"} }

ParametersJSON Schema
NameRequiredDescriptionDefault
requestYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Given the absence of annotations, the description compensates well by disclosing key behavioral traits: pagination (25 per page), default sort by net value, top 3 tokens per counterparty, and the 365-day time range clamp with reporting. It also details sorting fields and directions. Minor omissions include error handling, authentication needs, and rate limits, but the core behavior is transparent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with a clear main purpose statement, a note section, sorting options, and two examples. It is front-loaded but slightly verbose in the note section. However, all content is relevant and earns its place, making it efficient for an agent to parse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers the essential aspects of the tool: input parameters, relationship between counterparties, pagination, sorting, time range constraints (with clamping), and examples. With an output schema available, the return value details are covered. It lacks only rare edge cases and error scenarios, but overall it is complete for an agent to use correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Despite the input schema having property descriptions, the tool description adds substantial meaning beyond the schema. It explains the purpose of each parameter (e.g., 'address' vs 'entity_id', time range tokens), provides default values and sorting options, and includes comprehensive examples that demonstrate usage. This compensates for any lack of schema description coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Get 25 (per page) addresses or entities with the most common interactions with input addresses'. It specifies the resource (addresses/entities), the action (get counterparties), and the scope (most common interactions). The inclusion of default sorting and top 3 tokens further clarifies the output. The examples provide concrete use cases, distinguishing it from siblings like 'address_related_addresses' by focusing on counterparties based on interaction volume.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The 'Note' section provides explicit guidance on when and how to use the tool, including strategies for exploring related wallets and emphasizing relationship over address structure. Sorting options and examples help the agent choose appropriate parameters. However, it does not explicitly contrast with sibling tools like 'address_related_addresses' or 'address_transactions', so the agent must infer when this tool is preferred over alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

address_dex_tradesChecking wallet DEX tradesAInspect

Get a wallet's individual DEX trades (token swaps) on a single chain — the bought/sold token pair, amounts, and USD value per trade, newest first. Wallet-centric companion to token_dex_trades (which is token-centric).

Chain: one per call ('all'/'evm' unsupported). EVM wallets MUST pass chain explicitly (e.g. ethereum, base, arbitrum); non-EVM (e.g. Solana) is auto-detected. Call once per chain to span multiple networks.

Columns: Time, Bought / Bought Amount, Sold / Sold Amount, Value USD, Tx Hash. Sort (order_by, asc/desc): timestamp, value. Filter by valueUsd range.

Example: { "address": "0x1f2f10d1c40777ae1da742455c65828ff36df387", "chain": "ethereum", "dateRange": {"from": "7D_AGO", "to": "NOW"} }

ParametersJSON Schema
NameRequiredDescriptionDefault
requestYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It describes output columns, sorting options, and filtering by valueUsd range. It includes a concrete example. However, it does not explicitly mention pagination behavior, rate limits, or what happens if no trades are found, which would make it more transparent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise and well-structured: it starts with a clear purpose, then covers chain guidelines, output columns, sorting/filtering options, and ends with an example. Every sentence adds necessary information without redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (multiple parameters, chain nuances, output columns), the description provides complete context. It covers all key behaviors: single-chain requirement, auto-detection for non-EVM, column details, sorting and filtering, and a representative example. The output schema exists but the description still clarifies what the data looks like.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description adds meaning beyond the schema by explaining the chain parameter with EVM/non-EVM rules, sort order interpretation, and filtering context. The schema already has good descriptions for most parameters, but the description provides practical usage examples and clarifies default behavior. The 0% schema coverage statistic seems inconsistent with the actual schema content; regardless, the description adds value.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Get a wallet's individual DEX trades (token swaps) on a single chain' with specific details about bought/sold token pair, amounts, and USD value. It also distinguishes from sibling tool token_dex_trades by labeling it as wallet-centric vs token-centric.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit usage guidelines: it explains when to use this tool (wallet-centric), contrasts with token_dex_trades, specifies chain limitations (one per call, 'all'/'evm' unsupported), and gives instructions for EVM vs non-EVM wallets. It also advises to call once per chain for multiple networks.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

address_historical_balancesChecking balance historyCInspect

Get historical native coin & token balances of address.

ParametersJSON Schema
NameRequiredDescriptionDefault
requestYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description must disclose behavioral traits. It only states the return type (balances) but does not mention that the tool is read-only, any authentication needs, rate limits, or restrictions on address count. This is insufficient for complex parameters.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence of 6 words, making it concise. However, it is so brief that it sacrifices essential information, which is under-specification rather than effective conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (multiple parameter options, filtering, lookback period), the description is highly incomplete. While an output schema exists, the description fails to cover key aspects like entity ID support or suspicious token filtering.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Per context, schema description coverage is 0%. The description adds no parameter semantics, failing to explain that users can specify a single address, multiple addresses, or an entity_id, nor does it mention the lookbackDays or suspiciousFilter options. Without schema descriptions, this is a critical gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Get' and the resource 'historical native coin & token balances' for an address, distinguishing this tool from siblings like address_portfolio or address_transactions. However, it could be more specific about the scope (e.g., 'for a given address over a specified lookback period').

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 such as address_portfolio or address_transactions. No mention of prerequisites, exclusions, or use cases.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

address_portfolioLoading portfolio dataAInspect

Get comprehensive portfolio overview for a wallet address or entity.

Hyperliquid perpetual positions include liquidation prices to support risk analysis workflows.

For wallet addresses, supports different modes:

  • 'fast-mode-default': Wallet balances + Hyperliquid positions (skip defi, for fast mode only)

  • 'all': Wallet balances + DeFi positions + Hyperliquid positions

  • 'wallet_balances': Only token balances (tokens and native coins across all chains)

  • 'defi': Only DeFi positions (lending, staking, LP tokens, etc., excluding Hyperliquid)

  • 'hyperliquid': Only Hyperliquid data — perp positions (with liquidation prices and margin summary) plus HL spot wallet balances

For entities (e.g., "Binance", "Paradigm Fund"), only on-chain token balances are returned, aggregated across all addresses associated with the entity.

This tool provides flexible portfolio analysis in a single request, allowing users to focus on specific aspects of their holdings.

The output is pre-formatted markdown that should be presented exactly as returned, preserving all tables, sections, and formatting without reinterpretation.

Example Usage: Get full comprehensive portfolio for a wallet: { "walletAddress": "0x28c6c06298d514db089934071355e5743bf21d60", "mode": "all" }

Get only DeFi positions (returns raw JSON):
```
{
    "walletAddress": "0x28c6c06298d514db089934071355e5743bf21d60",
    "mode": "defi"
}
```

Get only Hyperliquid positions (returns raw JSON):
```
{
    "walletAddress": "0x28c6c06298d514db089934071355e5743bf21d60",
    "mode": "hyperliquid"
}
```

Get token balances for an entity:
```
{
    "entity_id": "Binance"
}
```
ParametersJSON Schema
NameRequiredDescriptionDefault
requestYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description clearly states that output is pre-formatted markdown to be presented exactly as returned, and it mentions that hyperliquid positions include liquidation prices. It also describes the behavior for different modes. No annotations are provided, so the description carries the full burden.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with a clear purpose, bulleted modes, and examples. It is front-loaded and informative, though slightly verbose. Every sentence adds value, but it could be trimmed slightly without loss.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of the tool (multiple modes, mutual exclusions, output format), the description is comprehensive. It covers all major behaviors and constraints, and the examples cover the key usage patterns. The output schema exists, so return values need no further explanation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Despite 0% schema description coverage, the description adds extensive meaning beyond the schema: it explains each mode in detail, the mutual exclusivity of walletAddress and entity_id, and provides concrete examples with multiple request shapes. This compensates fully for the schema's lack of descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Get comprehensive portfolio overview for a wallet address or entity.' It details the different modes and what each returns, distinguishing it from sibling tools that focus on specific aspects like trades or transactions.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explains the modes and the difference between wallet and entity queries, but it does not explicitly guide when to use this tool vs. alternative address-related tools. It implies usage but lacks explicit when-not-to-use or alternative recommendations.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

address_transactionsFetching transaction historyAInspect

Get list of 20 MOST RECENT transactions made by an address (per page). Only the latest transactions according to the date range are returned.

ParametersJSON Schema
NameRequiredDescriptionDefault
requestYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so the description carries the full burden. It discloses pagination (20 per page) and date range filtering, but does not mention rate limits, error handling for invalid addresses, or that it is a read-only operation. Additional context would improve transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences with no redundant information, front-loading the key details (20 most recent, per page, date range).

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given that an output schema exists, the description does not need to explain return values. It covers the essential behavior (pagination, date filtering), but could mention default ordering (descending) or that the date range defaults to last 30 days (though that is in the schema).

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 0% description coverage per context, so the description adds value by clarifying the pagination limit (20 most recent) and that results are filtered by date range. This compensates for missing schema documentation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool retrieves the 20 most recent transactions per page for a given address, using a date range. This verb+resource+scope distinguishes it from siblings like address_dex_trades or address_counterparties.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives (e.g., address_dex_trades for DEX trades, transaction_lookup for a single transaction). The description does not mention exclusions or prerequisites.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

growth_chain_rankChecking blockchain rankingsAInspect

Get chain growth rankings by active addresses, transactions, gas fees and DEX volume.

ParametersJSON Schema
NameRequiredDescriptionDefault
requestYesGrowthChainRankRequest containing parameters and pagination settings

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must fully disclose behavioral traits. It only states 'Get...' without detailing data freshness, pagination, aggregation methods, or any side effects. This is insufficient for a tool that likely performs data aggregation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence that conveys the core purpose without any unnecessary words. It is front-loaded and efficiently uses the space.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

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 (indicated), the description is adequate for a simple ranking retrieval tool. However, it lacks information about filtering, sorting, or interpretation of the metrics, which could be useful for an agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the schema already documents the parameters 'chain_type' and 'time_frame'. The description does not add additional meaning beyond listing the metrics in the output. Baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool retrieves chain growth rankings by active addresses, transactions, gas fees, and DEX volume. This is specific and distinguishes it from sibling tools that focus on individual addresses, tokens, or transactions.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for growth rankings but does not explicitly state when to use this tool versus alternatives. No guidance on when not to use it or context for preferred usage over siblings like 'token_discovery_screener' or 'address_transactions'.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hyperliquid_leaderboardChecking Hyperliquid leaderboardAInspect

Get Hyperliquid perpetual futures trader leaderboard with performance metrics.

Returns: Trader performance rankings as markdown.

Columns returned:
- **Address**: Trader's wallet address
- **Label**: Nansen label of the trader (if available)
- **Total PnL**: Total profit/loss in USD (currency formatted, can be negative)
- **ROI**: Return on investment as percentage (percentage formatted)
- **Account Value**: Total account value in USD (currency formatted)

Sorting and Filtering Options: You can sort and filter (from/to amounts) on these fields: totalPnl, accountValue, roi

Example: { "date": {"from": "7D_AGO", "to": "NOW"}, "accountValue": {"from": 100000, "to": 1000000}, "totalPnl": {"from": 10000}, "order_by": "total_pnl", "orderByDirection": "DESC" }

Notes: - Hyperliquid-specific endpoint (perpetual futures only)

ParametersJSON Schema
NameRequiredDescriptionDefault
requestYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations exist, so the description carries full burden. It discloses the output format (markdown), column details, and sorting/filtering capabilities. It does not mention auth needs or rate limits, but as a read-only data retrieval, this is acceptable. Adds value beyond schema by listing columns and usage examples.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with clear sections (Returns, Columns, Sorting/Filtering, Example, Notes). It is front-loaded with the purpose. While somewhat long, all content is relevant and earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of the schema (nested filtering objects) and the presence of an output schema, the description covers the main aspects: return format, column details, sorting/filtering, and an example. It does not explain the 'page' parameter or default behavior, but overall it is fairly complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is effectively 100% (the schema includes descriptions for all properties of the 'request' object). The description adds meaning beyond the schema by explaining the columns returned, how to sort and filter (including an example), and the currency/percentage formatting. It provides context that aids parameter usage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it retrieves the Hyperliquid perpetual futures trader leaderboard with performance metrics. It specifies the resource (Hyperliquid perp leaderboard) and the action (get), and distinguishes it from sibling tools like token_pnl_leaderboard by noting 'Hyperliquid-specific endpoint (perpetual futures only)'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explains sorting and filtering options and provides an example, but does not explicitly state when to use this tool versus alternatives (e.g., when to use token_pnl_leaderboard instead). No when-not-to-use guidance is given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

nansen_score_top_tokensRanking top tokens by Nansen ScoreAInspect

Discover and filter a daily list of attractive tokens using Nansen Score Indicators weighted by coefficients (= Performance Score).

Use this tool when you don't know which tokens to buy and need recommendations based on backtested indicators. For specific token analysis (e.g., "should I buy AAVE?"), use token_quant_scores instead.

When to use this tool vs token_discovery_screener:

  • Use this tool when you want pre-scored buying recommendations without specifying criteria. It answers "what should I buy?" by returning tokens that already meet a quantitative buying threshold (Performance Score ≥15) based on alpha indicators like price momentum, chain fees, and protocol fees. Data is updated in batches.

  • Use token_discovery_screener when you want live data or to explore tokens by specific criteria like sectors (e.g., "AI memecoins"), token age (e.g., "new launches"), smart money activity, or custom volume/liquidity thresholds. It's a filtering tool with real-time metrics where you define what you're looking for.

Returns tokens pre-filtered by: performance_score >= 15 (buying threshold).

Example queries: "what tokens should I buy?", "which tokens look good?", "best tokens to buy today"

Scoring:

  • Performance Score (range -60 to +75): Higher = better alpha opportunity. Buy threshold: ≥15

  • Risk Score (range -60 to +80): Higher = safer token. >0 indicates low to medium risk.

Every time you give the Performance Score to the user, explain the scoring thresholds above. Same for the Risk Score. Every time quote the underlying indicators that contributed the most to the Performance/ Risk score and recall their definition to the user.

Returns: A list of tokens with the highest Performance Score as markdown.

Core fields: Token Address, Token Symbol, Chain, Performance Score, Risk Score.
Indicator columns are included dynamically based on data availability (columns with all zeros are excluded).
ParametersJSON Schema
NameRequiredDescriptionDefault
requestYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations, but description discloses batch updates, pre-filtering threshold (performance_score >= 15), scoring ranges, and instructs AI to explain thresholds. Could add update frequency, but covers core safety and behavior well.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Well-organized with headings and bullet points. Front-loaded with purpose. Slightly long but each section adds value; no wasted sentences.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Output schema is described in detail (core fields, dynamic indicators). Instructions for AI to explain thresholds to user. Covers all aspects needed for a recommendation tool with good annotations absence.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Only one parameter 'request' with optional marketCapGroup filter; description does not explain the full structure beyond example usage. Schema coverage is low, but description adds context that the request can be empty or with filter. Adequate given simplicity.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states 'Discover and filter a daily list of attractive tokens using Nansen Score Indicators weighted by coefficients (= Performance Score).' Distinguishes from siblings by naming token_quant_scores and token_discovery_screener with explicit differentiators.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly says 'Use this tool when you don't know which tokens to buy' and contrasts with token_discovery_screener for live data or custom criteria. Provides example queries and clear when-to-use logic.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

prediction_market_address_pnlChecking prediction market address PnLBInspect

Prediction market PnL breakdown for a Polygon wallet.

Key fields:

  • Market-by-market PnL when the API provides it.

  • Blank PnL fields mean unavailable data, not zero.

  • Position Size (Shares) is quantity; Position Value USD is current marked value.

ParametersJSON Schema
NameRequiredDescriptionDefault
requestYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so the description carries the burden. It adds value by clarifying that blank PnL fields mean unavailable data (not zero) and differentiating position size from value. However, it omits basic behavioral traits like whether the tool is read-only, has any side effects, or requires authentication.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short and front-loaded with purpose. The key fields section is helpful but slightly verbose for a concise tool definition. Overall, every sentence contributes meaning without significant waste.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

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 (as indicated by context signals), the description provides adequate explanation of return fields (blank semantics, position vs value). However, it completely ignores the input parameters, leaving a gap in understanding how to invoke the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 0% parameter description coverage. The description does not mention the 'request' parameter or its nested properties (address, page). It provides no guidance on input format, leaving the schema to do all the work, which it does poorly due to lacking descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool provides a 'Prediction market PnL breakdown for a Polygon wallet' and explains key fields like market-by-market PnL, blank field semantics, and position size vs value. It distinguishes itself from sibling tools like prediction_market_address_summary or prediction_market_address_trades by focusing specifically on PnL.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description lacks any guidance on when to use this tool versus its siblings. No mention of prerequisites, use cases, or when alternative tools like prediction_market_address_summary or prediction_market_address_trades would be more appropriate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

prediction_market_address_summarySummarizing prediction market addressAInspect

Prediction market summary metrics for a Polygon wallet.

When to use:

  • First wallet-level Polymarket tool for a quick trader overview.

  • Use before detailed address trades/PnL when the user asks for a general wallet profile, activity summary, or whether a wallet is active on Polymarket.

Key fields:

  • Aggregate volume, trade/market counts, win rate, ROI, and PnL where the API provides them.

  • Blank PnL or ROI fields mean unavailable data, not zero.

ParametersJSON Schema
NameRequiredDescriptionDefault
requestYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must carry full burden. It discloses that blank PnL or ROI fields mean unavailable data, not zero, which is helpful. However, it omits other behavioral traits like required permissions, rate limits, data freshness, or error handling. Given the tool's simplicity, the disclosure is adequate but not rich.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is brief and well-structured, with two clear sections: a one-line purpose statement, a bulleted 'When to use' list, and a bulleted 'Key fields' list. Every sentence adds value without redundancy, and the most critical information is front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers usage guidelines and key return fields, but the lack of parameter explanation creates a gap. With an output schema present, return details are less critical, but an agent still needs to know how to form the request. The description does not fully equip an agent to call the tool correctly, leaving it moderately incomplete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 0% description coverage and a complex 'request' parameter. The description does not explain the structure of the request (e.g., that 'address' is required, 'page' is optional). It adds no meaning beyond the schema, which is inadequate for a tool with a parameter that has a nested object. The tool description should compensate for the low schema coverage but does not.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool provides 'Prediction market summary metrics for a Polygon wallet,' using specific verbs and resources. It distinguishes from sibling tools by positioning itself as the 'first wallet-level Polymarket tool for a quick trader overview,' explicitly differentiating from detailed tools like prediction_market_address_trades.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description includes a dedicated 'When to use' section with two explicit criteria: use as the first wallet-level tool for a quick overview, and use before detailed trades/PnL when a general profile is requested. This provides clear context for when to invoke this tool versus alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

prediction_market_address_tradesChecking prediction market address tradesAInspect

Prediction market trade history for a Polygon wallet.

Key fields:

  • Share Size is quantity traded in the displayed outcome side.

  • Value USD applies to that row only, not the whole transaction.

Pitfalls:

  • Use this for wallet trade activity, not profitability.

ParametersJSON Schema
NameRequiredDescriptionDefault
requestYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full responsibility. It discloses behavioral details like 'Share Size is quantity traded' and 'Value USD applies to that row only', but omits pagination behavior (page parameter) and data freshness, which would improve transparency for a data retrieval tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise (3-4 sentences) with no filler. Key fields and pitfalls are highlighted, and every sentence adds value. It is well-structured with a clear lead sentence.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

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 and the schema's parameter descriptions, the tool description completes the picture with purpose, key fields, and common pitfalls. It could mention pagination or the requirement for an address, but the title implies address-level. Overall, it is sufficiently complete for this low-complexity tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description does not explain input parameters; all parameter descriptions are in the schema. With 0% tool-description coverage of parameters, the baseline is 3, and the description adds no meaning beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it provides 'prediction market trade history for a Polygon wallet', specifying the resource (trade history), scope (wallet-level), and blockchain (Polygon). It distinguishes from siblings like prediction_market_address_pnl by noting 'not profitability'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly directs usage for 'wallet trade activity' and warns against using it for profitability, providing clear context. However, it does not name alternative tools (e.g., prediction_market_address_pnl), so it lacks explicit when-not-to-use guidance with alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

prediction_market_lookupLooking up prediction marketAInspect

Search Polymarket for events and markets by name, topic, URL, or slug.

PM building blocks:

  • An event is a grouped prediction topic containing many child markets.

  • A market is one tradable outcome with its own marketId.

  • Example: 2026 NCAA Tournament Winner is an event; Will Duke win the 2026 NCAA Tournament? is a market. Detail tools require marketId, not eventId.

When to use:

  • First tool when the user asks about a specific PM topic, event, slug, or Polymarket URL but does not provide marketId.

  • Optionally provide queryVariant as a cleaner short keyword version.

  • Set includeEventMarkets to true to also return child markets for the best-matching event.

  • Do NOT use general_search for prediction markets.

  • Results include current outcome prices, last trade price, and bid/ask inline — for a quick probability check you may not need prediction_market_ohlcv. For price history or dated moves, still use prediction_market_ohlcv.

Query tips:

  • Uses Polymarket's search API — natural language queries work well.

  • Prefer short 1–3 keyword queries for best results.

  • Avoid broad multi-topic queries like bitcoin ethereum politics.

Output rules:

  • If lookup returns no suitable market or a mismatched timeframe, say so explicitly — do not silently substitute a nearby market.

ParametersJSON Schema
NameRequiredDescriptionDefault
requestYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, description fully details behavior: results include current prices, last trade, bid/ask; output rules like not silently substituting; query limitations. No contradiction.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Well-structured with sections (PM building blocks, When to use, Query tips, Output rules), front-loaded with main purpose. Every sentence adds value, no fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Covers purpose, usage, limitations, behavioral expectations, result content, and output rules. Has output schema. Complete for the tool's complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema descriptions are good, but description adds value by explaining queryVariant as a cleaner short keyword version, includeEventMarkets for child markets, and clarifying limits. Adds contextual tips beyond schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states it searches Polymarket for events and markets by name, topic, URL, or slug. Distinguishes between event and market and explicitly says not to use general_search. Very specific verb+resource.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly provides when to use (first tool when user asks about PM topic without marketId), when not to use (not general_search), and alternatives (for price history use prediction_market_ohlcv). Includes query tips and output rules.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

prediction_market_ohlcvLoading prediction market pricesAInspect

Historical odds/volume candles for a Polymarket market.

When to use:

  • Current odds / implied probability, price history, and recent probability changes on a specific market.

Key fields:

  • Close is the share price for the displayed outcome side.

  • In binary markets, Yes and No shares are complementary and sum to about $1.

Pitfalls:

  • Each response is for one exact marketId — do not mix dates or prices across different markets.

  • If no candles are returned for the requested window, say so directly — do not estimate.

Prerequisites: If marketId is unknown, call prediction_market_lookup first.

ParametersJSON Schema
NameRequiredDescriptionDefault
requestYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden. It discloses that the tool returns historical candles, warns about empty results and mixing markets, and mentions the complementarity of binary shares. However, it does not explicitly state whether the operation is read-only, mention rate limits, or describe other side effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with clear sections (purpose, when to use, key fields, pitfalls, prerequisites). It is about 12 sentences, each adding value. Slightly verbose but no redundant information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of the tool (multiple parameters, no annotations, an output schema exists), the description covers purpose, usage context, pitfalls, and prerequisites. It lacks deeper parameter explanations but overall provides sufficient context for initial understanding.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Although the input schema has parameter descriptions, the tool description itself provides minimal parameter guidance—only mentioning marketId in prerequisites. The description does not explain page, orderBy, dateRange, or orderByDirection, which is a gap especially given the schema description coverage is reported as 0%.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description explicitly states 'Historical odds/volume candles for a Polymarket market', which is a specific verb+resource. It clearly distinguishes this tool from siblings like prediction_market_orderbook (current order book) and prediction_market_trades (trade list).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides a 'When to use' section listing concrete use cases (current odds, price history, probability changes). It also includes pitfalls and prerequisites, guiding when to use alternatives like prediction_market_lookup. However, it does not explicitly state when not to use this tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

prediction_market_orderbookChecking prediction market orderbookAInspect

Live orderbook for a Polymarket market.

When to use:

  • Bid/ask depth, liquidity, and yes-share / no-share order structure.

Key fields:

  • Order Size is share quantity, not USD. Do not describe share size as dollar depth unless you calculate shares × price.

Yes/No price relationship:

  • Yes and No are complementary (Yes + No ≈ $1). A No bid at price $X means willingness to buy No when Yes is near $(1−X).

  • A cluster of No bids at low prices (e.g. $0.20) is resistance for Yes rallying to ~$0.80, NOT a support floor for the current Yes price.

  • When comparing OHLCV odds against orderbook depth, convert No-side prices to Yes-equivalent (1 − No price) before drawing divergence conclusions.

Pitfalls:

  • Do not treat raw no-share prices as bearish yes-share odds — prefer prediction_market_ohlcv for current odds / implied probability.

Prerequisites: If marketId is unknown, call prediction_market_lookup first.

ParametersJSON Schema
NameRequiredDescriptionDefault
requestYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description fully carries the burden. It explains that order size is share quantity (not USD), the complementary relationship between Yes and No prices, and how to interpret No-side bids as resistance for Yes. It also warns about misinterpreting share depth, providing robust behavioral context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with sections, front-loads the purpose, and every sentence adds value. However, it is somewhat verbose; a shorter version could retain clarity. Nonetheless, it earns its length for a complex topic.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of prediction market orderbooks and the lack of annotations, the description covers usage, pitfalls, data interpretation, and prerequisites comprehensively. An output schema exists, so return values need not be explained. The description integrates with sibling tools (lookup, ohlcv) for full context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0% for the top-level 'request' parameter. The description adds that a marketId is needed (via prerequisites) but does not systematically describe the parameter structure (e.g., acceptable fields, pagination). The schema itself provides descriptions for nested fields, but the description should clarify the anyOf semantics.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Live orderbook for a Polymarket market,' specifying the resource (Polymarket market) and the data type (orderbook). It distinguishes from siblings by focusing on bid/ask depth, liquidity, and order structure, which are unique to this tool among prediction market tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The 'When to use' section explicitly lists use cases (bid/ask depth, liquidity, order structure) and the 'Pitfalls' section warns against using no-share prices as bearish odds, directing to prediction_market_ohlcv for odds. Prerequisites instruct to call prediction_market_lookup if marketId is unknown, providing clear guidance on when and when not to use.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

prediction_market_pnl_leaderboardChecking prediction market PnL leadersAInspect

PnL leaderboard for a Polymarket market.

When to use:

  • Only for profitability claims.

Key fields:

  • Side Held reflects current side exposure where the API provides it.

Pitfalls:

  • If PnL fields are blank, say profitability is unavailable — do not substitute top holders or position size.

Prerequisites: If marketId is unknown, call prediction_market_lookup first.

ParametersJSON Schema
NameRequiredDescriptionDefault
requestYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of disclosing behavioral traits. It mentions blank fields and substitution pitfalls but does not explicitly state if the tool is read-only or safe. While it adds some context, it lacks a direct statement about idempotency or lack of side effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise, using bullet points under bold headings. It covers purpose, when to use, key fields, pitfalls, and prerequisites in a compact, scannable format without superfluous text.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has an output schema, so return values are documented. The description covers usage guidelines, prerequisites, and pitfalls. It does not elaborate on the leaderboard's exact content (e.g., top traders, metrics), but overall it provides sufficient context for safe and correct usage given the tool's relative simplicity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has two possible shapes with descriptions for marketId and page, but the description does not add meaning beyond those. The 'Key fields' mention 'Side Held,' which likely refers to output, not input parameters. Therefore, the description contributes little to parameter semantics.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'PnL leaderboard for a Polymarket market,' specifying the exact resource (Polymarket market PnL leaderboard) and action (checking). It distinguishes from siblings like token_pnl_leaderboard by focusing on prediction markets.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit when-to-use guidance: 'Only for profitability claims.' It also includes a prerequisite: 'If marketId is unknown, call prediction_market_lookup first.' Pitfalls are addressed: 'If PnL fields are blank... do not substitute top holders or position size.' This clearly delineates appropriate usage.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

prediction_market_position_detailLoading prediction market positionAInspect

Detailed position breakdown for a Polymarket market.

Key fields:

  • Position Size (Shares) is quantity held in this market.

  • Position Value USD is current marked value, not final payout at resolution.

  • Cost Basis USD and Unrealized PnL USD apply to the displayed row only — not the wallet's total PM activity.

Prerequisites: If marketId is unknown, call prediction_market_lookup first.

ParametersJSON Schema
NameRequiredDescriptionDefault
requestYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the burden. It explains key fields (Position Size is shares, Position Value is current marked value, Cost Basis and Unrealized PnL apply to the displayed row only). This clarifies behavioral traits beyond a simple query.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise with a clear structure: purpose, key fields list, and prerequisites. Every sentence adds value, no fluff, and the most important info is front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a detailed position tool, the description covers key fields, prerequisites, and pagination. It does not detail the output schema but that is acceptable. Slightly more could be said about pagination handling, but overall complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, but the description adds meaning: it explains that marketId is numeric with example '654412', directs users to prediction_market_screener for obtaining it, and mentions the page parameter for pagination. This compensates for the schema gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it provides a 'detailed position breakdown for a Polymarket market,' with specific fields listed. It distinguishes from siblings by noting prerequisites and referencing prediction_market_lookup for obtaining marketId.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description includes a prerequisites section guiding users to call prediction_market_lookup if marketId is unknown. This helps in deciding when to use this tool versus alternatives, though explicit exclusions are absent.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

prediction_market_screenerScreening prediction marketsAInspect

Browse and sort Polymarket markets, events, or categories.

When to use:

  • Broad discovery, screening, and ranked browsing across many markets.

  • Do NOT use this to resolve one named market/event/slug/URL — use prediction_market_lookup instead.

Query tips:

  • Literal-style matching on text and slugs, not fuzzy web search.

  • Prefer one short topic or slug fragment (e.g. fed cuts, zelensky, ncaa tournament).

  • Do not bundle unrelated topics (e.g. bitcoin ethereum politics weather). If a broad question spans several topics, run separate screener queries for each.

  • If a query returns no rows, do not invent a nearest match — try a narrower topic or say no data was returned.

Output rules:

  • Superlatives (highest, leading, biggest, top, trending) must match the shown metric exactly.

  • Do not infer end dates, rankings, or category leadership from titles alone.

ParametersJSON Schema
NameRequiredDescriptionDefault
requestYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden of behavioral disclosure. It explains matching behavior (literal-style, not fuzzy), query structuring (prefer short topic, avoid bundling), and output constraints (superlatives must match metric, no inference from titles). This provides comprehensive behavioral context beyond 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with clear sections for usage, query tips, and output rules. It is concise, front-loaded with the purpose, and every sentence adds value. No wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

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 and detailed parameter descriptions in the schema, the description provides sufficient additional context. It covers usage guidance, do's and don'ts, and distinguishes from siblings, making it complete for effective tool selection.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema coverage is 0%, meaning the description does not describe parameters. However, the schema itself contains detailed parameter descriptions. The description adds some contextual tips (e.g., preferring short query fragments) but largely repeats information already present in the schema. Hence, it meets the baseline of 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly defines the tool's purpose as browsing and sorting Polymarket markets, events, or categories. It uses specific verbs and resource names, and distinguishes from sibling tool 'prediction_market_lookup' by explicitly stating when not to use this tool.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit usage guidelines: when to use (broad discovery, screening, ranked browsing) and when not to use (for resolving a named market, use lookup). It also includes query tips and output rules that help an AI agent select and invoke the tool correctly.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

prediction_market_top_holdersFinding prediction market top holdersAInspect

Largest current holders for a Polymarket market.

Key fields:

  • Positions are share balances, not USD notional.

  • Position Value USD is current marked value, not payout at resolution.

  • Side Held is the share side currently held.

Pitfalls:

  • The visible holder table is the source of truth for holder-side concentration — do not infer risk, max loss, or potential profit unless the tool output explicitly provides it.

  • Output summary is based only on shown rows, not the entire holder table.

  • Large visible positions or labels do not by themselves identify smart money unless Nansen smart-money-labelled data supports it.

Prerequisites: If marketId is unknown, call prediction_market_lookup first.

ParametersJSON Schema
NameRequiredDescriptionDefault
requestYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description fully discloses behavioral traits: positions are share balances, value is marked not payout, output is based on shown rows only, and large positions don't imply smart money without Nansen labels. This exceeds expectations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise, well-structured with sections, bullet points, and front-loaded with the main action. Every sentence adds value without redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

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 doesn't need to explain return values. It covers key fields, pitfalls, and prerequisites. Everything an agent needs to use the tool correctly is provided.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, meaning the tool description does not describe parameters in detail. It only mentions marketId in prerequisites. The input schema itself contains descriptions for page, orderBy, etc., so the description adds minimal value beyond that, but the prerequisite note is helpful.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it returns 'Largest current holders for a Polymarket market', using a specific verb and resource. While it distinguishes from sibling tools like 'token_current_top_holders', it does not explicitly differentiate from other prediction market tools like 'prediction_market_position_detail' or 'prediction_market_address_summary'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit prerequisite: if marketId is unknown, call 'prediction_market_lookup' first. Includes pitfalls advising against inferring risk or smart money. However, it lacks explicit guidance on when NOT to use this tool versus alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

prediction_market_tradesChecking prediction market tradesAInspect

Recent trades for a Polymarket market.

When to use:

  • Source of truth for recent fills and latest trade-tape pricing.

  • Do not overwrite recent trade prices with older OHLCV candles.

Key fields:

  • Share Size is quantity; Value USD is dollar value.

  • Each row is one visible trade leg — Value USD applies to that row, not the whole transaction hash.

Pitfalls:

  • Large visible trades do not by themselves identify smart money or institutions.

Prerequisites: If marketId is unknown, call prediction_market_lookup first.

ParametersJSON Schema
NameRequiredDescriptionDefault
requestYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full burden. It explains that each row is one trade leg, Value USD applies per row, and warns about pitfalls (large trades not identifying smart money). Could mention rate limits or data freshness, but not essential for a read-only data tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Well-structured with sections (When to use, Key fields, Pitfalls, Prerequisites). Each sentence adds value, no redundancy. Front-loaded with main purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given tool complexity and presence of output schema, description fully covers prerequisites, usage, and data interpretation. No gaps identified.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema covers parameter descriptions (marketId, page, dateRange), so baseline is 3. Description adds value by clarifying key fields like 'Share Size is quantity' and 'Value USD is dollar value' per row, which aids understanding beyond schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Recent trades for a Polymarket market' and distinguishes itself from siblings like prediction_market_ohlcv and prediction_market_orderbook. It also specifies it's the 'source of truth for recent fills and latest trade-tape pricing.'

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicit when-to-use guidance: 'Source of truth for recent fills' and warning not to overwrite with OHLCV. Also states prerequisite: if marketId unknown, call prediction_market_lookup first.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

smart_traders_and_funds_perp_tradesTracking Smart Money perp tradesAInspect

Get recent Hyperliquid perpetual futures trades from Smart Traders and Funds across all tokens.

This tool provides granular smart trader and funds activity. For a big picture view of smart traders and funds activity across all tokens, use token_discovery_screener with traderType="sm" filter.

Note: This endpoint is Hyperliquid-only (perpetual futures data). It returns recent trades only (no date filtering available).

Columns returned:

  • Time: Timestamp when the trade occurred (datetime: YYYY-MM-DD HH:MM:SS)

  • Side: Position direction - Long or Short

  • Action: Order action - Add, Reduce, Open, Close

  • Token: Symbol of the perpetual contract

  • Size: Quantity of the perpetual contract (numeric)

  • Price USD: Price per token at time of trade (price formatted)

  • Value USD: Total USD value of the trade (currency formatted)

  • Trader: Nansen label of the trading address

  • Tx Hash: Blockchain transaction hash for verification

Sorting Options (all fields support "asc"/"desc"): Available for sorting: timestamp, amount, price_usd

Examples: # Get recent smart money perp trades (sorted by amount) { "orderBy": "amount", "order_by_direction": "desc" }

# Filter by action and side
```
{
  "action": "Open",
  "side": "Long",
  "includeSmartMoneyLabels": ["Fund", "All Time Smart Trader"]
}
```
ParametersJSON Schema
NameRequiredDescriptionDefault
requestYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full burden. It discloses key behaviors: Hyperliquid-only, recent trades, no date filtering, columns returned, and sorting options. However, it does not cover pagination behavior (page parameter exists but no details on limit per page), rate limits, or auth requirements.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured: a clear opening sentence, followed by context, column list, sorting info, and examples. It front-loads purpose. While somewhat lengthy, each section serves a purpose. Could be slightly trimmed but overall effective.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (many parameters) and the presence of an output schema, the description covers essential aspects: scope, filters, columns, sorting, and use case differentiation. It lacks pagination details and rate limits, but for a data retrieval tool, it is reasonably complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema already includes descriptions for most parameters (e.g., side, action, orderBy). The description adds value through column listing, sorting field names, and examples. However, it does not fully compensate for all parameters; e.g., 'traderAddress' and 'valueUsd' are only briefly mentioned. Schema description coverage is reported as 0%, so the description's additional guidance is helpful but not exhaustive.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Get recent Hyperliquid perpetual futures trades from Smart Traders and Funds across all tokens.' It uses a specific verb ('get'), resource ('trades'), and scope ('Hyperliquid perpetual futures'). Additionally, it distinguishes from sibling tools like 'token_discovery_screener' by explicitly noting the difference in granularity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context: it is Hyperliquid-only, returns recent trades with no date filtering, and offers an alternative ('For a big picture view... use token_discovery_screener'). It also includes examples. However, it lacks explicit 'when not to use' conditions beyond the date limitation.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

smart_traders_and_funds_token_balancesChecking Smart Money positionsBInspect

Get aggregated (not per wallet) smart trader and fund (EXCLUDES whales, large holders, influencers, etc.) token balances and 24h change per chain for all chains (default is ['all'], which queries all supported chains) or specific chain(s). Use filters to narrow down the results.

ParametersJSON Schema
NameRequiredDescriptionDefault
requestYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description must cover behavioral traits. It discloses aggregation (not per wallet), exclusion of certain categories, and default chain behavior. However, it does not mention pagination, sorting, or other behavioral details beyond filters.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences efficiently convey main purpose and key constraints (aggregated, excludes whales, per chain). Front-loaded with core function. Could be more structured but no wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (nested request object with many parameters) and presence of an output schema, the description is incomplete. It fails to explain the request structure, return format, or how filters interact. More context is needed for effective use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, meaning the description adds minimal parameter information beyond generic 'filters'. The schema itself has descriptions for some parameters, but the description does not amplify or clarify them further.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it gets aggregated smart trader and fund token balances and 24h change per chain, specifying exclusions (not whales, etc.) and aggregation level. It distinguishes from sibling tools like smart_traders_and_funds_perp_trades and token_current_top_holders.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description says 'Use filters to narrow down the results' but does not explicitly state when to use this tool versus alternatives like perp trades or individual wallet tools. It implies usage for smart money token balances but lacks clear contextual guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

token_current_top_holdersFinding top token holdersAInspect

Get upto 25 (per page) top holders information for a specific token.

Note: Using labelType: smart_money is not a good proxy for an overall market view. Use it only if user explicitly requests it, or to combine it with other non smart money data.

Modes:

  • onchain_tokens (default): Analyze on-chain tokens by contract address

  • perps: Analyze Hyperliquid perpetual futures by symbol (chain auto-set to "hyperliquid")

Columns returned (onchain_tokens mode):

  • Address: Wallet/contract address of the token holder

  • Label: Nansen label (e.g., exchange, whale, etc.)

  • Balance: Current balance held (numeric with K/M/B formatting)

  • Balance USD: USD value of token holdings (currency formatted)

  • Ownership %: Percentage of total token supply owned (percentage, 2 decimal places)

  • Sent: Total tokens sent from this address historically (numeric)

  • Received: Total tokens received by this address historically (numeric)

  • 24h Change: Balance change in last 24 hours (numeric, can be negative)

  • 7d Change: Balance change in last 7 days (numeric, can be negative)

  • 30d Change: Balance change in last 30 days (numeric, can be negative)

Columns returned (perps mode):

  • Trader Address: Address of the trader

  • Trader Label: Nansen label for the trader

  • Side: Position direction (Long/Short)

  • Position Value USD: Total USD value of the position (currency formatted)

  • Position Size: Size of the position in tokens (numeric)

  • Leverage: Leverage multiplier (e.g., "20X")

  • Leverage Type: Type of leverage (cross/isolated)

  • Entry Price: Average entry price (price formatted)

  • Mark Price: Current mark price (price formatted)

  • Liquidation Price: Liquidation price (price formatted)

  • Funding USD: Cumulative funding payments (currency formatted)

  • Unrealized PnL USD: Unrealized profit/loss (currency formatted)

Sorting Options (default: holding_size desc): onchain_tokens mode: holding_size, total_outflow, total_inflow, balance_change_24h, balance_change_7d, balance_change_30d perps mode: holding_size, side, entry_price, leverage, liquidation_price, funding_usd, upnl_usd

Examples: # On-chain tokens (default mode) { "mode": "onchain_tokens", "chain": "ethereum", "token_address": "0xa0b86a33e6b6c4b3add000b44b3a1234567890ab", "label_type": "top_100_holders" }

# Hyperliquid perpetual futures
```
{
  "mode": "perps",
  "token_address": "PENGU",
  "label_type": "smart_money"
}
```

# Find most active senders using filters
```
{
  "mode": "onchain_tokens",
  "chain": "ethereum",
  "token_address": "0xa0b86a33e6b6c4b3add000b44b3a1234567890ab",
  "label_type": "smart_money",
  "includeSmartMoneyLabels": ["All Time Smart Trader", "Fund"],
  "orderBy": "total_outflow",
  "order_by_direction": "desc"
}
```

# Find biggest accumulators (who received most tokens)
```
{
  "mode": "onchain_tokens",
  "chain": "ethereum",
  "token_address": "0xa0b86a33e6b6c4b3add000b44b3a1234567890ab",
  "label_type": "whale",
  "orderBy": "total_inflow",
  "order_by_direction": "desc"
}
```

# Perps mode with filters
```
{
  "mode": "perps",
  "token_address": "ETH",
  "label_type": "smart_money",
  "side": "Long",
  "upnlUsd": {"from": 10000},
  "positionValueUsd": {"from": 100000},
  "orderBy": "holding_size",
  "order_by_direction": "desc"
}
```

**Restrictions exclusively when querying for native tokens (ETH, BNB, etc.):**
- Only supports sorting by `orderBy='holding_size'` (others will fail)
- With `label_type='top_100_holders'`: limited filters (holding_size, total_outflow, total_inflow, address, smart money labels)
- For advanced filters, use different`label_type` or set `aggregate_by_entity=true`

**orderBy Restrictions (use 'holding_size' to avoid API errors):**
- Token address: 0xa0b86a33e6b6c4b3add000b44b3a1234567890ab

**Does not** work for SOL in onchain_tokens mode (tokenAddress So11111111111111111111111111111111111111112). For SOL analysis, use perps mode instead.
ParametersJSON Schema
NameRequiredDescriptionDefault
requestYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Discloses key behaviors: returns up to 25 per page, column details per mode, sorting restrictions, and limitations (e.g., native tokens, SOL). Lacks mention of rate limits or authentication, but since no annotations exist, description carries full burden and does well.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Well-structured with sections and front-loaded main purpose. However, length is high due to detailed column lists and multiple examples. Could be slightly more concise, but organization aids readability.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Covers all aspects: modes, columns, sorting, filters, restrictions, native tokens, and error conditions. Output schema exists and description complements it with column explanations. Examples cover common use cases. No gaps identified.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so description must compensate. It enormously enriches parameter meaning: explains mode implications, column differences, sorting options, filter usage, and native token constraints. Examples illustrate parameter combinations clearly.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states 'Get upto 25 (per page) top holders information for a specific token.' Describes two modes (onchain_tokens and perps) with distinct use cases. Distinguishes from sibling tools like token_dex_trades and token_transfers by focusing specifically on top holders.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly advises against using smart_money as a proxy for overall market view unless user requests it. Provides mode selection guidance, restrictions for native tokens, and alternatives like perps mode for SOL. Includes concrete examples for different scenarios.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

token_dex_tradesChecking latest DEX tradesAInspect

Get DEX trades for a specific token.

Modes:

  • onchain_tokens (default): Analyze on-chain tokens by contract address

  • perps: Analyze Hyperliquid perpetual futures by symbol (chain auto-set to "hyperliquid")

NOTE: In onchain_tokens mode, only ETH is supported among native tokens. For other native tokens (SOL, BTC, BNB, etc.), use perps mode instead.

ParametersJSON Schema
NameRequiredDescriptionDefault
requestYesTokenDexTradesRequest containing parameters, pagination settings, and optional sorting

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must carry the full burden of behavioral disclosure. The description explains the two modes and a constraint on native tokens, which is helpful. However, it does not mention whether the tool is read-only, whether pagination is supported (though the schema includes 'page'), rate limits, or authentication requirements. The presence of an output schema partially compensates, but the description itself lacks depth on behavioral traits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise: two short paragraphs plus a note. It front-loads the purpose and then uses bullet points for modes. Every sentence adds value. However, it could be slightly more structured (e.g., separating usage guidelines from behavioral notes), but overall it is efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (two modes, many parameters, output schema present), the description covers the main functionality and mode differentiation well. It addresses the important nuance about native tokens not supported in onchain_tokens mode. However, it does not explain error cases (e.g., invalid token address) or discuss the pagination/default values beyond what the schema provides. With output schema present, the description is fairly complete but misses a few edge-case details.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The description adds value by explaining the mode parameter with its default and the note about native tokens. However, it does not go beyond the schema for other parameters (e.g., 'tokenAddress' is required but not highlighted; the description says 'for a specific token' but doesn't specify that tokenAddress is the key identifier). The schema already provides adequate descriptions, so the description adds minimal extra semantic value.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description begins with a clear action: 'Get DEX trades for a specific token.' It then contrasts two modes ('onchain_tokens' vs 'perps'), which clearly distinguishes this tool from sibling tools like 'address_dex_trades' (which focuses on trades for an address) and 'token_transfers' (different resource). The title 'Checking latest DEX trades' combined with the first sentence leaves no ambiguity about the tool's purpose.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly explains the two modes and provides a concrete usage note: 'In onchain_tokens mode, only ETH is supported among native tokens. For other native tokens (SOL, BTC, BNB, etc.), use perps mode instead.' This gives clear context on when to choose each mode. However, it does not compare with sibling tools like 'smart_traders_and_funds_perp_trades' or explain when not to use this tool, so it's not a full when/when-not guide.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

token_discovery_screenerDiscovering trending tokensAInspect

Get comprehensive token screening data across multiple blockchain networks with advanced filtering.

A maximum of 25 results are returned out of 1000s of tokens. Use the sorting and filtering options to narrow down the results. A maximum of 5 chains can be specified per request (excess chains are automatically trimmed).

This tool helps with token discovery and finding trending tokens by combining different metrics: volume, liquidity, market cap, smart money activity, and token age.

IMPORTANT - Hyperliquid Special Case:

  • Hyperliquid chain queries perpetual futures (perps), not spot tokens

  • When hyperliquid is mixed with other chains, two sections of up to 25 results each are returned - one for spot tokens and one for perps.

  • For perps, only these filters are supported: volume, buyVolume, sellVolume, openInterest, netflow, nofTraders, traderType

  • Additional orderBy fields for perps: openInterest, funding

  • Unsupported filters/orderBy will fallback to defaults

INPUT EXAMPLES:

Find tokens which are going up in price.

Added some liquidity filter to remove spam and low quality tokens.

{
    "chains": ["ethereum", "solana", "bnb", "base"],
    "timeframe": "24h",
    "liquidity": {"from": 100000},
    "nofTraders": {"from": 10},
    "orderBy": "price_change",
    "orderByDirection": "desc"
}

Find top stablecoins by market cap

{
    "chains": ["ethereum", "solana", "bnb", "base"],
    "timeframe": "7d",
    "sectors": ["Stablecoin"],
    "orderBy": "market_cap_usd",
    "orderByDirection": "desc"
}

Find AI memecoins with high trading activity

{ "chains": ["ethereum", "solana", "bnb", "base"], "timeframe": "7d", "sectors": ["AI Meme"], "liquidity": {"from": 100000}, "volume": {"from": 1000000} }

Find DeFi lending tokens

{ "chains": ["ethereum", "solana", "bnb", "base"], "timeframe": "24h", "sectors": ["DeFi Lending (Money Markets)"], "netflow": {"from": 1000000} }

Find tokens which have a lot of buying activity (high nofBuyers and buyVolume)

Note that we added some filters to remove spam and low quality tokens. We added liquidity filter so that we only surface tokens which we can buy or sell.

We sort by netflow descending to get tokens with the most net buying activity.

{
    "chains": ["ethereum", "solana", "bnb", "base"],
    "timeframe": "24h",
    "liquidity": {"from": 100000},
    "buyVolume": {"from": 1000000},
    "marketCapUsd": {"from": 1000000},
    "nofBuyers": {"from": 10},
    "orderBy": "netflow",
    "orderByDirection": "desc"
}

Find Hyperliquid perps with high open interest and positive net flow

{
    "chains": ["hyperliquid"],
    "timeframe": "7d",
    "openInterest": {"from": 100000},
    "volume": {"from": 1000000},
    "netflow": {"from": 0},
    "nofTraders": {"from": 10},
    "orderBy": "netflow",
    "orderByDirection": "desc"
}

WARNING: To avoid timeouts, it's recommended to:

  • Use 4 chains or less at a time (API tends to timeout with more chains)

  • Use shorter timeframes (e.g., 24h or 1h instead of 7d or 30d)

Args:

Returns: Comprehensive token metrics as markdown. Returns empty string if no tokens found.

Columns returned:
- **Token Address**: Token address (e.g., 0x1234567890123456789012345678901234567890)
- **Symbol**: Token trading symbol (e.g., ETH, BTC, DOGE)
- **Chain**: Blockchain network (ethereum, solana, polygon, etc.)
- **Price USD**: Current token price in USD (currency formatted)
- **Price Change**: Price change percentage over the date range (percentage, can be negative)
- **Market Cap**: Current market capitalization (currency formatted)
- **Fully Diluted Valuation (FDV)**: Market cap if all tokens were circulating (currency formatted)
- **FDV/MC Ratio**: Ratio indicating how much supply is locked/vested (numeric, >1 means locked supply)
- **USD Volume**: Total trading volume in USD (currency formatted)
- **Buy USD Volume**: Total buy volume in USD (currency formatted)
- **Sell USD Volume**: Total sell volume in USD (currency formatted)
- **Net Flow USD**: Net flow (buys minus sells) in USD (currency formatted, can be negative)
- **DEX Liquidity**: Available liquidity for trading (currency formatted)
- **Inflow/FDV**: Inflow as percentage of FDV (percentage formatted)
- **Outflow/FDV**: Outflow as percentage of FDV (percentage formatted)
- **Token Age (Days)**: Days since token was first deployed
- **Sectors**: List of token sectors/categories

Hyperliquid perps columns (smart-money mode, when `onlySmartTradersAndFunds=true`):
- **Net Position** (`LONG $X` / `SHORT $X` / `FLAT`): current net direction. Use this when answering long/short questions.
- **Current Longs USD** / **Current Shorts USD**: gross notional on each side; sizing only, not direction.
- **Net Position Change**: delta over the timeframe — can be positive while Net Position is still SHORT.

Notes: - Positive Net Flow on spot tokens indicates more buying than selling - High FDV/MC Ratio suggests significant locked or vested tokens

Filtering Options (filters parameter): - Numeric Ranges: volume, liquidity, marketCapUsd, netflow, tokenAgeDays, nofTraders, nofBuyers, nofSellers, nofBuys, nofSells, buyVolume, sellVolume, fdv, fdvMcRatio, inflowFdvRatio, outflowFdvRatio - Categories: sectors (e.g. ["AI", "Meme"]), includeSmartMoneyLabels - Trader Type: traderType (string: "all", "sm", "whale", "public_figure") - Use "sm" ONLY when user explicitly asks for "smart money". - Use "whale" ONLY when user specifically asks for whales or large holders. - Use "public_figure" ONLY when user asks for KOLs or popular figures. - Data with "sm", "whale", and "public_figure" is sparse — "whale" and "public_figure" are even sparser than "sm". Pairing any of these with other filters (volume, liquidity, netflow) is likely to return no results. - Only pair traderType="sm/whale/public_figure" with other filters (volume, liquidity, netflow) if the user request explicitly requires it. - Instead of pairing this with other filters, you can rely on orderBy to sort by netflow, volume, liquidity, etc.

**CRITICAL WARNING:** 'priceChange' is NOT a valid filter. You cannot filter for "tokens up > 10%". Use `orderBy="priceChange"` instead.

Sorting Options (orderBy field): Available fields (use with orderByDirection: "asc" or "desc"):

- **priceUsd**: Sort by token price
- **priceChange**: Sort by price change percentage
- **marketCapUsd**: Sort by market capitalization
- **volume**: Sort by total trading volume
- **buyVolume**: Sort by buy volume
- **sellVolume**: Sort by sell volume
- **netflow**: Sort by net flow (buys - sells)
- **liquidity**: Sort by DEX liquidity
- **nofTraders**: Sort by number of traders

(Note: Fields like `tokenAgeDays` or `outflowFdvRatio` are for FILTERING only, not sorting)

Default: orderBy="netflow", orderByDirection="desc"
ParametersJSON Schema
NameRequiredDescriptionDefault
requestYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It excellently discloses behavioral traits: max 25 results, max 5 chains (excess trimmed), Hyperliquid special behavior (perps vs spot, two result sections, supported filters), timeout warnings, and that priceChange is not a valid filter. It also details output columns and special columns for perps, providing full transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Despite being long, the description is well-structured with headings, bullet points, examples, and warnings. Every section earns its place, given the complexity of the tool (multiple chains, perps, many filters). It front-loads the purpose and key constraints, making it easy to scan. The length is appropriate for the subject matter.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity and lack of annotations, the description is complete. It covers purpose, filtering, sorting, special cases (Hyperliquid), result format (columns explained), timeout warnings, and notes on interpreting outputs (e.g., positive net flow). The output schema exists but the description still clarifies return values comprehensively.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It provides extensive parameter semantics: lists all filtering options (numeric ranges, categories, trader type) with explanations of when to use each, sorting options with available fields, and clarifies that some fields are for filtering only. Examples further illustrate parameter usage. This adds immense value beyond the bare schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool gets comprehensive token screening data across multiple chains with advanced filtering. The title 'Discovering trending tokens' and the opening line 'Get comprehensive token screening data across multiple blockchain networks with advanced filtering' provide a specific verb and resource. The description further clarifies it helps with token discovery and finding trending tokens, distinguishing it from sibling tools like token_info or token_flows.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context for usage through examples and special case handling (Hyperliquid), and includes warnings about chain limits and timeouts. It also gives guidance on when to use specific filters (e.g., traderType). However, it does not explicitly state when not to use this tool compared to sibling tools (e.g., for specific token details), so it lacks explicit exclusions or alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

token_flowsTracking token movementsAInspect

Get hourly aggregated token flows for a specific segment of holders over a date range. The segments are Top 100 holders, Whale, Public Figure, Smart Money and Exchange.

Note: Using holder_segment: smart_money is not a good proxy for an overall market view. Use it only if user explicitly requests it, or to combine it with other non smart money data.

This is a more granular tool than token_recent_flows_summary and provides the TOTAL flows over the entire time frame broken down by segment.

Modes:

  • onchain_tokens (default): Analyze on-chain tokens by contract address

  • perps: Analyze Hyperliquid perpetual futures by symbol (chain auto-set to "hyperliquid") — supports native tokens

NOTE: This tool does not support native tokens (so11111111111111111111111111111111111111112, 0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee) in onchain_tokens mode. Native tokens (by symbol - SOL, ETH, ARB etc) ARE fully supported in perps mode.

ParametersJSON Schema
NameRequiredDescriptionDefault
requestYesTokenFlowsRequest containing parameters and pagination settings

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full burden. Discloses that onchain_tokens mode does not support native tokens but perps mode does. Missing some details like data freshness or error handling, but overall transparent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Well-structured with sections and bullet points. Slightly lengthy but each part adds value. Front-loaded with main purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Covers all aspects: modes, holder segments, date range, token support limitations, comparison with sibling tool. Complete for a complex tool with two modes and multiple segments.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, but description adds significant context: explains holder segment options, modes and their implications, and important notes about smart_money usage. Goes beyond schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states the tool gets hourly aggregated token flows for a specific holder segment over a date range. Distinguishes from sibling token_recent_flows_summary by noting it is more granular.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly advises when not to use smart_money segment as a proxy, and provides alternative use. Also notes it's more granular than the summary tool, helping the agent choose.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

token_infoLoading token infoAInspect

Get token information — spot on-chain details or Hyperliquid perpetual futures stats.

On-chain tokens mode (default): Returns token details (name, symbol, market cap, FDV, supply, deployment date, socials) and spot trading metrics (volume, buys/sells, buyers/sellers, holders, liquidity).

Perps mode: Returns Hyperliquid perp stats — mark price, funding, open interest, buy/sell pressure, trader participation.

Returns: Token information as markdown.

On-chain tokens fields:
- **Market Cap / FDV**: Market capitalization and fully diluted valuation
- **Circulating / Total Supply**: Token supply metrics
- **Deployed**: When the token was deployed
- **Volume (Total / Buy / Sell)**: Trading volume in USD
- **Buys / Sells**: Number of buy/sell transactions
- **Unique Buyers / Sellers**: Distinct trading addresses
- **Total Holders**: Number of token holders
- **Liquidity**: Available liquidity in USD

Perps fields:
- **Mark Price**: Current perp mark price
- **Price Change**: Change vs previous price
- **Funding Rate (hourly/annualized)**: Current funding rate
- **Open Interest**: Total current open interest in USD
- **Volume (Total / Buy / Sell)**: Perp volume in USD
- **Net Flow (Buy - Sell)**: Buy/sell pressure in USD
- **Traders**: Number of traders

Example: On-chain tokens (default mode): { "mode": "onchain_tokens", "chain": "ethereum", "tokenAddress": "0xa0b86a33e6b6c4b3add000b44b3a1234567890ab", "timeframe": "1d" }

Hyperliquid perps:
```
{
  "mode": "perps",
  "tokenAddress": "BTC",
  "timeframe": "7d"
}
```

Notes: - On-chain tokens mode uses contract addresses - Perps mode uses token symbols (e.g. BTC, ETH, HYPE) - Both modes use the same timeframe parameter

ParametersJSON Schema
NameRequiredDescriptionDefault
requestYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Given no annotations, the description carries the full burden. It clearly discloses the behavioral traits: two modes, identifier types (contract address vs symbol), output format (markdown with detailed fields), and timeframe usage. It does not mention data freshness or caching, but overall provides substantial behavioral context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with sections, bullet points, and examples. It front-loads the purpose and modes. Slightly long but every section adds value; the field lists are justified given the output complexity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description thoroughly explains its own functionality, output fields, and modes. However, it does not contextualize the tool among many siblings (e.g., when to use this vs token_dex_trades or token_flows), leaving a gap in integrated usage guidance. An output schema is missing but the field lists partially compensate.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% on the top-level 'request' parameter. The description compensates by explaining the request structure via examples and notes, clarifying how mode affects required fields and identifier types. While the schema covers subfield constraints, the description adds meaningful usage context beyond the raw schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose with a specific verb ('Get') and resource ('token information'), and distinguishes two distinct modes (on-chain tokens and Hyperliquid perps). The examples further solidify the purpose, distinguishing it from sibling tools that cover narrower token aspects.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explains the two modes and provides examples but does not explicitly guide when to use this tool versus alternatives like token_dex_trades or token_flows. It implies usage context through the two modes but lacks exclusionary guidance or explicit when-not-to-use statements.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

token_ohlcvLoading price dataAInspect

Get OHLCV (Open, High, Low, Close, Volume) price data for a token with automatic interval resolution.

Supports EVM chains and Solana for on-chain tokens, AND Hyperliquid perpetual futures. For Hyperliquid perps, pass chain="hyperliquid" and use the perp symbol as tokenAddress (e.g. "BTC", "HYPE" for native perps; "XYZ:ORDI" for XYZ-namespaced perps — prefix is normalized automatically).

YOU MUST USE THIS over general_search to get prices. general_search prices are delayed and often incorrect. To get LATEST price set from to '5MIN_AGO' and to to 'NOW'.

Resolution is automatically calculated based on the date range

  • < 6 hours: 5 minutes

  • 6 hours - 1 day: 15 minutes

  • 1-3 days: 30 minutes

  • 3-7 days: 60 minutes (1 hour)

  • 7-90 days: Daily

  • 90+ days: Weekly

Columns returned:

  • Interval Start: Timestamp of the start of the interval (datetime: YYYY-MM-DD HH:MM:SS)

  • Open: Opening price of the interval

  • High: Highest price of the interval

  • Low: Lowest price of the interval

  • Close: Closing price of the interval

  • Volume USD: Volume in USD of the interval

Additional columns (when includeMarketCap=true):

  • Open Market Cap: Opening market cap in USD

  • Close Market Cap: Closing market cap in USD

  • High Market Cap: Highest market cap in USD

  • Low Market Cap: Lowest market cap in USD

Example Usage: Get OHLCV for WETH over the past week (auto-resolution): { "chain": "ethereum", "tokenAddress": "0xba5ddd1f9d7f570dc94a51479a000e3bce967196", "date": { "from": "7D_AGO", "to": "NOW" } }

Get OHLCV for WETH over 30 days (will use daily resolution):
```
{
    "chain": "ethereum",
    "tokenAddress": "0xba5ddd1f9d7f570dc94a51479a000e3bce967196",
    "date": {
        "from": "30D_AGO",
        "to": "NOW"
    }
}
```
Get OHLCV for WETH for last 20 minutes (will use 5 minute resolution):
```
{
    "chain": "ethereum",
    "tokenAddress": "0xba5ddd1f9d7f570dc94a51479a000e3bce967196",
    "date": {
        "from": "20MIN_AGO",
        "to": "NOW"
    }
}
```

Get OHLCV for the BTC Hyperliquid perp over 7 days:
```
{
    "chain": "hyperliquid",
    "tokenAddress": "BTC",
    "date": {
        "from": "7D_AGO",
        "to": "NOW"
    }
}
```
ParametersJSON Schema
NameRequiredDescriptionDefault
requestYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Discloses all behavioral traits: automatic resolution algorithm, detailed columns returned (including optional market cap fields), and special handling for Hyperliquid perpetual futures. No annotations provided, but description fully compensates.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Well-structured with clear sections: supported chains, resolution rules, column descriptions, and multiple examples. Every sentence adds value without redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of the tool (multiple chains, auto-resolution, optional fields) and the lack of an output schema in the structured data, the description fully documents return columns and behavior, satisfying completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Adds significant meaning beyond the input schema by explaining the tokenAddress parameter for Hyperliquid, date format conventions (e.g., '7D_AGO'), and the includeMarketCap flag. Schema coverage is low, so description carries the burden effectively.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states that the tool retrieves OHLCV price data for tokens with automatic interval resolution. It specifies supported chains (EVM, Solana, Hyperliquid perps) and distinguishes from sibling tools like general_search by emphasizing that general_search is delayed and incorrect.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly instructs to use this tool over general_search for prices, providing a clear reason. Includes example usages for different chains and timeframes, effectively guiding when and how to invoke the tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

token_pnl_leaderboardFinding top performersAInspect

Upto 25 results (per page) of trader PnL for a token. Use the sorting and filtering options to narrow down the results.

Modes:

  • onchain_tokens (default): Analyze on-chain tokens by contract address

  • perps: Analyze Hyperliquid perpetual futures by symbol (chain auto-set to "hyperliquid") — supports native tokens

NOTE: This tool does not support native tokens (so11111111111111111111111111111111111111112, 0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee) in onchain_tokens mode. Native tokens (by symbol - SOL, ETH, ARB etc) ARE fully supported in perps mode.

Returns: Trader performance rankings as markdown. Returns empty string if no trading data found.

Columns returned:
- **Address**: Trader's wallet address
- **Label**: Nansen label of the trader
- **Total PnL**: Combined realized and unrealized PnL (currency formatted, can be negative)
- **Total ROI**: Total return on investment as percentage (percentage formatted)
- **Realized PnL**: Profit/loss from completed trades (currency formatted, can be negative)
- **Realized ROI**: Return on investment from realized trades only (percentage formatted)
- **Unrealized PnL**: Current profit/loss on open positions (currency formatted, can be negative)
- **Unrealized ROI**: Return on investment from unrealized positions only (percentage formatted)
- **Token Holdings**: Current token quantity held (numeric formatted)
- **Holdings USD**: Current USD value of token holdings (currency formatted)
- **Token Price**: Current price per token (price formatted)
- **Peak Token Holdings**: Maximum token quantity ever held in the date range (numeric formatted)
- **Peak Holdings USD**: Maximum USD value ever held in the date range (currency formatted)
- **Still Holding %**: Percentage of peak holdings still held (percentage formatted)
- **Total Trades**: Number of trades executed by this address
- **Net Flow**: Net money flow - negative means net seller (currency formatted, can be negative)

Sorting Options You can ONLY sort by pnl_usd_total, roi_percent_total, pnl_usd_realised, roi_percent_realised, pnl_usd_unrealised, roi_percent_unrealised, holding_amount, max_balance_held, nof_trades, still_holding_balance_ratio, netflow_amount

Filtering Options: 📋 List filters: trader_address, trader_address_label 📊 Numeric range filters: pnl_usd_realised, pnl_usd_unrealised, holding_amount, holding_usd, nof_trades, still_holding_balance_ratio, max_balance_held, max_balance_held_usd

Examples: # On-chain tokens (default mode) { "mode": "onchain_tokens", "chain": "ethereum", "tokenAddress": "0xa0b86a33e6ba3e5b9e4b1b1b1b1b1b1b1b1b1b1b", "dateRange": {"from": "30D_AGO", "to": "NOW"}, "orderBy": "pnl_usd_total", "order_by_direction": "desc" }

# Hyperliquid perpetual futures
```
{
  "mode": "perps",
  "tokenAddress": "ETH",
  "dateRange": {"from": "7D_AGO", "to": "NOW"}
}
```

# Advanced filtering: Find profitable active traders with significant holdings
```
{
  "chain": "ethereum",
  "tokenAddress": "0xa0b86a33e6ba3e5b9e4b1b1b1b1b1b1b1b1b1b1b",
  "dateRange": {"from": "30D_AGO", "to": "NOW"},
  "pnlUsdTotal": {"from": 1000, "to": 999999999},
  "nofTrades": {"from": 5, "to": 100},
  "holdingUsd": {"from": 10000, "to": 999999999},
  "stillHoldingBalanceRatio": {"from": 0.1, "to": 1.0},
  "orderBy": "roi_percent_total",
  "order_by_direction": "desc"
}
```

Notes: - Ranked by total PnL performance by default - Useful for identifying successful traders and copying strategies - Both ascending and descending sorts provide valuable insights (winners vs losers) - ONLY RETURNS TOP 25 RESULTS for the sort order. Hence the result is NEVER complete. - Make sure the sort order is relevant to your analysis as otherwise you will miss data.

** This tool does not support hyperevm as chain **

ParametersJSON Schema
NameRequiredDescriptionDefault
requestYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full burden. It transparently discloses the 25-result limit, sorting behavior, mode limitations, and that results are never complete. It does not mention rate limits or auth, which is acceptable for a read-only tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is long but well-structured with sections for modes, returns, columns, sorting, filtering, examples, and notes. It is front-loaded with the main purpose, but some redundancy (e.g., repeating the 25-result limit) makes it slightly verbose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers modes, filters, sorts, and return columns. However, pagination is not explained (the page parameter is only in the schema), and there is no guidance on how to get more than 25 results. The column details compensate for the missing output schema, but the pagination gap reduces completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has a single 'request' object with detailed descriptions on each field. The tool description adds value by grouping parameters into sorting and filtering categories and providing examples, but does not repeat or enhance the schema's own descriptions significantly. Schema coverage is actually high, so baseline is 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool returns up to 25 trader PnL results per page for a token, with modes for on-chain tokens and perps. It distinguishes from siblings by focusing on leaderboard-level data, but does not explicitly name alternatives like wallet_pnl_for_token.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explains the two modes and provides examples, but lacks explicit guidance on when NOT to use the tool or mention of sibling tools. It does note limitations (no native tokens in onchain_tokens mode, no hyperevm), which helps, but overall guidance is incomplete.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

token_quant_scoresAnalyzing token quant scoresAInspect

Get Nansen Score Indicators for a token - quantitative risk and reward signals.

Use this tool when assessing a token's risk/reward profile, evaluating buy/sell decisions, or when the user needs quantitative data to make trading decisions.

Returns: Token risk/reward indicators as markdown with interpretation guidance.

Token info:
- **Market Cap**: Current market cap in USD
- **Market Cap Group**: largecap (>$1B), midcap ($100M-$1B), or lowcap (<$100M)
- **Is Stablecoin**: Whether token is a stablecoin (some indicators don't apply to stablecoins)

Fields returned per indicator:
- **Score**: Signal classification (bullish/neutral/bearish for reward; low/medium/high for risk)
- **Signal**: Raw numeric value of the indicator
- **Percentile**: Rank vs same market cap group (0-100%)
- **Last Trigger**: Date when signal was last calculated

Indicator types:
- **Reward Indicators**: price-momentum, funding-rate, chain-fees, chain-tvl, protocol-fees, trading-range
- **Risk Indicators**: btc-reflexivity, liquidity-risk, token-supply-inflation, concentration-risk, cex-flows

Notes: - Not all indicators available for every token/chain combination - Percentile compares against same market cap group (largecap >$1B, midcap $100M-$1B, lowcap <$100M)

ParametersJSON Schema
NameRequiredDescriptionDefault
requestYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full burden. It details what is returned: markdown with interpretation, token info, fields per indicator, and indicator types. Notes about availability and percentile comparison add transparency beyond basic output description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Well-structured with sections for purpose, usage, and output details. Every sentence adds value, though slightly verbose. Front-loads key information effectively.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Covers the output in detail with indicator types, fields, and notes. Given the existence of an output schema, the description provides sufficient context for the agent to understand what the tool returns. Lacks input guidance but overall complete for decision-making.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Description does not explain the input parameter 'request' or its structure (tokenAddress and chain). Relies entirely on the schema descriptions, which are moderately informative but not elaborated in the description. Schema description coverage is 0%, so the description fails to compensate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states it retrieves Nansen Score Indicators for a token, specifying quantitative risk and reward signals. Distinguishes from sibling tools like nansen_score_top_tokens (which is for top tokens) by focusing on a single token's quantitative scores.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit guidance on when to use: assessing risk/reward profile, evaluating buy/sell decisions, or needing quantitative trading data. Does not mention when not to use or alternatives, but the context is clear enough.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

token_recent_flows_summaryAnalyzing recent activityAInspect

Get TOTAL token flows per segment: 1. Public Figures 2. Top PnL Traders 3. Whales 4. Smart Traders 5. Exchanges 6. Fresh Wallets

Inflow and outflow of tokens between the segments is CRITICAL in identifying token price trends.

The values provided are aggregated over the specific lookback period (last 5min, 1d, 7d etc) specified. If you have SPECIFIC date ranges in mind, use token_flows instead.

NOTE Use token_flows for more granular data as it can filter between exact dates and provides HOURLY breakdowns.

Returns: Categorized token flow analysis as markdown.

For each segment, returns:
- Flow amount in USD
- Ratio compared to average flow
- Number of wallets

Format: "{Segment} wallet flow of {amount} ({ratio}x average, from {count} wallets)"

Notes: - Positive flow = net buying, negative flow = net selling - For Exchange Flow, positive means more inflow to exchanges, negative means more outflow from exchanges - Categorizes market participants by their historical behavior and characteristics

NOTE: Bitcoin is not supported. DO NOT use this tool for bitcoin.

Modes:

  • onchain_tokens (default): On-chain token flow intelligence across cohorts

  • perps: Hyperliquid perpetual futures — returns position intelligence (current aggregate long/short/total USD by cohort: Smart Money, Whales, Public Figures). Native tokens (SOL, ETH, BTC etc) are fully supported in perps mode.

ParametersJSON Schema
NameRequiredDescriptionDefault
requestYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so the description fully discloses behavior: returns markdown format, explains flow meaning (positive=net buying, negative=net selling), notes Bitcoin unsupported, and describes modes comprehensively. No contradictions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Well-structured with sections, bullet points, and notes. Information is front-loaded with critical details, and every sentence adds value. No redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no annotations and 24 sibling tools, the description is complete: covers purpose, usage context, parameter semantics, return format, limitations, and mode alternatives. It fully enables correct tool selection and invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema has 1 parameter with 0% description coverage at top level, but the description adds significant meaning: explains the 'request' parameter's nested fields, modes, lookback options, and behavior. It compensates for the schema's lack of top-level parameter description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it gets TOTAL token flows per segment, lists the six segments, and explains the importance of inflow/outflow. It distinguishes itself from sibling tool 'token_flows' by specifying aggregation over a lookback period vs specific date ranges.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicit guidance: 'If you have SPECIFIC date ranges in mind, use token_flows instead.' Additionally, it notes Bitcoin is not supported and explains when to use different modes (onchain_tokens, perps).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

token_transfersTracking token transfersAInspect

Get 25 token transfers (per page) for a specific token based on the sort order. Default is most recent transfers first.

NOTE: This tool does not support native tokens (so11111111111111111111111111111111111111112, 0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee).

Columns returned:

  • Time: Timestamp when the transfer occurred (block_timestamp: ISO 8601 format)

  • From Label: Source address label (from_address_label: sender of tokens)

  • To Label: Destination address label (to_address_label: receiver of tokens)

  • From Address: Raw source address (from_address: hex address)

  • To Address: Raw destination address (to_address: hex address)

  • Amount: Quantity of tokens transferred (transfer_amount: numeric)

  • Value USD: USD value of the transfer at time of transaction (transfer_value_usd: currency formatted)

  • Type: Transfer category (transaction_type: DEX, CEX, transfer, etc.)

  • Tx Hash: Blockchain transaction hash for verification (transaction_hash)

Sorting Options (all fields support "asc"/"desc"): Available for sorting: timestamp, amount

Examples: # Basic request (most recent transfers first) { "chain": "ethereum", "tokenAddress": "0xa0b86a33e6b6c4b3add000b44b3a1234567890ab", "dateRange": {"from": "24H_AGO", "to": "NOW"}, "orderBy": "timestamp", "order_by_direction": "desc" }

# Smart money only filter (largest transfers first)
```
{
  "chain": "ethereum",
  "tokenAddress": "0xa0b86a33e6b6c4b3add000b44b3a1234567890ab",
  "dateRange": {"from": "7D_AGO", "to": "NOW"},
  "transferOriginCategories": ["all_transfers"],
  "onlySmartTradersAndFunds": true,
  "orderBy": "amount",
  "order_by_direction": "desc"
}
```

# Filter by DEX only with minimum transfer value (USD)
```
{
  "chain": "ethereum",
  "tokenAddress": "0xa0b86a33e6b6c4b3add000b44b3a1234567890ab",
  "dateRange": {"from": "24H_AGO", "to": "NOW"},
  "transferOriginCategories": ["dex"],
  "transferValueUsd": {"from": 1000}
}
```

# Filter transfers sent FROM a specific wallet
```
{
  "chain": "base",
  "tokenAddress": "0x833589fcd6edb6e08f4c7c32d4f71b54bda02913",
  "dateRange": {"from": "2025-03-12", "to": "2025-03-12"},
  "fromAddress": "0x2b060b9c89B8aD04e5E1fD40F1f327e41DD32c72",
  "orderBy": "timestamp",
  "order_by_direction": "desc"
}
```

Available Filters:

Address Filters:

  • fromAddress (str or list[str], optional): Filter by sender address(es) Example: "0x2b060b9c89B8aD04e5E1fD40F1f327e41DD32c72" Example: ["0xaddr1", "0xaddr2"]

  • toAddress (str or list[str], optional): Filter by recipient address(es) Use fromAddress/toAddress when looking for a specific wallet's transfers.

Transfer Origin Categories:

  • transferOriginCategories (list[str]): List of transfer types to include Possible values: ['dex', 'cex', 'non_exchange_transfers', 'all_transfers'] Default: ['all_transfers'] Examples:

    • ['dex'] - only DEX transfers

    • ['cex'] - only CEX transfers

    • ['dex', 'cex'] - both DEX and CEX

    • ['non_exchange_transfers'] - only non-exchange transfers

    • ['all_transfers'] - all types (default)

Smart Money Filter:

  • onlySmartTradersAndFunds (bool): Only show smart money transfers (default: false) When true, filters to show only transfers involving profitable addresses

Numeric Range Filter:

  • transferValueUsd (object, optional): Filter by USD value of transfer Format: {"from": X, "to": Y} or {"from": X} or {"to": Y}

    • Specify only from for minimum bound (no maximum)

    • Specify only to for maximum bound (no minimum)

    • Specify both for a bounded range Example: {"from": 1000} - only transfers worth at least $1,000 USD Example: {"to": 50000} - only transfers up to $50,000 USD Example: {"from": 1000, "to": 50000} - transfers between $1,000 and $50,000 USD Note: This filters by the USD value of the transfer at time of transaction

Notes: - Use fromAddress/toAddress to find transfers for a specific wallet - Use transferOriginCategories to control which transfer origins are included - Smart Money filter shows only transfers involving profitable addresses (definition of Smart Money) - transferValueUsd filters by USD value at time of transaction

ParametersJSON Schema
NameRequiredDescriptionDefault
requestYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden for behavioral disclosure. It mentions pagination (25 per page), default sorting, and a notable constraint (no native token support). However, it omits details such as rate limits, authentication requirements, maximum time range clamp (mentioned only in schema), or any side effects, leaving gaps in the agent's understanding of behavioral traits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with headers, bullet points for columns, and multiple examples. However, it is quite lengthy and sometimes repeats information (e.g., filter explanations appear both in text and examples). Slight redundancy reduces conciseness, but the overall organization aids comprehension.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers pagination, sorting, filtering, and includes extensive examples. With an output schema present (though not displayed), the return value explanation is supplementary. It does not discuss error handling or usage limits, but for a data retrieval tool with given schema richness, it is largely complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Despite the schema having descriptions for each parameter, the tool description adds substantial value by explaining the meaning and usage of each filter in depth (e.g., smart money filter definition, transfer origin categories, USD value range format). Examples illustrate real-world usage, which is critical given the 0% schema description coverage context (though schema actually has descriptions). The description compensates fully and exceeds schema detail.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states that the tool retrieves 25 token transfers per page for a specific token, with default sorting by most recent transfers first. It explicitly excludes native tokens, distinguishing it from potential sibling tools that might handle native transfers, and its focus on token-specific transfers differentiates it from address-level or DEX trade tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear when-to-use guidance through examples and filter descriptions, and it explicitly states that native tokens are not supported. However, it does not explicitly suggest alternative tools for cases like investigating address-level transfers or DEX trades, leaving the agent to infer usage boundaries from sibling tool names.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

token_who_bought_soldFinding recent tradersAInspect

Get TOTAL amount of tokens bought/sold by address for a token on DEX (Decentralised Exchanges) ONLY.

Use this tool to find out WHO is buying or selling a token (on DEX) AND then you can check if they are liquidating profits or accumulating more.

Returns: Aggregated buyer/seller activity as markdown. Returns empty string if no trading data found.

Columns returned:
- **Address**: Trader's wallet address
- **Label**: Nansen label of the address
- **Bought Token Volume**: Total quantity of tokens purchased
- **Sold Token Volume**: Total quantity of tokens sold
- **Gross Token Volume**: Combined buy and sell volume in tokens
- **Bought Volume USD**: USD value of all token purchases
- **Sold Volume USD**: USD value of all token sales
- **Gross Volume USD**: Combined USD trading volume

Sorting Options: You can sort asc or desc by bought_volume_usd or sold_volume_usd

Notes: - buy_or_sell parameter filters for "BUY" (net buyers) or "SELL" (net sellers) - Aggregates all trading activity within the specified time range

ParametersJSON Schema
NameRequiredDescriptionDefault
requestYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description covers key behaviors: DEX-only, aggregated totals, markdown output, empty string if no data, sorting options, and note about buy_or_sell filter. It does not mention rate limits or authentication, but is transparent for core functionality.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with bullet points and sections (notes, columns, sorting). It is front-loaded with the core purpose. Slightly verbose, but clear.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity (nested input schema, many parameters, rich output), the description covers the main purpose, return columns, and key parameters. It does not fully explain the request object structure but is adequate with the output schema and column listing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description adds meaning for buy_or_sell (BUY/SELL filters net buyers/sellers) and sorting (asc/desc by bought/sold_volume_usd). However, it does not explain page, chain, tokenAddress, include_labels, min_trade_volume_usd, or the nested request structure. Schema descriptions exist for some parameters, but overall coverage is low.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool gets total amounts of tokens bought/sold by address for a token on DEX only. It specifies the resource (token) and action (get aggregated activity), and distinguishes from siblings like token_dex_trades which lists individual trades.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description advises using it to find who is buying/selling and to check for profit-taking or accumulation. It provides context but does not explicitly state when not to use or list alternative tools, though the sibling list is large.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

transaction_lookupLooking up transaction detailsCInspect

Get comprehensive transaction details including token transfers.

ParametersJSON Schema
NameRequiredDescriptionDefault
chainNoall
transaction_hashYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must fully disclose behavior. It claims 'comprehensive' details but only cites token transfers as an example, leaving out other aspects like gas, status, logs, or how chain parameter affects results.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is very short (single sentence) and front-loaded. It conveys the main purpose without redundancy, though it could be slightly expanded without being verbose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

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 are covered structurally. However, the description fails to provide context for parameter usage, default behavior, or how this tool fits among many siblings, making it incomplete for an agent to use confidently.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, meaning the input schema lacks descriptions. The tool description mentions 'comprehensive transaction details' but does not explain what the 'chain' parameter does or what format transaction_hash should take.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it retrieves comprehensive transaction details including token transfers, which distinguishes it from more specific tools like token_transfers. However, it doesn't explicitly differentiate from address_transactions or other lookup tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus siblings like address_transactions, token_transfers, or general_search. The agent must infer usage from the name alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

wallet_pnl_for_tokenCalculating token performanceAInspect

Get PnL stats for a specific token traded by the input address during a specific date range. Use this tool for analysing the performance of the wallet for the specific token over a time period.

ParametersJSON Schema
NameRequiredDescriptionDefault
requestYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It does not disclose behavioral traits such as read-only nature, authentication needs, rate limits, or error conditions. It only implies reading but lacks explicit transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences with no fluff. The first sentence front-loads the purpose, and every sentence is informative and necessary.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has one parameter and an output schema, the description is minimal but adequate. However, it lacks context on prerequisites, error handling, or expected input format beyond what the schema provides.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The only parameter 'request' has no description in the tool description. Although the inner properties in the schema have descriptions, the tool description adds no value for parameter understanding. With 0% schema coverage at the top level, the description should compensate but does not.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool gets PnL stats for a specific token traded by an address during a date range. It distinguishes from siblings like wallet_pnl_summary (overall PnL) and token_pnl_leaderboard (leaderboard).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description says 'Use this tool for analysing the performance of the wallet for the specific token over a time period.' This provides clear context for when to use, but does not explicitly exclude usage or mention alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

wallet_pnl_summaryAnalyzing wallet performanceAInspect

Get aggregate stats of overall realized PnL for the input address. Note, this tool DOES NOT include unrealized PnL. For unrealized PnL you need to check change in token prices of the current holdings. Use this tool for analysing the performance of the wallet over a time period. You can analyse the wallet portfolio performance over a specific time period.

ParametersJSON Schema
NameRequiredDescriptionDefault
requestYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It discloses the limitation of including only realized PnL, but does not mention data freshness, error handling, or any side effects. Given the lack of annotations, the description provides minimal behavioral context beyond the core function.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise at 60 words and front-loaded with the key action. However, there is slight redundancy in mentioning 'over a time period' twice. Overall efficient but could be trimmed slightly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the large number of sibling tools (34) and the presence of an output schema, the description covers the purpose and a key limitation (realized vs unrealized). However, it fails to differentiate from the similar 'wallet_pnl_for_token', leaving a gap in context for agent selection.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already describes the parameters (walletAddress, dateRange) with reasonable detail. The description adds only the concept of 'overall realized PnL' but does not provide additional semantic meaning or examples. With schema description coverage indicated as 0% (though schemas have descriptions), the description does not compensate significantly.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool retrieves aggregate stats of overall realized PnL for an input address, distinguishing from unrealized PnL. It uses specific verbs like 'Get aggregate stats' and identifies the resource as the wallet address, setting it apart from sibling tools like 'wallet_pnl_for_token' which focus on per-token PnL.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly notes the tool is for analyzing wallet performance over a time period and clarifies it does NOT include unrealized PnL, directing users to alternative methods. However, it lacks explicit differentiation from the sibling 'wallet_pnl_for_token' or guidance on when to use one over the other.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Discussions

No comments yet. Be the first to start the discussion!

Try in Browser

Your Connectors

Sign in to create a connector for this server.

Resources