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.1/5 across 35 of 35 tools scored. Lowest: 2.8/5.
The tool set has clear thematic groupings (address analysis, token analysis, prediction markets, etc.), but significant overlap exists within groups. For example, multiple tools provide token holder or flow data (token_current_top_holders, token_flows, token_recent_flows_summary) with nuanced differences that could confuse an agent. Similarly, several tools target prediction markets with overlapping functionalities (e.g., prediction_market_pnl_leaderboard vs. prediction_market_address_pnl). Descriptions help, but boundaries are not always distinct.
Naming is mostly consistent with a verb_noun or noun_verb pattern, using snake_case throughout (e.g., address_counterparties, token_ohlcv). However, there are minor deviations, such as general_search (adjective_noun) and some tools with compound nouns (smart_traders_and_funds_perp_trades). These inconsistencies are minor and do not severely hinder readability, but they break perfect uniformity.
With 35 tools, the count is excessive for a single server, making it heavy and potentially overwhelming. While Nansen covers multiple domains (on-chain analysis, prediction markets, Hyperliquid), the tool set feels bloated with many specialized or overlapping tools (e.g., multiple prediction market tools for different aspects). A more modular approach with fewer, broader tools would be more appropriate for agent usability.
The tool set provides comprehensive coverage across its intended domains: address analysis (balances, transactions, counterparties), token analysis (info, flows, screening, scores), prediction markets (lookup, OHLCV, orderbook, etc.), and specialized areas like Hyperliquid. It supports both on-chain tokens and perpetual futures, with clear CRUD-like operations and no obvious dead ends. Gaps are minimal, such as missing NFT support, which is explicitly noted and not part of the stated purpose.
Available Tools
37 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 |
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 full behavioral disclosure burden. It discloses pagination (25 per page), default sorting (net value), return content (top 3 tokens per counterparty), clamping behavior for time ranges (max 365 days), and sorting options. This is thorough but could mention rate limits or auth requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with a clear main statement, a bulleted 'Note' section, sorting options list, and two JSON examples. It is somewhat lengthy but every section serves a purpose, and the examples clarify usage. Slightly verbose but justified by 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 (multiple input options, sorting, grouping, time range) and the presence of many sibling tools, the description covers purpose, usage, behavior, and parameter semantics comprehensively. An output schema exists to document return values, so the description is complete without needing to detail return 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?
The description adds significant meaning beyond the input schema, such as default sort order, per-page count, return structure details, and time range clamping. It also explains sorting fields and provides examples. Despite context signal of 0% schema coverage, the actual schema includes field descriptions, but the description enriches them substantially.
Input schemas describe structure but not intent. Descriptions should explain 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 25 (per page) addresses or entities with the most common interactions with input addresses'. This specific verb+resource definition distinguishes it from sibling tools like address_transactions or address_related_addresses.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 a 'Note' section with explicit guidance on how to use the tool effectively (focus on direct value transfers, include CEX deposit addresses, go one level deeper). It provides context for when to use it but does not explicitly exclude alternatives or state when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
address_dex_tradesChecking wallet DEX tradesAInspect
Get a wallet's individual DEX trades (token swaps) on a single chain — the
bought/sold token pair, amounts, and USD value per trade, newest first.
Wallet-centric companion to token_dex_trades (which is token-centric).
Chain: one per call ('all'/'evm' unsupported). EVM wallets MUST pass chain
explicitly (e.g. ethereum, base, arbitrum); non-EVM (e.g. Solana) is
auto-detected. Call once per chain to span multiple networks.
Columns: Time, Bought / Bought Amount, Sold / Sold Amount, Value USD, Tx Hash.
Sort (order_by, asc/desc): timestamp, value. Filter by valueUsd range.
Example: { "address": "0x1f2f10d1c40777ae1da742455c65828ff36df387", "chain": "ethereum", "dateRange": {"from": "7D_AGO", "to": "NOW"} }
| 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, description covers main behavior: returns trades newest first, columns listed, sort/filter options. Missing details on pagination (page parameter not described) and error handling for invalid addresses. Adequate but not comprehensive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Description is well-structured: opening sentence, chain rules, columns, filter/sort, then example. Front-loaded with purpose. Slightly long but every sentence earns its place; 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?
Given complexity (multiple parameters, no annotations, output schema exists), description covers input well but omits pagination behavior and potential errors. With output schema present, return details are assumed, but behavioral gaps remain.
Complex tools with many parameters or behaviors need more documentation. Simple 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, so description must compensate. It provides meaning for address, chain constraints, dateRange, orderBy, valueUsd filter, and sort order. Example clarifies usage. Does not fully explain all parameters (e.g., page is undocumented), but adds significant value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description states 'Get a wallet's individual DEX trades (token swaps) on a single chain' with specific details on returned data (bought/sold token pair, amounts, USD value, newest first). Clearly distinguishes from sibling token_dex_trades by being wallet-centric.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Description explains when to use this tool (wallet-centric), compares to token_dex_trades, and specifies chain constraints ('all'/'evm' unsupported, EVM wallets must pass chain explicitly, non-EVM auto-detected). Lacks explicit alternatives for other wallet tools, but sibling list provides context.
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 |
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 behavioral traits such as pagination, data scope, or rate limits. The description only states the basic action, omitting any additional 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 a single, efficient sentence with no wasted words. It is front-loaded with the key action and resource.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having an output schema, the tool's description does not explain mutual exclusivity of address/entity_id parameters, default values, or the result structure. For a tool with multiple parameter options and constraints, the description is insufficiently complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, meaning the tool description does not describe parameters. While the input schema includes descriptions for sub-properties (e.g., address, entity_id), the tool description itself adds no parameter semantics. The agent receives no extra 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?
The description clearly states the verb 'Get' and the resource 'historical native coin & token balances of address'. It distinguishes from sibling tools like address_portfolio (current portfolio) and address_transactions (transaction history) by specifying 'historical' and '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 provides no guidance on when to use this tool versus alternatives (e.g., address_portfolio for current balances, token_current_top_holders for holder lists, etc.). It lacks explicit statements of context, prerequisites, or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
address_portfolioLoading portfolio dataAInspect
Get comprehensive portfolio overview for a wallet address or entity.
Hyperliquid perpetual positions include liquidation prices to support risk analysis workflows.
For wallet addresses, supports different modes:
'fast-mode-default': Wallet balances + Hyperliquid positions (skip defi, for fast mode only)
'all': Wallet balances + DeFi positions + Hyperliquid positions
'wallet_balances': Only token balances (tokens and native coins across all chains)
'defi': Only DeFi positions (lending, staking, LP tokens, etc., excluding Hyperliquid)
'hyperliquid': Only Hyperliquid data — perp positions (with liquidation prices and margin summary) plus HL spot wallet balances
For entities (e.g., "Binance", "Paradigm Fund"), only on-chain token balances are returned, aggregated across all addresses associated with the entity.
This tool provides flexible portfolio analysis in a single request, allowing users to focus on specific aspects of their holdings.
The output is pre-formatted markdown that should be presented exactly as returned, preserving all tables, sections, and formatting without reinterpretation.
Example Usage:
Get full comprehensive portfolio for a wallet:
{ "walletAddress": "0x28c6c06298d514db089934071355e5743bf21d60", "mode": "all" }
Get only DeFi positions (returns raw JSON):
```
{
"walletAddress": "0x28c6c06298d514db089934071355e5743bf21d60",
"mode": "defi"
}
```
Get only Hyperliquid positions (returns raw JSON):
```
{
"walletAddress": "0x28c6c06298d514db089934071355e5743bf21d60",
"mode": "hyperliquid"
}
```
Get token balances for an entity:
```
{
"entity_id": "Binance"
}
```| 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, but the description fully discloses behavioral traits: which data each mode returns, output format (markdown vs raw JSON), and that entities only return token balances. It covers all important aspects without contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is somewhat long but well-structured with clear sections, bullet points, and examples. It front-loads the main verb and resource, then details modes. Could be slightly more concise, but the structure aids readability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (multiple modes, entity vs wallet, output format differences) and the presence of an output schema, the description is complete. It explains all essential aspects without relying on the output schema for return value details.
Complex tools with many parameters or behaviors need more documentation. Simple 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% (the schema's own descriptions are insufficient), but the tool description compensates with detailed explanations of each mode and parameters. It adds meaning beyond the schema, especially for 'mode' and the mutual exclusivity of walletAddress/entity_id.
Input schemas describe structure but not intent. Descriptions should explain 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 provides a comprehensive portfolio overview for a wallet address or entity. It distinguishes between wallet addresses and entities, and lists the different modes and their focuses. This distinguishes it from sibling tools like address_counterparties, address_dex_trades, etc.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 guidance: when to use wallet modes vs entity, the meaning of each mode, required mutual exclusivity of walletAddress and entity_id, and output format differences. Example JSON for each use case is given, making it easy for an agent to select and invoke correctly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
address_transactionsFetching transaction historyBInspect
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?
Without annotations, the description carries the burden. It discloses that it returns 20 most recent transactions per page and filters by date range. However, it does not mention pagination details beyond 'per page', default values, rate limits, or whether it is read-only.
Agents need to know what a tool does to the 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 long, front-loads the core purpose, and contains no extraneous information. 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?
Despite the presence of an output schema, the description does not explain the output format or the structure of the required 'request' parameter. It omits details about default date range, chain support, and spam filtering, leaving significant gaps for agent usage.
Complex tools with many parameters or behaviors need more documentation. Simple 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 explain any of the parameters (request, page, chain, address, dateRange, hideSpamToken). It adds no value beyond what the schema provides, which itself has no 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 verb 'Get' and the resource 'list of transactions made by an address', and specifies constraints (20 most recent, per page, date range). It distinguishes from sibling tools by focusing on generic address transactions rather than specific token transfers or single transactions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 like transaction_lookup or token_transfers. There is no mention of context or exclusion criteria for use.
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 full burden. It discloses the tool's behavior: searches tokens, entities, addresses; returns price, volume, contract, chain, market cap, labels, domain resolution; has max_results and result_type filters; does not support NFTs or prediction markets. It does not mention data freshness, rate limits, or pagination details, but covers key behavioral traits well.
Agents need to know what a tool does to the 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: a single opening sentence for purpose, followed by warnings and a bulleted list of capabilities. Every sentence is informative and necessary. It is front-loaded with the most critical information and avoids redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (4 parameters, many sibling tools, output schema exists), the description is complete. It explains the tool's scope, what it returns, parameter usage, and exclusions. The existence of an output schema reduces the need to detail return values, and the description adequately covers the remainder.
Complex tools with many parameters or behaviors need more documentation. Simple 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%, baseline 3. The description adds significant value beyond schema: it explains usage conventions ('DO NOT include chain name here!'), notes valid chain values, and describes what each result_type returns. This enhances parameter understanding beyond the schema 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 clearly states the tool is a general search first entry point for tokens, entities, and addresses. It explicitly distinguishes from prediction market queries by naming the alternative tool `prediction_market_lookup`, and notes Nansen MCP does not support NFTs but advises to check if the query relates to a token. This provides specific verb+resource and distinguishes from siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit when-to-use ('first entry point'), when-not-to-use (prediction markets), and names the alternative tool. It also provides parameter usage advice (e.g., 'DO NOT include chain name here!' and 'ALWAYS use this parameter instead of adding chain name to the query string'). This is comprehensive usage 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?
Annotations are absent, so the description carries full responsibility for behavioral disclosure. The description only states the tool 'gets' rankings, implying read-only, but does not address authentication, rate limits, or error scenarios. More detail would be beneficial.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, under 20 words, front-loaded with the key action and resource. No unnecessary words or redundancy. Excellent conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the presence of an output schema (not shown), the description does not need to explain return values. However, for a tool returning rankings, absence of details on sorting or pagination context makes it slightly incomplete. Still 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?
Schema coverage is 100% with descriptions for each parameter (chain_type and time_frame). The tool description does not add additional semantics beyond what the schema provides. 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 the tool retrieves chain growth rankings with specific criteria (active addresses, transactions, gas fees, DEX volume). The verb 'Get' and resource 'chain growth rankings' are explicit. Although not explicitly differentiated from siblings, the focus on chain-level growth distinguishes it from address/token 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?
No guidance on when to use this tool versus alternatives. The description does not mention any prerequisites, use cases, or exclusions. An agent would have to infer usage from the tool name and description alone.
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?
The description mentions the return format (markdown), columns, and sorting/filtering options. However, it does not disclose pagination behavior, data freshness, or any error/edge-case handling. Since there are no annotations, the description carries a moderate burden but falls short of full transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with clear sections (introduction, returns, columns, sorting/filtering, example, notes). It is not overly verbose and every section adds value, though some sentences could be slightly more compact.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the presence of an output schema and the detailed description of columns and filtering, the tool description is fairly complete. It explains the return format and provides an example. However, it lacks information on pagination (the parameter 'page' is not mentioned) and potential API limits.
Complex tools with many parameters or behaviors need more documentation. 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 context beyond the input schema by listing the specific columns returned and the fields available for sorting/filtering (totalPnl, accountValue, roi). It also provides a concrete example. The schema already contains parameter descriptions, so the description enriches understanding without redundancy.
Input schemas describe structure but not intent. Descriptions should explain 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' and the specific resource 'Hyperliquid perpetual futures trader leaderboard with performance metrics'. It distinguishes itself from sibling leaderboard tools (e.g., token_pnl_leaderboard) by specifying the Hyperliquid perpetual futures domain.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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. Sibling tools include many other leaderboards and trader-related tools, but the description lacks explicit when-to-use or when-not-to-use instructions.
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 provided, but description fully discloses behavior: pre-filtered by performance_score >=15, explains scoring ranges, notes dynamic indicator columns, and instructs agent to explain thresholds to user. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Well-structured with clear sections, front-loaded purpose and usage. Uses markdown headings and bullet points. Every sentence adds value; no 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?
Given only one simple parameter and the presence of an output schema, the description covers purpose, usage, scoring, and return format sufficiently. Agent can correctly invoke and interpret results.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Only one parameter 'request' with an optional marketCapGroup. The schema already describes marketCapGroup. The tool description does not elaborate on the parameter beyond its existence. Schema coverage is 0% for the outer parameter, but the inner field has description; still, description adds no extra semantic value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it ranks top tokens by Nansen Score, and distinguishes from sibling tools like token_discovery_screener and token_quant_scores. The title reinforces this.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly tells when to use (don't know tokens to buy, need recommendations) and when not (use token_quant_scores for specific token, token_discovery_screener for live data/custom criteria). Provides clear alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
prediction_market_address_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 partially compensates by explaining that blank PnL fields mean unavailable data (not zero) and clarifying the meaning of Position Size vs. Position Value. However, it does not disclose any side effects, rate limits, or address validation requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short, front-loaded, and uses bullet points to highlight key output fields. Every sentence adds value 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 covers important output interpretation (blank fields, position semantics). Although it omits pagination details, the schema documents the 'page' parameter. Given the tool's simplicity, the description is 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 input schema has brief descriptions for the 'address' and 'page' parameters. The tool description adds value by explaining output fields (blank handling, position interpretation), but it does not elaborate on the request parameter structure or provide additional parameter-level 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?
The description clearly states it provides a 'PnL breakdown for a Polygon wallet', specifying the resource (prediction market PnL for a wallet) and verb (checking). This distinguishes it from sibling tools like prediction_market_address_summary and prediction_market_position_detail.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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. There is no mention of prerequisites, when-not to use, or comparison to sibling tools.
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 full burden. It notes that empty PnL/ROI fields mean unavailable data, not zero, which adds transparency. However, it does not explicitly state that the tool is read-only or safe, nor does it discuss error behavior or API limits. Still, it provides useful context beyond the schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise with three short paragraphs. The first sentence states purpose, followed by clear usage guidelines and key fields. Every sentence adds value, and it is front-loaded with the most important information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complex input schema with anyOf and low schema coverage, the description should explain the request structure more thoroughly. It does mention the address and key output fields, and with an output schema present, return values need not be detailed. However, the pagination parameter is not addressed, leaving a gap for completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must compensate. It states the tool requires a 'Polygon wallet address,' which is the key input, but does not explain the complex anyOf structure of the 'request' parameter or the 'page' field. The description adds some context but insufficiently clarifies input syntax.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool provides 'Prediction market summary metrics for a Polygon wallet.' It lists key fields and explicitly differentiates from sibling tools like prediction_market_address_pnl and prediction_market_address_trades by positioning itself as a first wallet-level Polymarket tool for a quick 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 description includes a 'When to use' section with two bullet points: 'First wallet-level Polymarket tool for a quick trader overview' and '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.' This provides clear guidance and alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
prediction_market_address_tradesChecking prediction market address tradesAInspect
Prediction market trade history for a Polygon wallet.
Key fields:
Share 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 full burden. It explains key fields (Share Size, Value USD) to prevent misinterpretation and warns about pitfalls (not for profitability). However, it does not disclose whether the tool is read-only, required permissions, rate limits, or how it handles missing data. It adds value beyond the schema but is incomplete for a tool without annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise: three short items (purpose, key fields, pitfalls) with no extra fluff. Every sentence adds value, and the structure is front-loaded with the purpose. Ideal for quick scanning by an AI 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 has an output schema (context signals say yes), so return values are covered. However, the description does not mention the 'request' parameter's structure or how to use date range tokens, pagination, or the address field. Given that the schema partially includes descriptions, the description still lacks completeness for a tool with one complex nested parameter. Leaves gaps about constructing the request 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%, so the description should compensate, but it does not explain how to structure the 'request' parameter. The schema itself provides descriptions for sub-properties (e.g., address, page, dateRange), so the schema is partially descriptive. The description adds no parameter guidance, only output field explanations. With 0% coverage, a score of 2 is appropriate as it falls short of compensating.
Input schemas describe structure but not intent. Descriptions should explain 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.' This distinguishes it from sibling tools like prediction_market_address_pnl (profit/loss) and prediction_market_address_summary (summary). The verb 'trade history' and resource 'Polygon wallet' are specific and immediately informative.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 for wallet trade activity, not profitability,' which provides a clear when-not usage. However, it does not compare to other wallet tools or mention alternatives, losing a point for limited comparative guidance.
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?
No annotations provided, but description explains that results include current prices, last trade price, and bid/ask inline. It also states output rules (say explicitly if no suitable market). Could mention read-only nature, but adequate.
Agents need to know what a tool does to the 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 sections and bold headings. Front-loaded with purpose. Slightly long but every part adds value. Efficient considering 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 high complexity (events vs markets, multiple parameters) and presence of output schema, the description covers usage, query tips, output details, and edge case behavior completely.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has 1 parameter (request) with detailed inner descriptions. The description adds context on how queryVariant relates to query and when to use includeEventMarkets, beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool searches for prediction markets by name, topic, URL, or slug, distinguishes between events and markets, and provides examples. It sets the scope precisely.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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: 'First tool when user asks about a specific PM topic...', 'Do NOT use general_search', and recommends prediction_market_ohlcv for price history. Also advises on queryVariant and includeEventMarkets usage.
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?
No annotations are provided, so the description carries full burden. It discloses that results are for one exact marketId and warns against mixing markets. It also instructs to say so directly if no candles are returned. It does not mention read-only nature, but it's implied by historical data. The description is transparent about constraints and expected 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-structured with clear sections (When to use, Key fields, Pitfalls, Prerequisites). It is concise—only three sentences for the core purpose plus bullet points. Every sentence adds value 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?
Given the tool has an output schema, the description does not need to detail return values. It covers prerequisites, pitfalls, and usage context. The key fields section explains the main output fields (Close, binary market complementarity). It is complete for the tool's complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description does not add much to the parameter schema beyond the caution about not mixing marketId. The schema itself has detailed descriptions for all parameters, so the baseline is 3. The description adds a behavioral constraint (do not mix dates/prices across different markets) but no semantic enrichment of parameters.
Input schemas describe structure but not intent. Descriptions should explain 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: 'Historical odds/volume candles for a Polymarket market.' It includes a 'When to use' section and distinguishes from siblings by specifying it returns price history. The verb 'Loading' in the title aligns with 'historical' in the description.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 states 'When to use' and provides prerequisites (use prediction_market_lookup if marketId unknown). It also advises on handling empty results. However, it lacks explicit exclusions or alternatives, such as when to use prediction_market_trades instead.
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?
Given no annotations, the description discloses key behavioral traits: order size is share quantity, not USD; explains Yes/No price complementarity; warns about misinterpreting no-side prices as bearish odds. This covers what the tool does and how to interpret results, which is beyond basic transparency.
Agents need to know what a tool does to the 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 headings (When to use, Key fields, Yes/No relationship, Pitfalls, Prerequisites). Each section adds value and the total length is appropriate for the complexity. Information is front-loaded with the 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?
Despite the complexity of interpreting an orderbook, the description provides sufficient context: how to use, key field interpretations, pricing relationships, pitfalls, and prerequisites. With an output schema available, the return values are covered. No major 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?
Parameter schema descriptions for marketId and page are present but the tool description does not add significant meaning beyond them. Schema coverage is 0% per context, but the description indirectly mentions marketId in prerequisites. The request parameter's anyOf structure is not clarified, and the description does not elaborate on parameter usage beyond context.
Input schemas describe structure but not intent. Descriptions should explain 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 'Live orderbook for a Polymarket market', specifying the exact resource and action. It differentiates from sibling tools like prediction_market_trades and prediction_market_ohlcv by focusing on bid/ask depth and order structure.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 'When to use' section listing bid/ask depth, liquidity, and order structure. 'Pitfalls' section advises against misinterpreting no-share prices and directs users to prediction_market_ohlcv for current odds. 'Prerequisites' instructs to call prediction_market_lookup if marketId is unknown, covering when-not-to-use and alternatives.
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 covers key behavioral aspects: the 'Side Held' field behavior and handling of blank PnL fields. It does not disclose authentication or error behavior, but the output schema reduces need for return value details.
Agents need to know what a tool does to the 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 bullet points for 'When to use,' 'Key fields,' 'Pitfalls,' and 'Prerequisites.' Every sentence adds value 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?
Given the output schema exists and annotations are absent, the description covers prerequisites, pitfalls, and primary use case. However, it does not explain the free-form request variant in the input schema, which is a minor 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?
Despite 0% schema description coverage on the top-level parameter, the description adds no meaning to the 'request' parameter beyond what is in the schema. It mentions output fields but does not explain the parameter structure or the free-form alternative in the union type.
Input schemas describe structure but not intent. Descriptions should explain 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 specifies 'Only for profitability claims,' distinguishing it from related tools like top holders. It explicitly warns against substituting top holders for PnL, clarifying 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?
Provides explicit 'When to use' and 'Prerequisites' sections, including the alternative tool 'prediction_market_lookup' for obtaining marketId. Pitfalls warn against misinterpreting blank PnL fields, offering concrete guidance on correct usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
prediction_market_position_detailLoading prediction market positionAInspect
Detailed position breakdown for a Polymarket market.
Key fields:
Position Size (Shares)is quantity held in this market.Position Value 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?
No annotations are provided, so the description must convey behavioral traits. It explains key fields (Position Size, Value, Cost Basis, Unrealized PnL) and notes that Cost Basis and Unrealized PnL apply only to the displayed row. However, it does not disclose read-only nature, authentication needs, or error handling for invalid marketId.
Agents need to know what a tool does to the 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, using bullet points for key fields. It front-loads the main purpose and provides necessary detail without verbosity. No redundant sentences.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description explains output fields and provides a prerequisite. However, it omits pagination context (page parameter) and does not clarify that the tool returns the current user's position (implying authentication). With an output schema, some return details are covered, but context lacks completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, meaning the main description does not detail parameters. The description only indirectly mentions marketId via the prerequisite. The page parameter is not discussed. The schema itself provides parameter descriptions, but the tool description fails to add 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 clearly states it provides a 'Detailed position breakdown for a Polymarket market,' specifying verb (position breakdown) and resource (Polymarket market). The title 'Loading prediction market position' also aligns. It distinguishes from siblings like prediction_market_address_summary by focusing on a single market's detail.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 prerequisite: if marketId is unknown, call prediction_market_lookup first. This guides the agent on obtaining required input. However, it does not explicitly state when not to use this tool or compare to alternatives like 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 provided, so description carries full burden. It discloses query behavior (literal-style matching, not fuzzy), output rules (superlatives must match shown metric, no inference from titles), and instructions for empty results. Lacks explicit statement of read-only nature, but overall sufficiently transparent.
Agents need to know what a tool does to the 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 sections ('When to use', 'Query tips', 'Output rules'). Content is substantial and necessary, though slightly verbose. Each section earns its place; could be more concise without losing value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers tool usage comprehensively: when to use, how to query, how to interpret output, and edge case handling (empty results). With an existing output schema and good sibling differentiation, this description is complete for a screener 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% at the top level, but sub-parameters in the schema have descriptions. The description adds practical query tips (e.g., prefer short topic, avoid bundling unrelated topics) that enrich the parameter semantics and guide effective use 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?
Clearly states the tool browses and sorts Polymarket markets, events, or categories, and explicitly distinguishes itself from the sibling tool prediction_market_lookup by specifying when not to use it (for resolving a single named market/event/slug/URL).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Dedicated 'When to use' section with explicit instructions: use for broad discovery and ranked browsing; do not use for singular resolution. Also provides query tips and output rules, giving clear guidance on when and how to employ this tool versus alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
prediction_market_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 provided, so the description carries the full burden. It discloses key behavioral traits: positions are share balances, position value is current marked value, output summary is based only on shown rows, and warns against misinterpreting smart money. This adds significant transparency.
Agents need to know what a tool does to the 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: 'Key fields', 'Pitfalls', and 'Prerequisites'. It is concise (about 10 lines) and front-loads the main purpose. Every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers key fields, pitfalls, and prerequisites. Given that the tool has an output schema (not shown), the description does not need to explain return values. It is sufficiently complete for a data retrieval tool, though it could mention pagination behavior more explicitly.
Complex tools with many parameters or behaviors need more documentation. 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 has descriptions for nested parameters (e.g., marketId, page, orderBy), but context signals indicate 0% schema description coverage (possibly counting only top-level). The description does not explain the parameters beyond mentioning marketId as a prerequisite. For a tool with schema coverage effectively 0%, the description should compensate, but it does not add meaning to the parameters.
Input schemas describe structure but not intent. Descriptions should explain 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 'Largest current holders for a Polymarket market,' which specifies the verb (find largest holders), resource (Polymarket market), and distinguishes it from sibling tools like prediction_market_address_summary or token_current_top_holders.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Includes explicit prerequisite: 'If marketId is unknown, call prediction_market_lookup first.' Also provides pitfalls about not inferring risk or smart money. However, it does not explicitly compare with alternative tools or state when not to use this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
prediction_market_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 fully covers behavioral traits: it is a read operation, explains key output fields (Share Size, Value USD), clarifies that each row is one trade leg, and warns about misinterpretation. No contradictions with annotations since none exist.
Agents need to know what a tool does to the 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 headings (When to use, Key fields, Pitfalls, Prerequisites). Every sentence adds value without redundancy. It is appropriately front-loaded with the main 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?
Given the existence of an output schema (not shown), the description adequately covers the tool's purpose, usage, and pitfalls. It lacks explicit detail on pagination (page parameter) and default date range behavior, but overall it is sufficiently complete for a trade-listing 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%, meaning the parameter descriptions in the schema are not counted. The description only hints at marketId through prerequisites but does not explain page, dateRange, or the generic request object. It adds value for output fields but not for input parameters, leaving the agent with incomplete understanding.
Input schemas describe structure but not intent. Descriptions should explain 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,' specifying the verb (checking recent trades) and resource (Polymarket market). It distinguishes from siblings like prediction_market_ohlcv and prediction_market_orderbook through explicit usage guidance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 provides explicit guidance: 'Source of truth for recent fills and latest trade-tape pricing. Do not overwrite recent trade prices with older OHLCV candles.' It also gives a prerequisite: if marketId is unknown, call prediction_market_lookup first. Pitfalls warn against misinterpreting large trades.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
smart_traders_and_funds_perp_tradesTracking Smart Money perp tradesAInspect
Get recent Hyperliquid perpetual futures trades from Smart Traders and Funds across all tokens.
This tool provides granular smart trader and funds activity. For a big picture view of smart traders and funds activity across all tokens, use token_discovery_screener with traderType="sm" filter.
Note: This endpoint is Hyperliquid-only (perpetual futures data). It returns recent trades only (no date filtering available).
Columns returned:
Time: Timestamp when the trade occurred (datetime: YYYY-MM-DD HH:MM:SS)
Side: Position direction - Long or Short
Action: Order action - Add, Reduce, Open, Close
Token: Symbol of the perpetual contract
Size: Quantity of the perpetual contract (numeric)
Price USD: Price per token at time of trade (price formatted)
Value USD: Total USD value of the trade (currency formatted)
Trader: Nansen label of the trading address
Tx Hash: Blockchain transaction hash for verification
Sorting Options (all fields support "asc"/"desc"): Available for sorting: timestamp, amount, price_usd
Examples:
# Get recent smart money perp trades (sorted by amount)
{ "orderBy": "amount", "order_by_direction": "desc" }
# Filter by action and side
```
{
"action": "Open",
"side": "Long",
"includeSmartMoneyLabels": ["Fund", "All Time Smart Trader"]
}
```| 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. Clearly states data source (Hyperliquid perp), limitation to recent trades, lists returned columns, and sorting options. Could mention auth requirements but overall transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Well-structured with header, columns list, sorting info, and examples. Slightly long but each section adds value. Front-loaded with 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?
Covers data scope, limitations, columns, sorting, and examples. Pagination not explained in description but present in schema. Adequate for a data-fetching 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% (per context), so description compensates fully by explaining columns, sorting fields, and providing multiple examples that demonstrate parameter usage.
Input schemas describe structure but not intent. Descriptions should explain 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 retrieves recent Hyperliquid perpetual futures trades from Smart Traders and Funds across all tokens. It distinguishes itself from the sibling tool token_discovery_screener for a big picture view.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 mentions when to use this tool vs. token_discovery_screener, notes Hyperliquid-only limitation and no date filtering. Provides examples but does not explicitly say when not to use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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?
Without annotations, the description carries the burden. It discloses aggregation, exclusions, and default chain behavior, but lacks details on performance, rate limits, or error scenarios.
Agents need to know what a tool does to the 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 key purpose, no fluff. Concise and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. 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 main functionality and output type, but misses mention of pagination, default page, or sorting options. Output schema exists, so return format detail is optional, but pagination context would help.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description only says 'Use filters to narrow down the results' – adds no specific parameter meaning. Despite schema having detailed parameter descriptions, the context indicates 0% coverage, so the description fails to compensate.
Input schemas describe structure but not intent. Descriptions should explain 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 gets aggregated token balances and 24h change for smart traders and funds, excluding whales and influencers. It specifies the resource and action, distinguishing it from perp trades sibling.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides some context (aggregated, not per wallet, excludes whales) but does not explicitly guide when to use this tool versus alternatives like per-wallet tools or other smart money tools.
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
Examples:
# On-chain tokens (default mode)
{ "mode": "onchain_tokens", "chain": "ethereum", "token_address": "0xa0b86a33e6b6c4b3add000b44b3a1234567890ab", "label_type": "top_100_holders" }
# Hyperliquid perpetual futures
```
{
"mode": "perps",
"token_address": "PENGU",
"label_type": "smart_money"
}
```
# Find most active senders using filters
```
{
"mode": "onchain_tokens",
"chain": "ethereum",
"token_address": "0xa0b86a33e6b6c4b3add000b44b3a1234567890ab",
"label_type": "smart_money",
"includeSmartMoneyLabels": ["All Time Smart Trader", "Fund"],
"orderBy": "total_outflow",
"order_by_direction": "desc"
}
```
# Find biggest accumulators (who received most tokens)
```
{
"mode": "onchain_tokens",
"chain": "ethereum",
"token_address": "0xa0b86a33e6b6c4b3add000b44b3a1234567890ab",
"label_type": "whale",
"orderBy": "total_inflow",
"order_by_direction": "desc"
}
```
# Perps mode with filters
```
{
"mode": "perps",
"token_address": "ETH",
"label_type": "smart_money",
"side": "Long",
"upnlUsd": {"from": 10000},
"positionValueUsd": {"from": 100000},
"orderBy": "holding_size",
"order_by_direction": "desc"
}
```
**Restrictions exclusively when querying for native tokens (ETH, BNB, etc.):**
- Only supports sorting by `orderBy='holding_size'` (others will fail)
- With `label_type='top_100_holders'`: limited filters (holding_size, total_outflow, total_inflow, address, smart money labels)
- For advanced filters, use different`label_type` or set `aggregate_by_entity=true`
**orderBy Restrictions (use 'holding_size' to avoid API errors):**
- Token address: 0xa0b86a33e6b6c4b3add000b44b3a1234567890ab
**Does not** work for SOL in onchain_tokens mode (tokenAddress So11111111111111111111111111111111111111112). For SOL analysis, use perps mode instead.| 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?
Thoroughly discloses behavior: pagination (25 per page), mode-dependent results, column schemas, sorting options, restrictions for native tokens and specific orderBy values, and explicit failure case for SOL. Annotations absent, so description carries full burden and does so excellently.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Structured with headings, bullet points, and examples. While lengthy, every section serves a purpose (columns, sorting, restrictions, examples). Could be slightly trimmed, but overall efficient for the 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 (two modes, multiple filters, restrictions), the description covers all necessary details: return columns, sorting options, constraints, and comprehensive examples. With an output schema present, this is complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, meaning the description must compensate. It adds value through examples and mode-specific parameter usage, but does not systematically explain each parameter beyond what the schema provides. Still, the examples and notes significantly aid understanding.
Input schemas describe structure but not intent. Descriptions should explain 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 top holders for a token, with two distinct modes (onchain_tokens, perps) and detailed column lists. It effectively distinguishes the tool from sibling tools by focusing on holder analysis.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 guidance on when to use smart_money label, mode selection, and includes examples. However, it lacks explicit comparison to sibling tools or clear 'when not to use' scenarios beyond the smart_money note.
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?
With no annotations, the description carries the burden of behavioral context. It explains modes and a token limitation, but omits important details such as default pagination, sorting behavior, output format (though output schema exists), rate limits, and error handling. The description provides basic functional clarity but lacks depth about runtime 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 concise (two paragraphs) and well-structured with clear mode definitions and a note. Every sentence adds value, though the note about native tokens could be integrated more seamlessly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. 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 (many optional filtering parameters) and the availability of an output schema, the description covers modes and a caveat but does not guide the agent on common usage patterns (e.g., how to filter by action/side, pagination limits). It is adequate but not comprehensive for a data-intensive tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds value by explaining the two modes and the native token note, but does not elaborate on other parameters like page, side, chain, action, or dateRange. While the schema defines them, the description could provide more usage context for complex parameters like valueUsd or dateRange.
Input schemas describe structure but not intent. Descriptions should explain 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 DEX trades for a specific token' and explains two distinct modes (onchain_tokens and perps), which precisely defines the tool's scope and distinguishes it from sibling tools like address_dex_trades (which focuses on an address) and token_info (which provides general token info).
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 guidance on when to use each mode: 'onchain_tokens' for analyzing on-chain tokens by contract address, 'perps' for Hyperliquid perpetual futures by symbol. It also includes a crucial caveat about native tokens (only ETH supported in onchain mode, others should use perps), which prevents misuse.
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 provided, the description carries full burden and discloses all key behaviors: maximum results, chain limit, perps special case returning two sections, timeout risks, default sorting (netflow desc), and that 'priceChange' is not a filter. It also explains what happens with unsupported filters/orderBy (fallback to 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 well-structured with sections, examples, warnings, and bullet points. It front-loads the purpose and key constraints. However, it is quite long (several paragraphs) which could be trimmed for brevity without losing essential information. Every sentence earns its place, but overall length slightly impacts quick scanning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (many parameters, special cases for Hyperliquid, multiple filtering/sorting options), the description is complete. It covers return columns (though output schema exists), edge cases like mixed chains, timeout recommendations, and how to avoid spam tokens. It leaves no significant gaps for an agent to guess.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds significant meaning beyond the schema: it clarifies that priceChange cannot be used as a filter, explains the relationship between traderType and includeSmartMoneyLabels, notes that tokenAgeDays is for filtering only (not sorting), and provides real-world usage patterns through examples. Schema descriptions exist but the tool description provides critical operational context.
Input schemas describe structure but not intent. Descriptions should explain 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 provides 'comprehensive token screening data across multiple blockchain networks with advanced filtering' for 'token discovery and finding trending tokens'. It distinguishes from siblings like token_info (which is for single token details) and token_flows (which focuses on flows) by emphasizing multi-token, multi-chain screening.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 when-to-use and when-not-to-use guidance: maximum 25 results, max 5 chains (excess trimmed), timeout warnings (recommends ≤4 chains, shorter timeframes), specific Hyperliquid perp behavior, and explicit warnings like 'priceChange is NOT a valid filter'. It also advises on traderType usage (use only when explicitly asked). Examples illustrate correct usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
token_flowsTracking token movementsAInspect
Get hourly aggregated token flows for a specific segment of holders over a date range. The segments are Top 100 holders, Whale, Public Figure, Smart Money and Exchange.
Note: Using holder_segment: smart_money is not a good proxy for an overall market view. Use it only if user explicitly requests it, or to combine it with other non smart money data.
This is a more granular tool than token_recent_flows_summary and provides the TOTAL flows over the entire time frame broken down by segment.
Modes:
onchain_tokens(default): Analyze on-chain tokens by contract 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.
| 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?
No annotations provided, so description carries full burden. It discloses modes, limitations on native tokens, and default segment. Could mention response format (hourly aggregated data) but overall transparent about 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?
Well-structured with main purpose first, then notes, then comparison, then modes, then native token note. Slightly verbose but each sentence adds value. Could be more concise but not excessive.
Shorter descriptions cost fewer tokens and are easier for agents to parse. 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 complexity (modes, segments, date ranges, chains) and presence of output schema, description covers all necessary aspects: usage guidelines, limitations, segment recommendations, and mode details. Complete for an AI agent to invoke correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has 100% coverage, but description adds substantial meaning: explains holder_segment options, modes, and provides important usage notes like 'smart_money is not a good proxy' and native token support. Adds value 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?
Description clearly states the tool gets hourly aggregated token flows for a specific holder segment over a date range. It distinguishes from sibling token_recent_flows_summary by noting it is more granular. The verb 'get' and resource 'hourly aggregated token flows' are specific.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 on when to use smart_money segment (only if user requests or combined), and that native tokens are not supported in onchain_tokens mode but are in perps mode. Also compares to token_recent_flows_summary to indicate granularity.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
token_infoLoading token infoAInspect
Get token information — spot on-chain details or Hyperliquid perpetual futures stats.
On-chain tokens mode (default): Returns token details (name, symbol, market cap, FDV, supply, deployment date, socials) and spot trading metrics (volume, buys/sells, buyers/sellers, holders, liquidity).
Perps mode: Returns Hyperliquid perp stats — mark price, funding, open interest, buy/sell pressure, trader participation.
Returns: Token information as markdown.
On-chain tokens fields:
- **Market Cap / FDV**: Market capitalization and fully diluted valuation
- **Circulating / Total Supply**: Token supply metrics
- **Deployed**: When the token was deployed
- **Volume (Total / Buy / Sell)**: Trading volume in USD
- **Buys / Sells**: Number of buy/sell transactions
- **Unique Buyers / Sellers**: Distinct trading addresses
- **Total Holders**: Number of token holders
- **Liquidity**: Available liquidity in USD
Perps fields:
- **Mark Price**: Current perp mark price
- **Price Change**: Change vs previous price
- **Funding Rate (hourly/annualized)**: Current funding rate
- **Open Interest**: Total current open interest in USD
- **Volume (Total / Buy / Sell)**: Perp volume in USD
- **Net Flow (Buy - Sell)**: Buy/sell pressure in USD
- **Traders**: Number of 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?
No annotations are provided, so the description bears the full burden. It discloses the dual-mode behavior, the difference in tokenAddress usage (contract vs. symbol), and the default mode. It does not mention side effects, rate limits, or destructive actions, which are not expected for a read-only tool. The disclosure is thorough.
Agents need to know what a tool does to the 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 sections for modes, returns, examples, and notes. It is front-loaded with a clear summary. However, the returns section is lengthy and repeats field details that may be covered by the output schema, making it slightly verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. 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 two modes and the presence of an output schema, the description covers the essential aspects: mode selection, parameter differences, and return fields. It lacks guidance on when to choose this tool over similar siblings, but overall it provides sufficient context for the agent to use 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%, so the description must compensate. It explains the 'mode' parameter fully, the difference between contract address and symbol for tokenAddress, and provides examples with each parameter shown in context. The description adds meaning beyond the schema, especially for the nested request structure.
Input schemas describe structure but not intent. Descriptions should explain 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 token information — spot on-chain details or Hyperliquid perpetual futures stats', providing a specific verb and resource. The two modes are explicitly defined, distinguishing the tool from siblings that focus on specific aspects like trades, OHLCV, or holders.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 via two modes but does not explicitly state when to use this tool versus other token-related siblings (e.g., token_dex_trades, token_ohlcv). There is no guidance on use cases or exclusions, so the agent lacks clarity on when this tool is the best choice.
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?
No annotations provided, so the description carries full burden. It discloses automatic resolution calculation based on date range, column descriptions, and special handling for Hyperliquid perps. It does not explicitly state read-only nature, but the context (OHLCV data) implies it. Good behavioral coverage, though a statement like 'This is a read-only operation' would improve clarity.
Agents need to know what a tool does to the 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 (introduction, bulleted resolution rules, table of columns, multiple examples). It is front-loaded with the core purpose. Every sentence adds value, and the examples are varied and instructive. Concise for the amount of information conveyed.
Shorter descriptions cost fewer tokens and are easier for agents to parse. 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 chains, auto-resolution, optional parameter), the description is complete. It covers supported chains, date range formats, resolution logic, column output (including optional market cap columns), and special cases for Hyperliquid. With an output schema present, the description need not explain return values beyond what it provides.
Complex tools with many parameters or behaviors need more documentation. Simple 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%, but the description compensates comprehensively. It explains each parameter: chain, tokenAddress, date (with from/to format and examples), and includeMarketCap (booleans and defaults). Resolution logic is detailed. Examples demonstrate exact usage patterns, making parameter semantics crystal clear.
Input schemas describe structure but not intent. Descriptions should explain 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 OHLCV price data for tokens with automatic interval resolution. It explicitly distinguishes itself from general_search, advising agents to use this tool for prices instead. The verb 'Get' and resource 'OHLCV price data' are specific, and the scope (EVM chains, Solana, Hyperliquid perps) is well-defined.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 instructs to use this tool over general_search for prices, citing that general_search prices are delayed and often incorrect. It provides detailed examples for various scenarios (WETH, BTC perp, latest price). It indirectly advises when to use (for OHLCV data) and when not (for general search). No explicit exclusions but highly practical.
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 provided, the description carries full burden. It discloses the tool only returns top 25 results, explains sorting and filtering limitations, and mentions unsupported chain. However, it lacks details on side effects, rate limits, or query response time, and does not fully compensate for the absence of annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is comprehensive but verbose, with multiple sections (Modes, NOTE, Returns, Sorting, Filtering, Examples, Notes). It is well-structured with headings and bullets, but could be more concise by removing repetitive elements like the full column list which could be inferred from 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?
Given the tool's complexity (two modes, numerous filters, sorting options, and examples), the description is thorough. It covers modes, limitations, return format, and practical use cases. Output schema exists, so detailed column listing is acceptable. Minor gaps include not specifying pagination behavior beyond the 25-result limit.
Complex tools with many parameters or behaviors need more documentation. Simple 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 high (all parameters have descriptions in the nested request object), so baseline is 3. The description adds value by providing examples of valid parameter combinations and listing columns returned, but this information is partially redundant with 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 retrieves 'Up to 25 results (per page) of trader PnL for a token', specifies two modes (onchain_tokens and perps) with distinct use cases, and distinguishes from siblings like hyperliquid_leaderboard by focusing on token-specific PnL leaderboards.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit guidance on when to use each mode (onchain_tokens for contract addresses, perps for Hyperliquid perpetuals), notes unsupported scenarios (native tokens in onchain_tokens mode, hyperevm chain), and includes examples. However, it does not explicitly state when not to use or suggest alternatives among siblings.
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?
No annotations provided, so description carries full burden. It reveals that results include percentile comparisons within market cap groups and that not all indicators are available. However, it does not disclose rate limits, authentication needs, or potential side effects (though likely read-only). Adequate but not thorough.
Agents need to know what a tool does to the 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 sections for usage, return fields, indicator types, and notes. Front-loaded with purpose. Slightly verbose but every section adds value; no wasted sentences.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (anyOf input, output schema exists, no annotations), the description adequately covers return values but fails to clarify the input request format or the vague additionalProperties option. It is sufficient for simple cases but incomplete for complex ones.
Complex tools with many parameters or behaviors need more documentation. Simple 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%, yet the description explains output fields and indicator types in detail. However, it provides no additional explanation of the 'request' parameter structure beyond what the schema shows, missing an opportunity to clarify the anyOf and the required tokenAddress/optional chain.
Input schemas describe structure but not intent. Descriptions should explain 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 retrieves 'Nansen Score Indicators for a token - quantitative risk and reward signals.' The verb 'Get' and resource are specific, and it distinguishes itself from sibling tools that handle direct trades, wallets, or general searches by focusing on risk/reward scoring.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 advises when to use: 'assessing a token's risk/reward profile, evaluating buy/sell decisions, or when the user needs quantitative data.' Provides positive guidance but lacks explicit 'when not to use' or comparison to alternatives among siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
token_recent_flows_summaryAnalyzing recent activityAInspect
Get TOTAL token flows per segment: 1. Public Figures 2. Top PnL Traders 3. Whales 4. Smart Traders 5. Exchanges 6. Fresh Wallets
Inflow and outflow of tokens between the segments is CRITICAL in identifying token price trends.
The values provided are aggregated over the specific lookback period (last 5min, 1d, 7d etc) specified. If you have SPECIFIC date ranges in mind, use token_flows instead.
NOTE Use token_flows for more granular data as it can filter between exact dates and provides HOURLY breakdowns.
Returns: Categorized token flow analysis as markdown.
For each segment, returns:
- Flow amount in USD
- Ratio compared to average flow
- Number of wallets
Format: "{Segment} wallet flow of {amount} ({ratio}x average, from {count} wallets)"Notes: - Positive flow = net buying, negative flow = net selling - For Exchange Flow, positive means more inflow to exchanges, negative means more outflow from exchanges - Categorizes market participants by their historical behavior and characteristics
NOTE: Bitcoin is not supported. DO NOT use this tool for bitcoin.
Modes:
onchain_tokens(default): On-chain token flow intelligence across 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 provided, but description details what is returned (flow amount, ratio, number of wallets), explains positive/negative flow meanings, and notes aggregation over lookback period. Could be more explicit about read-only nature, but sufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Description is relatively long but well-structured with headings, bullet points, and bold. Every sentence adds value, though could be slightly more concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. 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 all key aspects: purpose, segments, output format, modes, guardrails (no Bitcoin), and differentiation from sibling tool. With output schema present, the description is complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema has one complex parameter `request` with schema description coverage 0% at top level, but inner properties have descriptions. The tool description adds context about segments and usage but does not explain parameter structure. Adequate but not enhanced.
Input schemas describe structure but not intent. Descriptions should explain 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 gets TOTAL token flows per segment, enumerates the 6 segments, and distinguishes from sibling tool token_flows for specific date ranges. It also notes Bitcoin not supported.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly tells when to use token_flows instead (specific date ranges, more granular data). Also specifies that Bitcoin is not supported and describes two modes (onchain_tokens and perps).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
token_transfersTracking token transfersAInspect
Get 25 token transfers (per page) for a specific token based on the sort order. Default is most recent transfers first.
NOTE: This tool does not support native tokens (so11111111111111111111111111111111111111112, 0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee).
Columns returned:
Time: Timestamp when the transfer occurred (block_timestamp: ISO 8601 format)
From Label: Source address label (from_address_label: sender of tokens)
To Label: Destination address label (to_address_label: receiver of tokens)
From Address: Raw source address (from_address: hex address)
To Address: Raw destination address (to_address: hex address)
Amount: Quantity of tokens transferred (transfer_amount: numeric)
Value USD: USD value of the transfer at time of transaction (transfer_value_usd: currency formatted)
Type: Transfer category (transaction_type: DEX, CEX, transfer, etc.)
Tx Hash: Blockchain transaction hash for verification (transaction_hash)
Sorting Options (all fields support "asc"/"desc"): Available for sorting: timestamp, amount
Examples:
# Basic request (most recent transfers first)
{ "chain": "ethereum", "tokenAddress": "0xa0b86a33e6b6c4b3add000b44b3a1234567890ab", "dateRange": {"from": "24H_AGO", "to": "NOW"}, "orderBy": "timestamp", "order_by_direction": "desc" }
# Smart money only filter (largest transfers first)
```
{
"chain": "ethereum",
"tokenAddress": "0xa0b86a33e6b6c4b3add000b44b3a1234567890ab",
"dateRange": {"from": "7D_AGO", "to": "NOW"},
"transferOriginCategories": ["all_transfers"],
"onlySmartTradersAndFunds": true,
"orderBy": "amount",
"order_by_direction": "desc"
}
```
# Filter by DEX only with minimum transfer value (USD)
```
{
"chain": "ethereum",
"tokenAddress": "0xa0b86a33e6b6c4b3add000b44b3a1234567890ab",
"dateRange": {"from": "24H_AGO", "to": "NOW"},
"transferOriginCategories": ["dex"],
"transferValueUsd": {"from": 1000}
}
```
# Filter transfers sent FROM a specific wallet
```
{
"chain": "base",
"tokenAddress": "0x833589fcd6edb6e08f4c7c32d4f71b54bda02913",
"dateRange": {"from": "2025-03-12", "to": "2025-03-12"},
"fromAddress": "0x2b060b9c89B8aD04e5E1fD40F1f327e41DD32c72",
"orderBy": "timestamp",
"order_by_direction": "desc"
}
```Available Filters:
Address Filters:
fromAddress (str or list[str], optional): Filter by sender address(es) Example: "0x2b060b9c89B8aD04e5E1fD40F1f327e41DD32c72" Example: ["0xaddr1", "0xaddr2"]
toAddress (str or list[str], optional): Filter by recipient address(es) Use fromAddress/toAddress when looking for a specific wallet's transfers.
Transfer Origin Categories:
transferOriginCategories (list[str]): List of transfer types to include Possible values: ['dex', 'cex', 'non_exchange_transfers', 'all_transfers'] Default: ['all_transfers'] Examples:
['dex'] - only DEX transfers
['cex'] - only CEX transfers
['dex', 'cex'] - both DEX and CEX
['non_exchange_transfers'] - only non-exchange transfers
['all_transfers'] - all types (default)
Smart Money Filter:
onlySmartTradersAndFunds (bool): Only show smart money transfers (default: false) When true, filters to show only transfers involving profitable addresses
Numeric Range Filter:
transferValueUsd (object, optional): Filter by USD value of transfer Format: {"from": X, "to": Y} or {"from": X} or {"to": Y}
Specify only
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?
The description explicitly states pagination (25 per page), default sort order, unsupported tokens, available filters, and columns returned. While it does not explicitly state the tool is read-only, the behavior is clear and no contradictions exist. With no annotations, the description provides substantial transparency.
Agents need to know what a tool does to the 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, headings, code blocks, and bullet points. It is longer than necessary but front-loaded with key information. Some redundancy exists between the examples and filter list, but overall it remains 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 description covers all aspects: purpose, pagination, unsupported tokens, all filters with explanations, sorting options, and multiple examples. It also details the output columns. Given the tool's complexity, the description is fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description compensates for the 0% schema coverage by providing a comprehensive breakdown of all parameters, including address filters, transfer origin categories, smart money filter, numeric range filter, and sorting. Multiple examples demonstrate usage, making parameter semantics very clear.
Input schemas describe structure but not intent. Descriptions should explain 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 retrieves 25 token transfers per page for a specific token with sorting, and explicitly mentions it does not support native tokens. It distinguishes from sibling tools by focusing on transfers rather than trades or flows.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 detailed usage instructions and examples for various filter scenarios, but it does not explicitly differentiate when to use this tool over sibling tools like token_dex_trades or token_flows. Usage is implied but no alternatives or exclusions are mentioned.
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?
No annotations provided, so the description bears full responsibility. It discloses that the tool returns aggregated buyer/seller activity as markdown, returns empty string if no data, and lists all return columns. It also notes sorting options and parameter effects. Missing details on rate limits or authentication, but adequate for a read 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 sections (purpose, usage, returns columns, sorting, notes). It is front-loaded with the main purpose. While somewhat verbose, each section adds value and is clearly organized.
Shorter descriptions cost fewer tokens and are easier for agents to parse. 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 (nested parameters, many siblings) and lack of annotations, the description is fairly complete. It explains return format, columns, sorting, and parameter behavior. Minor omissions: no mention of pagination ('page' parameter exists) or explicit time range limitations, but overall 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?
Despite 0% schema description coverage, the description compensates by explaining the meaning of key parameters (e.g., buy_or_sell filters for net buyers/sellers). It also describes sorting options and the returned columns, which adds semantic context beyond the schema's field descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'Get TOTAL amount of tokens bought/sold by address for a token on DEX ONLY.' It specifies the resource (token and address) and verb (get aggregated amounts). While it doesn't explicitly differentiate from sibling tools like token_dex_trades, the focus on aggregated buyer/seller activity is distinct.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains when to use: 'find out WHO is buying or selling a token (on DEX) AND then you can check if they are liquidating profits or accumulating more.' It clarifies the buy_or_sell parameter for filtering net buyers/sellers. It doesn't explicitly state when not to use, but the context is evident.
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 mentions that the tool returns 'comprehensive transaction details including token transfers,' but does not specify what exact fields are returned, whether the tool is read-only, any rate limits, or error conditions (e.g., invalid transaction hash). Behavioral transparency is minimal.
Agents need to know what a tool does to the 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, concise sentence that front-loads the core purpose. It avoids unnecessary words. However, it could be slightly more structured by separating purpose from the parameter hint, but overall it is efficient and to the point.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has only two parameters (one required) and an output schema is present, the description could be more complete. It lacks any explanation of the chain parameter's valid values, the meaning of 'comprehensive details', or how the output relates to inputs. The presence of an output schema reduces the need to explain return values, but the parameter gap leaves the tool under-described.
Complex tools with many parameters or behaviors need more documentation. 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 has 0% description coverage, yet the description does not explain either parameter (chain and transaction_hash). It fails to mention that transaction_hash is required and that chain defaults to 'all'. The description adds no semantic value beyond the schema, leaving the agent uninformed about parameter formatting, options, or constraints.
Input schemas describe structure but not intent. Descriptions should explain 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 'Get comprehensive transaction details including token transfers' clearly states the tool's purpose: retrieving transaction details with a specific emphasis on token transfers. It is specific enough to distinguish from sibling tools like address_transactions (which list transactions for an address) and token_transfers (which focus on token-level transfers), but the term 'comprehensive' is somewhat vague.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It does not mention prerequisites, limitations, or when to choose transaction_lookup over other tools such as address_transactions or token_transfers. The phrase 'including token transfers' hints at a use case but is insufficient for clear decision-making.
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?
The description does not disclose behavioral traits like data freshness, authentication requirements, or what happens if no trades are found. Since no annotations are provided, the description carries the full burden, but it adds minimal behavioral context 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 two sentences, direct and free of unnecessary words. It frontloads the purpose and usage, making it easy for an AI agent to quickly parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. 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 (nested request parameter) and the presence of an output schema, the description is adequate but lacks mention of edge cases, prerequisites (e.g., wallet must have traded the token), or the meaning of showRealized. It covers the core use case but leaves some 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 tool description does not detail the parameters (schema description coverage is 0%), but the input schema itself provides comprehensive descriptions for properties like tokenAddress, dateRange, and showRealized. The description adds some meaning by mentioning 'specific token' and 'date range,' but it could go further in explaining the role of showRealized or chain.
Input schemas describe structure but not intent. Descriptions should explain 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 PnL stats for a specific token traded by the input address during a specific date range.' It uses a specific verb and resource, and the qualifiers (specific token, input address, date range) distinguish it from sibling tools like wallet_pnl_summary 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 says 'Use this tool for analysing the performance of the wallet for the specific token over a time period,' which provides clear context. However, it does not explicitly mention when not to use it or suggest alternatives, though the context of sibling tools is implied.
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 performanceBInspect
Get aggregate stats of overall realized PnL for the input address. Note, this tool DOES NOT include unrealized PnL. For unrealized PnL you need to check change in token prices of the current holdings. Use this tool for analysing the performance of the wallet over a time period. You can analyse the wallet portfolio performance over a specific time period.
| 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 the description carries the burden. It discloses the tool only returns realized PnL (not unrealized), which is a key behavioral trait. However, it does not mention if there are any side effects, rate limits, or authentication requirements, nor does it detail the response format (though output schema exists).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is four sentences that are mostly direct and clear. It front-loads the purpose. However, there is minor repetition ('over a time period' appears twice), and the structure could be slightly tighter.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complex input schema (anyOf with nested objects) and no annotations, the description should explain the parameter structure. It fails to do so, leaving the agent uncertain how to invoke the tool correctly. The output schema exists but does not mitigate this need.
Complex tools with many parameters or behaviors need more documentation. 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 has a complex 'request' parameter with anyOf, but the description provides no guidance on how to structure the parameter. With 0% schema coverage in the description, the agent would not know that 'walletAddress' and 'dateRange' are expected. This is a critical gap.
Input schemas describe structure but not intent. Descriptions should explain 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 gets aggregate stats of overall realized PnL for a wallet address. It distinguishes from siblings like 'wallet_pnl_for_token' by focusing on overall stats, and from prediction market tools by being address-specific.
Agents choose between tools based on descriptions. A clear purpose with a specific verb 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 states when to use (analyzing wallet performance over a time period) and when not (excludes unrealized PnL, advises checking token price changes). It does not explicitly mention alternative sibling tools like 'wallet_pnl_for_token', but the guidance is clear enough.
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!