Nansen
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.
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.
Tool Definition Quality
Average 4.2/5 across 38 of 38 tools scored. Lowest: 2.6/5.
Each tool has a clearly defined purpose, and overlapping tools (e.g., token_flows vs token_recent_flows_summary, nansen_score_top_tokens vs token_discovery_screener) include explicit guidance on when to use them. Even with similar names like prediction_market_trades and prediction_market_address_trades, the descriptions and parameters make the distinction unambiguous.
Most tools follow a domain_prefix_noun pattern (address_, token_, prediction_market_), making them predictable within families. However, outliers like general_search, growth_chain_rank, hyperliquid_leaderboard, and transaction_lookup break the pattern, and some names are long or inconsistently formatted (e.g., smart_traders_and_funds_perp_trades vs smart_traders_and_funds_token_balances).
With 38 tools, the server is far above the typical 3-15 range, making it heavy for agents to navigate. However, Nansen is a broad analytics platform covering wallets, tokens, prediction markets, and smart money activity, so the high count is justifiable as each tool serves a distinct function.
The tool set provides comprehensive coverage across token analysis (ohlcv, trading, holders, flows, PnL, technicals), wallet analysis (portfolio, transactions, counterparties), prediction markets (lookup, orderbook, trades, PnL), and discovery. The only obvious omission is NFT support, but it is explicitly documented as out of scope, so no critical dead ends exist.
Available Tools
38 toolsaddress_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"} }
| Name | Required | Description | Default |
|---|---|---|---|
| request | Yes | Complete request for address counterparties (flattened). |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden. It transparently discloses pagination (25 per page), default sorting by net value, the return of top 3 tokens, and sorting options. It does not mention limitations like time-range clamping (covered in schema), but adequately describes observable behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-organized with a core intro, methodology note, sorting options, and examples. It is somewhat lengthy due to the methodology note, but each section serves a purpose and the structure aids comprehension.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present and 100% schema description coverage, the description needs only to convey core behavior and usage context. It covers both address and entity query modes, pagination, sorting, and supplementary token data, making it complete for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds value by listing sorting fields, noting ASC/DESC support, and providing two complete JSON examples that demonstrate correct parameter combinations. This goes beyond schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool 'Get 25 (per page) addresses or entities with the most common interactions with input addresses' with specific details like default sort and token info. It is specific and distinguishes itself from sibling tools like address_related_addresses by focusing on counterparties and value interactions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The 'Note: To get related wallets' section provides clear methodology for when to use this tool, including focusing on direct value transfers, CEX deposit addresses, and going one level deeper. While it does not explicitly name alternative tools, it gives strong contextual guidance for the use case.
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 trades on a single chain — DEX swaps (spot) or
Hyperliquid perpetual trades, 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. Use 'hyperliquid' for Hyperliquid perpetual trades
(requires an EVM address). Call once per chain to span multiple networks.
Spot columns: Time, Bought / Bought Amount, Sold / Sold Amount, Value USD, Tx Hash.
Perp columns: Time, Token, Side, Action, Size, Price, Value USD, Fee USD,
Closed PnL, Tx Hash.
Sort (order_by, asc/desc): timestamp, value. Filter by valueUsd range.
Example: { "address": "0x1f2f10d1c40777ae1da742455c65828ff36df387", "chain": "ethereum", "dateRange": {"from": "7D_AGO", "to": "NOW"} }
| Name | Required | Description | Default |
|---|---|---|---|
| request | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of disclosing behavior. It describes return columns, sorting/filtering options, chain constraints, and example input. While it doesn't mention pagination or rate limits, it gives substantial context about what the tool returns and how it behaves, especially the critical EVM vs non-EVM chain handling.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is information-dense yet well-organized: a concise purpose sentence, bullet-like chain rules, clear column lists, sort/filter details, and a concrete example. Every section earns its place; no fluff or repetition. It front-loads the primary purpose and appends operational details in a scannable format.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (single-chain constraint, EVM vs non-EVM, spot vs perp, sorting/filtering) and the presence of an output schema (so return values are separately defined), the description covers the essential usage pitfalls and example inputs. Missing details like pagination behavior and default sort direction are left to schema, but the description is largely complete for an agent to invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for the top-level parameter, so the description must compensate. It explains the `chain` parameter's nuanced behavior (required for EVM, auto-detected for non-EVM, 'hyperliquid' value), and describes `order_by` and `valueUsd` filtering. It does not explicitly cover `page` or `dateRange`, but provides an example demonstrating `dateRange` usage, adding significant meaning beyond bare schema field names.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Get') and clearly identifies the resource ('a wallet's individual trades on a single chain') and scope (DEX swaps or Hyperliquid perpetuals, newest first). It explicitly distinguishes from sibling tool `token_dex_trades` by being wallet-centric, which prevents tool-selection confusion.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit usage context: 'Call once per chain to span multiple networks', 'all'/'evm' unsupported, EVM wallets MUST pass `chain`, non-EVM auto-detected, and 'hyperliquid' for perp trades. It also names the sibling alternative `token_dex_trades` for token-centric needs, giving clear when-to-use and when-not-to-use guidance.
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 historyBInspect
Get historical native coin & token balances of address.
| Name | Required | Description | Default |
|---|---|---|---|
| request | Yes | Complete request for address historical balances (flattened). |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It implies a read-only operation via 'Get' and specifies the historical scope, but it does not explicitly state that it has no side effects, does not describe any data source limitations, or mention that it can analyze entities in addition to addresses. The lack of explicit safety statements is a gap, but the read-only nature is relatively obvious for a balance tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no filler. Every word earns its place, and it avoids redundancy with the schema and annotations. It is appropriately concise for a tool of this specificity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
While an output schema exists (so return values are covered), the description is minimal for a tool that accepts a nested request object and supports multiple modes (address vs entity, lookback periods). It does not explain when historical balances are needed or mention that both address and entity_id cannot be used together. The description is adequate for a straightforward read operation but lacks contextual depth.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%—all nested properties have meaningful descriptions. The tool description adds minimal value beyond the schema, only introducing the concepts 'native coin & token.' Since the schema fully documents parameters, the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'Get' and clearly identifies the resource: historical native coin & token balances of an address. The qualifier 'historical' distinguishes it from current-balance sibling tools like address_portfolio, though it omits the fact that it also supports entity_id as an alternative to address.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives such as address_portfolio or address_transactions. The description only states what the tool does, with no mention of use cases, prerequisites, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
address_portfolioLoading portfolio dataBInspect
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"
}
```| Name | Required | Description | Default |
|---|---|---|---|
| request | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses some behavioral traits: it mentions output is 'pre-formatted markdown' and that defi/hyperliquid modes 'return raw JSON'. This is contradictory and confusing, creating a behavioral transparency problem. It also does not disclose authentication requirements, rate limits, or error behavior. With no annotations, the description carries the full burden and fails to provide a consistent or complete behavioral picture.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with a clear opening purpose, bullet-point modes, entity behavior, output format note, and example usage. It is somewhat longer than necessary but no excessive filler except the last 'This tool provides flexible portfolio analysis...' sentence. Overall it is efficient and front-loaded with the primary purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description fails to explain the required 'request' wrapper in the schema, ignores the 'chain' parameter entirely, and does not state that exactly one of walletAddress or entity_id must be provided (despite the schema noting this). The internal contradiction about markdown vs JSON also leaves the behavior unclear. Given the tool's complexity and the lack of annotation support, the description is incomplete and would mislead an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds meaning to modes and the walletAddress/entity_id distinction, but it omits the required 'request' wrapper parameter entirely. Examples show direct objects like {'walletAddress': '...'}, while the schema requires {'request': {...}}. It also uses inconsistent property names ('walletAddress' in the description vs 'wallet_address' in the schema's description), causing confusion. Schema coverage is 0%, so the description must compensate but instead introduces critical inaccuracies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Get comprehensive portfolio overview for a wallet address or entity.' It also specifies distinct modes (wallet_balances, defi, hyperliquid, etc.), which differentiates it from sibling tools by showing it can focus on specific portfolio aspects. The verb 'Get' and resource 'portfolio overview' are specific and actionable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear usage context by explaining each mode and what it returns (e.g., 'fast-mode-default' with balances + Hyperliquid positions, 'defi' with only DeFi positions). It also distinguishes entity behavior ('only on-chain token balances'). However, it does not explicitly say when to use this tool instead of a sibling or provide when-not-to-use guidance, so it stops short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| request | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden. It adds useful context about the recency limit ('20 MOST RECENT') and date-range filtering, but it does not disclose pagination mechanics, default behavior for omitted dateRange, or any potential caveats like rate limits or data freshness.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise at two sentences and front-loads the core purpose ('Get list of 20 MOST RECENT transactions'). Every phrase adds meaningful information without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema is provided, so return-value details are not needed. However, for a tool with a single 'request' object parameter and no annotations, the description is thin: it leaves 'page' defaults, chain selection, and spam filtering unexplained. It is adequate for a simple list tool but has gaps an agent would need to resolve from the schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Since schema description coverage is 0%, the description must compensate. It mentions 'address' and 'date range' indirectly, but it does not explain the 'page', 'chain', or 'hideSpamToken' parameters. The schema itself contains some property descriptions, but the description fails to cover the request object's structure and leaves the agent dependent on the schema for meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Get') and identifies the exact resource ('list of 20 MOST RECENT transactions made by an address'). It also includes scope ('per page') and a distinguishing constraint ('Only the latest transactions according to the date range are returned'), which differentiates it from sibling tools 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for fetching an address's recent transactions but does not explicitly state when to choose this tool over alternatives or mention exclusions. The statement about date range provides a constraint but no comparative guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
general_searchSearching onchain dataAInspect
General search tool. This is your FIRST entry point to look up for possible tokens, entities, and addresses related to a query.
Do NOT use this tool for prediction markets. For Polymarket names, topics,
event slugs, or URLs, use prediction_market_lookup instead.
Nansen MCP does not support NFTs, however check using this tool if the query relates to a token. Regular tokens and NFTs can have the same name.
This tool allows you to:
Check if a (fungible) token exists by name, symbol, or contract address
Search information about a token
Current price in USD
Trading volume
Contract address and chain information
Market cap and supply data when available
Search information about an entity
Find Nansen labels of an address (EOA) or resolve a domain (.eth, .sol)
| Name | Required | Description | Default |
|---|---|---|---|
| chain | No | Optional chain filter to narrow down token results to specific blockchain. If not further specified, leave it as None. If a chain is specified, ALWAYS use this parameter instead of adding chain name to the query string. Valid values: "ethereum", "solana", "base", "bnb", "polygon", "arbitrum", "avalanche", "optimism", etc. | |
| query | Yes | The search term - token symbol, name, or address. DO NOT include chain name here! | |
| max_results | No | Maximum number of results (default: 25, max: 25) | |
| result_type | No | Type filter - "token", "entity", "eoa", or "any" | any |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden. It discloses key behavioral traits: no NFT support, ability to search by name/symbol/address, returned data types (price, volume, contract, chain, market cap, supply), and domain resolution. It does not mention rate limits or pagination, but it covers the most important limitations and capabilities.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-organized with a clear opening statement, concise exclusions, and a bulleted list of capabilities. It is somewhat lengthy but every sentence serves a purpose, and the front-loaded 'FIRST entry point' immediately orients the agent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is a general search with 4 parameters and an output schema, so return values are covered by the schema. The description thoroughly covers when to use it, what it can/cannot do, and key parameter constraints. It is sufficient for an agent to select and invoke this tool correctly in most scenarios.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description adds critical cross-parameter guidance: 'DO NOT include chain name here' for query and 'ALWAYS use this parameter instead of adding chain name to the query string' for chain. This goes beyond the schema and prevents common invocation errors.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the tool is a general search entry point for tokens, entities, and addresses, with specific verbs like 'look up' and 'search'. It explicitly distinguishes itself from sibling tools by excluding prediction markets and NFTs, and names the alternative tool for prediction markets.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly identifies itself as the 'FIRST entry point' for lookups, provides a clear exclusion ('Do NOT use this tool for prediction markets'), and points to a specific alternative (`prediction_market_lookup`). Also advises checking token queries even for potential NFTs, giving practical when-to-use guidance.
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 rankingsBInspect
Get chain growth rankings by active addresses, transactions, gas fees and DEX volume.
| Name | Required | Description | Default |
|---|---|---|---|
| request | Yes | GrowthChainRankRequest containing parameters and pagination settings |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description only restates the function without disclosing behavioral traits such as pagination, data freshness, or whether the result is sorted. It adds no transparency beyond the basic purpose.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that immediately conveys the tool's purpose and key metrics. There is no wasted wording or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple, has a fully described input schema, and benefits from an output schema (not shown in detail). The description sufficiently explains the core function, though it lacks usage guidance. For this complexity level, it is nearly complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and both chain_type and time_frame have clear descriptions and enums. The description adds no additional parameter meaning, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Get chain growth rankings by active addresses, transactions, gas fees and DEX volume,' which is a specific verb+resource with detailed metrics. This distinguishes it from sibling tools focused on addresses, tokens, and prediction markets.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. While siblings are mostly address/token-focused, the description does not explicitly mention exclusions or alternative choices.
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)
| Name | Required | Description | Default |
|---|---|---|---|
| request | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full disclosure burden. It explains the return format (markdown), lists columns, and mentions sorting/filtering options, but omits details like pagination behavior, date token semantics, and any potential rate limits or access requirements. It adds some value beyond the schema but leaves notable gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-organized with clear sections (Returns, Columns, Sorting/Filtering, Example, Notes). It is concise, front-loaded, and every section serves a purpose without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is mostly complete for a leaderboard retrieval tool: it covers the purpose, output columns, filtering/sorting options, and provides an illustrative example. It omits pagination and date token details, but the output schema and schema descriptions fill in some gaps. Overall, it gives sufficient context for an agent to use the tool effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It provides a concrete example using date, accountValue, totalPnl, order_by, and orderByDirection, and lists sortable/filterable fields. However, it does not explain date token formats, the page parameter, or full range semantics. The schema itself has detailed descriptions, so this is adequate but not outstanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific verb ('Get') plus a precise resource ('Hyperliquid perpetual futures trader leaderboard') with scope ('perpetual futures only'). It distinguishes itself from sibling leaderboard tools by naming the exact platform and asset class.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for Hyperliquid data with the 'Hyperliquid-specific endpoint' note, but it does not explicitly mention when to use this instead of alternative leaderboard tools like prediction_market_pnl_leaderboard or token_pnl_leaderboard. No exclusions or alternative guidance is provided.
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).| Name | Required | Description | Default |
|---|---|---|---|
| request | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears the full burden. It discloses batch data updates, pre-filtering threshold (performance_score >= 15), scoring ranges, risk score meaning, return format (markdown), and dynamic inclusion of indicator columns. It does not mention rate limits or pagination, but for a read-only recommendation tool, the key behavioral traits are covered.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is longer than average but well-structured with clear sections (when to use, comparison, scoring, return format). It front-loads the core purpose and avoids fluff, though the repeated instructions about explaining thresholds to users could be seen as slightly redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of the scoring system and sibling differentiation, the description covers most relevant context: usage scenarios, scoring ranges, buy threshold, return fields, and dynamic columns. The key gap is parameter documentation, but for a tool that can be called without arguments, it's largely complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description never explains the required 'request' parameter or the optional 'marketCapGroup' filter. Schema description coverage is 0%, so the description was expected to compensate, but it provides zero parameter semantics beyond the tool's general purpose. The agent would not know how to pass filters from the description alone.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource ('Discover and filter a daily list of attractive tokens'), and immediately distinguishes itself from sibling tools by explaining it uses Nansen Score Indicators to produce buy recommendations. It clearly differentiates from token_quant_scores and token_discovery_screener.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Includes explicit 'Use this tool when...' guidance, plus a dedicated comparison section with token_discovery_screener, stating when to use each, including live data vs batch updates and predefined criteria. This far exceeds the minimum for usage guidance.
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 PnLAInspect
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 USDis current marked value.
| Name | Required | Description | Default |
|---|---|---|---|
| request | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of behavioral disclosure. It adds important interpretative details: blank PnL fields mean unavailable data (not zero) and clarifies that position size is quantity while position value is current marked value. This goes beyond a simple statement of purpose and helps avoid misinterpretation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise: one main sentence plus a bulleted list of key fields. It is front-loaded with the core purpose and uses structured bullets for clarity. No unnecessary words or repetitions.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return format is likely covered there. However, the input schema is complex (a union type under 'request') and the description does not explain how to populate it or that pagination is available via 'page'. The description focuses on output interpretation rather than usage, leaving a notable gap for a tool with nested input options.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% per context, yet the description does not explain the 'request' parameter structure, which is a union type. It only mentions 'Polygon wallet' (mapping to address) but does not clarify the page parameter or how to construct the request. The description provides minimal added value over the schema's sparse parameter info.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it provides a 'Prediction market PnL breakdown for a Polygon wallet.' It specifies the scope (wallet-level) and distinguishes it from sibling tools like prediction_market_address_summary or prediction_market_address_trades. The key fields section further clarifies what is included.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The tool's usage is implied by its name and description (checking address PnL), but there is no explicit guidance on when to choose this over alternatives like prediction_market_pnl_leaderboard or wallet_pnl_for_token. No exclusions or alternative mentions are provided.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| request | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral burden. It discloses that blank PnL/ROI fields mean 'unavailable data, not zero', which is an important semantic. It also lists the key aggregate metrics, adding context about what the summary contains. It does not explicitly state the read-only nature, but that is strongly implied by 'summary metrics'.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with bullet sections, front-loaded purpose, and no filler. Every sentence adds value: purpose, when to use, and key field semantics. It is appropriately sized for a summary tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity and the presence of an output schema, the description is largely complete: it specifies the wallet scope, key fields, and data-availability semantics. It could additionally mention pagination or address format, but the about output schema and sibling context make the current level adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description mentions 'Polygon wallet' and wallet-level metrics, which hints that the 'request' parameter should contain an address, but it does not explain the request object structure or the 'page' parameter. Schema coverage is 0% for the top-level parameter, so the description only partially compensates. The internal address description in the schema provides some meaning, but the description itself adds limited parameter-level detail.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb phrase ('summary metrics') and identifies the resource ('a Polygon wallet'). It clearly distinguishes this tool as the wallet-level overview from siblings like prediction_market_address_pnl and prediction_market_address_trades by calling it the 'first wallet-level Polymarket tool' for a 'quick trader overview'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The 'When to use' section explicitly states when to use the tool ('first wallet-level... quick trader overview') and that it should precede 'detailed address trades/PnL'. It does not name alternative tool IDs, but the guidance is clear enough about usage context and exclusions.
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 Sizeis quantity traded in the displayed outcome side.Value USDapplies to that row only, not the whole transaction.
Pitfalls:
Use this for wallet trade activity, not profitability.
| Name | Required | Description | Default |
|---|---|---|---|
| request | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the burden. It adds useful context about key fields (Share Size, Value USD) and clarifies that value applies per row. However, it does not explicitly state read-only behavior or other operational traits beyond the 'history' implication, so transparency is moderate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and well-organized with 'Key fields' and 'Pitfalls' sections. Every sentence adds value, and the structure makes the key facts easy to scan. No redundancy or fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has an output schema, so return format is covered. The description adds important semantics about output fields and clarifies the profitability pitfall. Missing explicit safety/read-only annotation background, but the description is adequate for a query tool with structured schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description does not explain parameters, but the input schema itself contains detailed descriptions for address, page, and dateRange (including token-based date range options). The schema covers the semantics, so the description adds no extra value here. The context signal indicates 0% schema coverage, but the actual schema appears comprehensive, so a baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Prediction market trade history for a Polygon wallet,' specifying the resource (Polygon wallet), the action (trade history), and scope (address-level). It also distinguishes from sibling tools like prediction_market_address_pnl by noting this is for trade activity, not profitability.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides an explicit usage note: 'Use this for wallet trade activity, not profitability.' This tells the agent when to use the tool and when to avoid it, though it does not name the alternative sibling tool directly.
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 Winneris an event;Will Duke win the 2026 NCAA Tournament?is a market. Detail tools requiremarketId, noteventId.
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
queryVariantas a cleaner short keyword version.Set
includeEventMarketsto true to also return child markets for the best-matching event.Do NOT use
general_searchfor 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 useprediction_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.
| Name | Required | Description | Default |
|---|---|---|---|
| request | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden of behavioral disclosure. It explains the underlying search API, what results include (current outcome prices, last trade price, bid/ask), and establishes an explicit output rule: 'do not silently substitute a nearby market.' It also notes the behavior of includeEventMarkets regarding count display, providing rich behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with clear sections (PM building blocks, When to use, Query tips, Output rules) and uses bullets for readability. It is longer than some, but every section earns its place given the tool's complexity. Slight over-length prevents a 5.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity and the absence of annotations, the description covers all essential aspects: what the tool does, how to use it, when to use alternatives, query formatting tips, result contents, and output rules. An output schema exists to explain return values, so the description is complete for invocation and expectation-setting.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for the top-level request parameter, but nested property descriptions exist. The description compensates by clarifying what 'request' can be (name, topic, URL, slug), explaining queryVariant as a 'cleaner short keyword version', and describing includeEventMarkets's effect. It does not mention page, status, maxCandidates, or maxEventMarkets, but the schema covers those, so the added value is meaningful.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a clear, specific statement: 'Search Polymarket for events and markets by name, topic, URL, or slug.' It defines events vs. markets and distinguishes itself from siblings by explicitly warning against general_search and referencing prediction_market_ohlcv for price history. This fully clarifies its unique purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives explicit when-to-use guidance: 'First tool when the user asks about a specific PM topic, event, slug, or Polymarket URL but does not provide marketId.' Also provides exclusions and alternatives: 'Do NOT use general_search for prediction markets' and 'For price history or dated moves, still use prediction_market_ohlcv.' This is exemplary.
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:
Closeis 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.
| Name | Required | Description | Default |
|---|---|---|---|
| request | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses that each response is for one exact marketId, warns against mixing dates/prices across markets, and instructs to say so directly if no candles are returned. It also explains the complementary nature of Yes/No shares in binary markets. These are meaningful behavioral traits beyond the bare input schema, though it does not cover rate limits or auth.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with clear headings (When to use, Key fields, Pitfalls, Prerequisites). It leads with a concise one-line summary and each sentence adds distinct value. No filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers key data interpretation (Close price, binary complement), common pitfalls, and prerequisites. An output schema exists, so it need not detail return structure. It could mention pagination or ordering behavior, but these are in the input schema. Given the tool's moderate complexity and no annotations, the description is sufficiently complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% for top-level parameters, and the description adds some meaning by clarifying that marketId is for one exact market and referencing a 'requested window.' It does not explain dateRange tokens, orderBy, or pagination, but those are already described within the nested schema. Thus the description offers modest added value, but is not fully compensating for the low top-level coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it provides 'Historical odds/volume candles for a Polymarket market' and elaborates with 'price history and recent probability changes.' It is specific about the resource (Polymarket market) and the action (loading historical OHLCV), and the mention of 'specific market' alongside the prerequisite to lookup differentiates it from sibling tools like trades or orderbook.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The 'When to use' section identifies clear scenarios (current odds, price history, probability changes). The 'Prerequisites' section explicitly directs to call prediction_market_lookup when marketId is unknown, providing alternative guidance. However, it does not explicitly state when not to use this tool or contrast it with alternatives like prediction_market_trades, so it lacks full exclusionary guidance.
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 Sizeis share quantity, not USD. Do not describe share size as dollar depth unless you calculateshares × 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_ohlcvfor current odds / implied probability.
Prerequisites: If marketId is unknown, call
prediction_market_lookup first.
| Name | Required | Description | Default |
|---|---|---|---|
| request | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses critical behavioral nuances: order size is share quantity, No/Yes price complementarity, and how to interpret No bids as resistance rather than support. It does not mention pagination or update frequency, but the core interpretation pitfalls are thoroughly covered.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is organized into clear sections (When to use, Key fields, Yes/No relationship, Pitfalls, Prerequisites). Every section adds critical information with no filler, and the most important caveats are front-loaded after the opening sentence.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of prediction market orderbooks and the presence of an output schema, the description provides rich interpretive context and clear guidance on parameter prerequisites and alternatives. It is complete enough for an agent to correctly select and invoke the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for the top-level 'request' parameter, but the nested schema describes marketId and page. The description adds prerequisite context for obtaining marketId via prediction_market_lookup, but does not explain the request wrapper or page parameter, so it only partially compensates.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as 'Live orderbook for a Polymarket market', and the title reinforces 'Checking prediction market orderbook'. It distinguishes itself from siblings by specifying bid/ask depth, liquidity, and yes/no order structure, and explicitly contrasts with prediction_market_ohlcv.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides an explicit 'When to use' section listing use cases, a 'Pitfalls' section stating when NOT to use it (prefer prediction_market_ohlcv), and a 'Prerequisites' directive to call prediction_market_lookup if marketId is unknown. This is exactly the kind of alternative guidance expected.
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 Heldreflects 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.
| Name | Required | Description | Default |
|---|---|---|---|
| request | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description adds valuable behavioral context: the 'Side Held' field reflects current side exposure where available, and if PnL fields are blank, the agent should say profitability is unavailable rather than substituting top holders or position size. It doesn't cover all behaviors (e.g., pagination, data freshness) but provides meaningful guidance beyond a simple operation description.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and well-structured with bold headers for 'When to use', 'Key fields', 'Pitfalls', and 'Prerequisites'. It front-loads the core statement and uses bullets for clarity, with no unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers purpose, usage scope, pitfalls, and prerequisites, and the output schema handles return values. However, the request parameter is underspecified, and with no annotations, the description is the only source of behavioral transparency. This leaves a notable gap for a tool with a nested input object.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage for the top-level 'request' parameter is 0%, and the description only mentions marketId in the prerequisite. It does not explain the request object structure, the page parameter, or how to format the request. The nested schema has descriptions, but the description itself fails to compensate for the low coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'PnL leaderboard for a Polymarket market' and the title says 'Checking prediction market PnL leaders'. It identifies a specific resource (Polymarket market) and operation (viewing PnL leaderboard), distinguishing it from siblings like prediction_market_top_holders and token_pnl_leaderboard.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description includes an explicit 'When to use' section stating 'Only for profitability claims' and a prerequisite to call prediction_market_lookup if marketId is unknown. This provides clear context, but it doesn't explicitly name alternative tools or state when not to use beyond the profitability scope.
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 USDis current marked value, not final payout at resolution.Cost Basis USDandUnrealized PnL USDapply to the displayed row only — not the wallet's total PM activity.
Prerequisites: If marketId is unknown, call
prediction_market_lookup first.
| Name | Required | Description | Default |
|---|---|---|---|
| request | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden and excels. It discloses critical field semantics: 'Position Value USD is current marked value, not final payout at resolution' and 'Cost Basis USD and Unrealized PnL USD apply to the displayed row only — not the wallet's total PM activity.' This prevents misinterpretation and goes beyond generic descriptions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and well-structured, with a purpose statement, a bullet list of key fields, and a prerequisites section. Every sentence adds value, and the most important context is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The output schema reduces the burden for return values, and the description covers output field semantics well. However, the input structure is left ambiguous: it does not state whether the position is for the authenticated user or an address, and the marketId acquisition is inconsistent (the schema says prediction_market_screener, the description says prediction_market_lookup). This leaves gaps in what the API expects.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for the top-level parameter, and the description does not explain the `request` object or its fields at all. The only parameter-related guidance is the prerequisite to call prediction_market_lookup, but it does not describe how to construct a valid request or what `marketId` should look like. The schema itself has nested descriptions, but the description adds little beyond that.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with 'Detailed position breakdown for a Polymarket market,' which specifies the verb (breakdown) and the resource (position in a Polymarket market). It distinguishes from sibling tools like prediction_market_orderbook and prediction_market_address_pnl, though it does not clarify whose position (e.g., the authenticated user) is returned, preventing a perfect score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides an explicit prerequisite: 'If marketId is unknown, call prediction_market_lookup first.' This gives clear when-to-use context and points to a sibling tool. However, it does not explicitly state when not to use this tool versus other position-related tools, such as prediction_market_address_pnl.
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_lookupinstead.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| request | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the full burden. It discloses literal-style matching, no fuzzy search, no bundling of unrelated topics, no inventing nearest matches, and output rules for superlatives, which are essential 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with a clear purpose, then organized into sections with bold headers. While longer than minimal, every section contributes operational value with no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers when to use, query construction, output rules, and error handling. The output schema covers return structure, and the sibling differentiation is clear. Adequate for a complex discovery tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The top-level schema has 0% description coverage, but the description adds practical query semantics (prefer one short topic, avoid unrelated bundles) that complement the schema's nested field descriptions. It does not detail mode/status/orderBy, but these are documented in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states 'Browse and sort Polymarket markets, events, or categories' with a specific verb and resources, and explicitly differentiates from prediction_market_lookup for resolving a single named market. This distinguishes it from sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit 'When to use' and 'Do NOT use' guidance, naming the alternative tool for resolving a single market. Query tips further clarify how to structure queries, making the intended use unmistakable.
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 USDis current marked value, not payout at resolution.Side Heldis 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.
| Name | Required | Description | Default |
|---|---|---|---|
| request | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the full burden of transparency. It explicitly explains that positions are share balances, 'Position Value USD' is marked value not resolution payout, and that output is based on shown rows only. It also warns against inferring risk or smart money without explicit support. However, it does not mention pagination behavior or rate limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with a one-sentence summary, then uses concise bullet lists for key fields and pitfalls. It is longer than average, but each bullet adds meaningful interpretive guidance with no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return-value details are not required in the description. The description covers important interpretation pitfalls and prerequisites, but it does not clarify pagination behavior or the scope of rows returned despite the page parameter, leaving a minor completeness gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description only references marketId in the prerequisite. It does not explain the request wrapper, page, orderBy, or orderByDirection semantics, leaving a significant gap that the description does not compensate for.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with 'Largest current holders for a Polymarket market,' which is a specific verb+resource pair that clearly states the tool's function. It also distinguishes this from sibling tools like prediction_market_position_detail or prediction_market_pnl_leaderboard by focusing on holder lists.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides a clear context: use this to see the largest current holders of a specific Polymarket market. It gives a prerequisite ('If marketId is unknown, call prediction_market_lookup first'), though it does not explicitly contrast with alternatives or state when not to use the tool.
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 Sizeis quantity;Value USDis dollar value.Each row is one visible trade leg —
Value USDapplies 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.
| Name | Required | Description | Default |
|---|---|---|---|
| request | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses key field semantics (Share Size vs Value USD, per-row value), a pitfall about large trades not indicating smart money, and warns against using OHLCV as a price override. It does not cover pagination behavior or output structure details, but the provided key fields and pitfalls add substantial value 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-organized with clear sections: When to use, Key fields, Pitfalls, and Prerequisites. Each section is concise and adds unique value without redundancy. The opening sentence is direct, and the use of bullets improves scannability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers prerequisites, key field interpretation, and a common pitfall, which is sufficient for the tool's complexity. An output schema exists, so return values need not be fully explained. However, it misses details about pagination limits and dateRange options, which are relevant for a trades endpoint, preventing a perfect score.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% based on the context signal, so the description must compensate. It mentions marketId indirectly via the prerequisite but does not explain the request object structure, dateRange tokens, or page parameter. The 'Key fields' are output fields, not parameters. This leaves parameter semantics largely undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Recent trades for a Polymarket market' and differentiates from related tools by emphasizing it is the source of truth for trade-tape pricing, distinguishing it from OHLCV and address-level trade tools. The verb 'recent trades' is specific and actionable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The 'When to use' section explicitly lists use cases and includes an important exclusion (do not overwrite with OHLCV candles). It also provides a prerequisite (call prediction_market_lookup if marketId unknown). However, it does not explicitly contrast with sibling tools like orderbook or address trades, so it falls short of a perfect 5.
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
Address: Full trading wallet 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"]
}
```| Name | Required | Description | Default |
|---|---|---|---|
| request | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full responsibility for disclosing behavioral limitations. It transparently states the endpoint is Hyperliquid-only and that only recent trades are returned (no date filtering). It also details the output columns, giving the agent a clear picture of what to expect. However, it does not mention pagination behavior, rate limits, or authorization requirements, which are minor gaps for a query tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with clear sections for the summary, notes, return columns, sorting options, and examples. It is somewhat long, but each section earns its place by adding necessary context. The use of headers and code blocks improves readability. It could be slightly more concise, but the current structure is effective.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity and the presence of an output schema, the description provides a good level of completeness. It explains the data columns, sorting options, and provides examples. It does not mention pagination parameters (like 'page') despite the schema including it, and it lacks details on result limits or error conditions. Still, the overall picture is solid for an agent to understand and invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Although the schema descriptions are extensive, the description adds value by presenting concrete examples of parameter usage, such as sorting by 'amount' with 'order_by_direction: desc' and filtering by 'action' and 'side' with 'includeSmartMoneyLabels.' It also lists available sorting fields, which complements the schema. However, not all parameters (like 'valueUsd' or 'traderAddress') are explicitly explained in the description, though they are present in the schema with descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description begins with a specific, action-oriented statement: 'Get recent Hyperliquid perpetual futures trades from Smart Traders and Funds across all tokens.' This clearly identifies the resource (Hyperliquid perp trades), the subject (smart traders/funds), and the scope (all tokens). It also distinguishes itself from the sibling tool 'token_discovery_screener' by offering granular data versus a 'big picture view,' making its purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly directs users to an alternative: 'For a big picture view of smart traders and funds activity across all tokens, use token_discovery_screener with traderType="sm" filter.' It also notes the tool is Hyperliquid-only and returns recent trades only with no date filtering, giving clear context for when to choose this tool over others.
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 positionsAInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| request | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
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 aggregation, exclusion of certain smart money categories, per-chain support with default 'all', and the existence of filters. This provides meaningful behavior beyond the name, though it does not mention pagination or response details (output schema covers return structure).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the core function and key constraints. The first sentence packs substantial detail (aggregation, exclusions, chains, 24h change) without fluff; the second gives a practical tip. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description provides the essential gist, defaults, and scope for an agent to select the tool correctly. Given the complex nested request object and the presence of an output schema, it covers the core usage, though it could briefly mention pagination or the stablecoin/native token toggles. Still, it is sufficient for initial understanding.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description only generically references 'filters' and 'per chain' without detailing parameters like orderBy, minHolders, includeStablecoin, or includeSmartMoneyLabels. The input schema itself has detailed parameter descriptions, but the tool description adds minimal value beyond that.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states 'Get aggregated (not per wallet) smart trader and fund token balances and 24h change per chain' – a specific verb and resource, and explicitly excludes whales, large holders, and influencers. This clearly distinguishes it from sibling tools like smart_traders_and_funds_perp_trades and address_historical_balances.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context: it returns aggregated balances for selected chains, defaults to all supported chains, and advises 'Use filters to narrow down the results.' It does not explicitly name alternatives or when-not-to-use, but the exclusions and aggregation scope make the appropriate use case obvious.
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 addressperps: 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 Use only a value listed for the selected mode. A value from the wrong mode is not an error: the call falls back to holding_size and the output notes the changed sort.
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"
}
```
**Native-token / stablecoin `orderBy` restriction:**
With `labelType='top_100_holders'` (the default), native tokens
(`0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee` and native SUI) and
stablecoins/pegged tokens support `orderBy='holding_size'` only. To
sort such a token by another onchain field, use `labelType='whale'`,
`smart_money`, `exchange` or `public_figure` instead. An unsupported
combination is not an error: the call falls back to `holding_size`
and the output notes the changed sort.
**Other `top_100_holders` limits for native tokens:** limited filters
(holding_size, total_outflow, total_inflow, address, smart money
labels). For advanced filters use a different `labelType` or set
`aggregateByEntity=true`.
**Does not** work for SOL in onchain_tokens mode (tokenAddress So11111111111111111111111111111111111111112). For SOL analysis, use perps mode instead.| Name | Required | Description | Default |
|---|---|---|---|
| request | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden and does so thoroughly. It discloses fallback behavior for unsupported orderBy combinations, limitations for native tokens/stablecoins, page size, and that unsupported combinations silently fall back to holding_size. These are key behavioral traits that annotations would not cover, and they are described in detail.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is long but extremely well-structured, using headings, bullet lists, and examples. Every section serves a purpose: column lists clarify return values, sorting lists inform valid inputs, and notes prevent misuse. The front-loaded main action gives immediate clarity, and the formatting makes complex details scannable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is exceptionally complete for a complex tool: it covers both modes, output columns, sorting options, filters, edge cases (SOL, native tokens, stablecoins), fallback behaviors, and four real-world examples. Since an output schema exists, the description does not need to explain return structure, but it effectively covers all operational contexts needed to invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Although the top-level schema coverage is 0%, the description compensates by fully explaining every parameter through examples and explicit notes. It covers mode, tokenAddress, chain, labelType, orderBy, order_by_direction, side, upnlUsd, positionValueUsd, entryPrice, includeSmartMoneyLabels, and aggregateByEntity. The examples show exact JSON structures, making parameter usage unambiguous.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a clear action ('Get up to 25 top holders information for a specific token') and specifies the two modes (onchain_tokens and perps). This definitively distinguishes it from sibling tools like token_dex_trades or token_flows by focusing on holder rankings. The scope is precisely stated, making it easy to know what resource is being accessed.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit usage guidance is abundant: it warns that 'smart_money' labels are not a good proxy for market view and should only be used when explicitly requested. It states that SOL in onchain_tokens mode does NOT work and instructs to use perps mode instead. It also provides mode-specific sorting restrictions and fallback behavior, clearly covering when/when-not and alternatives.
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 addressperps: 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.
| Name | Required | Description | Default |
|---|---|---|---|
| request | Yes | TokenDexTradesRequest containing parameters, pagination settings, and optional sorting |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
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 behavioral disclosure. It discloses the mode-specific behavior and the native token limitation, which is useful. However, it does not mention pagination, response details, or any potential side effects, though the output schema covers return structure. Given no annotations, a score of 3 is appropriate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and well-structured. It opens with a clear one-line purpose, then lists modes with bold headers, and adds a critical note. Every sentence provides unique value, and the length is appropriate for the tool's complexity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the essential selection context (modes, native token limitation) and is sufficient for an agent to decide when to use the tool. The schema provides exhaustive parameter documentation and the output schema covers return values, so the description does not need to repeat those details. It is not a perfect 5 because it omits any mention of the required tokenAddress parameter, but the mode descriptions imply it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema fully documents each parameter. The description adds minimal parameter-specific semantics beyond the mode names and the note about native token support, which is not in the schema. Baseline is 3 for high coverage, and the description's added insight is modest, so a 3 is justified.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'Get DEX trades for a specific token.' It defines two distinct modes (onchain_tokens and perps), which clarifies the resource and scope. This distinguishes it from sibling tools like address_dex_trades by focusing on token-level queries.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit guidance for mode selection, especially the native token limitation: 'only ETH is supported among native tokens. For other native tokens (SOL, BTC, BNB, etc.), use perps mode instead.' This tells the agent when to choose perps over onchain_tokens. However, it does not explicitly compare with alternative tools like address_dex_trades, so there is room for improvement.
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"| Name | Required | Description | Default |
|---|---|---|---|
| request | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does so thoroughly. It discloses result caps, chain limits, Hyperliquid perp vs spot behavior, fallback defaults for unsupported filters, timeout risks, empty-string return, and the critical warning that 'priceChange' is not a valid filter. This is rich, non-obvious behavioral information.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is long but well-structured with clear sections (limits, Hyperliquid case, examples, filtering/sorting options) and front-loaded key constraints. Some redundancy exists between the examples and prose warnings, but overall the length is justified given the tool's complexity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity and the lack of annotations, the description is remarkably complete. It covers result limits, chain limits, Hyperliquid-specific behavior, supported filters and sorts, return columns, defaults, and timeouts. It also specifies the exact scenario of mixed Hyperliquid/spot chains and perp-specific fields.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description compensates extensively. It explains filter categories, numeric ranges, sorting options, trader semantics, the Hyperliquid special case, and provides five concrete input examples. The 'CRITICAL WARNING' about priceChange adds crucial parameter guidance beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description opens with 'Get comprehensive token screening data across multiple blockchain networks with advanced filtering,' which clearly identifies a specific verb, resource, and scope. It further states the tool 'helps with token discovery and finding trending tokens by combining different metrics,' distinguishing it from sibling data tools like token_ohlcv or transaction_lookup.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides extensive usage context: max 25 results, max 5 chains, timeout warnings, and specific guidance on when traderType values should be used (e.g., 'Use "sm" ONLY when user explicitly asks for smart money'). It does not explicitly name alternatives or exclusions relative to sibling tools, but the use-case examples and warnings give clear operational guidance.
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 token-flow history for ONE holder segment over a date range. Use token_recent_flows_summary instead for an on-chain snapshot across ALL wallet categories.
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 addressperps: Analyze Hyperliquid perpetual futures by symbol (chain auto-set to "hyperliquid") — supports native tokens
NOTE: Native tokens (0xeee…, So111…) cannot be queried in onchain_tokens mode. If a native placeholder address is supplied, this tool returns Hyperliquid perpetual-futures flows for that chain's native coin instead (e.g. hyperevm → HYPE, bnb → BNB, base → ETH) and prepends a prominent data-source warning. For native-token wallet-category flows on-chain, use token_recent_flows_summary.
| Name | Required | Description | Default |
|---|---|---|---|
| request | Yes | TokenFlowsRequest containing parameters and pagination settings |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full responsibility for disclosing behavior. It thoroughly explains the native token edge case (returns perps flows with a warning), mode-specific behavior (chain auto-set to hyperliquid in perps mode), and the granularity differences. It also mentions the prominent data-source warning, which is important for interpretability.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with bold section headers and bullet points, making it scannable. It is somewhat longer than necessary due to repeated references to token_recent_flows_summary, but every sentence contributes meaningful information about usage, modes, or edge cases. It earns its length.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (multiple modes, parameter interactions, native token handling, and an output schema), the description covers all essential contextual aspects: the type of data, the supported modes, the relationship to sibling tools, and critical caveats. The presence of an output schema removes the need to describe return values, and the description fills in all other knowledge gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides 100% description coverage for all parameters, so baseline is 3. The description adds value beyond the schema by explaining the practical meaning of modes (onchain_tokens vs perps), the holder_segment smart_money caveat, and how native placeholder addresses are handled. This enriches the schema's bare parameter definitions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource: 'Get hourly token-flow history for ONE holder segment over a date range.' It clearly distinguishes itself from the sibling token_recent_flows_summary by highlighting granularity and scope. The subsequent modes and examples reinforce the tool's purpose without ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly names the alternative tool (token_recent_flows_summary) and states when to use it instead: for an on-chain snapshot across ALL wallet categories. It also provides a clear caveat about holder_segment: smart_money not being a good proxy for an overall market view, advising when to use it. This is exemplary guidance.
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
- **Max Leverage**: Maximum leverage offered for the perp on Hyperliquid (e.g. "40x")
- **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 tradersExample:
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
| Name | Required | Description | Default |
|---|---|---|---|
| request | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden, and it does well by disclosing return format ('Token information as markdown'), detailing the specific fields returned for each mode, and including example JSON requests. It does not cover error handling or rate limits, but for a read-only info tool, the behavioral disclosure is strong and goes beyond a simple restatement.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is long but efficiently structured with clear section headers (On-chain tokens mode, Perps mode, Returns, Example, Notes). Every section adds value, and the purpose is front-loaded in the first sentence. The bullet lists for fields and the JSON examples make the content scannable without wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (two modes, many return fields), the description is remarkably complete: it explains both modes, lists all returned fields, provides usage examples, and includes notes on address formats. The presence of an output schema reduces the need to describe return values, but the description goes beyond that anyway, making it fully self-sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema coverage is 0% per the context signals, but the description compensates with two concrete example JSON requests showing the exact parameter names (mode, chain, tokenAddress, timeframe) and their values. The notes clarify that on-chain mode uses contract addresses while perps mode uses symbols, adding meaningful semantics beyond the bare schema. It doesn't enumerate all chain options or timeframes in the description, but the schema provides those details.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it retrieves token information for two distinct modes: on-chain spot details and Hyperliquid perps. It explicitly names the main purpose ('Get token information') and contrasts the two modes, distinguishing it from sibling tools that focus on single data types like token_ohlcv or token_flows. The scope is precise and unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear usage context by explaining the default mode (on-chain) and the perps mode, along with notes on when to use contract addresses vs symbols. However, it does not explicitly compare this tool to sibling tools or state when to prefer it over alternatives, so it lacks explicit exclusions but gives solid context for use.
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"
}
}
```| Name | Required | Description | Default |
|---|---|---|---|
| request | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses automatic resolution intervals, exact column names returned, includeMarketCap behavior, and provides multiple example usages; no annotations exist, so this is thorough context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Well-structured with clear sections, bold callout for general_search, bullet-like lists for intervals and columns, and multiple examples; all content earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a multi-chain OHLCV tool with auto-resolution, the description covers supported chains, syntax, intervals, return columns, optional market cap, and example requests; output schema further enriches context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Despite 0% schema description coverage on the top-level parameter, the description explains chain and tokenAddress semantics, including Hyperliquid symbol formats and date range tokens like '7D_AGO', adding significant meaning beyond schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states it gets OHLCV price data for a token with automatic interval resolution, names supported chains (EVM, Solana, Hyperliquid), and explicitly differentiates from general_search by warning it is delayed/incorrect.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly instructs to use this tool over general_search for prices, provides specific guidance for Hyperliquid perps, and includes examples for various time ranges.
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 addressperps: 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 **
| Name | Required | Description | Default |
|---|---|---|---|
| request | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full transparency burden and does so thoroughly. It discloses output format (markdown), empty string behavior, 25-result page cap, unsupported chains (hyperevm), native token limitations, default ranking, and the fact that results are never complete. This is exemplary behavioral disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is long but well-structured with clear sections for modes, return values, columns, sorting, filtering, examples, and notes. The first sentence front-loads the core purpose. Some redundancy and length could be trimmed, but the organization makes it navigable and information-dense.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity and absence of annotations, the description is remarkably complete: it explains modes, native token handling, returned columns, sorting/filtering options, output behavior, and important caveats. The examples make invocation straightforward for both simple and advanced use cases.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It lists all allowed sort fields, filter categories, and gives three concrete examples with parameter names like pnlUsdTotal, nofTrades, and stillHoldingBalanceRatio. However, it does not enumerate every schema parameter (e.g., nofBuys, boughtAmount, soldAmount), leaving some burden on the schema itself.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Upto 25 results (per page) of trader PnL for a token,' giving a specific verb, resource, and scope. It distinguishes itself from sibling tools by focusing on leaderboard-style trader PnL rankings and explicitly covering both on-chain and perps modes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit usage context: default onchain_tokens mode vs perps mode, native token caveats, sorting/filtering instructions, and the top-25 limitation with advice to choose relevant sort order. It does not explicitly compare against sibling alternatives like wallet_pnl_for_token, but the guidance is strong enough for effective tool selection.
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-flowsNotes: - Not all indicators available for every token/chain combination - Percentile compares against same market cap group (largecap >$1B, midcap $100M-$1B, lowcap <$100M)
| Name | Required | Description | Default |
|---|---|---|---|
| request | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden. It discloses important behavioral traits: not all indicators are available for every token/chain, percentile comparisons are per market cap group, and stablecoins have limitations. It also implies this is a read-only operation by using 'Get' and describing returns.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is long but well-structured with sections (summary, usage, returns, notes). It is front-loaded with the main purpose and uses clear formatting. Each section adds value, though the detailed return explanation is partially redundant given the existence of an output schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description thoroughly covers output semantics, usage context, and limitations, but entirely omits input parameter explanations. Given the tool's complexity (nested request with anyOf) and the presence of an output schema, the description should at least mention what parameters are needed, making it incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate for parameter guidance. It does not mention the 'request' parameter, tokenAddress, or chain at all. The schema provides some descriptions, but the tool description adds no input semantics, leaving the complex nested request object unexplained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Get Nansen Score Indicators for a token - quantitative risk and reward signals.' This uses a specific verb and resource, and distinguishes it from sibling tools like token_technical_indicators and nansen_score_top_tokens by focusing on risk/reward quant scores.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly states when to use: '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.' This provides clear context, though it does not name exclusions or specific alternatives.
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 an on-chain flow snapshot across ALL wallet categories in one call. This tool supports native ETH on Ethereum and native SOL on Solana, and is the correct choice for standard lookbacks such as 1d.
Returns 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 cohortsperps: 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.
| Name | Required | Description | Default |
|---|---|---|---|
| request | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the behavioral disclosure. It reveals aggregation over lookback periods, the meaning of positive/negative flow, supported assets (native ETH/SOL, not BTC), and the categorization of wallet segments. It does not explicitly state read-only behavior or data latency, but these are less critical for a query tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is long but well-organized with clear sections for returns, notes, and modes. It is front-loaded with the primary purpose and repeated guidance to use token_flows for granular data is slightly redundant, but the structure helps readability without excessive wordiness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers purpose, when to use, alternatives, return format, limitations (Bitcoin not supported), and modes. It does not explicitly explain how to specify the token or chain, but the schema provides that detail. For a tool with no annotations and a nested schema, this is a fairly complete description.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description does not explicitly mention the tokenAddress or chain parameters. However, it does add meaning by explaining modes and supported assets (native ETH/SOL in onchain mode; SOL, ETH, BTC in perps mode). The schema itself contains descriptions for mode, chain, and lookbackPeriod, partially compensating for the lack of description coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action and scope: 'Get an on-chain flow snapshot across ALL wallet categories in one call.' It clearly distinguishes from the sibling tool token_flows by noting this is for standard lookbacks while token_flows is for granular data and 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit guidance is provided: 'correct choice for standard lookbacks such as 1d', 'If you have SPECIFIC date ranges in mind, use `token_flows` instead', and 'DO NOT use this tool for bitcoin.' It also explains the two modes (onchain_tokens and perps), telling when each is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
token_technical_indicatorsLoading technical indicatorsAInspect
Get a technical-analysis snapshot for a token: SMA(20/50/200), EMA(12/26), RSI(14), MACD(12,26,9), Bollinger Bands(20, 2σ), ATR(14), and rolling VWAP(20), computed from the last 260 closed candles at an explicit timeframe.
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 for technical analysis instead of computing indicators from raw token_ohlcv candles — it uses far more history (260 closed candles) and charting-platform conventions (SMA-seeded EMA, Wilder RSI/ATR, population-σ Bollinger).
Timeframes (explicit, no auto-resolution):
5m / 15m / 30m / 1h / 4h: intraday and short-horizon analysis
1d (default): swing/position horizon
1w: long-term trend
Output: a snapshot header (candles used, date range, last close, 5-candle price change) plus one row per indicator, each with a 5-candle trend delta so you can read direction, not just level:
SMA 20/50/200: values, price vs each, MA slopes
EMA 12/26: values, spread %, widening/narrowing
RSI(14): level, prior candle, 5-candle change
MACD(12,26,9): line/signal/histogram, rising/falling, candles since signal cross
Bollinger(20,2σ): bands, %B, bandwidth and its change
ATR(14): value and % of price (volatility), rising/falling
VWAP(20): value, price vs VWAP
Indicators without enough closed-candle history render as n/a (e.g. SMA200 on young tokens); the candle count used is always reported. VWAP is n/a on Hyperliquid 5m-1h timeframes (volume is NULL in those views) — use 4h or 1d for Hyperliquid VWAP.
Example Usage:
Daily technical snapshot for WETH:
{ "chain": "ethereum", "tokenAddress": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", "timeframe": "1d" }
4-hour snapshot for the BTC Hyperliquid perp:
```
{
"chain": "hyperliquid",
"tokenAddress": "BTC",
"timeframe": "4h"
}
```| Name | Required | Description | Default |
|---|---|---|---|
| request | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It discloses computation conventions (SMA-seeded EMA, Wilder RSI/ATR, population-σ Bollinger), edge cases (n/a for insufficient history, VWAP NULL on Hyperliquid 5m-1h), output structure (snapshot header + per-indicator rows with 5-candle deltas), and 'always computed up to now' constraint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Although long, the description is well-structured with bold headers, bullets, and a dedicated example section. Each section adds unique information: indicator list, supported chains, timeframes, output format, and edge cases. No filler or tautology.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Output schema exists, and description complements it with detailed output composition (snapshot header, trend deltas). Covers all relevant usage contexts: on-chain EVM/Solana, Hyperliquid perps, timeframe selection, and data-availability limits. Examples provide complete invocation patterns.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so description must compensate. It explains chain, tokenAddress, and timeframe semantics in depth: Hyperliquid perp symbol mapping, timeframe default and explicit choices, plus example JSON payloads. This is far more than the bare schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description opens with a specific verb+resource: 'Get a technical-analysis snapshot for a token' enumerating 7 indicator families and the data window. It explicitly distinguishes from sibling token_ohlcv by stating 'YOU MUST USE THIS for technical analysis instead of computing indicators from raw token_ohlcv candles.'
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit guidance: mandates use over token_ohlcv with rationale (more history, charting conventions), maps timeframes to analysis horizons (intraday vs swing vs long-term), and gives Hyperliquid-specific usage rules including VWAP caveat and symbol normalization. Example usage demonstrates exact parameter combinations.
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
fromfor minimum bound (no maximum)Specify only
tofor 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
| Name | Required | Description | Default |
|---|---|---|---|
| request | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden for behavioral disclosure. It explicitly states the page size (25), default sort order, lack of native token support, and clarifies nuanced behaviors (e.g., smart money filter means 'only transfers involving profitable addresses'; transferValueUsd filters by USD value at time of transaction). It also lists return columns, giving insight into output. However, it does not mention rate limits, error conditions, or how to advance pages via the 'page' parameter, which would be additional useful behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is long but extremely well-structured: a concise opening statement, a note on unsupported tokens, a clear columns list, sorting options, multiple example code blocks, and a structured list of filters. Every section adds practical value, and the use of headers, bold text, and code blocks makes it easy to scan. It is not redundant, though the length is justified by the tool's complexity. It is therefore concise in structure, not in word count, which earns a 4.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a complex tool with many filters and an output schema, the description is highly complete: it covers purpose, return columns, sorting, all filters with examples, and a key limitation (native tokens). It also provides practical usage tips. The only notable gap is that pagination beyond the first page is not explained (the 'page' parameter appears in the schema but not in the description), and there is no mention of error handling or edge cases like empty results. Given the overall thoroughness, this is a strong 4.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The top-level schema parameter ('request') has no description, resulting in a schema description coverage of 0%. The tool description fully compensates by explaining all available filters in detail: fromAddress, toAddress, transferOriginCategories, onlySmartTradersAndFunds, transferValueUsd, and sorting options. It provides formats, possible values, defaults, and examples for each, adding substantial meaning beyond the raw schema. This is exemplary compensation for sparse schema documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description starts with a clear, specific statement: 'Get 25 token transfers (per page) for a specific token based on the sort order.' It names the resource (token transfers), the verb (get), pagination (25 per page), and sorting, which distinguishes it from sibling tools like token_dex_trades or token_flows. The scope is explicit (for a specific token), and the unsupported native token note further refines the tool's purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear usage context, including when to use filters (e.g., 'Use fromAddress/toAddress when looking for a specific wallet's transfers') and what each filter controls. It also gives multiple examples covering different use cases (basic, smart money, DEX filter, from-address filter). However, it does not explicitly compare to sibling tools or state when not to use this tool, so it stops short of the explicit alternative guidance needed for a 5.
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 volumeSorting 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
| Name | Required | Description | Default |
|---|---|---|---|
| request | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description fully carries the burden and does well. It discloses return format (markdown), empty-string behavior, aggregation over time range, DEX-only scope, and filtering semantics. This goes beyond basic schema information and gives the agent a clear picture of what to expect.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with sections for Returns, Columns, Sorting Options, and Notes. It's a bit long but every section adds useful information. The main purpose is front-loaded in the first sentence.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is fairly comprehensive given the tool's complexity, covering purpose, behavior, return columns, sorting, and notes. It is let down by the sorting-field discrepancy and missing parameter explanations, but overall it provides enough context for an agent to invoke the tool correctly in most cases.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description mentions buy_or_sell meaning and sorting, but it incorrectly says sorting is by 'bought_volume_usd' or 'sold_volume_usd' while the schema's orderBy enum actually uses 'token_trade_volume', 'bought_token_volume', and 'sold_token_volume'. It also does not explain key parameters like page, time_range, include_labels, or min_trade_volume_usd, with schema coverage at 0%.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Get TOTAL amount of tokens bought/sold by address for a token on DEX', specifying the verb, resource, and scope. It distinguishes from siblings like token_dex_trades (individual trades) and token_current_top_holders (holders) by focusing on aggregated address-level activity on DEX only.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says '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.' This provides clear context for when to use it, though it does not explicitly mention alternatives or exclusions beyond the DEX-only scope.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| chain | No | all | |
| transaction_hash | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
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 behavioral disclosure. It only says 'Get' which implies a read operation, but does not confirm safety, mention rate limits, authentication, error handling, or any side effects. The behavior remains opaque.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no filler words, making it concise and front-loaded. However, it lacks any structured detail such as parameter examples or usage context, which slightly diminishes its effectiveness but does not add unnecessary length.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Even though an output schema exists, the description is insufficient for confident invocation. With no annotations and 0% parameter documentation, the behavior of 'chain' and the exact scope of 'comprehensive' are undefined, and there is no differentiation from related tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% and the description does not mention the parameters 'chain' or 'transaction_hash' at all. An agent has no information about the meaning, format, or default behavior of the 'chain' parameter, and the required 'transaction_hash' is only identifiable by its name.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states 'Get comprehensive transaction details including token transfers,' which uses a specific verb and resource. It clearly identifies the tool's purpose and the inclusion of token transfers distinguishes it from generic transaction listings, though it does not explicitly compare to sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no context for when to use this tool versus alternatives such as address_transactions or token_transfers. There is no guidance on prerequisites, exclusions, or typical use cases, leaving the agent without direction on selecting it.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| request | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. While 'Get' implies a read operation, the description does not disclose return format, error behavior, or the distinction between realized/unrealized PnL. It also does not mention that the tool is non-mutating or that it may have chain defaults.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the core purpose, and contains no fluff. Every word adds value, making it highly efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has a complex input schema (union type with nested fields) and an output schema exists. The description states the core purpose but does not clarify the request structure, chain default, or the role of showRealized. Given the available schema and output schema, it is minimally adequate but leaves gaps in 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.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% because the top-level 'request' parameter lacks a description. The tool description only mentions 'input address', 'specific token', and 'date range', covering some but not all fields (showRealized, chain). It does not explain how to structure the request object, leaving the agent to infer from the schema alone.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('Get'), the resource ('PnL stats for a specific token'), and the scope (address and date range). It effectively distinguishes from sibling tools like wallet_pnl_summary (wallet-level PnL) and token_pnl_leaderboard (token-level across wallets).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides a clear context: 'Use this tool for analysing the performance of the wallet for the specific token over a time period.' This tells the agent when to apply it, though it does not explicitly mention alternatives or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
wallet_pnl_summaryAnalyzing wallet performanceAInspect
Get aggregate stats of overall realized PnL for the input address. For Hyperliquid perp traders (chain='hyperliquid'), includes realized PnL from fills plus a current unrealized snapshot of open positions. For chain='all'/'evm' on an EVM address, reports spot/on-chain and Hyperliquid perp results as separate sections (never summed). For a single named chain, this tool covers realized PnL only. Use this tool for analysing the performance of the wallet over a time period.
| Name | Required | Description | Default |
|---|---|---|---|
| request | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses key behavioral nuances: Hyperliquid perp includes realized plus unrealized snapshot, EVM/all reports separate sections and never sums, and named chains report realized PnL only. This goes beyond the obvious read-only nature and helps set expectations, though exact output fields are left to the output schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is five sentences long, with the main point up front and chain-specific rules logically grouped. Every sentence adds value, though the final sentence is mildly redundant with the first. Still, it is well-organized and appropriately sized for the tool's complexity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has an output schema, so return values are covered separately. The description addresses the main decision points (which chain to query, what to expect for each), making it complete enough for an agent to invoke correctly. It omits edge cases like invalid addresses or unsupported chains, but these are not critical for successful use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds significant meaning to the 'chain' parameter by detailing its behavioral implications ('chain='hyperliquid'' vs 'chain='all'/'evm''). However, it does not elaborate on walletAddress or dateRange beyond 'input address' and 'over a time period', leaving those semantics to the schema. With schema coverage indicated at 0%, this is a partial but incomplete compensation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's primary function: 'Get aggregate stats of overall realized PnL for the input address.' This specific verb+resource combination distinguishes it from siblings like wallet_pnl_for_token, which targets token-specific PnL. The chain-specific behavior is also summarized, further clarifying scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit usage context: 'Use this tool for analysing the performance of the wallet over a time period.' It also explains how chain choices affect results, helping the agent decide which chain to pass. It does not name alternative tools explicitly, but the timing and scope guidance are clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Servers
- Flicense-qualityAmaintenanceKOL, smart money & whale wallets API on Solana, BNB, Base, ETH: Wallet tracker, Leaderboard
- AlicenseAqualityCmaintenanceEnables AI assistants to access real-time on-chain crypto analytics, whale tracking, and market metrics through natural language queries. It provides access to over 245 endpoints for comprehensive data analysis of assets like Bitcoin, Ethereum, and stablecoins.71236MIT
- Alicense-qualityCmaintenanceAI-powered Solana DEX smart money signals. Detects whale/dolphin accumulation, divergence patterns, and market phase across 170+ tokens. Pay-per-call via x402 USDC micropayments.1621MIT
- Alicense-qualityCmaintenanceSolana on-chain intelligence API — token scans, wallet PnL, bundle detection, fresh wallets, dev profiling. MCP server for Claude, Cursor & AI agents. Live PumpFun/Raydium streams1MIT