Skip to main content
Glama

Server Details

Gate info MCP for coin discovery, market snapshots, technical analysis, and on-chain data.

If you are the author of this connector, you can claim ownership with GitHub, an HTTP challenge, or a DNS record. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP
URL
Repository
gate/gate-mcp
GitHub Stars
37
Server Listing
Gate MCP Server

Available Tools

32 tools
info_coin_get_coin_infoA
Read-onlyIdempotent
Inspect

Single-target lookup: ticker, name, or contract→rows. Chain fixes address clashes. Filtered lists→search_coins. Boards→get_coin_rankings. Read-only public research data. No account access, no order placement or fund transfers. Not investment advice.

ParametersJSON Schema
NameRequiredDescriptionDefault
sizeNoMax rows; default 3, max 20.
chainNoChain hint for address disambiguation when query_type=address or auto-detected EVM address; e.g. eth, tron, bsc. Same normalization as search_coins.
queryYesSearch text: symbol, contract address, localized name, etc.
scopeNobasic (default) | detailed | full; with_project/with_tokenomics align with full _source.
fieldsNoField allowlist; empty = all. scope wins when both set.
query_typeNoauto (default) | address | symbol | name | project | gate_symbol | source_id

Output Schema

ParametersJSON Schema
NameRequiredDescription
chainNo
countYes
itemsYes
queryYes
scopeNo
totalYes
query_typeYes
duration_msYes

TDQS

A4.9/5.0
Behavior5/5

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

Annotations already declare readOnlyHint, idempotentHint, destructiveHint, but the description adds 'Read-only public research data. No account access, no order placement or fund transfers. Not investment advice.' This goes beyond the annotations by specifying data type and the absence of trading/auth features, fully aligning and enriching the behavioral profile.

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

Conciseness5/5

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

Single sentence with zero filler. Front-loads the core purpose, then packs routing and safety disclaimers in clean, scannable clauses. Every phrase earns its place.

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

Completeness5/5

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

For a read-only lookup tool with a full output schema and comprehensive annotations, the description covers purpose, sibling routing, edge-case hint (chain), and behavioral boundaries. Nothing essential for correct invocation is missing.

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

Parameters4/5

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

Schema coverage is 100%, so baseline is 3. The description adds meaningful insight by explaining that 'Chain fixes address clashes', which clarifies the chain parameter's purpose beyond the schema note. It also implies query flexibility ('ticker, name, or contract'), though most parameter details are left to the well-documented schema. This is a modest but real increment.

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

Purpose5/5

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

Description explicitly states 'Single-target lookup: ticker, name, or contract→rows' – a specific verb, resource, and input types. It also distinguishes itself from siblings by naming search_coins for filtered lists and get_coin_rankings for boards, leaving no ambiguity about scope.

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

Usage Guidelines5/5

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

Provides explicit routing: 'Filtered lists→search_coins. Boards→get_coin_rankings.' Also clarifies the chain parameter's role for address disambiguation and notes what is not included (no account access, no orders/funds), giving clear when-to-use and when-not-to-use context.

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

info_coin_get_coin_rankingsA
Read-onlyIdempotent
Inspect

Boards: popular, gainers/losers, twitter_hot, airdrop, new_listing, market_pulse_hot. time_range only for gainers/losers. Single match→get_coin_info. Filtered list→search_coins. Read-only public research data. No account access, no order placement or fund transfers. Not investment advice.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoRows; default 20, max 400.
time_rangeNoOnly for top_gainers|top_losers: 1h|24h (default)|7d. Omit for other ranking_type or validation fails.
listing_fromNonew_listing only: Unix seconds from; 0 = omit.
ranking_typeYespopular|top_gainers|top_losers|twitter_hot|airdrop|new_listing|market_pulse_hot
listing_queryNonew_listing only: exchange / keyword for upstream query.
listing_tickersNonew_listing only: comma tickers e.g. BTC,ETH.

Output Schema

ParametersJSON Schema
NameRequiredDescription
countYes
itemsYes
totalYes
time_rangeYes
duration_msYes
ranking_typeYes

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and idempotentHint=true. The description adds 'Read-only public research data. No account access, no order placement or fund transfers. Not investment advice,' which reinforces safety and purpose beyond what annotations provide. It doesn't contradict annotations, and the added context is useful for the agent's risk assessment.

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

Conciseness5/5

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

The description is compact, front-loading the core function (boards) and then addressing critical usage and safety points in a few short sentences. Every sentence adds value, with no extraneous content.

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

Completeness5/5

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

Given the tool's complexity (6 parameters, output schema present) and rich annotations, the description covers the essential aspects: board enumeration, time_range constraint, alternative tool routing, and safety disclaimers. The output schema handles return-value details, so nothing critical is missing for correct usage.

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

Parameters3/5

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

Schema covers 100% of parameters with detailed descriptions (e.g., limit, time_range, ranking_type). The description adds minimal new parameter information beyond re-stating the time_range constraint for gainers/losers, which is already in the schema. Thus it meets the baseline for full schema coverage without significantly enhancing semantics.

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

Purpose5/5

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

The description clearly states the tool retrieves coin rankings across named boards (popular, gainers/losers, etc.) and explicitly distinguishes it from get_coin_info and search_coins, which are sibling tools. The verb 'get' is implied by the title and the description's focus on board selection makes the purpose unambiguous.

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

Usage Guidelines5/5

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

Explicitly tells the agent when to use alternatives: 'Single match→get_coin_info. Filtered list→search_coins.' It also specifies that time_range only applies to gainers/losers, providing clear usage constraints without ambiguity.

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

info_coin_search_coinsA
Read-onlyIdempotent
Inspect

Multi-row asset list by category, chain, cap, type. One clear match→get_coin_info. Boards→get_coin_rankings. Read-only public research data. No account access, no order placement or fund transfers. Not investment advice.

ParametersJSON Schema
NameRequiredDescriptionDefault
chainNoChain filter: canonical name or alias (ETH→Ethereum, BSC→BNB Chain); contains match on normalized chain list.
limitNoPage size; default 20, max 400.
offsetNoOffset; default 0.
sort_byNomarket_cap (default) | fdv | circulating_supply; all desc
categoryNoControlled sector tag or group (e.g. Layer 1, DEX); case-insensitive; matches category_type_flat then category_type; unknown values return empty list.
asset_typeNocrypto (default) | tradefi | all
market_cap_maxNoMax market cap USD.
market_cap_minNoMin market cap USD; range on market_value / market_cap.

Output Schema

ParametersJSON Schema
NameRequiredDescription
chainNo
countYes
itemsYes
limitNo
totalYes
offsetNo
sort_byNo
categoryNo
asset_typeNo
duration_msYes
total_countYes
market_cap_maxNo
market_cap_minNo

TDQS

A4.7/5.0
Behavior5/5

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

Beyond the annotations (readOnlyHint, destructiveHint, idempotentHint), the description adds valuable behavioral context: 'Read-only public research data' clarifies the data scope, and 'No account access, no order placement or fund transfers' explicitly discloses what the tool does not do, preventing misconceptions about capabilities not implied by annotations alone.

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

Conciseness5/5

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

The description is compact and front-loaded: the core purpose is stated in the first sentence, followed by routing and safety notes. Every sentence adds value—no fluff. It effectively balances brevity with clarity, making it easy for an agent to quickly parse.

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

Completeness5/5

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

With an output schema present, the description doesn't need to explain return values. It covers the tool's core purpose, routing to siblings, behavioral aspects, and exclusions. Given the tool's moderate complexity (8 optional parameters) and rich annotations, the description provides all necessary context for correct invocation.

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

Parameters3/5

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

Schema description coverage is 100%, so all 8 parameters have detailed descriptions in the schema. The description only mentions 'category, chain, cap, type' which maps to some parameters but adds no extra semantics beyond what the schema already provides. Baseline of 3 is appropriate since the schema does the heavy lifting.

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

Purpose5/5

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

The description clearly states the tool's function: 'Multi-row asset list by category, chain, cap, type.' It uses a specific verb (list/search) and resource (assets) with filters. It also explicitly differentiates from siblings by naming get_coin_info for single clear matches and get_coin_rankings for boards, making it immediately distinguishable.

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

Usage Guidelines5/5

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

The description provides direct routing guidance: 'One clear match→get_coin_info. Boards→get_coin_rankings.' This tells the agent when to use this tool versus alternatives. It also adds usage context ('Read-only public research data') and exclusions ('No account access, no order placement or fund transfers'), making the tool's appropriate use explicit.

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

info_compliance_check_token_securityA
Read-onlyIdempotent
Inspect

Public heuristic token security screen (e.g. tax/holder-risk style signals from data providers). Not a security guarantee or legal/investment advice. On-chain activity stats→get_token_onchain. Token xor address with chain; scope in schema. Read-only public research data. No account access, no order placement or fund transfers. Not investment advice.

ParametersJSON Schema
NameRequiredDescriptionDefault
langNoLocale: en|cn|tw|ja|kr; default en.
chainYesChain id e.g. eth, bsc, solana, base, arb.
scopeNobasic (default)|full.
tokenNoToken symbol e.g. PEPE; xor with address.
addressNoContract address; xor with token.

Output Schema

ParametersJSON Schema
NameRequiredDescription
chainYes
countYes
scopeNo
tokenNo
totalYes
addressYes
buy_taxNo
holdersNo
sell_taxNo
name_riskNo
risk_factsNo
duration_msYes
is_honeypotYes
holder_countNo
risk_summaryYes
tax_analysisNo
data_analysisNo
low_risk_listNo
top10_percentNo
high_risk_listNo
is_open_sourceYes
middle_risk_listNo
dev_holding_percentNo

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false. The description adds meaningful context beyond those: it's a heuristic, not a security guarantee, no account access, no fund movement, and reiterates 'not investment advice'. This clarifies the operational boundaries beyond the structured hints, without contradicting them.

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

Conciseness4/5

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

Three sentences deliver purpose, disclaimers, routing, and parameter logic without excessive verbosity. The key purpose is front-loaded, and each sentence earns its place. Slightly run-on with multiple clauses, but still reads cleanly and is appropriately sized for the information conveyed.

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

Completeness4/5

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

With an output schema present and 100% parameter coverage, the description doesn't need to describe return values. It covers purpose, limitations, routing, parameter logic (xor), and safety disclaimers. The only minor gap is not explicitly stating prerequisites (e.g., need chain plus either token or address), but that's implied by the xor note and required chain.

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

Parameters4/5

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

Schema description coverage is 100%, so baseline is 3. The description adds genuine value by explaining the 'Token xor address with chain' relationship, which is not fully spelled out in individual property descriptions. Also notes that 'scope' is in the schema (redundant but harmless). This goes slightly beyond the schema's documentation.

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

Purpose5/5

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

States a specific verb/resource (checks token security) and gives concrete examples of what it surfaces (tax/holder-risk signals). Explicitly routes on-chain activity stats to a sibling (get_token_onchain), clearly distinguishing its scope from that tool. The purpose is unambiguous and distinct from all 30+ siblings.

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

Usage Guidelines4/5

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

Provides a direct routing rule ('On-chain activity stats→get_token_onchain') which tells the agent when to pick the alternative. Implies usage context through 'public heuristic', 'read-only public research data', and explicit exclusions ('no order placement or fund transfers'). Doesn't state a formal 'when to use this' sentence, but the intent and exclusions are clear enough.

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

info_macro_get_economic_calendarA
Read-onlyIdempotent
Inspect

Filtered release calendar in a date window. Zero-arg dashboard→get_macro_summary. Indicator snapshot or series→get_macro_indicator. Read-only public research data. No account access, no order placement or fund transfers. Not investment advice.

ParametersJSON Schema
NameRequiredDescriptionDefault
sizeNoRows; default 20, max 400.
end_dateNoEnd YYYY-MM-DD inclusive; default start+30d; sorted by event_date desc.
event_typeNoFOMC|NFP|CPI|PPI|GDP|PCE|...; empty or all = no filter.
importanceNoImportance filter; ignored if index lacks field.
start_dateNoStart YYYY-MM-DD for event_date; default today UTC; if only end_date set, start defaults today.

Output Schema

ParametersJSON Schema
NameRequiredDescription
sizeNo
countYes
itemsYes
totalYes
end_dateNo
event_typeNo
importanceNo
start_dateNo
duration_msYes

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already provide readOnlyHint and idempotentHint, and the description adds 'Read-only public research data. No account access, no order placement or fund transfers.' This provides additional safety context beyond the annotations and is consistent with them.

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

Conciseness5/5

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

The description is four short sentences, each serving a distinct purpose: core purpose, routing, safety, and disclaimer. It is front-loaded with the main purpose and wastes no words.

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

Completeness5/5

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

With full schema descriptions, annotations, and an output schema, the description covers all necessary aspects: what it does, when to use it, and safety constraints. The routing logic addresses key alternatives among siblings, making it sufficient for correct invocation.

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

Parameters3/5

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

Schema descriptions cover 100% of the parameters with details like defaults and sorting. The tool description does not mention parameters at all, so it adds no additional meaning beyond the schema. The baseline of 3 applies.

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

Purpose5/5

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

The description opens with 'Filtered release calendar in a date window', clearly identifying the resource and the action. It explicitly contrasts with get_macro_summary and get_macro_indicator, making the purpose and differentiation unmistakable.

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

Usage Guidelines5/5

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

It provides explicit routing logic: 'Zero-arg dashboard→get_macro_summary. Indicator snapshot or series→get_macro_indicator.' This tells the agent exactly when to choose this tool over those siblings, and also states read-only and no account access for safe usage.

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

info_macro_get_macro_indicatorA
Read-onlyIdempotent
Inspect

Official macro stats: latest or series by country/indicator (CPI, rates, jobs). No event feed. Calendar→get_economic_calendar. Dashboard→get_macro_summary. Read-only public research data. No account access, no order placement or fund transfers. Not investment advice.

ParametersJSON Schema
NameRequiredDescriptionDefault
modeNolatest (default, snapshot) or timeseries.
sizeNoRows; default 20, max 400.
countryNoCountry display name e.g. United States; wins over country_code if both set.
end_dateNoSame as end_time.
end_timeNoRange end; alias end_date.
indicatorYesExact keyword match on indicator.keyword OR indicator_id.keyword OR slugname.keyword; ASCII case-insensitive via exact variants (original, lower, upper).
start_dateNoSame as start_time.
start_timeNoRange start; alias start_date; filters date/part_date.
country_codeNoISO code e.g. US when index lacks display name.

Output Schema

ParametersJSON Schema
NameRequiredDescription
modeYes
noteNoOptional empty-result or fallback hint.
sizeNo
countYes
totalYes
latestNo
countryNo
end_dateNo
end_timeNo
indicatorYes
start_dateNo
start_timeNo
timeseriesNo
duration_msYes

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint false. The description adds meaningful context beyond these: 'Read-only public research data. No account access, no order placement or fund transfers. Not investment advice.' This clarifies the scope of operations and the absence of trading actions, which is not fully captured by generic annotations. No contradiction with annotations.

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

Conciseness5/5

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

The description is compact and information-dense, leading with the core purpose, then exclusions, alternatives, and safety disclaimers. Every sentence adds value, and it avoids fluff. The structure front-loads the purpose and quickly guides the agent to decide whether the tool is appropriate.

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

Completeness4/5

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

Given the tool has 9 parameters but only one required, an output schema, and rich annotations, the description covers the essential context: what it returns (macro stats), the mode options, the no-event-feed caveat, and the non-investment-advice disclaimer. It lacks explicit mention of parameter aliases, but the schema covers those. Overall, it is complete for an agent to select and invoke the tool correctly.

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

Parameters3/5

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

Schema description coverage is 100%, so all 9 parameters are documented in the schema. The description itself does not add new parameter details; it mentions indicator examples (CPI, rates, jobs) and mode ('latest or series'), which slightly reinforces the existing mode and indicator descriptions, but does not go beyond what the schema provides. Baseline 3 is appropriate.

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

Purpose5/5

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

Description states a specific verb and resource: 'Official macro stats: latest or series by country/indicator (CPI, rates, jobs).' It enumerates the kinds of indicators (CPI, rates, jobs) and explicitly distinguishes from siblings by noting 'No event feed' and naming the alternatives (Calendar→get_economic_calendar, Dashboard→get_macro_summary). This clearly differentiates the tool from its siblings.

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

Usage Guidelines4/5

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

The description provides clear context: it is for macro stats, read-only research data, and not the event feed. It explicitly points to get_economic_calendar for events and get_macro_summary for dashboards, giving alternative tools. However, it does not explicitly state when to prefer this over get_macro_summary beyond the dashboard reference, so it lacks a full when/when-not directive but is close.

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

info_macro_get_macro_summaryA
Read-onlyIdempotent
Inspect

Zero-arg macro dashboard: key snapshots plus upcoming releases. Filtered calendar list→get_economic_calendar. Indicator snapshot or series→get_macro_indicator. Read-only public research data. No account access, no order placement or fund transfers. Not investment advice.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
countYes
totalYes
indicatorsYes
duration_msYes
next_eventsYes
snapshot_timeYes
indicators_totalYes

TDQS

A4.7/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the description's 'Read-only public research data' aligns with those. It adds valuable extras: 'No account access, no order placement or fund transfers, not investment advice'—context beyond the annotations that clarifies limitations. These are non-repetitive and useful for an agent.

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

Conciseness5/5

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

The description is compact yet information-dense: it opens with the singular purpose, then provides routing alternatives, then safety/usage constraints. Each sentence adds distinct value with no fluff or repetition.

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

Completeness5/5

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

For a zero-argument tool with an output schema defined, the description covers all the essentials: purpose, use-case segmentation, security and compliance caveats. Nothing an agent needs to decide whether to call it (or not) is missing.

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

Parameters4/5

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

The tool has zero parameters, so the baseline is 4. The description reinforces 'Zero-arg' at the start, but since there are no parameters, there is nothing to clarify beyond confirming the tool takes no input.

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

Purpose5/5

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

The description starts with 'Zero-arg macro dashboard: key snapshots plus upcoming releases,' stating a specific verb-resource with clear scope. It explicitly distinguishes itself from sibling tools by naming get_economic_calendar and get_macro_indicator as alternatives for specific use cases.

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

Usage Guidelines5/5

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

It gives explicit when-to-use directions: 'Filtered calendar list→get_economic_calendar. Indicator snapshot or series→get_macro_indicator.' It also clarifies that this tool is for the general dashboard, not those detailed queries. This is direct, actionable routing advice.

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

info_marketdetail_get_klineA
Read-onlyIdempotent
Inspect

Exchange pair or contract candles, including fine intervals such as 1m or 5s; needs Gate base URL. Trend-index OHLCV or indicator bundle→markettrend_get_kline. Read-only public research data. No account access, no order placement or fund transfers. Not investment advice.

ParametersJSON Schema
NameRequiredDescriptionDefault
extraNoPassthrough e.g. interval overrides.
limitNoMax candles; default 100, max 400; without range = latest N desc.
settleNofutures/delivery settlement; default usdt.
symbolYesPair or contract.
end_timeNoEnd Unix seconds.
timeframeYesCandle interval e.g. 1s, 1m, 5m.
start_timeNoStart Unix seconds; with end_time for range; omit = last limit candles desc.
market_typeNospot (default)|futures|delivery|options

Output Schema

ParametersJSON Schema
NameRequiredDescription
countYes
itemsYes
totalYes
settleNo
symbolYesEcho input. Candle times are UTC (+00:00); convert for local display.
cex_toolYes
timeframeYes
duration_msYes
market_typeYes

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, destructiveHint, covering safety. The description adds value by specifying a prerequisite ('needs Gate base URL') and reinforcing that it is read-only public research data with no trading capabilities. It adds context beyond annotations 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.

Conciseness5/5

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

Three sentences, all informative: main purpose, alternative tool, and safety/usage constraints. No filler, and the most important information is front-loaded. Every sentence earns its place.

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

Completeness4/5

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

With an output schema present and 100% parameter coverage, the description covers the core essentials: what it does, when to use it, prerequisites, and safety. Nothing critical is missing for an agent to decide and execute a call, though it doesn't mention rate limits or custom return handling, which are minor given the structured schema.

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

Parameters3/5

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

Schema coverage is 100%, so the schema fully documents all parameters. The description's mention of 'fine intervals such as 1m or 5s' duplicates the schema's timeframe examples and doesn't add new meaning. It does not compensate for any gaps because none exist, but it also doesn't add extra value beyond the schema.

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

Purpose5/5

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

The description clearly states a specific verb-resource: 'Exchange pair or contract candles', and specifies fine intervals (1m, 5s). It explicitly differentiates from the sibling tool: 'Trend-index OHLCV or indicator bundle→markettrend_get_kline', so an agent knows exactly what this tool returns and how it differs from similar tools.

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

Usage Guidelines5/5

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

It gives explicit when-to-use and when-not-to-use guidance: 'Trend-index OHLCV or indicator bundle→markettrend_get_kline' directs to an alternative for different data needs. It also states non-usage: 'No account access, no order placement or fund transfers', clarifying it is for public research only.

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

info_marketdetail_get_orderbookA
Read-onlyIdempotent
Inspect

Order book depth: bids/asks ladder from Gate; needs base URL. Trade tape→get_recent_trades. Trend-index bars→markettrend_get_kline. Read-only public research data. No account access, no order placement or fund transfers. Not investment advice.

ParametersJSON Schema
NameRequiredDescriptionDefault
depthNoOrder book depth; default 20, max 100.
extraNoExtra Gate API params merged into request.
settleNoSettlement for futures/delivery; default usdt; omit for options.
symbolYesPair e.g. BTC_USDT.
market_typeNospot (default)|futures|delivery|options.

Output Schema

ParametersJSON Schema
NameRequiredDescription
countYes
depthYes
itemsYes
totalYes
settleNo
symbolYesEcho input. Item timestamps are UTC (+00:00); convert for local display.
cex_toolYes
duration_msYes
market_typeYes

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint. The description adds value beyond these by noting 'needs base URL' (a practical requirement) and reinforcing safety with 'No account access, no order placement or fund transfers'. It also disclaims investment advice. No contradiction with annotations.

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

Conciseness4/5

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

The description is concise, front-loading the purpose, then alternatives, then disclaimers. It is slightly longer than strictly necessary due to safety disclaimers, but each sentence earns its place. It avoids redundancy with the schema.

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

Completeness4/5

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

For a 5-parameter tool with a full output schema and comprehensive annotations, the description covers the core purpose, usage routing, a key prerequisite (base URL), and safety profile. It does not describe return values, but that is handled by the output schema. Remaining gaps are minor.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema fully documents all 5 parameters. The description does not add per-parameter details beyond mentioning the base URL requirement, which is not a parameter. Per the rubric, a baseline of 3 is appropriate when the schema carries the semantic load.

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

Purpose5/5

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

The description explicitly states the tool retrieves 'Order book depth: bids/asks ladder from Gate', naming the specific resource (Gate order book) and the verb (get depth). It distinguishes from siblings by referencing trade tape (get_recent_trades) and trend-index bars (markettrend_get_kline), making its unique purpose clear.

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

Usage Guidelines5/5

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

It provides explicit guidance on when to use this tool versus alternatives: 'Trade tape→get_recent_trades' and 'Trend-index bars→markettrend_get_kline'. It also mentions the prerequisite 'needs base URL', giving concrete context for invocation. This is direct and actionable.

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

info_marketdetail_get_recent_tradesA
Read-onlyIdempotent
Inspect

Recent trade prints tape from Gate; needs base URL. Depth ladder→get_orderbook. Trend-index bars→markettrend_get_kline. Read-only public research data. No account access, no order placement or fund transfers. Not investment advice.

ParametersJSON Schema
NameRequiredDescriptionDefault
extraNoOptional Gate API passthrough.
limitNoRecent trades count; default 50, max 400.
settleNofutures/delivery settlement; default usdt.
symbolYesPair or contract id.
market_typeNospot (default)|futures|delivery|options

Output Schema

ParametersJSON Schema
NameRequiredDescription
countYes
itemsYes
limitYes
totalYes
settleNo
symbolYesEcho input. Trade times are UTC (+00:00); convert for local display.
cex_toolYes
duration_msYes
market_typeYes

TDQS

A4.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds context that this is public research data with no account access or fund transfers, which is slightly beyond annotations but not substantial. It does not contradict annotations, and the extra context is useful though minimal.

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

Conciseness5/5

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

The description is four sentences, front-loaded with the main purpose, immediately followed by sibling routing, and then security notes. It is concise with zero filler, precisely earning its length.

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

Completeness4/5

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

Given the high schema coverage (100%) and the presence of an output schema, the description need not explain return values. It covers purpose, usage routing, and safety. The only vague element is 'needs base URL,' which is an ambiguous prerequisite not tied to any parameter, but overall the description is sufficiently complete for an agent to invoke the tool correctly.

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

Parameters3/5

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

Schema coverage is 100%, so all parameters are already explained in the schema. The description does not add parameter-specific guidance beyond mentioning a base URL, which is not clearly tied to a parameter. Since the schema carries the burden effectively, the baseline of 3 is appropriate.

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

Purpose5/5

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

The description clearly states the tool fetches recent trade prints (tapes) from Gate, which is a specific verb+resource. It explicitly differentiates from siblings by naming get_orderbook for depth ladders and markettrend_get_kline for trend-index bars, so an agent can immediately identify 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.

Usage Guidelines5/5

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

The description provides explicit routing instructions: 'Depth ladder→get_orderbook' and 'Trend-index bars→markettrend_get_kline.' This tells the agent when to use this tool versus alternatives. It also adds a prerequisite ('needs base URL') and clarifies it is for public research only.

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

info_marketsnapshot_batch_market_snapshotA
Read-onlyIdempotent
Inspect

Batch quotes up to 20 symbols; partial misses OK. One symbol→get_market_snapshot. Deep trend→markettrend_get_kline. Breadth→get_market_overview. Read-only public research data. No account access, no order placement or fund transfers. Not investment advice.

ParametersJSON Schema
NameRequiredDescriptionDefault
quoteNoQuote currency; default USDT; maps to OpenSearch market.
scopeNoResponse scope.
sourceNospot (default)|futures (future)|alpha|fx.
symbolsYesSymbol list, max 20. Missing symbols yield empty rows; the batch still succeeds.
timeframeNoKline: 15m|1h|4h|1d; default 1h.

Output Schema

ParametersJSON Schema
NameRequiredDescription
countYes
itemsYes
quoteNo
scopeNo
totalYes
sourceNo
symbolsNo
not_foundYes
timeframeNo
duration_msYes

TDQS

A4.7/5.0
Behavior5/5

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

Beyond annotations (readOnlyHint, idempotentHint), the description discloses meaningful limitations: 'Read-only public research data. No account access, no order placement or fund transfers. Not investment advice.' It also notes partial misses are OK, which is critical behavioral context for batch calls. No contradictions with annotations.

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

Conciseness5/5

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

The description is compact and front-loaded with the core purpose, followed by targeted routing guidance and necessary safety disclaimers. Every clause earns its place with no filler.

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

Completeness5/5

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

Given the tool's moderate complexity (5 params, 1 required), the presence of an output schema, and reactive annotations, the description fully equips an agent with purpose, usage criteria, alternative routing, and behavioral constraints. Nothing essential is missing.

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

Parameters3/5

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

Schema coverage is 100% with per-parameter descriptions, so the schema already documents all parameters. The description adds only the max-20-symbol limit (already in the schema) and partial-miss behavior, but doesn't explain each parameter beyond the schema. The baseline of 3 is appropriate since the description adds no significant semantic value over the schema.

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

Purpose5/5

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

The description clearly states the tool's purpose: 'Batch quotes up to 20 symbols' with partial-miss tolerance. It explicitly names sibling tools and the conditions under which to use them instead, making it unmistakably distinct from get_market_snapshot, markettrend_get_kline, and get_market_overview.

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

Usage Guidelines5/5

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

Provides direct routing guidance: 'One symbol→get_market_snapshot. Deep trend→markettrend_get_kline. Breadth→get_market_overview.' This tells an agent exactly when to choose this batch tool versus the alternatives, leaving no ambiguity.

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

info_marketsnapshot_get_institutional_metricsA
Read-onlyIdempotent
Inspect

BTC/ETH institutional ETF/CME/CFTC daily metrics (OpenSearch). asset=BTC|ETH|all; channel=all|etf|cme|cftc nulls non-selected fields. CME often null with data_status cme_source_not_procured. Returns assets[].latest and series[]. Read-only public research data. No account access, no order placement or fund transfers. Not investment advice.

ParametersJSON Schema
NameRequiredDescriptionDefault
assetNoBTC|ETH|all; default BTC. all returns BTC and ETH groups.
limitNo1-366; default 30.
channelNoall|etf|cme|cftc; default all.
end_dateNoYYYY-MM-DD; default latest part_date available from OpenSearch.
start_dateNoYYYY-MM-DD; default end_date - 30d.

Output Schema

ParametersJSON Schema
NameRequiredDescription
assetYes
countYes
totalYes
assetsYes
channelYes
end_dateYes
start_dateYes
data_statusYes
duration_msYes

TDQS

A4.7/5.0
Behavior5/5

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

Annotations already mark the tool as read-only, idempotent, and non-destructive. The description adds valuable behavioral detail: it explains that channel selection 'nulls non-selected fields' and that CME data is often null with the status 'cme_source_not_procured'. It also reiterates the read-only/public nature and adds that it is not investment advice. These behaviors go beyond the annotations and inform the agent about data quality and side-effect‑free invocation.

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

Conciseness5/5

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

The description is roughly 70 words and front-loaded: it states the core purpose first, then parameter guidance, then key data-quality notes, then safety/scope. There is no fluff; every sentence introduces a distinct fact (purpose, parameter semantics, null behavior, return shape, read-only nature). The structure is efficient and scannable.

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

Completeness5/5

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

Given the 5 optional parameters, full schema coverage, an output schema (present per context), and annotations covering safety, the description covers everything an agent needs: it explains parameter semantics, return structure, and data-quality quirks (CME nulls). It even clarifies that this is public research data and not investment advice, preventing misuse. Nothing critical is missing.

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

Parameters4/5

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

The schema already documents all five parameters and their defaults (coverage 100%), so the baseline is 3. The description provides additional nuance: it clarifies the enum-style values for asset and channel, and explains that selecting a channel nulls non-selected fields—something not explicitly in the schema. It also notes the relationship between CME nulls and the data_status field. This adds real meaning beyond the schema descriptions.

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

Purpose5/5

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

The description states a specific purpose: 'BTC/ETH institutional ETF/CME/CFTC daily metrics' and goes on to clarify the data source (OpenSearch) and the structure of results (assets[].latest and series[]). This clearly distinguishes it from sibling market snapshot and overview tools, which focus on general market data, not institutional metrics. No ambiguity remains about what it does.

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

Usage Guidelines4/5

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

The description does not explicitly name alternatives or state when not to use this tool, but it provides clear context: it is for institutional ETF/CME/CFTC metrics, read-only research data, and is explicitly not for trading or account actions. Given the narrow scope, an agent can infer when to call it, and the 'Read-only' note signals it is safe for research. However, it does not mention any sibling that covers overlapping data, so the exclusion guidance is implicit rather than explicit.

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

info_marketsnapshot_get_market_overviewA
Read-onlyIdempotent
Inspect

Broad market dashboard: cap, volume, dominance, and sentiment; no stablecoin ranking. Stablecoin-only ranking or chain breakdown→get_stablecoin_info. One asset→get_market_snapshot. Many symbols→batch_market_snapshot. Read-only public research data. No account access, no order placement or fund transfers. Not investment advice.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
ahr999Yes
btc_priceYes
updated_atYes
duration_msYes
btc_dominanceYes
eth_dominanceYes
fear_greed_indexYes
fear_greed_labelYes
total_market_capYesUSD total market cap; null when that upstream slice fails. Each field may be null independently.
total_volume_24hYes
active_coins_countYes
altcoin_season_indexYes
market_cap_change_24hYes

TDQS

A4.7/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, covering the safety profile. The description adds context by stating 'Read-only public research data' and clarifying 'No account access, no order placement or fund transfers,' which reinforces the non-destructive nature and adds a disclaimer about investment advice. This goes slightly beyond annotations by framing the tool's purpose as research data.

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

Conciseness5/5

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

The description is concise and well-structured. It leads with the core purpose and contents, then immediately provides routing instructions to sibling tools, and ends with safety disclaimers. Every sentence serves a purpose, and there is no redundant information.

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

Completeness5/5

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

Given that this is a simple zero-parameter tool with an output schema available, the description fully covers what the tool does, what it includes, and when to use alternatives. There is nothing else an agent needs to know to invoke it correctly.

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

Parameters4/5

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

The tool has zero parameters, so the input schema is empty. Per the baseline rule, with 0 params the score is 4. The description doesn't need to elaborate on parameters, and it doesn't, instead focusing on scope and alternatives. This is appropriate.

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

Purpose5/5

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

The description clearly states the tool provides a broad market dashboard covering cap, volume, dominance, and sentiment, and explicitly distinguishes it from siblings by noting it does not include stablecoin ranking. It names specific alternatives for different use cases, making the purpose unambiguous.

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

Usage Guidelines5/5

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

The description gives explicit usage guidance: use this tool for a broad market overview, but for stablecoin-only ranking use get_stablecoin_info, for a single asset use get_market_snapshot, and for many symbols use batch_market_snapshot. This clearly specifies when to use this tool versus alternatives.

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

info_marketsnapshot_get_market_snapshotA
Read-onlyIdempotent
Inspect

One-symbol: price, kline clip, project. Trend→markettrend_get_kline. Gate→marketdetail_get_kline. Many→batch_market_snapshot. Breadth→get_market_overview. Read-only public research data. No account access, no order placement or fund transfers. Not investment advice.

ParametersJSON Schema
NameRequiredDescriptionDefault
quoteNoQuote currency mapped to OpenSearch market; default USDT.
scopeNobasic (default, trimmed)|detailed|full.
sourceNoalpha|spot|futures (future)|fx; default spot.
symbolYesSymbol e.g. BTC, ETH, USDC.
timeframeNoKline: 15m|1h|4h|1d; wins over indicator_timeframe when both set; default 1h if both empty.
indicator_timeframeNoAlias of timeframe when timeframe omitted.

Output Schema

ParametersJSON Schema
NameRequiredDescription
klineYes
quoteNo
scopeNo
sourceYes
symbolYes
realtimeYes
timeframeYes
derivativesNo
duration_msYes
market_pulseNo
project_infoYes
institutional_channel_summaryNo

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description adds value by explicitly stating 'Read-only public research data. No account access, no order placement or fund transfers. Not investment advice,' which reinforces the safety profile and clarifies limitations beyond the annotation booleans. No contradiction with annotations.

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

Conciseness5/5

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

One sentence packs the purpose, usage routing, and safety disclaimer without wasted words. The core scope is front-loaded ('One-symbol'), followed by actionable routing. Every phrase earns its place, making it easy to scan and understand.

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

Completeness4/5

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

Given the tool's moderate complexity (six parameters, one required), the description provides sufficient routing and safety context. An output schema exists, so return format is covered structurally. It could mention default parameter values (e.g., quote default USDT) but the schema already provides that, so completeness is adequate for an agent to call correctly.

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

Parameters3/5

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

The schema describes all six parameters with 100% coverage, so the description carries no burden to explain them. It mentions 'price, kline clip, project' as part of the output, which hints at what the snapshot contains but does not add parameter-specific semantics. Baseline 3 is appropriate given full schema coverage.

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

Purpose4/5

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

The description opens with 'One-symbol: price, kline clip, project,' which clearly identifies the tool as a single-symbol snapshot getter. It also names sibling tools for other use cases (trend, gate, batch, breadth), distinguishing it from alternatives without needing to inspect other schemas. Slightly fragmentary phrasing keeps it from a 5.

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

Usage Guidelines5/5

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

Explicit routing guidance is given: 'Trend→markettrend_get_kline. Gate→marketdetail_get_kline. Many→batch_market_snapshot. Breadth→get_market_overview.' This tells the agent exactly when to use this tool versus alternatives. It also notes the read-only research context, which implies when it's appropriate to call.

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

info_markettrend_get_indicator_historyA
Read-onlyIdempotent
Inspect

Historical indicator columns (RSI, MACD, MAs). OHLCV→get_kline. Chart-label snapshot→get_technical_analysis. Not trading signals or investment recommendations. Read-only public research data. No account access, no order placement or fund transfers. Not investment advice.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoPoints; default 50, max 400.
symbolYesSymbol.
end_timeNoRange end.
timeframeYes15m|1h|4h|1d.
indicatorsYesES field names e.g. rsi, macd, macd_dea, ma7, ema7, ma30, boll_upper_band, signal_value_k, profit_rate_stddev_7d.
start_timeNoRange start: ms or ISO8601.

Output Schema

ParametersJSON Schema
NameRequiredDescription
countYes
itemsYes
totalYes
symbolYes
timeframeYes
indicatorsYes
duration_msYes

TDQS

A4.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and idempotentHint=true, covering the safety profile. The description adds disclaimers like 'No account access, no order placement or fund transfers' and 'public research data', which mostly reinforce the read-only nature rather than introducing substantial new behavioral context. It adds minimal value beyond the annotations.

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

Conciseness4/5

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

The description is brief and front-loads the core function before routing and safety disclaimers. It is somewhat fragmented with repeated 'Not investment advice' phrasing, but it is still efficient and under 50 words, with no wasted information.

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

Completeness5/5

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

Given the tool's simplicity (read-only data retrieval) and the presence of full schema and output schema, the description covers all essential aspects: what it returns, when to use it versus alternatives, and its safe read-only nature. It also implicitly states that no auth is needed ('public research data'). Nothing an agent needs to decide whether to call it is missing.

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

Parameters3/5

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

Schema description coverage is 100%, so all six parameters are documented with meaningful descriptions (e.g., 'ES field names e.g. rsi, macd...'). The tool description itself does not elaborate on parameter usage, semantics, or relationships; it only lists example indicators in the schema. The description adds no extra value on top of the schema, so the baseline of 3 is appropriate.

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

Purpose5/5

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

The description opens with 'Historical indicator columns (RSI, MACD, MAs)' which clearly identifies the function and resource. It explicitly distinguishes itself from siblings by stating 'OHLCV→get_kline. Chart-label snapshot→get_technical_analysis', so an agent can differentiate it without inspecting those tools.

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

Usage Guidelines5/5

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

The description gives explicit routing guidance: it names the exact alternatives (get_kline for OHLCV data, get_technical_analysis for chart-label snapshots) and implies this tool is for indicator history. This is a clear when-to-use vs when-not-to-use pattern, leaving no ambiguity.

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

info_markettrend_get_klineA
Read-onlyIdempotent
Inspect

Trend-index OHLCV for symbols, with optional indicator bundle. Exchange pair or contract candles, or fine intervals→marketdetail_get_kline. Columns→get_indicator_history. Chart-label snapshot→get_technical_analysis. Read-only public research data. No account access, no order placement or fund transfers. Not investment advice.

ParametersJSON Schema
NameRequiredDescriptionDefault
sizeNoRow count; alias of limit; default 100, max 400.
limitNoRow count; default 100, max 400; alternative to size.
periodNoWindow: 1h|4h|24h|7d|3d|5d|10d; default 24h. Ignored when start/end set.
symbolYesSymbol e.g. BTC, ETH.
end_timeNoAbsolute end.
timeframeYesCandle interval: 1m|5m|15m|1h|4h|1d.
start_timeNoAbsolute start: ms timestamp or ISO8601; wins over period when paired with end.
with_indicatorsNoIf true, include technical columns in _source; default OHLCV only.

Output Schema

ParametersJSON Schema
NameRequiredDescription
sizeYes
countYes
itemsYes
totalYes
periodYes
symbolYes
timeframeYes
duration_msYes

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, destructiveHint, and idempotentHint, so the description adds value by stating 'no account access, no order placement or fund transfers' and 'not investment advice.' This reinforces the read-only nature and provides user-facing context beyond the annotations.

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

Conciseness4/5

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

The description is compact and front-loaded with the core purpose (trend-index OHLCV). It uses concise routing notes and safety disclaimers without redundancy. A few segments could be merged, but overall it's efficient and structured logically.

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

Completeness4/5

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

For an 8-parameter tool with a rich output schema, the description covers purpose, routing, and safety. It doesn't describe the output format or pagination, but the output schema exists, so this is not a gap. The description is sufficient for an agent to understand when and how to call it.

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

Parameters3/5

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

Schema description coverage is 100%, so the baseline is 3. The description adds minimal new meaning beyond the schema—it mentions 'optional indicator bundle' which maps to with_indicators, but doesn't clarify other parameters like start_time/end_time or size/limit. It does not need to repeat schema details, so this is appropriate.

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

Purpose5/5

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

Clearly states the tool returns trend-index OHLCV for symbols with an optional indicator bundle. Distinguishes from siblings by naming specific alternatives: marketdetail_get_kline for fine intervals, get_indicator_history for columns, and get_technical_analysis for chart-label snapshots.

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

Usage Guidelines5/5

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

Explicitly routes to alternatives based on use case: fine intervals to marketdetail_get_kline, column-specific needs to get_indicator_history, and chart-label snapshots to get_technical_analysis. Also clarifies this is for trend-index data and adds a read-only safety note.

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

info_markettrend_get_technical_analysisA
Read-onlyIdempotent
Inspect

Multi-timeframe chart-derived labels (e.g. bullish/bearish/neutral style summaries) from OHLCV only—descriptive research, not a price forecast or investment recommendation. OHLCV→get_kline. Raw columns→get_indicator_history. Read-only public research data. No account access, no order placement or fund transfers. Not investment advice.

ParametersJSON Schema
NameRequiredDescriptionDefault
periodNoWindow: 1h|4h|24h|7d|3d|5d|10d|all; default 3d. Absolute start/end win when parseable.
symbolYesSymbol.
end_timeNoAbsolute end: ms or RFC3339.
start_timeNoAbsolute start: ms or RFC3339.

Output Schema

ParametersJSON Schema
NameRequiredDescription
periodNoEcho relative window; empty when start/end used.
signalYesAggregate: bullish|bearish|neutral.
symbolYes
end_timeNo
start_timeNo
timeframesYes
duration_msYes

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, and the description reinforces this with 'Read-only public research data' and 'No account access, no order placement or fund transfers.' It adds the important distinction that output is descriptive research, not a forecast, which is beyond annotation coverage. This provides valuable behavioral context without contradicting annotations.

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

Conciseness4/5

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

The description is concise with a few dense sentences. It front-loads the core purpose, then provides alternatives and safety cues. Each sentence contributes to understanding, and no redundant information exists. It's slightly packed but still structured effectively.

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

Completeness4/5

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

The tool has an output schema, so return format is covered elsewhere. The description explains the data source (OHLCV only), its research nature, and its read-only scope. It also names related tools for alternative needs. For a moderately simple tool with a required symbol and optional time parameters, this is adequately complete.

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

Parameters3/5

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

Schema description coverage is 100%, so all four parameters are documented in the schema. The description adds no extra parameter-specific details, but doesn't need to because the schema is comprehensive. Baseline 3 is appropriate since the description doesn't enhance parameter understanding beyond the schema.

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

Purpose5/5

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

The description clearly states the tool produces multi-timeframe chart-derived labels (bullish/bearish/neutral) from OHLCV data, explicitly differentiating itself from siblings by noting 'OHLCV→get_kline' and 'Raw columns→get_indicator_history'. This distinguishes it from similar tools and provides a precise resource and verb.

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

Usage Guidelines4/5

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

It gives clear context on when to use it (for descriptive research labels) and when not to (not a price forecast or investment recommendation). It also names alternatives (get_kline, get_indicator_history) and implies they are for raw data needs. However, it doesn't explicitly state 'use this tool when you need a technical analysis summary' but the alternatives and exclusions make it clear enough.

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

info_onchain_get_address_infoA
Read-onlyIdempotent
Inspect

Wallet profile: asset_summary, token_balances (USD desc), multi_chain_token_balances, labels/risk; Solana adds token_account/mint_account. Chain aliases: op→optimism, avax|avalanche-c→avalanche, bera|berachain→bera, polygon|matic, etc. Errors: invalid_chain, invalid_address, upstream_not_ready. Transfers→get_address_transactions. Read-only public research data. No account access, no order placement or fund transfers. Not investment advice.

ParametersJSON Schema
NameRequiredDescriptionDefault
chainNoChain id e.g. eth, trx, bsc, btc, sol, base, arb. Omit to auto-detect from labels; default eth if unknown.
scopeNobasic (default) | with_defi | with_counterparties | with_pnl | full. full merges all extensions; empty sections may be [] or null. detailed maps to full.
addressYesOn-chain address.
min_value_usdNoMin token balance USD; keep rows with parsed value_usd >= threshold. 0 keeps non-negative; unset/unparseable value_usd dropped.
upstream_raw_modeNooff (default) | lite | full. Prefer off for public MCP. include_upstream_raw=true forces full.
include_upstream_rawNoPrefer false (default). If true, include New Explorer ApiResponse.data as new_explorer_*_raw; large payload, not for public clients.

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already convey read-only, idempotent, and non-destructive. The description adds beyond that: it lists potential errors (invalid_chain, invalid_address, upstream_not_ready), clarifies no account access or order placement, includes a disclaimer, and notes Solana-specific output additions. These are valuable behavioral disclosures not present in annotations.

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

Conciseness4/5

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

The description is packed with information but remains efficient. It front-loads the core purpose, then provides aliases, errors, an alternative, and a safety disclaimer. No redundant sentences; each clause adds useful content. It is slightly dense but not bloated.

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

Completeness4/5

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

With 6 parameters and no output schema, the description gives a good overview of the response contents (asset summary, balances, labels/risk) and error cases. It also clarifies chain handling and the alternative for transfers. However, it does not describe the exact response structure or pagination, which could be inferred from the parameter `min_value_usd` but is not explicitly stated. Still, it is fairly complete for a read-only info tool.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3. The description adds meaningful parameter semantics, such as chain aliases (op→optimism, avax|avalanche-c→avalanche) and behavior of scope/errors. It also hints at the effect of chain on output (Solana adds fields). This adds value beyond the schema descriptions.

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

Purpose5/5

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

The description clearly states 'Wallet profile' and enumerates the specific data contents (asset_summary, token_balances, multi_chain_token_balances, labels/risk). It also names a sibling tool for transfers, distinguishing itself from alternatives. The purpose is unambiguous and action-oriented.

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

Usage Guidelines4/5

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

It explicitly directs transfers to get_address_transactions, providing a clear alternative for a specific use case. It states it's read-only public research data, implying appropriate contexts. However, it does not give comprehensive guidance on when to choose this over other info tools, such as token-specific or platform-specific tools.

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

info_onchain_get_address_transactionsB
Read-onlyIdempotent
Inspect

Paginated transfers; BTC items include inputs/outputs/tx_status. partial_upstream_response when upstream total>0 but list unparseable. Chain aliases same as get_address_info. Profile→get_address_info. Read-only public research data. No account access, no order placement or fund transfers. Not investment advice.

ParametersJSON Schema
NameRequiredDescriptionDefault
chainNoChain id (eth, trx, bsc, btc, sol, base, arb, ...); default eth.
limitNoMax rows; default 20, max 400; maps to explorer page_size. Some filters apply only to GET list paths.
addressYesOn-chain address.
tx_typeNotransfer | contract_call | token_transfer | all (default).
end_timeNoEnd Unix seconds.
start_timeNoStart Unix seconds; pair with end_time; absolute wins over time_range.
time_rangeNoRelative window vs start/end: 1h|24h|1d|7d|30d|90d as [now-Δ, now]. Ignored if start_time or end_time set.
to_addressNoFilter recipient; maps to explorer GET to or POST body to. BlockInfo path ignores.
from_addressNoFilter sender; maps to explorer GET from or POST transfers from. BlockInfo path ignores.
min_value_usdNoIf >0, keep rows with value_usd >= threshold (same semantics as get_address_info min_value_usd). May map to explorer query when supported.
nonzero_valueNoIf true, drop zero-amount token_transfer rows; passes nonzero_value to explorer POST when used.
upstream_raw_modeNooff (default) | lite | full. Prefer off for public MCP. include_upstream_raw=true forces full.
include_upstream_rawNoPrefer false (default). If true, include new_explorer_address_*_raw and per-item source_raw; large payload, not for public clients.

Output Schema

ParametersJSON Schema
NameRequiredDescription
chainYes
countYes
itemsYes
limitNo
totalYes
addressYes
sourcesNo
tx_typeYes
end_timeNo
start_timeNo
time_rangeNo
duration_msYes
data_qualityNo
transactionsYes
min_value_usdNo
nonzero_valueNo
quality_reasonsNo
new_explorer_address_transfers_rawNo
new_explorer_address_transactions_rawNo
new_explorer_address_token_transfers_rawNo
new_explorer_address_sol_transactions_rawNo
new_explorer_address_internal_transactions_rawNo

TDQS

B3.3/5.0
Behavior3/5

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

Annotations already cover read-only, idempotent, and non-destructive behavior. The description adds specific behavioral details: 'partial_upstream_response when upstream total>0 but list unparseable' and 'BTC items include inputs/outputs/tx_status'. It also includes disclaimers like 'No account access, no order placement or fund transfers' which reinforce the read-only nature but add little beyond annotations. Overall, it adds some edge-case context and per-chain behavior, but not deeply.

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

Conciseness3/5

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

The description is about 55 words and includes several short declarative sentences. It front-loads the core purpose and includes useful edge-case info. However, it contains somewhat lengthy disclaimers ('No account access... Not investment advice') that, while harmless, are not central to invoking the tool and could be trimmed. The structure is acceptable but not maximally efficient.

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

Completeness3/5

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

Given 13 parameters and an output schema exists, the description need not detail return values. It covers a key edge case (partial_upstream_response), BTC specifics, and cross-references for chain aliases and profile usage. However, it does not clarify pagination mechanics (e.g., cursor vs. offset) beyond 'paginated', nor does it state explicitly what types of transactions are included (transfers only vs. all tx types). It is adequate but has noticeable gaps for a complex tool.

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

Parameters3/5

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

Schema description coverage is 100%, so parameters like chain, tx_type, time_range, and filters are already documented. The description adds 'Chain aliases same as get_address_info', which could clarify chain naming conventions, but the schema already lists examples and open-ended dots. No additional parameter semantics beyond the schema are provided, so the baseline of 3 is appropriate.

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

Purpose4/5

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

The description states 'Paginated transfers' as the core action, implying retrieval of address transactions. It also specifies BTC-specific data ('inputs/outputs/tx_status'), which adds nuance. However, it does not explicitly name 'transactions' beyond the tool name, and it omits mentioning that tx_type can be 'contract_call' or 'token_transfer', so the purpose is clear but not fully exhaustive.

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

Usage Guidelines3/5

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

The description provides a pointer to a sibling: 'Profile→get_address_info' suggests using get_address_info for profile queries, implicitly indicating this tool is for transactions. It also mentions 'Chain aliases same as get_address_info' for reuse. However, it does not explicitly state when to prefer this tool over other on-chain tools (e.g., get_transaction or get_token_onchain) nor give exclusions. The guidance is implied rather than explicit.

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

info_onchain_get_token_onchainA
Read-onlyIdempotent
Inspect

Token scope: holders, transfers, activity, smart_money. Address ledger→get_address_transactions. One tx→get_transaction. Read-only public research data. No account access, no order placement or fund transfers. Not investment advice.

ParametersJSON Schema
NameRequiredDescriptionDefault
chainNoChain; omit for service default.
scopeNoholders|activity|transfers|smart_money|full; default full.
tokenYesToken symbol e.g. ETH, USDT, or contract address.
upstream_raw_modeNooff (default) | lite | full. Prefer off for public MCP. include_upstream_raw=true forces full.
include_upstream_rawNoPrefer false (default). If true, include explorer_*_page raw and transfer source_raw; large payload, not for public clients.

Output Schema

ParametersJSON Schema
NameRequiredDescription
chainYes
scopeYes
tokenYes
holdersNo
sourcesNo
activityNo
transfersNo
token_infoNo
duration_msYesrequired
smart_moneyNo
data_qualityNo
quality_reasonsNo
explorer_token_rawNo
explorer_holders_rawNo
explorer_transfers_rawNo

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false. The description adds valuable context beyond that: 'Read-only public research data. No account access, no order placement or fund transfers. Not investment advice.' This reinforces the read-only nature and clarifies boundaries (no account access, no trading), which is useful for an agent deciding whether to call it. It does not contradict annotations.

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

Conciseness5/5

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

The description is extremely concise – four short sentences that front-load the core purpose (token scope), then give alternatives, then safety disclaimers. Every sentence earns its place, with no filler or redundancy.

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

Completeness4/5

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

Given the 5-parameter schema with 100% coverage and an output schema, the description covers essential usage context: it states the data scopes, points to alternatives, and clarifies the read-only, non-advice nature. It doesn't explain return format, but the output schema covers that. It also doesn't detail behavior like pagination or rate limits, but those aren't critical for a read-only research tool. Overall, it provides enough context for correct selection and invocation.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents all parameters (chain, scope, token, upstream_raw_mode, include_upstream_raw). The description adds little beyond repeating scope names (holders, transfers, activity, smart_money) that are already in the scope property's description. It doesn't elaborate on param formats or defaults beyond what the schema provides, so the baseline 3 is appropriate.

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

Purpose5/5

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

The description opens with 'Token scope' and enumerates the specific data types (holders, transfers, activity, smart_money), making it unambiguous what the tool returns. It also distinguishes itself by pointing to sibling tools for address-ledger and single-transaction queries, so an agent can tell it apart without opening the schema.

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

Usage Guidelines5/5

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

Provides explicit alternates: 'Address ledger→get_address_transactions' and 'One tx→get_transaction'. This tells the agent when NOT to use this tool and which sibling to use instead. The 'Token scope' prefix clarifies that this is for token-level queries, not general on-chain address queries.

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

info_onchain_get_transactionA
Read-onlyIdempotent
Inspect

One transaction by hash; fields sparse if upstream thin. Token view→get_token_onchain. Read-only public research data. No account access, no order placement or fund transfers. Not investment advice.

ParametersJSON Schema
NameRequiredDescriptionDefault
chainNoChain e.g. eth, bsc, btc; default eth.
tx_hashYesTransaction hash. Response may omit fields when upstream data is incomplete.
upstream_raw_modeNooff (default) | lite | full. Prefer off for public MCP; only full adds detail raw. include_upstream_raw=true forces full.
include_upstream_rawNoPrefer false (default). If true, include explorer_detail_raw and blockinfo_detail_raw; large payload, not for public clients.

Output Schema

ParametersJSON Schema
NameRequiredDescription
toNo
fromNo
chainYes
valueNo
tx_feeNo
sourcesNo
to_tagsNo
tx_hashYes
tx_tagsNo
gas_usedNo
from_tagsNo
value_usdNo
block_timeNo
tx_fee_usdNo
duration_msYes
method_nameNo
block_heightNo
contract_retNo
data_qualityNo
instructionsNo
program_logsNo
quality_reasonsNo
token_transfersNo
sol_balance_changeNo
explorer_detail_rawNo
blockinfo_detail_rawNo
token_balance_changeNo
internal_transactionsNo

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already cover read-only and idempotent aspects. The description adds valuable behavioral context: 'fields sparse if upstream thin' warns of incomplete data, and it reaffirms no account access or order placement. No contradiction with annotations.

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

Conciseness5/5

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

Three concise sentences front-load the core function, then add the token alternative, read-only restriction, and disclaimers. No wasted words; efficient and well-structured.

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

Completeness5/5

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

Given the presence of an output schema and annotations, the description covers all necessary usage context: single transaction lookup, sparse-field behavior, the distinction from token tool, and safety boundaries. Nothing essential is missing for an agent to call it correctly.

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

Parameters3/5

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

The input schema has 100% coverage for all four parameters, each with descriptive text. The description adds little beyond the schema for parameters; it only hints at sparse fields in the response, which is already noted in the schema for tx_hash. Baseline 3 is appropriate given high schema coverage.

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

Purpose5/5

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

The description clearly states the tool's purpose: retrieve one transaction by hash. It distinguishes itself from the token-view tool by explicitly pointing to get_token_onchain, making it unambiguous among siblings.

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

Usage Guidelines4/5

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

It provides clear guidance for when to use this tool vs. the token alternative, and reinforces its read-only nature. It does not explicitly exclude other on-chain tools like get_address_transactions, but the single-transaction scope is evident.

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

info_platformmetrics_get_bridge_metricsA
Read-onlyIdempotent
Inspect

Bridge ranking or one-bridge chain breakdown. Cross-sector dashboard across DeFi, spot, perp, stablecoin, or bridge→get_defi_overview. Read-only public research data. No account access, no order placement or fund transfers. Not investment advice.

ParametersJSON Schema
NameRequiredDescriptionDefault
chainNoChain; normalized e.g. eth→Ethereum; filters chain_breakdown.
limitNoRows; default 10, max 400.
sort_byNovolume_24h (default)|volume_7d|deposit_txs_24h.
bridge_nameNoBridge name (ASCII case-insensitive after trim/space normalize); omit for ranked list without chain_breakdown.

Output Schema

ParametersJSON Schema
NameRequiredDescription
chainYes
countYes
itemsYes
limitYes
totalYes
sort_byYes
bridge_nameYes
duration_msYes

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false. The description adds 'Read-only public research data. No account access, no order placement or fund transfers. Not investment advice.' This goes beyond annotations by clarifying it is public research, non-actionable, and not financial advice, which is valuable context.

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

Conciseness3/5

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

The description is short but the second sentence 'Cross-sector dashboard across DeFi, spot, perp, stablecoin, or bridge→get_defi_overview' is cryptic and potentially confusing, detracting from clarity. While it is brief, the unclear use of the arrow hurts the structure.

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

Completeness4/5

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

Given that an output schema exists and the schema covers all parameters, the description provides sufficient context: it states the two modes (ranking vs breakdown), the scope, and safety properties. It does not explain the output format, but that is already handled by the output schema, so it is complete enough.

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

Parameters3/5

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

Schema description coverage is 100%, so the input schema fully documents all four parameters. The description does not add any parameter-specific meaning beyond what the schema already provides, so a baseline of 3 is appropriate.

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

Purpose5/5

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

The description explicitly states 'Bridge ranking or one-bridge chain breakdown,' which is a specific verb+resource with clear scope. It also names the sibling tool get_defi_overview, distinguishing this tool as the bridge-focused counterpart.

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

Usage Guidelines4/5

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

The description hints at usage via 'Cross-sector dashboard across DeFi, spot, perp, stablecoin, or bridge→get_defi_overview,' suggesting that for DeFi overview one should use get_defi_overview, while this tool handles bridge data. Though not perfectly explicit, it provides a routing clue without describing exclusions for other siblings.

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

info_platformmetrics_get_cex_orderbook_depthA
Read-onlyIdempotent
Inspect

Competitor CEX ±1% order-book depth (spot/perp) from warehouse indices; BTC/ETH liquidity benchmarking. Gate native ladder→get_orderbook. Read-only public research data. No account access, no order placement or fund transfers. Not investment advice.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax rows; default 20, max 100.
symbolYesBase asset e.g. BTC, ETH.
exchangeNoVenue e.g. BINANCE; when set with exchange index, filters exchange dimension.
data_scopeNoexchange|market; default market if only market index configured, else exchange when exchange set.
market_typeNospot|perp (maps to SPOT|PERP); default perp.

Output Schema

ParametersJSON Schema
NameRequiredDescription
countYes
itemsYes
limitYes
totalYes
symbolYes
exchangeYes
data_scopeYes
duration_msYes
market_typeYes

TDQS

A4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description adds 'Read-only public research data, no account access, no order placement or fund transfers, not investment advice' — this reinforces the read-only nature but is largely redundant with the annotations. It adds some context about the data source ('warehouse indices') but does not materially expand behavioral disclosure beyond what the annotations already convey.

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

Conciseness5/5

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

The description is three sentences, front-loading the core purpose first, then the data source and safety caveats. Every sentence earns its place—no fluff or repetition. It is compact and easy to parse.

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

Completeness4/5

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

With a rich input schema (5 params, 1 required) and an output schema present, the description covers the essential context: purpose, scope, and safety. It does not detail response format or pagination, but the output schema presumably handles that. The only minor gap is lack of explicit alternative routing, though usage guidelines cover the intended use.

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

Parameters3/5

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

Schema description coverage is 100%, so all five parameters are documented in the schema. The description adds no additional parameter insights beyond echoing 'spot/perp' which is already in the market_type property. Per the calibration rule, the baseline is 3 when schema coverage is high, and the description does not compensate further.

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

Purpose5/5

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

The description clearly states the tool returns competitor CEX order-book depth within ±1% for spot/perp, sourced from warehouse indices, and positions it for BTC/ETH liquidity benchmarking. This specific verb+resource distinguishes it from the sibling info_marketdetail_get_orderbook, which is not competitor-specific.

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

Usage Guidelines4/5

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

It provides clear context for usage: benchmarking competitor CEX liquidity for BTC/ETH. It does not explicitly name alternatives or say when not to use it, but the 'Competitor CEX' and 'benchmarking' phrasing makes the intended scenario obvious. No exclusions are given, so it's slightly below a 5.

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

info_platformmetrics_get_chain_activityA
Read-onlyIdempotent
Inspect

Chain-level activity metrics by metric_group. staking: Ethereum daily staking_metrics.series. l2: L2 ops daily l2_metrics.series (tps_avg_1d, active_addresses_1d, blob_cost_usd_1d, sequencer_revenue_usd_1d, stage_label; no tx_count/l1_fee_usd) from dwd_external_l2_metrics_daily_di; granularity day only. btc_l2: BTC L2 protocol ecosystem btc_l2_metrics.items (project_key, project_name, category, main_chain, tvl_usd, protocol_count, tx_count_1d, active_addresses_1d, bridge_volume_24h_usd, source_refs; whitelist: stacks|rootstock|merlin|bob|bitlayer). Read-only public research data. No account access, no order placement or fund transfers. Not investment advice.

ParametersJSON Schema
NameRequiredDescriptionDefault
chainNoChain; staking defaults empty to ethereum; l2 supports base/arbitrum/optimism/linea/zksync_era/blast or empty for all chains; btc_l2 defaults empty to btc (required).
limitNol2 only: max series rows returned; 0 means no extra cap beyond date window.
projectNobtc_l2 only: filter by project_key; empty returns whitelist (stacks|rootstock|merlin|bob|bitlayer). Non-whitelist project returns data_status=not_in_scope.
end_dateNoYYYY-MM-DD; default latest part_date in index.
lookbackNo30d|90d|1y when start_date empty; default 30d.
start_dateNoYYYY-MM-DD; default derived from lookback or 30d.
granularityNol2 only: day (default); hour or minute returns unsupported_granularity.
metric_groupYesMetric group: staking (Ethereum beacon daily) | l2 (L2 ops daily from growthepie+L2Beat) | btc_l2 (BTC L2 protocol ecosystem tvl/protocol_count/tx_count_1d/active_addresses_1d/bridge_volume_24h_usd from dwd_external_btc_protocol_di).

Output Schema

ParametersJSON Schema
NameRequiredDescription
chainYes
countYes
totalYes
end_dateYes
lookbackNo
l2_metricsNo
start_dateYes
data_statusNo
duration_msYes
granularityNo
metric_groupYes
btc_l2_metricsNo
end_date_cappedNo
range_truncatedNo
staking_metricsNo
normalized_chainYes
start_date_cappedNo

TDQS

A4.4/5.0
Behavior5/5

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

Beyond the readOnly/idempotent/destructive annotations, the description discloses concrete behavioral traits: 'granularity day only', 'hour or minute returns unsupported_granularity', 'Non-whitelist project returns data_status=not_in_scope', the l2 field exclusions ('no tx_count/l1_fee_usd'), and 'No account access, no order placement or fund transfers. Not investment advice.' All of this is genuinely additive and consistent with the annotations.

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

Conciseness3/5

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

The description is front-loaded with the core purpose and contains zero wasted sentences—every clause about fields, sources, and exclusions is functional. However, it is a single dense run-on paragraph covering three variants; the lack of structural separation makes it harder to scan, and some implications (chain default derivation) are ambiguous in the paragraph form.

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

Completeness4/5

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

Given an output schema exists and 100% schema coverage, the description is quite complete: it covers data sources, whitelist behavior, granularity constraints, error paths (unsupported_granularity, not_in_scope), and read-only caveats for all three metric groups. For an 8-parameter tool with variant behaviors per group, this is thorough, though the absence of explicit when-not-to-use guidance leaves minor room for improvement.

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

Parameters4/5

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

Schema coverage is 100% and every parameter already has a useful description, so the baseline is 3. The description adds real value on top by enumerating exact return fields per metric group (tps_avg_1d, active_addresses_1d, blob_cost_usd_1d, sequencer_revenue_usd_1d, stage_label; the btc_l2 whitelist stacks|rootstock|merlin|bob|bitlayer) and clarifying derived defaults (chain defaulting to ethereum/btc). It complements rather than repeats the schema.

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

Purpose5/5

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

The description states a specific verb+resource: 'Chain-level activity metrics' organized by metric_group, and enumerates three distinct variants (staking, l2, btc_l2) with concrete data sources (dwd_external_l2_metrics_daily_di, dwd_external_btc_protocol_di) and field lists. This level of specificity cleanly distinguishes it from siblings like get_bridge_metrics and get_defi_overview without opening any schema.

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

Usage Guidelines4/5

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

The description gives clear context about scope by mapping each metric_group to its domain (Ethereum staking, L2 ops, BTC L2 ecosystem) and explicitly notes granularity/limit/project are group-restricted, helping the agent configure calls correctly. It does not, however, explicitly name alternatives or state when not to use this tool versus the many platformmetrics/onchain siblings.

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

info_platformmetrics_get_defi_overviewA
Read-onlyIdempotent
Inspect

Cross-sector dashboard for DeFi, spot, perp, stablecoin, or bridge categories. One bridge ranking or chain detail→get_bridge_metrics. One protocol→get_platform_info. Read-only public research data. No account access, no order placement or fund transfers. Not investment advice.

ParametersJSON Schema
NameRequiredDescriptionDefault
categoryNoall|defi|spot|perp|stablecoin|bridge or platform type; unknown values passed through; empty if no match.

Output Schema

ParametersJSON Schema
NameRequiredDescription
countYes
itemsYes
totalYes
categoryYes
duration_msYes

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering safety and idempotency. The description adds valuable behavioral context on top: it is read-only public research data, with no account access, no order placement or fund transfers, and not investment advice. This goes beyond the annotations and helps the agent set user expectations.

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

Conciseness5/5

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

The description is four short sentences, each carrying a distinct piece of information: the core purpose, routing to sibling tools, the read-only nature, and legal disclaimers. It is front-loaded with the primary purpose and efficiently communicates the key distinctions and constraints without any fluff.

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

Completeness5/5

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

The tool has a single optional parameter, an output schema, and clear routing for specific needs. The description covers the primary use case, the available categories, the read-only nature, and explicit disclaimers. Nothing an agent needs to correctly invoke this tool is missing, making it complete for its intended function.

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

Parameters3/5

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

Schema coverage is 100% and the parameter description already lists the allowed values (all|defi|spot|perp|stablecoin|bridge) and behavior for unknown values. The description's mention of the same categories does not add meaningful new semantics beyond the schema. It restates what is already structured, so a baseline 3 is appropriate.

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

Purpose5/5

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

The description states a specific purpose: a cross-sector dashboard covering DeFi, spot, perp, stablecoin, or bridge categories. It also explicitly contrasts with sibling tools by noting when to use get_bridge_metrics or get_platform_info, making the tool's scope unambiguous. Even without the title, an agent can tell what this tool does and how it differs from its siblings.

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

Usage Guidelines5/5

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

The description clearly indicates when to use this tool versus alternatives: it is the cross-sector dashboard, while specific bridge rankings or chain details should go to get_bridge_metrics, and single protocol details to get_platform_info. This explicitly provides when/when-not guidance, leaving no ambiguity about which tool to select for a given intent.

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

info_platformmetrics_get_exchange_reservesA
Read-onlyIdempotent
Inspect

Exchange reserve snapshots by venue and asset. scope=full adds por (PoR attestation). scope=full + include_flows=true returns flows.series[] (daily inflow/outflow/netflow). scope=full + include_events=true returns events[] (large_flow events). TVL history→get_platform_history. Read-only public research data. No account access, no order placement or fund transfers. Not investment advice.

ParametersJSON Schema
NameRequiredDescriptionDefault
assetNoAsset filter: BTC|ETH|USDT|USDC; default BTC.
limitNoMax flow rows; default 100, max 400.
scopeNobasic (default)|full; full adds por + optionally flows/events.
end_dateNoYYYY-MM-DD; default today. Filter flows by part_date.
exchangeNoExchange name; empty returns all exchanges. Supports okx→okx, gate.io→gate via normalized mapping.
event_typeNoall|large_flow; filter events. Effective only when include_events=true.
start_dateNoYYYY-MM-DD; default end_date - 30d. Filter flows by part_date.
include_flowsNoscope=full only. true returns flows.series[].
history_windowNoOnly effective when include_history=true; currently only quarter is supported.
include_eventsNoscope=full only. true returns events[].
include_historyNoDefault false. true returns precomputed comparison fields only, not raw historical snapshots.

Output Schema

ParametersJSON Schema
NameRequiredDescription
assetYes
countYes
flowsNo
itemsYes
limitNo
scopeYes
totalYes
eventsNo
end_dateNo
exchangeYes
event_typeNo
start_dateNo
data_statusNo
duration_msYes
include_flowsNo
status_reasonNo
history_windowYes
include_eventsNo
include_historyYes

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description adds meaningful context beyond these: it states 'Read-only public research data,' 'No account access, no order placement or fund transfers,' and 'Not investment advice.' This gives the agent a better sense of the tool's safety and purpose without contradicting the annotations.

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

Conciseness5/5

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

The description is compact yet dense, using only a few sentences to pack the core purpose, optional behaviors, a routing pointer, and safety disclaimers. It is front-loaded with the main action and then proceeds to details, with no filler. Every sentence earns its place.

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

Completeness5/5

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

Given the tool's complexity (11 parameters) and the presence of an output schema, the description provides sufficient orientation: it explains the scope modes, flow/event options, and the distinction from TVL history. The safety and public-data nature are also covered. There is no obvious missing information that an agent would need to invoke it correctly.

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

Parameters4/5

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

The schema covers 100% of parameters, so the baseline is 3. The description adds value by explaining how parameters interact: e.g., 'scope=full adds por,' 'include_flows=true returns flows.series[],' and 'include_history=true returns precomputed comparison fields only, not raw historical snapshots.' This contextualizes the combination rules beyond individual parameter descriptions, raising it above the baseline.

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

Purpose5/5

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

The description opens with a specific verb and resource: 'Exchange reserve snapshots by venue and asset.' It immediately conveys what the tool does and distinguishes it from related tools by noting 'TVL history→get_platform_history.' This is far from a tautology and clearly differentiates it from siblings like get_platform_history or get_cex_orderbook_depth.

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

Usage Guidelines4/5

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

The description provides an explicit routing hint: 'TVL history→get_platform_history,' which tells the agent when to use an alternative. It also outlines optional parameter combinations (scope=full, include_flows, include_events) that clarify when those are applicable. It does not state exhaustive 'when not to use' conditions, but the guidance given is clear and actionable.

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

info_platformmetrics_get_liquidation_heatmapA
Read-onlyIdempotent
Inspect

Liquidation density by symbol and price buckets. Read-only public research data. No account access, no order placement or fund transfers. Not investment advice.

ParametersJSON Schema
NameRequiredDescriptionDefault
rangeNoPrice range or bucket spec.
symbolYesSymbol e.g. BTC, ETH.
exchangeNoExchange; empty = all venues.

Output Schema

ParametersJSON Schema
NameRequiredDescription
countYes
itemsYes
rangeYes
totalYes
symbolYes
exchangeYes
duration_msYes

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is clear. The description adds 'public research data' and 'no account access, no order placement or fund transfers,' which reinforces read-only behavior and adds a bit of context about permissions. However, it does not describe rate limits, pagination, or other behavioral details beyond what annotations cover.

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

Conciseness4/5

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

The description is concise and front-loaded with the core purpose, followed by safety and advisory notes. It consists of four short sentences, each adding distinct information. No unnecessary repetition, though some content (e.g., read-only) duplicates annotations.

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

Completeness4/5

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

Given the presence of an output schema (as indicated), the description does not need to explain return format. With simple parameters and clear annotations covering safety, the description provides sufficient context for an agent to invoke the tool correctly. Minor omissions like rate limits do not significantly hinder usability.

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

Parameters3/5

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

Schema description coverage is 100%, with each parameter (range, symbol, exchange) having its own description. The tool description does not add any additional meaning beyond what the schema already provides, so it relies on the schema. According to the baseline for high coverage, a score of 3 is appropriate.

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

Purpose4/5

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

The description states a specific verb and resource: 'Liquidation density by symbol and price buckets.' This is clear and distinct from other platformmetrics siblings like bridge metrics or orderbook depth. However, it does not explicitly name an alternative tool, so it doesn't fully satisfy the 'distinguishes from siblings' criterion.

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

Usage Guidelines3/5

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

The description implies usage when you need liquidation density data, but it does not provide explicit guidance on when to use this tool versus alternatives, nor does it state any exclusions. Phrases like 'Read-only public research data' clarify safe usage but not selection criteria.

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

info_platformmetrics_get_platform_historyA
Read-onlyIdempotent
Inspect

Daily TVL, volume, and fees time series for one named protocol. One-shot profile→get_platform_info. Ranked multi-protocol list→search_platforms. CEX perps history: pass exchange_slug (e.g. gate) or platform_name. Read-only public research data. No account access, no order placement or fund transfers. Not investment advice.

ParametersJSON Schema
NameRequiredDescriptionDefault
metricsNotvl|volume|fees|revenue|volume_perps; default [tvl] when empty. volume_perps returns series when present in platform_history (GAP-001).
end_dateNoEnd YYYY-MM-DD.
start_dateNoStart YYYY-MM-DD.
granularityNoday|week|month|quarter; used for volume_perps field mapping in derivatives history index; default day.
exchange_slugNoDWS exchange_slug (e.g. gate); optional if platform_name is set.
platform_nameNoProtocol or platform display name; optional if exchange_slug is set. For volume_perps, expanded to DWS exchange_slug-style keys (e.g. Gate.io→gate) like merge path.

Output Schema

ParametersJSON Schema
NameRequiredDescription
countYes
itemsYes
totalYes
metricsYes
end_dateYes
start_dateYes
duration_msYes
platform_nameYes

TDQS

A4.7/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, covering the basic safety profile. The description adds extra behavioral context: 'Read-only public research data. No account access, no order placement or fund transfers. Not investment advice.' This reinforces that no side effects occur and clarifies the data scope. The description also clarifies a data-specific behavior (CEX perps via exchange_slug) that isn't captured in annotations. It doesn't add details on return format or pagination, but the output schema exists. Hence a 4 is appropriate.

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

Conciseness5/5

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

The description is concise, with each sentence earning its place. It front-loads the core purpose, then provides routing alternatives, then a specific usage case, then safety disclaimers. No fluff or redundancy. The information density is high without being unwieldy.

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

Completeness5/5

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

For a read-only time series tool with a full output schema, the description covers all essential aspects: it names the exact data (TVL, volume, fees), clarifies the single-protocol scope, routes to sibling tools, explains CEX perps handling, and declares safety limitations. The output schema handles return value explanation, so no further detail is needed. The description is fully sufficient for an agent to decide when to call it and how.

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

Parameters4/5

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

Schema description coverage is 100%, so the baseline is 3. The description adds value by clarifying the interplay between exchange_slug and platform_name: 'CEX perps history: pass exchange_slug (e.g. gate) or platform_name.' This explains when to use which parameter, which is not fully evident from the schema alone. It also mentions the metrics parameter's default in a prior sentence ('Daily TVL, volume, and fees'), which helps understand the metric options. This extra guidance justifies a 4.

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

Purpose5/5

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

The description clearly states the tool returns 'Daily TVL, volume, and fees time series for one named protocol,' specifying the exact resource (one protocol) and data type. It also distinguishes itself from siblings by naming them: 'One-shot profile→get_platform_info. Ranked multi-protocol list→search_platforms.' This disambiguation is explicit and leaves no ambiguity about scope.

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

Usage Guidelines5/5

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

The description provides direct routing guidance: for a single protocol profile, use get_platform_info; for a ranked multi-protocol list, use search_platforms. It also gives a specific conditional usage: 'CEX perps history: pass exchange_slug (e.g. gate) or platform_name.' This goes beyond general usage and covers edge cases, making the when-to-use crystal clear.

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

info_platformmetrics_get_platform_infoA
Read-onlyIdempotent
Inspect

One-shot protocol profile by name and scope. scope=full adds competition_metrics{} for CEX venues (spot/derivs/depth/OI core+extended/PoR). Set include_oi_symbol_detail=true with oi_symbol_limit (1-100, default 20) for top-N OI breakdown. Ranked multi-protocol list→search_platforms. Daily time series→get_platform_history. Read-only public research data. No account access, no order placement or fund transfers. Not investment advice.

ParametersJSON Schema
NameRequiredDescriptionDefault
scopeNobasic (default)|with_chain_breakdown (adds tvl_by_chain, volume_by_chain)|full (adds history_30d, top_pools, competition_metrics).
platform_nameYesProtocol or platform name.
oi_symbol_limitNoEffective only when include_oi_symbol_detail=true. Default 20, range 1-100; >100 returns invalid_param.
include_oi_symbol_detailNoscope=full only. true returns competition_metrics.oi_symbol_detail[] sorted by OI USD desc; default false.

Output Schema

ParametersJSON Schema
NameRequiredDescription
countYes
itemsYes
scopeYes
totalYes
duration_msYes
platform_nameYes

TDQS

A5/5.0
Behavior5/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false. The description adds meaningful context: 'Read-only public research data. No account access, no order placement or fund transfers. Not investment advice.' This goes beyond the annotations by specifying the nature of data access and safety boundaries. No contradiction with annotations.

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

Conciseness5/5

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

The description is compact yet information-dense. It leads with purpose, then explains scope, parameter interplay, alternatives, and safety—all in a few sentences with zero fluff. Perfectly front-loaded and well-structured.

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

Completeness5/5

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

Given an output schema exists, the description need not spell out return values. It covers usage, parameter interactions, alternatives, and safety constraints thoroughly. For a tool with 4 parameters and scope options, this is complete and self-sufficient.

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

Parameters5/5

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

Schema coverage is 100%, but the description adds valuable semantics beyond the schema. It explains what scope=full truly adds: 'competition_metrics{} for CEX venues (spot/derivs/depth/OI core+extended/PoR)' and clarifies the purpose of oi_symbol_limit: 'for top-N OI breakdown'. This enriches parameter understanding beyond the schema descriptions.

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

Purpose5/5

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

The description states the exact purpose: 'One-shot protocol profile by name and scope.' It clearly distinguishes from siblings by naming the alternatives: 'Ranked multi-protocol list→search_platforms. Daily time series→get_platform_history.' This leaves no doubt about what the tool does and what it doesn't.

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

Usage Guidelines5/5

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

Explicitly provides usage context and alternatives with conditions: 'Ranked multi-protocol list→search_platforms. Daily time series→get_platform_history.' It also clarifies scope behavior and parameter prerequisites. The description tells the agent when to use this tool (single profile) and when to use others, with clear routing.

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

info_platformmetrics_get_stablecoin_infoA
Read-onlyIdempotent
Inspect

Stablecoin-only ranking or per-symbol chain breakdown. scope=full with sections=issuance_flow returns issuance_flows[] (CryptoQuant net issuance/redemption); sections=usage_structure returns real usage metrics; sections=depeg_events returns depeg events (stablecoin de-peg event library). Broad market dashboard→get_market_overview. Cross-sector rollup→get_defi_overview. Read-only public research data. No account access, no order placement or fund transfers. Not investment advice.

ParametersJSON Schema
NameRequiredDescriptionDefault
chainNoChain filter; list mode restricts to stables with presence on chain. Extensions: all (default) or normalized chain e.g. ethereum/tron/solana/polygon.
limitNoList size; default 10, max 400; single row when symbol set.
scopeNobasic (default)|full; full required for sections.
symbolNoStablecoin symbol USDT/USDC/DAI/FDUSD/PYUSD; omit for ranked list or extension defaults.
end_dateNoUTC YYYY-MM-DD; extension window end, default latest data date for usage_structure or today for issuance_flow/depeg_events.
sectionsNoComma-separated string or array; supported values: issuance_flow, usage_structure, depeg_events when scope=full.
start_dateNoUTC YYYY-MM-DD; extension window start, default last 30 days. depeg_events: default 2020-01-01.
min_deviationNodepeg_events only: filter events with max_deviation >= this value. Range 0.001-0.2, default 0.005.
review_statusNodepeg_events only: candidate|approved|rejected; default approved (only returns reviewed events).

Output Schema

ParametersJSON Schema
NameRequiredDescription
chainYes
countYes
itemsYes
limitYes
scopeNo
totalYes
symbolYes
end_dateNo
start_dateNo
duration_msYes
depeg_eventsNo
min_deviationNo
issuance_flowsNo
range_truncatedNo
usage_structureNo

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, and non-destructive. The description adds contextual value by stating it is 'Read-only public research data' and clarifies it involves no account access, order placement, or fund transfers, plus 'Not investment advice.' This goes beyond annotations, disclosing the data nature and usage limits.

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

Conciseness4/5

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

The description is concise and well-structured. It starts with a clear purpose, then details the key sections, then routes to alternatives, and ends with safety caveats. Every sentence contributes value, and the most important information (purpose and sections) is front-loaded. It could be slightly more organized, but it's efficient.

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

Completeness4/5

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

Given the tool has 9 optional parameters and an output schema, the description is sufficiently complete. It covers the core purpose, the behavior of the sections parameter, and safety/usage constraints. The output schema covers return values, and the schema descriptions handle parameter details, so nothing critical is missing for an agent to select and invoke the tool correctly.

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

Parameters4/5

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

Schema coverage is 100% with descriptions for every parameter, so the baseline is 3. The description adds extra meaning for the sections parameter, explaining what each section returns (issuance_flow gives CryptoQuant net issuance/redemption, usage_structure gives real usage metrics, depeg_events gives a de-peg event library). This provides semantic context beyond the schema's simple enumeration, justifying a 4.

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

Purpose5/5

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

The description states a specific resource (stablecoin) and action (ranking or per-symbol chain breakdown), clearly distinguishing it from generic market overview tools. It explicitly differentiates from siblings by naming get_market_overview and get_defi_overview as alternatives for broader scopes, so an agent knows when this tool is the right fit.

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

Usage Guidelines4/5

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

The description gives clear context for when to use this tool (stockson stablecoin-specific queries) and explicitly points to get_market_overview for broad market dashboards and get_defi_overview for cross-sector rollups. It does not state exclusions beyond those alternatives, but the guidance is sufficient to route the agent correctly.

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

info_platformmetrics_get_yield_poolsA
Read-onlyIdempotent
Inspect

Lending and LP pools by APY or TVL. scope=full adds apy_base_30d, apy_reward_30d, reward_tokens, market_share. One protocol profile→get_platform_info. TVL series→get_platform_history. Read-only public research data. No account access, no order placement or fund transfers. Not investment advice.

ParametersJSON Schema
NameRequiredDescriptionDefault
chainNoChain filter.
limitNoRows; default 20, max 400.
scopeNobasic (default)|full. full adds apy_base_30d, apy_reward_30d, reward_tokens, market_share.
symbolNoAsset e.g. USDC, ETH-USDC.
projectNoProtocol e.g. aave-v3.
sort_byNoapy|tvl_usd; default apy.
pool_typeNoExposure single|multi or Lending|LP|Staking; maps to ES exposure.
min_tvl_usdNoMin TVL USD; default 100000 when omitted; 0 = no floor.

Output Schema

ParametersJSON Schema
NameRequiredDescription
chainYes
countYes
itemsYes
limitYes
scopeYes
totalYes
symbolYes
projectYes
sort_byYes
pool_typeYes
duration_msYes
min_tvl_usdYes

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the read-only nature is covered. The description adds valuable specificity beyond annotations: 'No account access, no order placement or fund transfers' and 'Not investment advice.' This fills in the operational envelope without contradicting the annotations.

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

Conciseness5/5

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

The description is a single, dense sentence spread over a few lines. It front-loads the core purpose, then gives routing alternatives, then safety disclaimers. Every clause contributes meaning; there is no fluff or repetition. It is concise while packing substantial information.

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

Completeness5/5

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

Given the tool has 8 optional parameters, an existing output schema, and comprehensive schema descriptions, the description covers the essential context: what the tool returns, how to adjust scope, which siblings cover adjacent use cases, and its safety boundaries. Nothing critical for an agent to correctly invoke the tool is missing, and the output format is already handled by the output schema.

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

Parameters3/5

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

Schema description coverage is 100%, so all eight parameters are already documented in the input schema. The description mentions 'scope=full adds apy_base_30d, ...' but this duplicates the schema's own description for scope. The main added value is the overall context that pools are sorted by APY or TVL, but that is not a parameter-specific explanation. The schema carries the semantic load, so a baseline 3 is appropriate.

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

Purpose5/5

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

The description opens with a specific verb+resource: 'Lending and LP pools by APY or TVL.' This precisely states what the tool retrieves and immediately distinguishes it from sibling tools like get_platform_info and get_platform_history, which are explicitly referenced. The purpose is clear and unambiguous.

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

Usage Guidelines5/5

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

The description provides explicit routing guidance: 'One protocol profile→get_platform_info. TVL series→get_platform_history.' It also frames the tool's context as read-only public research data, clarifying when it is appropriate to use. This is strong, actionable guidance for an agent deciding between tools.

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

info_platformmetrics_search_platformsA
Read-onlyIdempotent
Inspect

Ranked multi-protocol list with filter and sort. One-shot profile→get_platform_info. One named protocol daily series→get_platform_history. Read-only public research data. No account access, no order placement or fund transfers. Not investment advice.

ParametersJSON Schema
NameRequiredDescriptionDefault
chainNoChain filter.
limitNoRows; default 20, max 400.
sort_byNotvl|volume_24h|volume_spot_24h|volume_perps_24h|volume_perps_7d|volume_perps_30d|volume_perps_qtd|fees_24h; default tvl.
sort_orderNoasc|desc; default desc. When CEX + sort_by volume_perps_* uses the HF derivatives sub-index only, ranking follows this order; response echoes the normalized value.
platform_typeNoOptional filter on platform_info.platform_type. Empty or all = no filter. dex|dexs|dexes map to DEX+Dexs; derivatives|cex as labeled; defi expands to DeFi TVL group; any other value is passed through to the index (e.g. Lending, CDP, Yield).

Output Schema

ParametersJSON Schema
NameRequiredDescription
chainYes
countYes
itemsYes
limitYes
totalYes
sort_byYes
sort_orderNo
duration_msYes
platform_typeYes

TDQS

A4.6/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false. The description adds disclaimers ('Read-only public research data', 'Not investment advice') and discloses edge-case behavior in the sort_order parameter: 'When CEX + sort_by volume_perps_* uses the HF derivatives sub-index only... response echoes the normalized value.' This goes beyond annotations, though it doesn't fully describe output shape or error handling.

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

Conciseness5/5

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

The description is three crisp lines with no filler. It front-loads the core purpose (ranked list with filter/sort) and then supplies routing and safety caveats. Every sentence earns its place—no redundancy with schema or annotations.

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

Completeness4/5

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

For a search tool with 5 optional parameters and an output schema, the description covers purpose, usage, safety, and parameter quirks. It doesn't mention pagination details or response format, but the output schema handles that. The routing to siblings and platform_type mapping are well-specified. A small gap: it doesn't explicitly state that the result is sorted by default but that's implied by sort_by default in schema.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3. The description adds meaningful extra semantics: for sort_order it explains the CEX + volume_perps sub-index behavior and response echo, and for platform_type it already provides mapping in the schema but the description's parenthetical notes (e.g., 'any other value is passed through to the index') add context beyond the raw property definition.

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

Purpose5/5

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

The description clearly states the tool returns a 'Ranked multi-protocol list with filter and sort', which is a specific verb (search) on a resource (platforms). It explicitly differentiates from siblings by pointing to get_platform_info and get_platform_history for other use cases, leaving no ambiguity about scope.

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

Usage Guidelines5/5

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

Usage guidance is explicit: 'One-shot profile→get_platform_info. One named protocol daily series→get_platform_history.' tells exactly when to use this tool vs others. It also states the read-only, public-data nature and constraints (no account access, no order placement), giving clear context for appropriate invocation.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 32 tool updates
    • Changedinfo_coin_get_coin_info5 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • changedInput schema / properties / fields / type
        Previous value: -"array"New value: +[
        +  "null",
        +  "array"
        +]
      • addedOutput schema / additionalProperties
        Added value: +false
      • addedOutput schema / properties / items / items / additionalProperties
        Added value: +true
      • changedOutput schema / properties / items / type
        Previous value: -"array"New value: +[
        +  "null",
        +  "array"
        +]
    • Changedinfo_coin_get_coin_rankings5 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • addedOutput schema / additionalProperties
        Added value: +false
      • addedOutput schema / properties / items / items / additionalProperties
        Added value: +true
      • changedOutput schema / properties / items / type
        Previous value: -"array"New value: +[
        +  "null",
        +  "array"
        +]
      • changedOutput schema / properties / time_range / type
        Previous value: -"string"New value: +[
        +  "null",
        +  "string"
        +]
    • Changedinfo_coin_search_coins8 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • changedInput schema / properties / market_cap_max / type
        Previous value: -"number"New value: +[
        +  "null",
        +  "number"
        +]
      • changedInput schema / properties / market_cap_min / type
        Previous value: -"number"New value: +[
        +  "null",
        +  "number"
        +]
      • addedOutput schema / additionalProperties
        Added value: +false
      • addedOutput schema / properties / items / items / additionalProperties
        Added value: +true
      • changedOutput schema / properties / items / type
        Previous value: -"array"New value: +[
        +  "null",
        +  "array"
        +]
      • changedOutput schema / properties / market_cap_max / type
        Previous value: -"number"New value: +[
        +  "null",
        +  "number"
        +]
      • changedOutput schema / properties / market_cap_min / type
        Previous value: -"number"New value: +[
        +  "null",
        +  "number"
        +]
    • Changedinfo_compliance_check_token_security22 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • addedOutput schema / additionalProperties
        Added value: +false
      • addedOutput schema / properties / data_analysis / additionalProperties
        Added value: +false
      • changedOutput schema / properties / data_analysis / type
        Previous value: -"object"New value: +[
        +  "null",
        +  "object"
        +]
      • addedOutput schema / properties / high_risk_list / items / additionalProperties
        Added value: +false
      • changedOutput schema / properties / high_risk_list / type
        Previous value: -"array"New value: +[
        +  "null",
        +  "array"
        +]
      • addedOutput schema / properties / holders / items / additionalProperties
        Added value: +false
      • changedOutput schema / properties / holders / type
        Previous value: -"array"New value: +[
        +  "null",
        +  "array"
        +]
      • addedOutput schema / properties / low_risk_list / items / additionalProperties
        Added value: +false
      • changedOutput schema / properties / low_risk_list / type
        Previous value: -"array"New value: +[
        +  "null",
        +  "array"
        +]
      • addedOutput schema / properties / middle_risk_list / items / additionalProperties
        Added value: +false
      • changedOutput schema / properties / middle_risk_list / type
        Previous value: -"array"New value: +[
        +  "null",
        +  "array"
        +]
      • addedOutput schema / properties / name_risk / additionalProperties
        Added value: +false
      • changedOutput schema / properties / name_risk / properties / sensitive_words / type
        Previous value: -"array"New value: +[
        +  "null",
        +  "array"
        +]
      • changedOutput schema / properties / name_risk / type
        Previous value: -"object"New value: +[
        +  "null",
        +  "object"
        +]
      • changedOutput schema / properties / risk_facts / type
        Previous value: -"array"New value: +[
        +  "null",
        +  "array"
        +]
      • addedOutput schema / properties / risk_summary / additionalProperties
        Added value: +false
      • addedOutput schema / properties / tax_analysis / additionalProperties
        Added value: +false
      • addedOutput schema / properties / tax_analysis / properties / pool_tax / items / additionalProperties
        Added value: +false
      • changedOutput schema / properties / tax_analysis / properties / pool_tax / type
        Previous value: -"array"New value: +[
        +  "null",
        +  "array"
        +]
      • addedOutput schema / properties / tax_analysis / properties / token_tax / additionalProperties
        Added value: +false
      • changedOutput schema / properties / tax_analysis / type
        Previous value: -"object"New value: +[
        +  "null",
        +  "object"
        +]
    • Changedinfo_macro_get_economic_calendar4 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • addedOutput schema / additionalProperties
        Added value: +false
      • addedOutput schema / properties / items / items / additionalProperties
        Added value: +true
      • changedOutput schema / properties / items / type
        Previous value: -"array"New value: +[
        +  "null",
        +  "array"
        +]
    • Changedinfo_macro_get_macro_indicator10 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • addedOutput schema / additionalProperties
        Added value: +false
      • addedOutput schema / properties / latest / additionalProperties
        Added value: +false
      • addedOutput schema / properties / latest / properties / snapshots / items / additionalProperties
        Added value: +true
      • changedOutput schema / properties / latest / properties / snapshots / type
        Previous value: -"array"New value: +[
        +  "null",
        +  "array"
        +]
      • changedOutput schema / properties / latest / type
        Previous value: -"object"New value: +[
        +  "null",
        +  "object"
        +]
      • addedOutput schema / properties / timeseries / additionalProperties
        Added value: +false
      • addedOutput schema / properties / timeseries / properties / observations / items / additionalProperties
        Added value: +true
      • changedOutput schema / properties / timeseries / properties / observations / type
        Previous value: -"array"New value: +[
        +  "null",
        +  "array"
        +]
      • changedOutput schema / properties / timeseries / type
        Previous value: -"object"New value: +[
        +  "null",
        +  "object"
        +]
    • Changedinfo_macro_get_macro_summary6 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • removedInput schema / properties
        Removed value: -{}
      • addedOutput schema / additionalProperties
        Added value: +false
      • addedOutput schema / properties / indicators / additionalProperties / additionalProperties
        Added value: +false
      • addedOutput schema / properties / next_events / items / additionalProperties
        Added value: +true
      • changedOutput schema / properties / next_events / type
        Previous value: -"array"New value: +[
        +  "null",
        +  "array"
        +]
    • Changedinfo_marketdetail_get_kline5 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • addedInput schema / properties / extra / additionalProperties
        Added value: +true
      • addedOutput schema / additionalProperties
        Added value: +false
      • addedOutput schema / properties / items / items / additionalProperties
        Added value: +true
      • changedOutput schema / properties / items / type
        Previous value: -"array"New value: +[
        +  "null",
        +  "array"
        +]
    • Changedinfo_marketdetail_get_orderbook5 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • addedInput schema / properties / extra / additionalProperties
        Added value: +true
      • addedOutput schema / additionalProperties
        Added value: +false
      • addedOutput schema / properties / items / items / additionalProperties
        Added value: +true
      • changedOutput schema / properties / items / type
        Previous value: -"array"New value: +[
        +  "null",
        +  "array"
        +]
    • Changedinfo_marketdetail_get_recent_trades5 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • addedInput schema / properties / extra / additionalProperties
        Added value: +true
      • addedOutput schema / additionalProperties
        Added value: +false
      • addedOutput schema / properties / items / items / additionalProperties
        Added value: +true
      • changedOutput schema / properties / items / type
        Previous value: -"array"New value: +[
        +  "null",
        +  "array"
        +]
    • Changedinfo_marketsnapshot_batch_market_snapshot7 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • changedInput schema / properties / symbols / type
        Previous value: -"array"New value: +[
        +  "null",
        +  "array"
        +]
      • addedOutput schema / additionalProperties
        Added value: +false
      • addedOutput schema / properties / items / items / additionalProperties
        Added value: +true
      • changedOutput schema / properties / items / type
        Previous value: -"array"New value: +[
        +  "null",
        +  "array"
        +]
      • changedOutput schema / properties / not_found / type
        Previous value: -"array"New value: +[
        +  "null",
        +  "array"
        +]
      • changedOutput schema / properties / symbols / type
        Previous value: -"array"New value: +[
        +  "null",
        +  "array"
        +]
    • Changedinfo_marketsnapshot_get_institutional_metrics128 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • addedOutput schema / additionalProperties
        Added value: +false
      • addedOutput schema / properties / assets / items / additionalProperties
        Added value: +false
      • addedOutput schema / properties / assets / items / properties / latest / additionalProperties
        Added value: +false
      • addedOutput schema / properties / assets / items / properties / latest / properties / cftc_contract_unit_raw / additionalProperties
        Added value: +false
      • removedOutput schema / properties / assets / items / properties / latest / properties / cftc_contract_unit_raw / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / assets / items / properties / latest / properties / cftc_contract_unit_raw / properties
        Added value: +{
        +  "Valid": {
        +    "type": "boolean"
        +  },
        +  "Value": {
        +    "type": "string"
        +  }
        +}
      • addedOutput schema / properties / assets / items / properties / latest / properties / cftc_contract_unit_raw / required
        Added value: +[
        +  "Value",
        +  "Valid"
        +]
      • addedOutput schema / properties / assets / items / properties / latest / properties / cftc_contract_unit_raw / type
        Added value: +"object"
      • addedOutput schema / properties / assets / items / properties / latest / properties / cftc_oi_weekly / additionalProperties
        Added value: +false
      • removedOutput schema / properties / assets / items / properties / latest / properties / cftc_oi_weekly / anyOf
        Removed value: -[
        -  {
        -    "type": "number"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / assets / items / properties / latest / properties / cftc_oi_weekly / properties
        Added value: +{
        +  "Valid": {
        +    "type": "boolean"
        +  },
        +  "Value": {
        +    "type": "number"
        +  }
        +}
      • addedOutput schema / properties / assets / items / properties / latest / properties / cftc_oi_weekly / required
        Added value: +[
        +  "Value",
        +  "Valid"
        +]
      • addedOutput schema / properties / assets / items / properties / latest / properties / cftc_oi_weekly / type
        Added value: +"object"
      • addedOutput schema / properties / assets / items / properties / latest / properties / cftc_oi_weekly_underlying_amount / additionalProperties
        Added value: +false
      • removedOutput schema / properties / assets / items / properties / latest / properties / cftc_oi_weekly_underlying_amount / anyOf
        Removed value: -[
        -  {
        -    "type": "number"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / assets / items / properties / latest / properties / cftc_oi_weekly_underlying_amount / properties
        Added value: +{
        +  "Valid": {
        +    "type": "boolean"
        +  },
        +  "Value": {
        +    "type": "number"
        +  }
        +}
      • addedOutput schema / properties / assets / items / properties / latest / properties / cftc_oi_weekly_underlying_amount / required
        Added value: +[
        +  "Value",
        +  "Valid"
        +]
      • addedOutput schema / properties / assets / items / properties / latest / properties / cftc_oi_weekly_underlying_amount / type
        Added value: +"object"
      • addedOutput schema / properties / assets / items / properties / latest / properties / cme_oi / additionalProperties
        Added value: +false
      • removedOutput schema / properties / assets / items / properties / latest / properties / cme_oi / anyOf
        Removed value: -[
        -  {
        -    "type": "number"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / assets / items / properties / latest / properties / cme_oi / properties
        Added value: +{
        +  "Valid": {
        +    "type": "boolean"
        +  },
        +  "Value": {
        +    "type": "number"
        +  }
        +}
      • addedOutput schema / properties / assets / items / properties / latest / properties / cme_oi / required
        Added value: +[
        +  "Value",
        +  "Valid"
        +]
      • addedOutput schema / properties / assets / items / properties / latest / properties / cme_oi / type
        Added value: +"object"
      • addedOutput schema / properties / assets / items / properties / latest / properties / cme_oi_change / additionalProperties
        Added value: +false
      • removedOutput schema / properties / assets / items / properties / latest / properties / cme_oi_change / anyOf
        Removed value: -[
        -  {
        -    "type": "number"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / assets / items / properties / latest / properties / cme_oi_change / properties
        Added value: +{
        +  "Valid": {
        +    "type": "boolean"
        +  },
        +  "Value": {
        +    "type": "number"
        +  }
        +}
      • addedOutput schema / properties / assets / items / properties / latest / properties / cme_oi_change / required
        Added value: +[
        +  "Value",
        +  "Valid"
        +]
      • addedOutput schema / properties / assets / items / properties / latest / properties / cme_oi_change / type
        Added value: +"object"
      • addedOutput schema / properties / assets / items / properties / latest / properties / cme_oi_underlying_amount / additionalProperties
        Added value: +false
      • removedOutput schema / properties / assets / items / properties / latest / properties / cme_oi_underlying_amount / anyOf
        Removed value: -[
        -  {
        -    "type": "number"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / assets / items / properties / latest / properties / cme_oi_underlying_amount / properties
        Added value: +{
        +  "Valid": {
        +    "type": "boolean"
        +  },
        +  "Value": {
        +    "type": "number"
        +  }
        +}
      • addedOutput schema / properties / assets / items / properties / latest / properties / cme_oi_underlying_amount / required
        Added value: +[
        +  "Value",
        +  "Valid"
        +]
      • addedOutput schema / properties / assets / items / properties / latest / properties / cme_oi_underlying_amount / type
        Added value: +"object"
      • addedOutput schema / properties / assets / items / properties / latest / properties / cme_volume / additionalProperties
        Added value: +false
      • removedOutput schema / properties / assets / items / properties / latest / properties / cme_volume / anyOf
        Removed value: -[
        -  {
        -    "type": "number"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / assets / items / properties / latest / properties / cme_volume / properties
        Added value: +{
        +  "Valid": {
        +    "type": "boolean"
        +  },
        +  "Value": {
        +    "type": "number"
        +  }
        +}
      • addedOutput schema / properties / assets / items / properties / latest / properties / cme_volume / required
        Added value: +[
        +  "Value",
        +  "Valid"
        +]
      • addedOutput schema / properties / assets / items / properties / latest / properties / cme_volume / type
        Added value: +"object"
      • addedOutput schema / properties / assets / items / properties / latest / properties / cme_volume_underlying_amount / additionalProperties
        Added value: +false
      • removedOutput schema / properties / assets / items / properties / latest / properties / cme_volume_underlying_amount / anyOf
        Removed value: -[
        -  {
        -    "type": "number"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / assets / items / properties / latest / properties / cme_volume_underlying_amount / properties
        Added value: +{
        +  "Valid": {
        +    "type": "boolean"
        +  },
        +  "Value": {
        +    "type": "number"
        +  }
        +}
      • addedOutput schema / properties / assets / items / properties / latest / properties / cme_volume_underlying_amount / required
        Added value: +[
        +  "Value",
        +  "Valid"
        +]
      • addedOutput schema / properties / assets / items / properties / latest / properties / cme_volume_underlying_amount / type
        Added value: +"object"
      • addedOutput schema / properties / assets / items / properties / latest / properties / etf_net_inflow_usd / additionalProperties
        Added value: +false
      • removedOutput schema / properties / assets / items / properties / latest / properties / etf_net_inflow_usd / anyOf
        Removed value: -[
        -  {
        -    "type": "number"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / assets / items / properties / latest / properties / etf_net_inflow_usd / properties
        Added value: +{
        +  "Valid": {
        +    "type": "boolean"
        +  },
        +  "Value": {
        +    "type": "number"
        +  }
        +}
      • addedOutput schema / properties / assets / items / properties / latest / properties / etf_net_inflow_usd / required
        Added value: +[
        +  "Value",
        +  "Valid"
        +]
      • addedOutput schema / properties / assets / items / properties / latest / properties / etf_net_inflow_usd / type
        Added value: +"object"
      • addedOutput schema / properties / assets / items / properties / latest / properties / etf_total_assets_usd / additionalProperties
        Added value: +false
      • removedOutput schema / properties / assets / items / properties / latest / properties / etf_total_assets_usd / anyOf
        Removed value: -[
        -  {
        -    "type": "number"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / assets / items / properties / latest / properties / etf_total_assets_usd / properties
        Added value: +{
        +  "Valid": {
        +    "type": "boolean"
        +  },
        +  "Value": {
        +    "type": "number"
        +  }
        +}
      • addedOutput schema / properties / assets / items / properties / latest / properties / etf_total_assets_usd / required
        Added value: +[
        +  "Value",
        +  "Valid"
        +]
      • addedOutput schema / properties / assets / items / properties / latest / properties / etf_total_assets_usd / type
        Added value: +"object"
      • addedOutput schema / properties / assets / items / properties / latest / properties / etf_value_traded_usd / additionalProperties
        Added value: +false
      • removedOutput schema / properties / assets / items / properties / latest / properties / etf_value_traded_usd / anyOf
        Removed value: -[
        -  {
        -    "type": "number"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / assets / items / properties / latest / properties / etf_value_traded_usd / properties
        Added value: +{
        +  "Valid": {
        +    "type": "boolean"
        +  },
        +  "Value": {
        +    "type": "number"
        +  }
        +}
      • addedOutput schema / properties / assets / items / properties / latest / properties / etf_value_traded_usd / required
        Added value: +[
        +  "Value",
        +  "Valid"
        +]
      • addedOutput schema / properties / assets / items / properties / latest / properties / etf_value_traded_usd / type
        Added value: +"object"
      • addedOutput schema / properties / assets / items / properties / latest / properties / institutional_channel_signal / additionalProperties
        Added value: +false
      • removedOutput schema / properties / assets / items / properties / latest / properties / institutional_channel_signal / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / assets / items / properties / latest / properties / institutional_channel_signal / properties
        Added value: +{
        +  "Valid": {
        +    "type": "boolean"
        +  },
        +  "Value": {
        +    "type": "string"
        +  }
        +}
      • addedOutput schema / properties / assets / items / properties / latest / properties / institutional_channel_signal / required
        Added value: +[
        +  "Value",
        +  "Valid"
        +]
      • addedOutput schema / properties / assets / items / properties / latest / properties / institutional_channel_signal / type
        Added value: +"object"
      • changedOutput schema / properties / assets / items / properties / latest / type
        Previous value: -"object"New value: +[
        +  "null",
        +  "object"
        +]
      • addedOutput schema / properties / assets / items / properties / series / items / additionalProperties
        Added value: +false
      • addedOutput schema / properties / assets / items / properties / series / items / properties / cftc_contract_unit_raw / additionalProperties
        Added value: +false
      • removedOutput schema / properties / assets / items / properties / series / items / properties / cftc_contract_unit_raw / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / assets / items / properties / series / items / properties / cftc_contract_unit_raw / properties
        Added value: +{
        +  "Valid": {
        +    "type": "boolean"
        +  },
        +  "Value": {
        +    "type": "string"
        +  }
        +}
      • addedOutput schema / properties / assets / items / properties / series / items / properties / cftc_contract_unit_raw / required
        Added value: +[
        +  "Value",
        +  "Valid"
        +]
      • addedOutput schema / properties / assets / items / properties / series / items / properties / cftc_contract_unit_raw / type
        Added value: +"object"
      • addedOutput schema / properties / assets / items / properties / series / items / properties / cftc_oi_weekly / additionalProperties
        Added value: +false
      • removedOutput schema / properties / assets / items / properties / series / items / properties / cftc_oi_weekly / anyOf
        Removed value: -[
        -  {
        -    "type": "number"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / assets / items / properties / series / items / properties / cftc_oi_weekly / properties
        Added value: +{
        +  "Valid": {
        +    "type": "boolean"
        +  },
        +  "Value": {
        +    "type": "number"
        +  }
        +}
      • addedOutput schema / properties / assets / items / properties / series / items / properties / cftc_oi_weekly / required
        Added value: +[
        +  "Value",
        +  "Valid"
        +]
      • addedOutput schema / properties / assets / items / properties / series / items / properties / cftc_oi_weekly / type
        Added value: +"object"
      • addedOutput schema / properties / assets / items / properties / series / items / properties / cftc_oi_weekly_underlying_amount / additionalProperties
        Added value: +false
      • removedOutput schema / properties / assets / items / properties / series / items / properties / cftc_oi_weekly_underlying_amount / anyOf
        Removed value: -[
        -  {
        -    "type": "number"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / assets / items / properties / series / items / properties / cftc_oi_weekly_underlying_amount / properties
        Added value: +{
        +  "Valid": {
        +    "type": "boolean"
        +  },
        +  "Value": {
        +    "type": "number"
        +  }
        +}
      • addedOutput schema / properties / assets / items / properties / series / items / properties / cftc_oi_weekly_underlying_amount / required
        Added value: +[
        +  "Value",
        +  "Valid"
        +]
      • addedOutput schema / properties / assets / items / properties / series / items / properties / cftc_oi_weekly_underlying_amount / type
        Added value: +"object"
      • addedOutput schema / properties / assets / items / properties / series / items / properties / cme_oi / additionalProperties
        Added value: +false
      • removedOutput schema / properties / assets / items / properties / series / items / properties / cme_oi / anyOf
        Removed value: -[
        -  {
        -    "type": "number"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / assets / items / properties / series / items / properties / cme_oi / properties
        Added value: +{
        +  "Valid": {
        +    "type": "boolean"
        +  },
        +  "Value": {
        +    "type": "number"
        +  }
        +}
      • addedOutput schema / properties / assets / items / properties / series / items / properties / cme_oi / required
        Added value: +[
        +  "Value",
        +  "Valid"
        +]
      • addedOutput schema / properties / assets / items / properties / series / items / properties / cme_oi / type
        Added value: +"object"
      • addedOutput schema / properties / assets / items / properties / series / items / properties / cme_oi_change / additionalProperties
        Added value: +false
      • removedOutput schema / properties / assets / items / properties / series / items / properties / cme_oi_change / anyOf
        Removed value: -[
        -  {
        -    "type": "number"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / assets / items / properties / series / items / properties / cme_oi_change / properties
        Added value: +{
        +  "Valid": {
        +    "type": "boolean"
        +  },
        +  "Value": {
        +    "type": "number"
        +  }
        +}
      • addedOutput schema / properties / assets / items / properties / series / items / properties / cme_oi_change / required
        Added value: +[
        +  "Value",
        +  "Valid"
        +]
      • addedOutput schema / properties / assets / items / properties / series / items / properties / cme_oi_change / type
        Added value: +"object"
      • addedOutput schema / properties / assets / items / properties / series / items / properties / cme_oi_underlying_amount / additionalProperties
        Added value: +false
      • removedOutput schema / properties / assets / items / properties / series / items / properties / cme_oi_underlying_amount / anyOf
        Removed value: -[
        -  {
        -    "type": "number"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / assets / items / properties / series / items / properties / cme_oi_underlying_amount / properties
        Added value: +{
        +  "Valid": {
        +    "type": "boolean"
        +  },
        +  "Value": {
        +    "type": "number"
        +  }
        +}
      • addedOutput schema / properties / assets / items / properties / series / items / properties / cme_oi_underlying_amount / required
        Added value: +[
        +  "Value",
        +  "Valid"
        +]
      • addedOutput schema / properties / assets / items / properties / series / items / properties / cme_oi_underlying_amount / type
        Added value: +"object"
      • addedOutput schema / properties / assets / items / properties / series / items / properties / cme_volume / additionalProperties
        Added value: +false
      • removedOutput schema / properties / assets / items / properties / series / items / properties / cme_volume / anyOf
        Removed value: -[
        -  {
        -    "type": "number"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / assets / items / properties / series / items / properties / cme_volume / properties
        Added value: +{
        +  "Valid": {
        +    "type": "boolean"
        +  },
        +  "Value": {
        +    "type": "number"
        +  }
        +}
      • addedOutput schema / properties / assets / items / properties / series / items / properties / cme_volume / required
        Added value: +[
        +  "Value",
        +  "Valid"
        +]
      • addedOutput schema / properties / assets / items / properties / series / items / properties / cme_volume / type
        Added value: +"object"
      • addedOutput schema / properties / assets / items / properties / series / items / properties / cme_volume_underlying_amount / additionalProperties
        Added value: +false
      • removedOutput schema / properties / assets / items / properties / series / items / properties / cme_volume_underlying_amount / anyOf
        Removed value: -[
        -  {
        -    "type": "number"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / assets / items / properties / series / items / properties / cme_volume_underlying_amount / properties
        Added value: +{
        +  "Valid": {
        +    "type": "boolean"
        +  },
        +  "Value": {
        +    "type": "number"
        +  }
        +}
      • addedOutput schema / properties / assets / items / properties / series / items / properties / cme_volume_underlying_amount / required
        Added value: +[
        +  "Value",
        +  "Valid"
        +]
      • addedOutput schema / properties / assets / items / properties / series / items / properties / cme_volume_underlying_amount / type
        Added value: +"object"
      • addedOutput schema / properties / assets / items / properties / series / items / properties / etf_net_inflow_usd / additionalProperties
        Added value: +false
      • removedOutput schema / properties / assets / items / properties / series / items / properties / etf_net_inflow_usd / anyOf
        Removed value: -[
        -  {
        -    "type": "number"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / assets / items / properties / series / items / properties / etf_net_inflow_usd / properties
        Added value: +{
        +  "Valid": {
        +    "type": "boolean"
        +  },
        +  "Value": {
        +    "type": "number"
        +  }
        +}
      • addedOutput schema / properties / assets / items / properties / series / items / properties / etf_net_inflow_usd / required
        Added value: +[
        +  "Value",
        +  "Valid"
        +]
      • addedOutput schema / properties / assets / items / properties / series / items / properties / etf_net_inflow_usd / type
        Added value: +"object"
      • addedOutput schema / properties / assets / items / properties / series / items / properties / etf_total_assets_usd / additionalProperties
        Added value: +false
      • removedOutput schema / properties / assets / items / properties / series / items / properties / etf_total_assets_usd / anyOf
        Removed value: -[
        -  {
        -    "type": "number"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / assets / items / properties / series / items / properties / etf_total_assets_usd / properties
        Added value: +{
        +  "Valid": {
        +    "type": "boolean"
        +  },
        +  "Value": {
        +    "type": "number"
        +  }
        +}
      • addedOutput schema / properties / assets / items / properties / series / items / properties / etf_total_assets_usd / required
        Added value: +[
        +  "Value",
        +  "Valid"
        +]
      • addedOutput schema / properties / assets / items / properties / series / items / properties / etf_total_assets_usd / type
        Added value: +"object"
      • addedOutput schema / properties / assets / items / properties / series / items / properties / etf_value_traded_usd / additionalProperties
        Added value: +false
      • removedOutput schema / properties / assets / items / properties / series / items / properties / etf_value_traded_usd / anyOf
        Removed value: -[
        -  {
        -    "type": "number"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / assets / items / properties / series / items / properties / etf_value_traded_usd / properties
        Added value: +{
        +  "Valid": {
        +    "type": "boolean"
        +  },
        +  "Value": {
        +    "type": "number"
        +  }
        +}
      • addedOutput schema / properties / assets / items / properties / series / items / properties / etf_value_traded_usd / required
        Added value: +[
        +  "Value",
        +  "Valid"
        +]
      • addedOutput schema / properties / assets / items / properties / series / items / properties / etf_value_traded_usd / type
        Added value: +"object"
      • addedOutput schema / properties / assets / items / properties / series / items / properties / institutional_channel_signal / additionalProperties
        Added value: +false
      • removedOutput schema / properties / assets / items / properties / series / items / properties / institutional_channel_signal / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / assets / items / properties / series / items / properties / institutional_channel_signal / properties
        Added value: +{
        +  "Valid": {
        +    "type": "boolean"
        +  },
        +  "Value": {
        +    "type": "string"
        +  }
        +}
      • addedOutput schema / properties / assets / items / properties / series / items / properties / institutional_channel_signal / required
        Added value: +[
        +  "Value",
        +  "Valid"
        +]
      • addedOutput schema / properties / assets / items / properties / series / items / properties / institutional_channel_signal / type
        Added value: +"object"
      • changedOutput schema / properties / assets / items / properties / series / type
        Previous value: -"array"New value: +[
        +  "null",
        +  "array"
        +]
      • changedOutput schema / properties / assets / type
        Previous value: -"array"New value: +[
        +  "null",
        +  "array"
        +]
    • Changedinfo_marketsnapshot_get_market_overview15 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • removedInput schema / properties
        Removed value: -{}
      • addedOutput schema / additionalProperties
        Added value: +false
      • changedOutput schema / properties / active_coins_count / type
        Previous value: -"integer"New value: +[
        +  "null",
        +  "integer"
        +]
      • changedOutput schema / properties / ahr999 / type
        Previous value: -"number"New value: +[
        +  "null",
        +  "number"
        +]
      • changedOutput schema / properties / altcoin_season_index / type
        Previous value: -"integer"New value: +[
        +  "null",
        +  "integer"
        +]
      • changedOutput schema / properties / btc_dominance / type
        Previous value: -"number"New value: +[
        +  "null",
        +  "number"
        +]
      • changedOutput schema / properties / btc_price / type
        Previous value: -"number"New value: +[
        +  "null",
        +  "number"
        +]
      • changedOutput schema / properties / eth_dominance / type
        Previous value: -"number"New value: +[
        +  "null",
        +  "number"
        +]
      • changedOutput schema / properties / fear_greed_index / type
        Previous value: -"integer"New value: +[
        +  "null",
        +  "integer"
        +]
      • changedOutput schema / properties / fear_greed_label / type
        Previous value: -"string"New value: +[
        +  "null",
        +  "string"
        +]
      • changedOutput schema / properties / market_cap_change_24h / type
        Previous value: -"number"New value: +[
        +  "null",
        +  "number"
        +]
      • changedOutput schema / properties / total_market_cap / type
        Previous value: -"number"New value: +[
        +  "null",
        +  "number"
        +]
      • changedOutput schema / properties / total_volume_24h / type
        Previous value: -"number"New value: +[
        +  "null",
        +  "number"
        +]
      • changedOutput schema / properties / updated_at / type
        Previous value: -"string"New value: +[
        +  "null",
        +  "string"
        +]
    • Changedinfo_marketsnapshot_get_market_snapshot11 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • addedOutput schema / additionalProperties
        Added value: +false
      • addedOutput schema / properties / derivatives / additionalProperties
        Added value: +true
      • changedOutput schema / properties / derivatives / type
        Previous value: -"object"New value: +[
        +  "null",
        +  "object"
        +]
      • addedOutput schema / properties / institutional_channel_summary / additionalProperties
        Added value: +true
      • changedOutput schema / properties / institutional_channel_summary / type
        Previous value: -"object"New value: +[
        +  "null",
        +  "object"
        +]
      • addedOutput schema / properties / kline / additionalProperties
        Added value: +true
      • addedOutput schema / properties / market_pulse / additionalProperties
        Added value: +true
      • changedOutput schema / properties / market_pulse / type
        Previous value: -"object"New value: +[
        +  "null",
        +  "object"
        +]
      • addedOutput schema / properties / project_info / additionalProperties
        Added value: +true
      • addedOutput schema / properties / realtime / additionalProperties
        Added value: +true
    • Changedinfo_markettrend_get_indicator_history6 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • changedInput schema / properties / indicators / type
        Previous value: -"array"New value: +[
        +  "null",
        +  "array"
        +]
      • addedOutput schema / additionalProperties
        Added value: +false
      • changedOutput schema / properties / indicators / type
        Previous value: -"array"New value: +[
        +  "null",
        +  "array"
        +]
      • addedOutput schema / properties / items / items / additionalProperties
        Added value: +true
      • changedOutput schema / properties / items / type
        Previous value: -"array"New value: +[
        +  "null",
        +  "array"
        +]
    • Changedinfo_markettrend_get_kline5 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • changedInput schema / properties / with_indicators / type
        Previous value: -"boolean"New value: +[
        +  "null",
        +  "boolean"
        +]
      • addedOutput schema / additionalProperties
        Added value: +false
      • addedOutput schema / properties / items / items / additionalProperties
        Added value: +true
      • changedOutput schema / properties / items / type
        Previous value: -"array"New value: +[
        +  "null",
        +  "array"
        +]
    • Changedinfo_markettrend_get_technical_analysis3 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • addedOutput schema / additionalProperties
        Added value: +false
      • addedOutput schema / properties / timeframes / additionalProperties / additionalProperties
        Added value: +false
    • Changedinfo_onchain_get_address_info3 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • changedInput schema / properties / min_value_usd / type
        Previous value: -"number"New value: +[
        +  "null",
        +  "number"
        +]
      • changedOutput schema / (root)
        Previous value: -{
        -  "properties": {
        -    "address": {
        -      "type": "string"
        -    },
        -    "asset_summary": {
        -      "properties": {
        -        "exist_address": {
        -          "type": "boolean"
        -        },
        -        "have_multi_chain_asset": {
        -          "type": "boolean"
        -        },
        -        "lamport": {
        -          "type": "string"
        -        },
        -        "lamport_usd": {
        -          "type": "number"
        -        },
        -        "native_balance": {
        -          "type": "string"
        -        },
        -        "native_usd_value": {
        -          "type": "number"
        -        },
        -        "source": {
        -          "type": "string"
        -        },
        -        "token_num": {
        -          "type": "integer"
        -        },
        -        "token_usd_value": {
        -          "type": "number"
        -        },
        -        "token_value_usd": {
        -          "type": "number"
        -        },
        -        "total_usd_value": {
        -          "type": "number"
        -        },
        -        "total_value_usd": {
        -          "type": "number"
        -        }
        -      },
        -      "type": "object"
        -    },
        -    "balance": {
        -      "type": "string"
        -    },
        -    "chain": {
        -      "type": "string"
        -    },
        -    "counterparties": {
        -      "items": {
        -        "anyOf": [
        -          {
        -            "type": "object"
        -          },
        -          {
        -            "type": "array"
        -          },
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "number"
        -          },
        -          {
        -            "type": "boolean"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ]
        -      },
        -      "type": "array"
        -    },
        -    "data_quality": {
        -      "type": "string"
        -    },
        -    "defi_loans": {
        -      "items": {
        -        "anyOf": [
        -          {
        -            "type": "object"
        -          },
        -          {
        -            "type": "array"
        -          },
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "number"
        -          },
        -          {
        -            "type": "boolean"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ]
        -      },
        -      "type": "array"
        -    },
        -    "defi_positions": {
        -      "items": {
        -        "anyOf": [
        -          {
        -            "type": "object"
        -          },
        -          {
        -            "type": "array"
        -          },
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "number"
        -          },
        -          {
        -            "type": "boolean"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ]
        -      },
        -      "type": "array"
        -    },
        -    "detected_chains": {
        -      "items": {
        -        "type": "string"
        -      },
        -      "type": "array"
        -    },
        -    "duration_ms": {
        -      "type": "integer"
        -    },
        -    "entity_confidence": {
        -      "anyOf": [
        -        {
        -          "type": "object"
        -        },
        -        {
        -          "type": "array"
        -        },
        -        {
        -          "type": "string"
        -        },
        -        {
        -          "type": "number"
        -        },
        -        {
        -          "type": "boolean"
        -        },
        -        {
        -          "type": "null"
        -        }
        -      ]
        -    },
        -    "entity_name": {
        -      "type": "string"
        -    },
        -    "first_seen": {
        -      "properties": {
        -        "time": {
        -          "type": "integer"
        -        },
        -        "tx": {
        -          "type": "string"
        -        }
        -      },
        -      "required": [
        -        "time"
        -      ],
        -      "type": "object"
        -    },
        -    "last_seen": {
        -      "properties": {
        -        "time": {
        -          "type": "integer"
        -        },
        -        "tx": {
        -          "type": "string"
        -        }
        -      },
        -      "required": [
        -        "time"
        -      ],
        -      "type": "object"
        -    },
        -    "multi_chain_token_balances": {
        -      "items": {
        -        "properties": {
        -          "amount": {
        -            "type": "string"
        -          },
        -          "chain": {
        -            "type": "string"
        -          },
        -          "chain_name": {
        -            "type": "string"
        -          },
        -          "percent_change_24h": {
        -            "type": "number"
        -          },
        -          "percentage": {
        -            "type": "number"
        -          },
        -          "price": {
        -            "type": "number"
        -          },
        -          "source": {
        -            "type": "string"
        -          },
        -          "token_address": {
        -            "type": "string"
        -          },
        -          "token_symbol": {
        -            "type": "string"
        -          },
        -          "usd_value": {
        -            "type": "number"
        -          }
        -        },
        -        "required": [
        -          "chain"
        -        ],
        -        "type": "object"
        -      },
        -      "type": "array"
        -    },
        -    "new_explorer_assets_raw": {
        -      "anyOf": [
        -        {
        -          "type": "object"
        -        },
        -        {
        -          "type": "array"
        -        },
        -        {
        -          "type": "string"
        -        },
        -        {
        -          "type": "number"
        -        },
        -        {
        -          "type": "boolean"
        -        },
        -        {
        -          "type": "null"
        -        }
        -      ]
        -    },
        -    "new_explorer_labels_multi_chain_raw": {
        -      "anyOf": [
        -        {
        -          "type": "object"
        -        },
        -        {
        -          "type": "array"
        -        },
        -        {
        -          "type": "string"
        -        },
        -        {
        -          "type": "number"
        -        },
        -        {
        -          "type": "boolean"
        -        },
        -        {
        -          "type": "null"
        -        }
        -      ]
        -    },
        -    "new_explorer_labels_raw": {
        -      "anyOf": [
        -        {
        -          "type": "object"
        -        },
        -        {
        -          "type": "array"
        -        },
        -        {
        -          "type": "string"
        -        },
        -        {
        -          "type": "number"
        -        },
        -        {
        -          "type": "boolean"
        -        },
        -        {
        -          "type": "null"
        -        }
        -      ]
        -    },
        -    "new_explorer_overview_raw": {
        -      "anyOf": [
        -        {
        -          "type": "object"
        -        },
        -        {
        -          "type": "array"
        -        },
        -        {
        -          "type": "string"
        -        },
        -        {
        -          "type": "number"
        -        },
        -        {
        -          "type": "boolean"
        -        },
        -        {
        -          "type": "null"
        -        }
        -      ]
        -    },
        -    "new_explorer_search_raw": {
        -      "anyOf": [
        -        {
        -          "type": "object"
        -        },
        -        {
        -          "type": "array"
        -        },
        -        {
        -          "type": "string"
        -        },
        -        {
        -          "type": "number"
        -        },
        -        {
        -          "type": "boolean"
        -        },
        -        {
        -          "type": "null"
        -        }
        -      ]
        -    },
        -    "pnl_realized": {
        -      "anyOf": [
        -        {
        -          "type": "object"
        -        },
        -        {
        -          "type": "array"
        -        },
        -        {
        -          "type": "string"
        -        },
        -        {
        -          "type": "number"
        -        },
        -        {
        -          "type": "boolean"
        -        },
        -        {
        -          "type": "null"
        -        }
        -      ]
        -    },
        -    "pnl_unrealized": {
        -      "anyOf": [
        -        {
        -          "type": "object"
        -        },
        -        {
        -          "type": "array"
        -        },
        -        {
        -          "type": "string"
        -        },
        -        {
        -          "type": "number"
        -        },
        -        {
        -          "type": "boolean"
        -        },
        -        {
        -          "type": "null"
        -        }
        -      ]
        -    },
        -    "quality_reasons": {
        -      "items": {
        -        "type": "string"
        -      },
        -      "type": "array"
        -    },
        -    "related_wallets": {
        -      "items": {
        -        "anyOf": [
        -          {
        -            "type": "object"
        -          },
        -          {
        -            "type": "array"
        -          },
        -          {
        -            "type": "string"
        -          },
        -          {
        -            "type": "number"
        -          },
        -          {
        -            "type": "boolean"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ]
        -      },
        -      "type": "array"
        -    },
        -    "risk_level": {
        -      "type": "string"
        -    },
        -    "scope": {
        -      "type": "string"
        -    },
        -    "score": {
        -      "type": "integer"
        -    },
        -    "sharpe_ratio": {
        -      "anyOf": [
        -        {
        -          "type": "object"
        -        },
        -        {
        -          "type": "array"
        -        },
        -        {
        -          "type": "string"
        -        },
        -        {
        -          "type": "number"
        -        },
        -        {
        -          "type": "boolean"
        -        },
        -        {
        -          "type": "null"
        -        }
        -      ]
        -    },
        -    "sources": {
        -      "items": {
        -        "properties": {
        -          "code": {
        -            "type": "integer"
        -          },
        -          "detail": {
        -            "type": "string"
        -          },
        -          "ok": {
        -            "type": "boolean"
        -          },
        -          "source": {
        -            "type": "string"
        -          },
        -          "used": {
        -            "type": "boolean"
        -          }
        -        },
        -        "required": [
        -          "source",
        -          "used",
        -          "ok"
        -        ],
        -        "type": "object"
        -      },
        -      "type": "array"
        -    },
        -    "tags": {
        -      "items": {
        -        "type": "string"
        -      },
        -      "type": "array"
        -    },
        -    "token_balances": {
        -      "items": {
        -        "properties": {
        -          "amount": {
        -            "type": "string"
        -          },
        -          "has_risk": {
        -            "type": "boolean"
        -          },
        -          "mint_account": {
        -            "type": "string"
        -          },
        -          "name": {
        -            "type": "string"
        -          },
        -          "price": {
        -            "type": "string"
        -          },
        -          "price_usd": {
        -            "type": "string"
        -          },
        -          "symbol": {
        -            "type": "string"
        -          },
        -          "token_account": {
        -            "type": "string"
        -          },
        -          "token_address": {
        -            "type": "string"
        -          },
        -          "value_percent": {
        -            "type": "string"
        -          },
        -          "value_usd": {
        -            "type": "string"
        -          }
        -        },
        -        "required": [
        -          "token_address"
        -        ],
        -        "type": "object"
        -      },
        -      "type": "array"
        -    },
        -    "tx_count": {
        -      "type": "integer"
        -    },
        -    "usd_balance": {
        -      "type": "string"
        -    },
        -    "win_rate": {
        -      "anyOf": [
        -        {
        -          "type": "object"
        -        },
        -        {
        -          "type": "array"
        -        },
        -        {
        -          "type": "string"
        -        },
        -        {
        -          "type": "number"
        -        },
        -        {
        -          "type": "boolean"
        -        },
        -        {
        -          "type": "null"
        -        }
        -      ]
        -    }
        -  },
        -  "required": [
        -    "address",
        -    "chain",
        -    "score",
        -    "risk_level",
        -    "tx_count",
        -    "duration_ms"
        -  ],
        -  "type": "object"
        -}New value: +null
    • Changedinfo_onchain_get_address_transactions43 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • addedOutput schema / additionalProperties
        Added value: +false
      • addedOutput schema / properties / items / items / additionalProperties
        Added value: +false
      • addedOutput schema / properties / items / items / properties / inputs / items / additionalProperties
        Added value: +false
      • changedOutput schema / properties / items / items / properties / inputs / items / properties / addresses / type
        Previous value: -"array"New value: +[
        +  "null",
        +  "array"
        +]
      • changedOutput schema / properties / items / items / properties / inputs / type
        Previous value: -"array"New value: +[
        +  "null",
        +  "array"
        +]
      • addedOutput schema / properties / items / items / properties / outputs / items / additionalProperties
        Added value: +false
      • changedOutput schema / properties / items / items / properties / outputs / items / properties / addresses / type
        Previous value: -"array"New value: +[
        +  "null",
        +  "array"
        +]
      • changedOutput schema / properties / items / items / properties / outputs / type
        Previous value: -"array"New value: +[
        +  "null",
        +  "array"
        +]
      • changedOutput schema / properties / items / items / properties / source_raw
        Previous value: -trueNew value: +{
        +  "items": {
        +    "maximum": 255,
        +    "minimum": 0,
        +    "type": "integer"
        +  },
        +  "type": [
        +    "null",
        +    "array"
        +  ]
        +}
      • addedOutput schema / properties / items / items / properties / token / additionalProperties
        Added value: +false
      • changedOutput schema / properties / items / items / properties / token / type
        Previous value: -"object"New value: +[
        +  "null",
        +  "object"
        +]
      • changedOutput schema / properties / items / type
        Previous value: -"array"New value: +[
        +  "null",
        +  "array"
        +]
      • removedOutput schema / properties / new_explorer_address_internal_transactions_raw / anyOf
        Removed value: -[
        -  {
        -    "type": "object"
        -  },
        -  {
        -    "type": "array"
        -  },
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "number"
        -  },
        -  {
        -    "type": "boolean"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / new_explorer_address_internal_transactions_raw / items
        Added value: +{
        +  "maximum": 255,
        +  "minimum": 0,
        +  "type": "integer"
        +}
      • addedOutput schema / properties / new_explorer_address_internal_transactions_raw / type
        Added value: +[
        +  "null",
        +  "array"
        +]
      • removedOutput schema / properties / new_explorer_address_sol_transactions_raw / anyOf
        Removed value: -[
        -  {
        -    "type": "object"
        -  },
        -  {
        -    "type": "array"
        -  },
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "number"
        -  },
        -  {
        -    "type": "boolean"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / new_explorer_address_sol_transactions_raw / items
        Added value: +{
        +  "maximum": 255,
        +  "minimum": 0,
        +  "type": "integer"
        +}
      • addedOutput schema / properties / new_explorer_address_sol_transactions_raw / type
        Added value: +[
        +  "null",
        +  "array"
        +]
      • removedOutput schema / properties / new_explorer_address_token_transfers_raw / anyOf
        Removed value: -[
        -  {
        -    "type": "object"
        -  },
        -  {
        -    "type": "array"
        -  },
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "number"
        -  },
        -  {
        -    "type": "boolean"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / new_explorer_address_token_transfers_raw / items
        Added value: +{
        +  "maximum": 255,
        +  "minimum": 0,
        +  "type": "integer"
        +}
      • addedOutput schema / properties / new_explorer_address_token_transfers_raw / type
        Added value: +[
        +  "null",
        +  "array"
        +]
      • removedOutput schema / properties / new_explorer_address_transactions_raw / anyOf
        Removed value: -[
        -  {
        -    "type": "object"
        -  },
        -  {
        -    "type": "array"
        -  },
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "number"
        -  },
        -  {
        -    "type": "boolean"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / new_explorer_address_transactions_raw / items
        Added value: +{
        +  "maximum": 255,
        +  "minimum": 0,
        +  "type": "integer"
        +}
      • addedOutput schema / properties / new_explorer_address_transactions_raw / type
        Added value: +[
        +  "null",
        +  "array"
        +]
      • removedOutput schema / properties / new_explorer_address_transfers_raw / anyOf
        Removed value: -[
        -  {
        -    "type": "object"
        -  },
        -  {
        -    "type": "array"
        -  },
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "number"
        -  },
        -  {
        -    "type": "boolean"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / new_explorer_address_transfers_raw / items
        Added value: +{
        +  "maximum": 255,
        +  "minimum": 0,
        +  "type": "integer"
        +}
      • addedOutput schema / properties / new_explorer_address_transfers_raw / type
        Added value: +[
        +  "null",
        +  "array"
        +]
      • changedOutput schema / properties / quality_reasons / type
        Previous value: -"array"New value: +[
        +  "null",
        +  "array"
        +]
      • addedOutput schema / properties / sources / items / additionalProperties
        Added value: +false
      • changedOutput schema / properties / sources / items / properties / code / type
        Previous value: -"integer"New value: +[
        +  "null",
        +  "integer"
        +]
      • changedOutput schema / properties / sources / type
        Previous value: -"array"New value: +[
        +  "null",
        +  "array"
        +]
      • addedOutput schema / properties / transactions / items / additionalProperties
        Added value: +false
      • addedOutput schema / properties / transactions / items / properties / inputs / items / additionalProperties
        Added value: +false
      • changedOutput schema / properties / transactions / items / properties / inputs / items / properties / addresses / type
        Previous value: -"array"New value: +[
        +  "null",
        +  "array"
        +]
      • changedOutput schema / properties / transactions / items / properties / inputs / type
        Previous value: -"array"New value: +[
        +  "null",
        +  "array"
        +]
      • addedOutput schema / properties / transactions / items / properties / outputs / items / additionalProperties
        Added value: +false
      • changedOutput schema / properties / transactions / items / properties / outputs / items / properties / addresses / type
        Previous value: -"array"New value: +[
        +  "null",
        +  "array"
        +]
      • changedOutput schema / properties / transactions / items / properties / outputs / type
        Previous value: -"array"New value: +[
        +  "null",
        +  "array"
        +]
      • changedOutput schema / properties / transactions / items / properties / source_raw
        Previous value: -trueNew value: +{
        +  "items": {
        +    "maximum": 255,
        +    "minimum": 0,
        +    "type": "integer"
        +  },
        +  "type": [
        +    "null",
        +    "array"
        +  ]
        +}
      • addedOutput schema / properties / transactions / items / properties / token / additionalProperties
        Added value: +false
      • changedOutput schema / properties / transactions / items / properties / token / type
        Previous value: -"object"New value: +[
        +  "null",
        +  "object"
        +]
      • changedOutput schema / properties / transactions / type
        Previous value: -"array"New value: +[
        +  "null",
        +  "array"
        +]
    • Changedinfo_onchain_get_token_onchain29 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • addedOutput schema / additionalProperties
        Added value: +false
      • addedOutput schema / properties / activity / additionalProperties
        Added value: +false
      • changedOutput schema / properties / activity / type
        Previous value: -"object"New value: +[
        +  "null",
        +  "object"
        +]
      • addedOutput schema / properties / duration_ms / description
        Added value: +"required"
      • removedOutput schema / properties / explorer_holders_raw / anyOf
        Removed value: -[
        -  {
        -    "type": "object"
        -  },
        -  {
        -    "type": "array"
        -  },
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "number"
        -  },
        -  {
        -    "type": "boolean"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / explorer_holders_raw / items
        Added value: +{
        +  "maximum": 255,
        +  "minimum": 0,
        +  "type": "integer"
        +}
      • addedOutput schema / properties / explorer_holders_raw / type
        Added value: +[
        +  "null",
        +  "array"
        +]
      • removedOutput schema / properties / explorer_token_raw / anyOf
        Removed value: -[
        -  {
        -    "type": "object"
        -  },
        -  {
        -    "type": "array"
        -  },
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "number"
        -  },
        -  {
        -    "type": "boolean"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / explorer_token_raw / items
        Added value: +{
        +  "maximum": 255,
        +  "minimum": 0,
        +  "type": "integer"
        +}
      • addedOutput schema / properties / explorer_token_raw / type
        Added value: +[
        +  "null",
        +  "array"
        +]
      • removedOutput schema / properties / explorer_transfers_raw / anyOf
        Removed value: -[
        -  {
        -    "type": "object"
        -  },
        -  {
        -    "type": "array"
        -  },
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "number"
        -  },
        -  {
        -    "type": "boolean"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / explorer_transfers_raw / items
        Added value: +{
        +  "maximum": 255,
        +  "minimum": 0,
        +  "type": "integer"
        +}
      • addedOutput schema / properties / explorer_transfers_raw / type
        Added value: +[
        +  "null",
        +  "array"
        +]
      • addedOutput schema / properties / holders / additionalProperties
        Added value: +false
      • changedOutput schema / properties / holders / properties / top_holders / type
        Previous value: -"array"New value: +[
        +  "null",
        +  "array"
        +]
      • changedOutput schema / properties / holders / type
        Previous value: -"object"New value: +[
        +  "null",
        +  "object"
        +]
      • changedOutput schema / properties / quality_reasons / type
        Previous value: -"array"New value: +[
        +  "null",
        +  "array"
        +]
      • addedOutput schema / properties / smart_money / additionalProperties
        Added value: +false
      • changedOutput schema / properties / smart_money / type
        Previous value: -"object"New value: +[
        +  "null",
        +  "object"
        +]
      • addedOutput schema / properties / sources / items / additionalProperties
        Added value: +false
      • changedOutput schema / properties / sources / items / properties / code / type
        Previous value: -"integer"New value: +[
        +  "null",
        +  "integer"
        +]
      • changedOutput schema / properties / sources / type
        Previous value: -"array"New value: +[
        +  "null",
        +  "array"
        +]
      • addedOutput schema / properties / token_info / additionalProperties
        Added value: +false
      • changedOutput schema / properties / token_info / type
        Previous value: -"object"New value: +[
        +  "null",
        +  "object"
        +]
      • addedOutput schema / properties / transfers / additionalProperties
        Added value: +false
      • changedOutput schema / properties / transfers / properties / large_transfers / type
        Previous value: -"array"New value: +[
        +  "null",
        +  "array"
        +]
      • changedOutput schema / properties / transfers / properties / supply_history / type
        Previous value: -"array"New value: +[
        +  "null",
        +  "array"
        +]
      • changedOutput schema / properties / transfers / type
        Previous value: -"object"New value: +[
        +  "null",
        +  "object"
        +]
    • Changedinfo_onchain_get_transaction30 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • addedOutput schema / additionalProperties
        Added value: +false
      • removedOutput schema / properties / blockinfo_detail_raw / anyOf
        Removed value: -[
        -  {
        -    "type": "object"
        -  },
        -  {
        -    "type": "array"
        -  },
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "number"
        -  },
        -  {
        -    "type": "boolean"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / blockinfo_detail_raw / items
        Added value: +{
        +  "maximum": 255,
        +  "minimum": 0,
        +  "type": "integer"
        +}
      • addedOutput schema / properties / blockinfo_detail_raw / type
        Added value: +[
        +  "null",
        +  "array"
        +]
      • removedOutput schema / properties / explorer_detail_raw / anyOf
        Removed value: -[
        -  {
        -    "type": "object"
        -  },
        -  {
        -    "type": "array"
        -  },
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "number"
        -  },
        -  {
        -    "type": "boolean"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / explorer_detail_raw / items
        Added value: +{
        +  "maximum": 255,
        +  "minimum": 0,
        +  "type": "integer"
        +}
      • addedOutput schema / properties / explorer_detail_raw / type
        Added value: +[
        +  "null",
        +  "array"
        +]
      • changedOutput schema / properties / from_tags / items
        Previous value: -{
        -  "anyOf": [
        -    {
        -      "type": "object"
        -    },
        -    {
        -      "type": "array"
        -    },
        -    {
        -      "type": "string"
        -    },
        -    {
        -      "type": "number"
        -    },
        -    {
        -      "type": "boolean"
        -    },
        -    {
        -      "type": "null"
        -    }
        -  ]
        -}New value: +true
      • changedOutput schema / properties / from_tags / type
        Previous value: -"array"New value: +[
        +  "null",
        +  "array"
        +]
      • changedOutput schema / properties / instructions / items
        Previous value: -{
        -  "anyOf": [
        -    {
        -      "type": "object"
        -    },
        -    {
        -      "type": "array"
        -    },
        -    {
        -      "type": "string"
        -    },
        -    {
        -      "type": "number"
        -    },
        -    {
        -      "type": "boolean"
        -    },
        -    {
        -      "type": "null"
        -    }
        -  ]
        -}New value: +true
      • changedOutput schema / properties / instructions / type
        Previous value: -"array"New value: +[
        +  "null",
        +  "array"
        +]
      • changedOutput schema / properties / internal_transactions / items
        Previous value: -{
        -  "anyOf": [
        -    {
        -      "type": "object"
        -    },
        -    {
        -      "type": "array"
        -    },
        -    {
        -      "type": "string"
        -    },
        -    {
        -      "type": "number"
        -    },
        -    {
        -      "type": "boolean"
        -    },
        -    {
        -      "type": "null"
        -    }
        -  ]
        -}New value: +true
      • changedOutput schema / properties / internal_transactions / type
        Previous value: -"array"New value: +[
        +  "null",
        +  "array"
        +]
      • changedOutput schema / properties / program_logs / items
        Previous value: -{
        -  "anyOf": [
        -    {
        -      "type": "object"
        -    },
        -    {
        -      "type": "array"
        -    },
        -    {
        -      "type": "string"
        -    },
        -    {
        -      "type": "number"
        -    },
        -    {
        -      "type": "boolean"
        -    },
        -    {
        -      "type": "null"
        -    }
        -  ]
        -}New value: +true
      • changedOutput schema / properties / program_logs / type
        Previous value: -"array"New value: +[
        +  "null",
        +  "array"
        +]
      • changedOutput schema / properties / quality_reasons / type
        Previous value: -"array"New value: +[
        +  "null",
        +  "array"
        +]
      • changedOutput schema / properties / sol_balance_change / items
        Previous value: -{
        -  "anyOf": [
        -    {
        -      "type": "object"
        -    },
        -    {
        -      "type": "array"
        -    },
        -    {
        -      "type": "string"
        -    },
        -    {
        -      "type": "number"
        -    },
        -    {
        -      "type": "boolean"
        -    },
        -    {
        -      "type": "null"
        -    }
        -  ]
        -}New value: +true
      • changedOutput schema / properties / sol_balance_change / type
        Previous value: -"array"New value: +[
        +  "null",
        +  "array"
        +]
      • addedOutput schema / properties / sources / items / additionalProperties
        Added value: +false
      • changedOutput schema / properties / sources / items / properties / code / type
        Previous value: -"integer"New value: +[
        +  "null",
        +  "integer"
        +]
      • changedOutput schema / properties / sources / type
        Previous value: -"array"New value: +[
        +  "null",
        +  "array"
        +]
      • changedOutput schema / properties / to_tags / items
        Previous value: -{
        -  "anyOf": [
        -    {
        -      "type": "object"
        -    },
        -    {
        -      "type": "array"
        -    },
        -    {
        -      "type": "string"
        -    },
        -    {
        -      "type": "number"
        -    },
        -    {
        -      "type": "boolean"
        -    },
        -    {
        -      "type": "null"
        -    }
        -  ]
        -}New value: +true
      • changedOutput schema / properties / to_tags / type
        Previous value: -"array"New value: +[
        +  "null",
        +  "array"
        +]
      • changedOutput schema / properties / token_balance_change / items
        Previous value: -{
        -  "anyOf": [
        -    {
        -      "type": "object"
        -    },
        -    {
        -      "type": "array"
        -    },
        -    {
        -      "type": "string"
        -    },
        -    {
        -      "type": "number"
        -    },
        -    {
        -      "type": "boolean"
        -    },
        -    {
        -      "type": "null"
        -    }
        -  ]
        -}New value: +true
      • changedOutput schema / properties / token_balance_change / type
        Previous value: -"array"New value: +[
        +  "null",
        +  "array"
        +]
      • changedOutput schema / properties / token_transfers / items
        Previous value: -{
        -  "anyOf": [
        -    {
        -      "type": "object"
        -    },
        -    {
        -      "type": "array"
        -    },
        -    {
        -      "type": "string"
        -    },
        -    {
        -      "type": "number"
        -    },
        -    {
        -      "type": "boolean"
        -    },
        -    {
        -      "type": "null"
        -    }
        -  ]
        -}New value: +true
      • changedOutput schema / properties / token_transfers / type
        Previous value: -"array"New value: +[
        +  "null",
        +  "array"
        +]
      • changedOutput schema / properties / tx_tags / items
        Previous value: -{
        -  "anyOf": [
        -    {
        -      "type": "object"
        -    },
        -    {
        -      "type": "array"
        -    },
        -    {
        -      "type": "string"
        -    },
        -    {
        -      "type": "number"
        -    },
        -    {
        -      "type": "boolean"
        -    },
        -    {
        -      "type": "null"
        -    }
        -  ]
        -}New value: +true
      • changedOutput schema / properties / tx_tags / type
        Previous value: -"array"New value: +[
        +  "null",
        +  "array"
        +]
    • Changedinfo_platformmetrics_get_bridge_metrics4 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • addedOutput schema / additionalProperties
        Added value: +false
      • addedOutput schema / properties / items / items / additionalProperties
        Added value: +true
      • changedOutput schema / properties / items / type
        Previous value: -"array"New value: +[
        +  "null",
        +  "array"
        +]
    • Changedinfo_platformmetrics_get_cex_orderbook_depth4 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • addedOutput schema / additionalProperties
        Added value: +false
      • addedOutput schema / properties / items / items / additionalProperties
        Added value: +true
      • changedOutput schema / properties / items / type
        Previous value: -"array"New value: +[
        +  "null",
        +  "array"
        +]
    • Changedinfo_platformmetrics_get_chain_activity40 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • addedOutput schema / additionalProperties
        Added value: +false
      • addedOutput schema / properties / btc_l2_metrics / additionalProperties
        Added value: +false
      • addedOutput schema / properties / btc_l2_metrics / properties / items / items / additionalProperties
        Added value: +false
      • changedOutput schema / properties / btc_l2_metrics / properties / items / items / properties / active_addresses_1d / type
        Previous value: -"integer"New value: +[
        +  "null",
        +  "integer"
        +]
      • changedOutput schema / properties / btc_l2_metrics / properties / items / items / properties / bridge_volume_24h_usd / type
        Previous value: -"number"New value: +[
        +  "null",
        +  "number"
        +]
      • changedOutput schema / properties / btc_l2_metrics / properties / items / items / properties / missing_optional_fields / type
        Previous value: -"array"New value: +[
        +  "null",
        +  "array"
        +]
      • changedOutput schema / properties / btc_l2_metrics / properties / items / items / properties / missing_required_fields / type
        Previous value: -"array"New value: +[
        +  "null",
        +  "array"
        +]
      • changedOutput schema / properties / btc_l2_metrics / properties / items / items / properties / protocol_count / type
        Previous value: -"integer"New value: +[
        +  "null",
        +  "integer"
        +]
      • changedOutput schema / properties / btc_l2_metrics / properties / items / items / properties / source_refs / type
        Previous value: -"array"New value: +[
        +  "null",
        +  "array"
        +]
      • changedOutput schema / properties / btc_l2_metrics / properties / items / items / properties / tvl_usd / type
        Previous value: -"number"New value: +[
        +  "null",
        +  "number"
        +]
      • changedOutput schema / properties / btc_l2_metrics / properties / items / items / properties / tx_count_1d / type
        Previous value: -"integer"New value: +[
        +  "null",
        +  "integer"
        +]
      • changedOutput schema / properties / btc_l2_metrics / properties / items / type
        Previous value: -"array"New value: +[
        +  "null",
        +  "array"
        +]
      • changedOutput schema / properties / btc_l2_metrics / type
        Previous value: -"object"New value: +[
        +  "null",
        +  "object"
        +]
      • addedOutput schema / properties / l2_metrics / additionalProperties
        Added value: +false
      • addedOutput schema / properties / l2_metrics / properties / series / items / additionalProperties
        Added value: +false
      • changedOutput schema / properties / l2_metrics / properties / series / items / properties / active_addresses_1d / type
        Previous value: -"number"New value: +[
        +  "null",
        +  "number"
        +]
      • changedOutput schema / properties / l2_metrics / properties / series / items / properties / blob_cost_usd_1d / type
        Previous value: -"number"New value: +[
        +  "null",
        +  "number"
        +]
      • changedOutput schema / properties / l2_metrics / properties / series / items / properties / missing_fields / type
        Previous value: -"array"New value: +[
        +  "null",
        +  "array"
        +]
      • changedOutput schema / properties / l2_metrics / properties / series / items / properties / sequencer_revenue_usd_1d / type
        Previous value: -"number"New value: +[
        +  "null",
        +  "number"
        +]
      • changedOutput schema / properties / l2_metrics / properties / series / items / properties / tps_avg_1d / type
        Previous value: -"number"New value: +[
        +  "null",
        +  "number"
        +]
      • changedOutput schema / properties / l2_metrics / properties / series / items / properties / tvl_usd / type
        Previous value: -"number"New value: +[
        +  "null",
        +  "number"
        +]
      • changedOutput schema / properties / l2_metrics / properties / series / type
        Previous value: -"array"New value: +[
        +  "null",
        +  "array"
        +]
      • changedOutput schema / properties / l2_metrics / type
        Previous value: -"object"New value: +[
        +  "null",
        +  "object"
        +]
      • addedOutput schema / properties / staking_metrics / additionalProperties
        Added value: +false
      • addedOutput schema / properties / staking_metrics / properties / series / items / additionalProperties
        Added value: +false
      • changedOutput schema / properties / staking_metrics / properties / series / items / properties / entry_queue_eth / type
        Previous value: -"number"New value: +[
        +  "null",
        +  "number"
        +]
      • changedOutput schema / properties / staking_metrics / properties / series / items / properties / entry_queue_validator_estimate / type
        Previous value: -"number"New value: +[
        +  "null",
        +  "number"
        +]
      • changedOutput schema / properties / staking_metrics / properties / series / items / properties / entry_wait_days / type
        Previous value: -"number"New value: +[
        +  "null",
        +  "number"
        +]
      • changedOutput schema / properties / staking_metrics / properties / series / items / properties / eth_supply / type
        Previous value: -"number"New value: +[
        +  "null",
        +  "number"
        +]
      • changedOutput schema / properties / staking_metrics / properties / series / items / properties / exit_queue_eth / type
        Previous value: -"number"New value: +[
        +  "null",
        +  "number"
        +]
      • changedOutput schema / properties / staking_metrics / properties / series / items / properties / exit_queue_validator_estimate / type
        Previous value: -"number"New value: +[
        +  "null",
        +  "number"
        +]
      • changedOutput schema / properties / staking_metrics / properties / series / items / properties / exit_wait_days / type
        Previous value: -"number"New value: +[
        +  "null",
        +  "number"
        +]
      • changedOutput schema / properties / staking_metrics / properties / series / items / properties / missing_fields / type
        Previous value: -"array"New value: +[
        +  "null",
        +  "array"
        +]
      • changedOutput schema / properties / staking_metrics / properties / series / items / properties / staking_apr_7d / type
        Previous value: -"number"New value: +[
        +  "null",
        +  "number"
        +]
      • changedOutput schema / properties / staking_metrics / properties / series / items / properties / staking_rate / type
        Previous value: -"number"New value: +[
        +  "null",
        +  "number"
        +]
      • changedOutput schema / properties / staking_metrics / properties / series / items / properties / total_value_staked_eth / type
        Previous value: -"number"New value: +[
        +  "null",
        +  "number"
        +]
      • changedOutput schema / properties / staking_metrics / properties / series / items / properties / validator_active / type
        Previous value: -"number"New value: +[
        +  "null",
        +  "number"
        +]
      • changedOutput schema / properties / staking_metrics / properties / series / type
        Previous value: -"array"New value: +[
        +  "null",
        +  "array"
        +]
      • changedOutput schema / properties / staking_metrics / type
        Previous value: -"object"New value: +[
        +  "null",
        +  "object"
        +]
    • Changedinfo_platformmetrics_get_defi_overview4 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • addedOutput schema / additionalProperties
        Added value: +false
      • addedOutput schema / properties / items / items / additionalProperties
        Added value: +true
      • changedOutput schema / properties / items / type
        Previous value: -"array"New value: +[
        +  "null",
        +  "array"
        +]
    • Changedinfo_platformmetrics_get_exchange_reserves23 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • addedOutput schema / additionalProperties
        Added value: +false
      • addedOutput schema / properties / events / items / additionalProperties
        Added value: +false
      • changedOutput schema / properties / events / items / properties / daily_netflow_usd / type
        Previous value: -"number"New value: +[
        +  "null",
        +  "number"
        +]
      • changedOutput schema / properties / events / items / properties / large_flow_event / type
        Previous value: -"boolean"New value: +[
        +  "null",
        +  "boolean"
        +]
      • changedOutput schema / properties / events / items / properties / rolling_30d_std_usd / type
        Previous value: -"number"New value: +[
        +  "null",
        +  "number"
        +]
      • changedOutput schema / properties / events / items / properties / threshold_usd / type
        Previous value: -"number"New value: +[
        +  "null",
        +  "number"
        +]
      • changedOutput schema / properties / events / type
        Previous value: -"array"New value: +[
        +  "null",
        +  "array"
        +]
      • addedOutput schema / properties / flows / additionalProperties
        Added value: +false
      • addedOutput schema / properties / flows / properties / series / items / additionalProperties
        Added value: +false
      • changedOutput schema / properties / flows / properties / series / items / properties / daily_netflow_native / type
        Previous value: -"number"New value: +[
        +  "null",
        +  "number"
        +]
      • changedOutput schema / properties / flows / properties / series / items / properties / daily_netflow_usd / type
        Previous value: -"number"New value: +[
        +  "null",
        +  "number"
        +]
      • changedOutput schema / properties / flows / properties / series / items / properties / inflow_native / type
        Previous value: -"number"New value: +[
        +  "null",
        +  "number"
        +]
      • changedOutput schema / properties / flows / properties / series / items / properties / outflow_native / type
        Previous value: -"number"New value: +[
        +  "null",
        +  "number"
        +]
      • changedOutput schema / properties / flows / properties / series / items / properties / price_usd / type
        Previous value: -"number"New value: +[
        +  "null",
        +  "number"
        +]
      • changedOutput schema / properties / flows / properties / series / items / properties / reserve_change_1d_usd / type
        Previous value: -"number"New value: +[
        +  "null",
        +  "number"
        +]
      • changedOutput schema / properties / flows / properties / series / items / properties / reserve_change_7d_usd / type
        Previous value: -"number"New value: +[
        +  "null",
        +  "number"
        +]
      • changedOutput schema / properties / flows / properties / series / items / properties / reserve_native / type
        Previous value: -"number"New value: +[
        +  "null",
        +  "number"
        +]
      • changedOutput schema / properties / flows / properties / series / items / properties / reserve_usd / type
        Previous value: -"number"New value: +[
        +  "null",
        +  "number"
        +]
      • changedOutput schema / properties / flows / properties / series / type
        Previous value: -"array"New value: +[
        +  "null",
        +  "array"
        +]
      • changedOutput schema / properties / flows / type
        Previous value: -"object"New value: +[
        +  "null",
        +  "object"
        +]
      • addedOutput schema / properties / items / items / additionalProperties
        Added value: +true
      • changedOutput schema / properties / items / type
        Previous value: -"array"New value: +[
        +  "null",
        +  "array"
        +]
    • Changedinfo_platformmetrics_get_liquidation_heatmap4 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • addedOutput schema / additionalProperties
        Added value: +false
      • addedOutput schema / properties / items / items / additionalProperties
        Added value: +true
      • changedOutput schema / properties / items / type
        Previous value: -"array"New value: +[
        +  "null",
        +  "array"
        +]
    • Changedinfo_platformmetrics_get_platform_history6 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • changedInput schema / properties / metrics / type
        Previous value: -"array"New value: +[
        +  "null",
        +  "array"
        +]
      • addedOutput schema / additionalProperties
        Added value: +false
      • addedOutput schema / properties / items / items / additionalProperties
        Added value: +true
      • changedOutput schema / properties / items / type
        Previous value: -"array"New value: +[
        +  "null",
        +  "array"
        +]
      • changedOutput schema / properties / metrics / type
        Previous value: -"array"New value: +[
        +  "null",
        +  "array"
        +]
    • Changedinfo_platformmetrics_get_platform_info4 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • addedOutput schema / additionalProperties
        Added value: +false
      • addedOutput schema / properties / items / items / additionalProperties
        Added value: +true
      • changedOutput schema / properties / items / type
        Previous value: -"array"New value: +[
        +  "null",
        +  "array"
        +]
    • Changedinfo_platformmetrics_get_stablecoin_info117 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • changedInput schema / properties / sections / type
        Previous value: -"array"New value: +[
        +  "null",
        +  "array"
        +]
      • addedOutput schema / additionalProperties
        Added value: +false
      • addedOutput schema / properties / depeg_events / additionalProperties
        Added value: +false
      • addedOutput schema / properties / depeg_events / properties / items / items / additionalProperties
        Added value: +false
      • changedOutput schema / properties / depeg_events / properties / items / items / properties / depeg_threshold / type
        Previous value: -"number"New value: +[
        +  "null",
        +  "number"
        +]
      • changedOutput schema / properties / depeg_events / properties / items / items / properties / duration_minutes / type
        Previous value: -"integer"New value: +[
        +  "null",
        +  "integer"
        +]
      • changedOutput schema / properties / depeg_events / properties / items / items / properties / event_end_time / type
        Previous value: -"string"New value: +[
        +  "null",
        +  "string"
        +]
      • changedOutput schema / properties / depeg_events / properties / items / items / properties / latest_price_time / type
        Previous value: -"string"New value: +[
        +  "null",
        +  "string"
        +]
      • changedOutput schema / properties / depeg_events / properties / items / items / properties / max_deviation / type
        Previous value: -"number"New value: +[
        +  "null",
        +  "number"
        +]
      • changedOutput schema / properties / depeg_events / properties / items / items / properties / max_deviation_price / type
        Previous value: -"number"New value: +[
        +  "null",
        +  "number"
        +]
      • changedOutput schema / properties / depeg_events / properties / items / items / properties / max_observation_gap_minutes / type
        Previous value: -"integer"New value: +[
        +  "null",
        +  "integer"
        +]
      • changedOutput schema / properties / depeg_events / properties / items / items / properties / min_price / type
        Previous value: -"number"New value: +[
        +  "null",
        +  "number"
        +]
      • changedOutput schema / properties / depeg_events / properties / items / items / properties / observation_count / type
        Previous value: -"integer"New value: +[
        +  "null",
        +  "integer"
        +]
      • changedOutput schema / properties / depeg_events / properties / items / items / properties / trigger_deviation / type
        Previous value: -"number"New value: +[
        +  "null",
        +  "number"
        +]
      • changedOutput schema / properties / depeg_events / properties / items / items / properties / trigger_price / type
        Previous value: -"number"New value: +[
        +  "null",
        +  "number"
        +]
      • changedOutput schema / properties / depeg_events / properties / items / type
        Previous value: -"array"New value: +[
        +  "null",
        +  "array"
        +]
      • changedOutput schema / properties / depeg_events / properties / status_reason / type
        Previous value: -"string"New value: +[
        +  "null",
        +  "string"
        +]
      • changedOutput schema / properties / depeg_events / type
        Previous value: -"object"New value: +[
        +  "null",
        +  "object"
        +]
      • addedOutput schema / properties / issuance_flows / items / additionalProperties
        Added value: +false
      • addedOutput schema / properties / issuance_flows / items / properties / chain_breakdown / items / additionalProperties
        Added value: +false
      • addedOutput schema / properties / issuance_flows / items / properties / chain_breakdown / items / properties / net_issuance / additionalProperties
        Added value: +false
      • removedOutput schema / properties / issuance_flows / items / properties / chain_breakdown / items / properties / net_issuance / anyOf
        Removed value: -[
        -  {
        -    "type": "number"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / issuance_flows / items / properties / chain_breakdown / items / properties / net_issuance / properties
        Added value: +{
        +  "Valid": {
        +    "type": "boolean"
        +  },
        +  "Value": {
        +    "type": "number"
        +  }
        +}
      • addedOutput schema / properties / issuance_flows / items / properties / chain_breakdown / items / properties / net_issuance / required
        Added value: +[
        +  "Value",
        +  "Valid"
        +]
      • addedOutput schema / properties / issuance_flows / items / properties / chain_breakdown / items / properties / net_issuance / type
        Added value: +[
        +  "null",
        +  "object"
        +]
      • addedOutput schema / properties / issuance_flows / items / properties / chain_breakdown / items / properties / supply_issued / additionalProperties
        Added value: +false
      • removedOutput schema / properties / issuance_flows / items / properties / chain_breakdown / items / properties / supply_issued / anyOf
        Removed value: -[
        -  {
        -    "type": "number"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / issuance_flows / items / properties / chain_breakdown / items / properties / supply_issued / properties
        Added value: +{
        +  "Valid": {
        +    "type": "boolean"
        +  },
        +  "Value": {
        +    "type": "number"
        +  }
        +}
      • addedOutput schema / properties / issuance_flows / items / properties / chain_breakdown / items / properties / supply_issued / required
        Added value: +[
        +  "Value",
        +  "Valid"
        +]
      • addedOutput schema / properties / issuance_flows / items / properties / chain_breakdown / items / properties / supply_issued / type
        Added value: +[
        +  "null",
        +  "object"
        +]
      • addedOutput schema / properties / issuance_flows / items / properties / chain_breakdown / items / properties / supply_redeemed / additionalProperties
        Added value: +false
      • removedOutput schema / properties / issuance_flows / items / properties / chain_breakdown / items / properties / supply_redeemed / anyOf
        Removed value: -[
        -  {
        -    "type": "number"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / issuance_flows / items / properties / chain_breakdown / items / properties / supply_redeemed / properties
        Added value: +{
        +  "Valid": {
        +    "type": "boolean"
        +  },
        +  "Value": {
        +    "type": "number"
        +  }
        +}
      • addedOutput schema / properties / issuance_flows / items / properties / chain_breakdown / items / properties / supply_redeemed / required
        Added value: +[
        +  "Value",
        +  "Valid"
        +]
      • addedOutput schema / properties / issuance_flows / items / properties / chain_breakdown / items / properties / supply_redeemed / type
        Added value: +[
        +  "null",
        +  "object"
        +]
      • changedOutput schema / properties / issuance_flows / items / properties / chain_breakdown / type
        Previous value: -"array"New value: +[
        +  "null",
        +  "array"
        +]
      • addedOutput schema / properties / issuance_flows / items / properties / series / items / additionalProperties
        Added value: +false
      • addedOutput schema / properties / issuance_flows / items / properties / series / items / properties / net_issuance / additionalProperties
        Added value: +false
      • removedOutput schema / properties / issuance_flows / items / properties / series / items / properties / net_issuance / anyOf
        Removed value: -[
        -  {
        -    "type": "number"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / issuance_flows / items / properties / series / items / properties / net_issuance / properties
        Added value: +{
        +  "Valid": {
        +    "type": "boolean"
        +  },
        +  "Value": {
        +    "type": "number"
        +  }
        +}
      • addedOutput schema / properties / issuance_flows / items / properties / series / items / properties / net_issuance / required
        Added value: +[
        +  "Value",
        +  "Valid"
        +]
      • addedOutput schema / properties / issuance_flows / items / properties / series / items / properties / net_issuance / type
        Added value: +[
        +  "null",
        +  "object"
        +]
      • addedOutput schema / properties / issuance_flows / items / properties / series / items / properties / supply_issued / additionalProperties
        Added value: +false
      • removedOutput schema / properties / issuance_flows / items / properties / series / items / properties / supply_issued / anyOf
        Removed value: -[
        -  {
        -    "type": "number"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / issuance_flows / items / properties / series / items / properties / supply_issued / properties
        Added value: +{
        +  "Valid": {
        +    "type": "boolean"
        +  },
        +  "Value": {
        +    "type": "number"
        +  }
        +}
      • addedOutput schema / properties / issuance_flows / items / properties / series / items / properties / supply_issued / required
        Added value: +[
        +  "Value",
        +  "Valid"
        +]
      • addedOutput schema / properties / issuance_flows / items / properties / series / items / properties / supply_issued / type
        Added value: +[
        +  "null",
        +  "object"
        +]
      • addedOutput schema / properties / issuance_flows / items / properties / series / items / properties / supply_redeemed / additionalProperties
        Added value: +false
      • removedOutput schema / properties / issuance_flows / items / properties / series / items / properties / supply_redeemed / anyOf
        Removed value: -[
        -  {
        -    "type": "number"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / issuance_flows / items / properties / series / items / properties / supply_redeemed / properties
        Added value: +{
        +  "Valid": {
        +    "type": "boolean"
        +  },
        +  "Value": {
        +    "type": "number"
        +  }
        +}
      • addedOutput schema / properties / issuance_flows / items / properties / series / items / properties / supply_redeemed / required
        Added value: +[
        +  "Value",
        +  "Valid"
        +]
      • addedOutput schema / properties / issuance_flows / items / properties / series / items / properties / supply_redeemed / type
        Added value: +[
        +  "null",
        +  "object"
        +]
      • changedOutput schema / properties / issuance_flows / items / properties / series / type
        Previous value: -"array"New value: +[
        +  "null",
        +  "array"
        +]
      • addedOutput schema / properties / issuance_flows / items / properties / summary / additionalProperties
        Added value: +false
      • addedOutput schema / properties / issuance_flows / items / properties / summary / properties / mint_burn_net / additionalProperties
        Added value: +false
      • removedOutput schema / properties / issuance_flows / items / properties / summary / properties / mint_burn_net / anyOf
        Removed value: -[
        -  {
        -    "type": "number"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / issuance_flows / items / properties / summary / properties / mint_burn_net / properties
        Added value: +{
        +  "Valid": {
        +    "type": "boolean"
        +  },
        +  "Value": {
        +    "type": "number"
        +  }
        +}
      • addedOutput schema / properties / issuance_flows / items / properties / summary / properties / mint_burn_net / required
        Added value: +[
        +  "Value",
        +  "Valid"
        +]
      • addedOutput schema / properties / issuance_flows / items / properties / summary / properties / mint_burn_net / type
        Added value: +[
        +  "null",
        +  "object"
        +]
      • addedOutput schema / properties / issuance_flows / items / properties / summary / properties / net_issuance / additionalProperties
        Added value: +false
      • removedOutput schema / properties / issuance_flows / items / properties / summary / properties / net_issuance / anyOf
        Removed value: -[
        -  {
        -    "type": "number"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / issuance_flows / items / properties / summary / properties / net_issuance / properties
        Added value: +{
        +  "Valid": {
        +    "type": "boolean"
        +  },
        +  "Value": {
        +    "type": "number"
        +  }
        +}
      • addedOutput schema / properties / issuance_flows / items / properties / summary / properties / net_issuance / required
        Added value: +[
        +  "Value",
        +  "Valid"
        +]
      • addedOutput schema / properties / issuance_flows / items / properties / summary / properties / net_issuance / type
        Added value: +[
        +  "null",
        +  "object"
        +]
      • addedOutput schema / properties / issuance_flows / items / properties / summary / properties / supply_burned / additionalProperties
        Added value: +false
      • removedOutput schema / properties / issuance_flows / items / properties / summary / properties / supply_burned / anyOf
        Removed value: -[
        -  {
        -    "type": "number"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / issuance_flows / items / properties / summary / properties / supply_burned / properties
        Added value: +{
        +  "Valid": {
        +    "type": "boolean"
        +  },
        +  "Value": {
        +    "type": "number"
        +  }
        +}
      • addedOutput schema / properties / issuance_flows / items / properties / summary / properties / supply_burned / required
        Added value: +[
        +  "Value",
        +  "Valid"
        +]
      • addedOutput schema / properties / issuance_flows / items / properties / summary / properties / supply_burned / type
        Added value: +[
        +  "null",
        +  "object"
        +]
      • addedOutput schema / properties / issuance_flows / items / properties / summary / properties / supply_issued / additionalProperties
        Added value: +false
      • removedOutput schema / properties / issuance_flows / items / properties / summary / properties / supply_issued / anyOf
        Removed value: -[
        -  {
        -    "type": "number"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / issuance_flows / items / properties / summary / properties / supply_issued / properties
        Added value: +{
        +  "Valid": {
        +    "type": "boolean"
        +  },
        +  "Value": {
        +    "type": "number"
        +  }
        +}
      • addedOutput schema / properties / issuance_flows / items / properties / summary / properties / supply_issued / required
        Added value: +[
        +  "Value",
        +  "Valid"
        +]
      • addedOutput schema / properties / issuance_flows / items / properties / summary / properties / supply_issued / type
        Added value: +[
        +  "null",
        +  "object"
        +]
      • addedOutput schema / properties / issuance_flows / items / properties / summary / properties / supply_minted / additionalProperties
        Added value: +false
      • removedOutput schema / properties / issuance_flows / items / properties / summary / properties / supply_minted / anyOf
        Removed value: -[
        -  {
        -    "type": "number"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / issuance_flows / items / properties / summary / properties / supply_minted / properties
        Added value: +{
        +  "Valid": {
        +    "type": "boolean"
        +  },
        +  "Value": {
        +    "type": "number"
        +  }
        +}
      • addedOutput schema / properties / issuance_flows / items / properties / summary / properties / supply_minted / required
        Added value: +[
        +  "Value",
        +  "Valid"
        +]
      • addedOutput schema / properties / issuance_flows / items / properties / summary / properties / supply_minted / type
        Added value: +[
        +  "null",
        +  "object"
        +]
      • addedOutput schema / properties / issuance_flows / items / properties / summary / properties / supply_redeemed / additionalProperties
        Added value: +false
      • removedOutput schema / properties / issuance_flows / items / properties / summary / properties / supply_redeemed / anyOf
        Removed value: -[
        -  {
        -    "type": "number"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / issuance_flows / items / properties / summary / properties / supply_redeemed / properties
        Added value: +{
        +  "Valid": {
        +    "type": "boolean"
        +  },
        +  "Value": {
        +    "type": "number"
        +  }
        +}
      • addedOutput schema / properties / issuance_flows / items / properties / summary / properties / supply_redeemed / required
        Added value: +[
        +  "Value",
        +  "Valid"
        +]
      • addedOutput schema / properties / issuance_flows / items / properties / summary / properties / supply_redeemed / type
        Added value: +[
        +  "null",
        +  "object"
        +]
      • changedOutput schema / properties / issuance_flows / type
        Previous value: -"array"New value: +[
        +  "null",
        +  "array"
        +]
      • addedOutput schema / properties / items / items / additionalProperties
        Added value: +true
      • changedOutput schema / properties / items / type
        Previous value: -"array"New value: +[
        +  "null",
        +  "array"
        +]
      • addedOutput schema / properties / usage_structure / additionalProperties
        Added value: +false
      • addedOutput schema / properties / usage_structure / properties / items / items / additionalProperties
        Added value: +false
      • addedOutput schema / properties / usage_structure / properties / items / items / properties / adjusted_transfer_volume / additionalProperties
        Added value: +false
      • removedOutput schema / properties / usage_structure / properties / items / items / properties / adjusted_transfer_volume / anyOf
        Removed value: -[
        -  {
        -    "type": "number"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / usage_structure / properties / items / items / properties / adjusted_transfer_volume / properties
        Added value: +{
        +  "Valid": {
        +    "type": "boolean"
        +  },
        +  "Value": {
        +    "type": "number"
        +  }
        +}
      • addedOutput schema / properties / usage_structure / properties / items / items / properties / adjusted_transfer_volume / required
        Added value: +[
        +  "Value",
        +  "Valid"
        +]
      • addedOutput schema / properties / usage_structure / properties / items / items / properties / adjusted_transfer_volume / type
        Added value: +"object"
      • addedOutput schema / properties / usage_structure / properties / items / items / properties / bot_share / additionalProperties
        Added value: +false
      • removedOutput schema / properties / usage_structure / properties / items / items / properties / bot_share / anyOf
        Removed value: -[
        -  {
        -    "type": "number"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / usage_structure / properties / items / items / properties / bot_share / properties
        Added value: +{
        +  "Valid": {
        +    "type": "boolean"
        +  },
        +  "Value": {
        +    "type": "number"
        +  }
        +}
      • addedOutput schema / properties / usage_structure / properties / items / items / properties / bot_share / required
        Added value: +[
        +  "Value",
        +  "Valid"
        +]
      • addedOutput schema / properties / usage_structure / properties / items / items / properties / bot_share / type
        Added value: +"object"
      • changedOutput schema / properties / usage_structure / properties / items / items / properties / missing_fields / type
        Previous value: -"array"New value: +[
        +  "null",
        +  "array"
        +]
      • addedOutput schema / properties / usage_structure / properties / items / items / properties / reference_metrics / items / additionalProperties
        Added value: +true
      • changedOutput schema / properties / usage_structure / properties / items / items / properties / reference_metrics / type
        Previous value: -"array"New value: +[
        +  "null",
        +  "array"
        +]
      • addedOutput schema / properties / usage_structure / properties / items / items / properties / research_reference / items / additionalProperties
        Added value: +true
      • changedOutput schema / properties / usage_structure / properties / items / items / properties / research_reference / type
        Previous value: -"array"New value: +[
        +  "null",
        +  "array"
        +]
      • addedOutput schema / properties / usage_structure / properties / items / items / properties / retail_transfer_change / additionalProperties
        Added value: +false
      • removedOutput schema / properties / usage_structure / properties / items / items / properties / retail_transfer_change / anyOf
        Removed value: -[
        -  {
        -    "type": "number"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / usage_structure / properties / items / items / properties / retail_transfer_change / properties
        Added value: +{
        +  "Valid": {
        +    "type": "boolean"
        +  },
        +  "Value": {
        +    "type": "number"
        +  }
        +}
      • addedOutput schema / properties / usage_structure / properties / items / items / properties / retail_transfer_change / required
        Added value: +[
        +  "Value",
        +  "Valid"
        +]
      • addedOutput schema / properties / usage_structure / properties / items / items / properties / retail_transfer_change / type
        Added value: +"object"
      • addedOutput schema / properties / usage_structure / properties / items / items / properties / stablecoin_trade_volume / additionalProperties
        Added value: +false
      • removedOutput schema / properties / usage_structure / properties / items / items / properties / stablecoin_trade_volume / anyOf
        Removed value: -[
        -  {
        -    "type": "number"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • addedOutput schema / properties / usage_structure / properties / items / items / properties / stablecoin_trade_volume / properties
        Added value: +{
        +  "Valid": {
        +    "type": "boolean"
        +  },
        +  "Value": {
        +    "type": "number"
        +  }
        +}
      • addedOutput schema / properties / usage_structure / properties / items / items / properties / stablecoin_trade_volume / required
        Added value: +[
        +  "Value",
        +  "Valid"
        +]
      • addedOutput schema / properties / usage_structure / properties / items / items / properties / stablecoin_trade_volume / type
        Added value: +"object"
      • changedOutput schema / properties / usage_structure / properties / items / type
        Previous value: -"array"New value: +[
        +  "null",
        +  "array"
        +]
      • changedOutput schema / properties / usage_structure / type
        Previous value: -"object"New value: +[
        +  "null",
        +  "object"
        +]
    • Changedinfo_platformmetrics_get_yield_pools5 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • changedInput schema / properties / min_tvl_usd / type
        Previous value: -"number"New value: +[
        +  "null",
        +  "number"
        +]
      • addedOutput schema / additionalProperties
        Added value: +false
      • addedOutput schema / properties / items / items / additionalProperties
        Added value: +true
      • changedOutput schema / properties / items / type
        Previous value: -"array"New value: +[
        +  "null",
        +  "array"
        +]
    • Changedinfo_platformmetrics_search_platforms4 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • addedOutput schema / additionalProperties
        Added value: +false
      • addedOutput schema / properties / items / items / additionalProperties
        Added value: +true
      • changedOutput schema / properties / items / type
        Previous value: -"array"New value: +[
        +  "null",
        +  "array"
        +]
  2. 4 tool updates
    • Changedinfo_onchain_get_address_info2 fields changed
      • changedInput schema / properties / include_upstream_raw / description
        Previous value: -"If true, include New Explorer ApiResponse.data as new_explorer_*_raw; large payload. Default false."New value: +"Prefer false (default). If true, include New Explorer ApiResponse.data as new_explorer_*_raw; large payload, not for public clients."
      • changedInput schema / properties / upstream_raw_mode / description
        Previous value: -"off (default, no page raw) | lite (per-item source_raw where applicable) | full (page raw). include_upstream_raw=true forces full."New value: +"off (default) | lite | full. Prefer off for public MCP. include_upstream_raw=true forces full."
    • Changedinfo_onchain_get_address_transactions2 fields changed
      • changedInput schema / properties / include_upstream_raw / description
        Previous value: -"If true, include new_explorer_address_*_raw and per-item source_raw; large payload. Default false."New value: +"Prefer false (default). If true, include new_explorer_address_*_raw and per-item source_raw; large payload, not for public clients."
      • changedInput schema / properties / upstream_raw_mode / description
        Previous value: -"off (default) | lite (per-item source_raw) | full (page + item raw). include_upstream_raw=true forces full."New value: +"off (default) | lite | full. Prefer off for public MCP. include_upstream_raw=true forces full."
    • Changedinfo_onchain_get_token_onchain2 fields changed
      • changedInput schema / properties / include_upstream_raw / description
        Previous value: -"If true, include explorer_*_page raw and transfer source_raw; large payload. Default false."New value: +"Prefer false (default). If true, include explorer_*_page raw and transfer source_raw; large payload, not for public clients."
      • changedInput schema / properties / upstream_raw_mode / description
        Previous value: -"off (default) | lite (row source_raw) | full (page + row). include_upstream_raw=true forces full."New value: +"off (default) | lite | full. Prefer off for public MCP. include_upstream_raw=true forces full."
    • Changedinfo_onchain_get_transaction2 fields changed
      • changedInput schema / properties / include_upstream_raw / description
        Previous value: -"If true, include explorer_detail_raw and blockinfo_detail_raw; large payload. Default false."New value: +"Prefer false (default). If true, include explorer_detail_raw and blockinfo_detail_raw; large payload, not for public clients."
      • changedInput schema / properties / upstream_raw_mode / description
        Previous value: -"off (default) | lite | full; only full adds explorer/blockinfo detail raw. include_upstream_raw=true forces full."New value: +"off (default) | lite | full. Prefer off for public MCP; only full adds detail raw. include_upstream_raw=true forces full."
  3. 1 tool update
    • Changedinfo_platformmetrics_get_stablecoin_info7 fields changed
      • changedInput schema / properties / end_date / description
        Previous value: -"UTC YYYY-MM-DD; extension window end, default latest data date for usage_structure or today for issuance_flow."New value: +"UTC YYYY-MM-DD; extension window end, default latest data date for usage_structure or today for issuance_flow/depeg_events."
      • addedInput schema / properties / min_deviation
        Added value: +{
        +  "description": "depeg_events only: filter events with max_deviation >= this value. Range 0.001-0.2, default 0.005.",
        +  "type": "number"
        +}
      • addedInput schema / properties / review_status
        Added value: +{
        +  "description": "depeg_events only: candidate|approved|rejected; default approved (only returns reviewed events).",
        +  "type": "string"
        +}
      • changedInput schema / properties / sections / description
        Previous value: -"Comma-separated string or array; supported values: issuance_flow, usage_structure when scope=full."New value: +"Comma-separated string or array; supported values: issuance_flow, usage_structure, depeg_events when scope=full."
      • changedInput schema / properties / start_date / description
        Previous value: -"UTC YYYY-MM-DD; extension window start, default last 30 days."New value: +"UTC YYYY-MM-DD; extension window start, default last 30 days. depeg_events: default 2020-01-01."
      • addedOutput schema / properties / depeg_events
        Added value: +{
        +  "properties": {
        +    "data_status": {
        +      "type": "string"
        +    },
        +    "items": {
        +      "items": {
        +        "properties": {
        +          "depeg_asset": {
        +            "type": "string"
        +          },
        +          "depeg_direction": {
        +            "type": "string"
        +          },
        +          "depeg_threshold": {
        +            "type": "number"
        +          },
        +          "duration_minutes": {
        +            "type": "integer"
        +          },
        +          "event_end_time": {
        +            "type": "string"
        +          },
        +          "event_start_time": {
        +            "type": "string"
        +          },
        +          "latest_price_time": {
        +            "type": "string"
        +          },
        +          "max_deviation": {
        +            "type": "number"
        +          },
        +          "max_deviation_price": {
        +            "type": "number"
        +          },
        +          "max_observation_gap_minutes": {
        +            "type": "integer"
        +          },
        +          "min_price": {
        +            "type": "number"
        +          },
        +          "observation_count": {
        +            "type": "integer"
        +          },
        +          "price_source": {
        +            "type": "string"
        +          },
        +          "trigger_deviation": {
        +            "type": "number"
        +          },
        +          "trigger_price": {
        +            "type": "number"
        +          }
        +        },
        +        "required": [
        +          "depeg_asset",
        +          "event_start_time",
        +          "event_end_time",
        +          "depeg_direction",
        +          "price_source",
        +          "latest_price_time"
        +        ],
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "status_reason": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "data_status",
        +    "status_reason",
        +    "items"
        +  ],
        +  "type": "object"
        +}
      • addedOutput schema / properties / min_deviation
        Added value: +{
        +  "type": "number"
        +}
  4. 1 tool update
    • Changedinfo_platformmetrics_get_chain_activity15 fields changed
      • changedInput schema / properties / metric_group / description
        Previous value: -"Metric group: staking (Ethereum beacon daily) | l2 (L2 ops daily from growthepie+L2Beat) | btc_l2 (BTC L2 bridge volume daily)."New value: +"Metric group: staking (Ethereum beacon daily) | l2 (L2 ops daily from growthepie+L2Beat) | btc_l2 (BTC L2 protocol ecosystem tvl/protocol_count/tx_count_1d/active_addresses_1d/bridge_volume_24h_usd from dwd_external_btc_protocol_di)."
      • changedInput schema / properties / project / description
        Previous value: -"btc_l2 only: filter by project slug; empty returns whitelist. Non-whitelist project returns data_status=not_in_scope."New value: +"btc_l2 only: filter by project_key; empty returns whitelist (stacks|rootstock|merlin|bob|bitlayer). Non-whitelist project returns data_status=not_in_scope."
      • changedOutput schema / properties / btc_l2_metrics / properties / items / items / properties / active_addresses_1d / type
        Previous value: -"number"New value: +"integer"
      • addedOutput schema / properties / btc_l2_metrics / properties / items / items / properties / category
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / btc_l2_metrics / properties / items / items / properties / main_chain
        Added value: +{
        +  "type": "string"
        +}
      • removedOutput schema / properties / btc_l2_metrics / properties / items / items / properties / missing_fields
        Removed value: -{
        -  "items": {
        -    "type": "string"
        -  },
        -  "type": "array"
        -}
      • addedOutput schema / properties / btc_l2_metrics / properties / items / items / properties / missing_optional_fields
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / btc_l2_metrics / properties / items / items / properties / missing_required_fields
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / btc_l2_metrics / properties / items / items / properties / project
        Removed value: -{
        -  "type": "string"
        -}
      • addedOutput schema / properties / btc_l2_metrics / properties / items / items / properties / project_key
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / btc_l2_metrics / properties / items / items / properties / project_name
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / btc_l2_metrics / properties / items / items / properties / protocol_count
        Added value: +{
        +  "type": "integer"
        +}
      • addedOutput schema / properties / btc_l2_metrics / properties / items / items / properties / source_refs
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / btc_l2_metrics / properties / items / items / properties / tx_count_1d
        Added value: +{
        +  "type": "integer"
        +}
      • changedOutput schema / properties / btc_l2_metrics / properties / items / items / required
        Previous value: -[
        -  "date",
        -  "project",
        -  "data_status"
        -]New value: +[
        +  "date",
        +  "project_key",
        +  "project_name",
        +  "category",
        +  "main_chain",
        +  "data_status"
        +]
  5. 1 tool update
    • Changedinfo_platformmetrics_get_exchange_reserves19 fields changed
      • changedInput schema / properties / asset / description
        Previous value: -"Optional asset filter: BTC|ETH|USDT|USDC."New value: +"Asset filter: BTC|ETH|USDT|USDC; default BTC."
      • addedInput schema / properties / end_date
        Added value: +{
        +  "description": "YYYY-MM-DD; default today. Filter flows by part_date.",
        +  "type": "string"
        +}
      • addedInput schema / properties / event_type
        Added value: +{
        +  "description": "all|large_flow; filter events. Effective only when include_events=true.",
        +  "type": "string"
        +}
      • changedInput schema / properties / exchange / description
        Previous value: -"Exchange name; empty keeps base onchain rollup logic."New value: +"Exchange name; empty returns all exchanges. Supports okx→okx, gate.io→gate via normalized mapping."
      • addedInput schema / properties / include_events
        Added value: +{
        +  "description": "scope=full only. true returns events[].",
        +  "type": "boolean"
        +}
      • addedInput schema / properties / include_flows
        Added value: +{
        +  "description": "scope=full only. true returns flows.series[].",
        +  "type": "boolean"
        +}
      • addedInput schema / properties / limit
        Added value: +{
        +  "description": "Max flow rows; default 100, max 400.",
        +  "type": "integer"
        +}
      • changedInput schema / properties / scope / description
        Previous value: -"basic (default)|full; full adds por object from dws_external_exchange_month_por_di."New value: +"basic (default)|full; full adds por + optionally flows/events."
      • addedInput schema / properties / start_date
        Added value: +{
        +  "description": "YYYY-MM-DD; default end_date - 30d. Filter flows by part_date.",
        +  "type": "string"
        +}
      • addedOutput schema / properties / data_status
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / end_date
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / event_type
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / events
        Added value: +{
        +  "items": {
        +    "properties": {
        +      "asset": {
        +        "type": "string"
        +      },
        +      "daily_netflow_usd": {
        +        "type": "number"
        +      },
        +      "event_type": {
        +        "type": "string"
        +      },
        +      "exchange_name": {
        +        "type": "string"
        +      },
        +      "large_flow_event": {
        +        "type": "boolean"
        +      },
        +      "metric_date": {
        +        "type": "string"
        +      },
        +      "rolling_30d_std_usd": {
        +        "type": "number"
        +      },
        +      "threshold_usd": {
        +        "type": "number"
        +      }
        +    },
        +    "required": [
        +      "event_type",
        +      "exchange_name",
        +      "asset",
        +      "metric_date"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / flows
        Added value: +{
        +  "properties": {
        +    "series": {
        +      "items": {
        +        "properties": {
        +          "asset": {
        +            "type": "string"
        +          },
        +          "daily_netflow_native": {
        +            "type": "number"
        +          },
        +          "daily_netflow_usd": {
        +            "type": "number"
        +          },
        +          "exchange_name": {
        +            "type": "string"
        +          },
        +          "inflow_native": {
        +            "type": "number"
        +          },
        +          "metric_date": {
        +            "type": "string"
        +          },
        +          "outflow_native": {
        +            "type": "number"
        +          },
        +          "price_usd": {
        +            "type": "number"
        +          },
        +          "reserve_change_1d_usd": {
        +            "type": "number"
        +          },
        +          "reserve_change_7d_usd": {
        +            "type": "number"
        +          },
        +          "reserve_native": {
        +            "type": "number"
        +          },
        +          "reserve_usd": {
        +            "type": "number"
        +          }
        +        },
        +        "required": [
        +          "exchange_name",
        +          "asset",
        +          "metric_date"
        +        ],
        +        "type": "object"
        +      },
        +      "type": "array"
        +    }
        +  },
        +  "required": [
        +    "series"
        +  ],
        +  "type": "object"
        +}
      • addedOutput schema / properties / include_events
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / include_flows
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / limit
        Added value: +{
        +  "type": "integer"
        +}
      • addedOutput schema / properties / start_date
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / status_reason
        Added value: +{
        +  "type": "string"
        +}
  6. 1 tool update
    • Changedinfo_platformmetrics_get_chain_activity4 fields changed
      • changedInput schema / properties / chain / description
        Previous value: -"Chain; staking defaults empty to ethereum; l2 supports base/arbitrum/optimism/linea/zksync_era/blast or empty for all chains."New value: +"Chain; staking defaults empty to ethereum; l2 supports base/arbitrum/optimism/linea/zksync_era/blast or empty for all chains; btc_l2 defaults empty to btc (required)."
      • changedInput schema / properties / metric_group / description
        Previous value: -"Metric group: staking (Ethereum beacon daily) or l2 (L2 ops daily from growthepie+L2Beat)."New value: +"Metric group: staking (Ethereum beacon daily) | l2 (L2 ops daily from growthepie+L2Beat) | btc_l2 (BTC L2 bridge volume daily)."
      • addedInput schema / properties / project
        Added value: +{
        +  "description": "btc_l2 only: filter by project slug; empty returns whitelist. Non-whitelist project returns data_status=not_in_scope.",
        +  "type": "string"
        +}
      • addedOutput schema / properties / btc_l2_metrics
        Added value: +{
        +  "properties": {
        +    "items": {
        +      "items": {
        +        "properties": {
        +          "active_addresses_1d": {
        +            "type": "number"
        +          },
        +          "bridge_volume_24h_usd": {
        +            "type": "number"
        +          },
        +          "data_status": {
        +            "type": "string"
        +          },
        +          "date": {
        +            "type": "string"
        +          },
        +          "missing_fields": {
        +            "items": {
        +              "type": "string"
        +            },
        +            "type": "array"
        +          },
        +          "project": {
        +            "type": "string"
        +          },
        +          "tvl_usd": {
        +            "type": "number"
        +          }
        +        },
        +        "required": [
        +          "date",
        +          "project",
        +          "data_status"
        +        ],
        +        "type": "object"
        +      },
        +      "type": "array"
        +    }
        +  },
        +  "required": [
        +    "items"
        +  ],
        +  "type": "object"
        +}
  7. 1 tool update
    • Changedinfo_platformmetrics_get_yield_pools3 fields changed
      • addedInput schema / properties / scope
        Added value: +{
        +  "description": "basic (default)|full. full adds apy_base_30d, apy_reward_30d, reward_tokens, market_share.",
        +  "type": "string"
        +}
      • addedOutput schema / properties / scope
        Added value: +{
        +  "type": "string"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "project",
        -  "chain",
        -  "symbol",
        -  "pool_type",
        -  "sort_by",
        -  "min_tvl_usd",
        -  "limit",
        -  "total",
        -  "count",
        -  "items",
        -  "duration_ms"
        -]New value: +[
        +  "project",
        +  "chain",
        +  "symbol",
        +  "pool_type",
        +  "sort_by",
        +  "min_tvl_usd",
        +  "limit",
        +  "scope",
        +  "total",
        +  "count",
        +  "items",
        +  "duration_ms"
        +]
  8. 3 tool updates
    • Changedinfo_coin_get_coin_rankings1 field changed
      • changedInput schema / properties / ranking_type / description
        Previous value: -"popular|top_gainers|top_losers|twitter_hot|airdrop|new_listing"New value: +"popular|top_gainers|top_losers|twitter_hot|airdrop|new_listing|market_pulse_hot"
    • Changedinfo_marketsnapshot_get_market_snapshot1 field changed
      • addedOutput schema / properties / market_pulse
        Added value: +{
        +  "type": "object"
        +}
    • Changedinfo_platformmetrics_get_chain_activity6 fields changed
      • changedInput schema / properties / chain / description
        Previous value: -"Chain; staking defaults empty to ethereum; only eth/ethereum supported."New value: +"Chain; staking defaults empty to ethereum; l2 supports base/arbitrum/optimism/linea/zksync_era/blast or empty for all chains."
      • addedInput schema / properties / granularity
        Added value: +{
        +  "description": "l2 only: day (default); hour or minute returns unsupported_granularity.",
        +  "type": "string"
        +}
      • addedInput schema / properties / limit
        Added value: +{
        +  "description": "l2 only: max series rows returned; 0 means no extra cap beyond date window.",
        +  "type": "integer"
        +}
      • changedInput schema / properties / metric_group / description
        Previous value: -"Metric group; staking queries Ethereum beacon staking daily series."New value: +"Metric group: staking (Ethereum beacon daily) or l2 (L2 ops daily from growthepie+L2Beat)."
      • addedOutput schema / properties / granularity
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / l2_metrics
        Added value: +{
        +  "properties": {
        +    "series": {
        +      "items": {
        +        "properties": {
        +          "active_addresses_1d": {
        +            "type": "number"
        +          },
        +          "blob_cost_usd_1d": {
        +            "type": "number"
        +          },
        +          "chain": {
        +            "type": "string"
        +          },
        +          "data_source": {
        +            "type": "string"
        +          },
        +          "data_status": {
        +            "type": "string"
        +          },
        +          "date": {
        +            "type": "string"
        +          },
        +          "missing_fields": {
        +            "items": {
        +              "type": "string"
        +            },
        +            "type": "array"
        +          },
        +          "sequencer_revenue_usd_1d": {
        +            "type": "number"
        +          },
        +          "stage_label": {
        +            "type": "string"
        +          },
        +          "tps_avg_1d": {
        +            "type": "number"
        +          },
        +          "tvl_usd": {
        +            "type": "number"
        +          }
        +        },
        +        "required": [
        +          "date",
        +          "chain",
        +          "data_status"
        +        ],
        +        "type": "object"
        +      },
        +      "type": "array"
        +    }
        +  },
        +  "required": [
        +    "series"
        +  ],
        +  "type": "object"
        +}
  9. 1 tool update
    • Addedinfo_platformmetrics_get_chain_activity
  10. 2 tool updates
    • Changedinfo_onchain_get_address_info6 fields changed
      • addedOutput schema / properties / asset_summary
        Added value: +{
        +  "properties": {
        +    "exist_address": {
        +      "type": "boolean"
        +    },
        +    "have_multi_chain_asset": {
        +      "type": "boolean"
        +    },
        +    "lamport": {
        +      "type": "string"
        +    },
        +    "lamport_usd": {
        +      "type": "number"
        +    },
        +    "native_balance": {
        +      "type": "string"
        +    },
        +    "native_usd_value": {
        +      "type": "number"
        +    },
        +    "source": {
        +      "type": "string"
        +    },
        +    "token_num": {
        +      "type": "integer"
        +    },
        +    "token_usd_value": {
        +      "type": "number"
        +    },
        +    "token_value_usd": {
        +      "type": "number"
        +    },
        +    "total_usd_value": {
        +      "type": "number"
        +    },
        +    "total_value_usd": {
        +      "type": "number"
        +    }
        +  },
        +  "type": "object"
        +}
      • addedOutput schema / properties / multi_chain_token_balances
        Added value: +{
        +  "items": {
        +    "properties": {
        +      "amount": {
        +        "type": "string"
        +      },
        +      "chain": {
        +        "type": "string"
        +      },
        +      "chain_name": {
        +        "type": "string"
        +      },
        +      "percent_change_24h": {
        +        "type": "number"
        +      },
        +      "percentage": {
        +        "type": "number"
        +      },
        +      "price": {
        +        "type": "number"
        +      },
        +      "source": {
        +        "type": "string"
        +      },
        +      "token_address": {
        +        "type": "string"
        +      },
        +      "token_symbol": {
        +        "type": "string"
        +      },
        +      "usd_value": {
        +        "type": "number"
        +      }
        +    },
        +    "required": [
        +      "chain"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / token_balances / items / properties / mint_account
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / token_balances / items / properties / price
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / token_balances / items / properties / token_account
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / token_balances / items / properties / value_percent
        Added value: +{
        +  "type": "string"
        +}
    • Changedinfo_onchain_get_address_transactions6 fields changed
      • addedOutput schema / properties / items / items / properties / inputs
        Added value: +{
        +  "items": {
        +    "properties": {
        +      "addresses": {
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "value": {
        +        "type": "string"
        +      },
        +      "value_usd": {
        +        "type": "string"
        +      }
        +    },
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / items / items / properties / outputs
        Added value: +{
        +  "items": {
        +    "properties": {
        +      "addresses": {
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "value": {
        +        "type": "string"
        +      },
        +      "value_usd": {
        +        "type": "string"
        +      }
        +    },
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / items / items / properties / tx_status
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / transactions / items / properties / inputs
        Added value: +{
        +  "items": {
        +    "properties": {
        +      "addresses": {
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "value": {
        +        "type": "string"
        +      },
        +      "value_usd": {
        +        "type": "string"
        +      }
        +    },
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / transactions / items / properties / outputs
        Added value: +{
        +  "items": {
        +    "properties": {
        +      "addresses": {
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "value": {
        +        "type": "string"
        +      },
        +      "value_usd": {
        +        "type": "string"
        +      }
        +    },
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / transactions / items / properties / tx_status
        Added value: +{
        +  "type": "string"
        +}
  11. 1 tool update
    • Changedinfo_marketsnapshot_get_institutional_metrics48 fields changed
      • addedOutput schema / properties / assets / items / properties / latest / properties / cftc_contract_unit_raw / anyOf
        Added value: +[
        +  {
        +    "type": "string"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / assets / items / properties / latest / properties / cftc_contract_unit_raw / type
        Removed value: -"string"
      • addedOutput schema / properties / assets / items / properties / latest / properties / cftc_oi_weekly / anyOf
        Added value: +[
        +  {
        +    "type": "number"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / assets / items / properties / latest / properties / cftc_oi_weekly / type
        Removed value: -"number"
      • addedOutput schema / properties / assets / items / properties / latest / properties / cftc_oi_weekly_underlying_amount / anyOf
        Added value: +[
        +  {
        +    "type": "number"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / assets / items / properties / latest / properties / cftc_oi_weekly_underlying_amount / type
        Removed value: -"number"
      • addedOutput schema / properties / assets / items / properties / latest / properties / cme_oi / anyOf
        Added value: +[
        +  {
        +    "type": "number"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / assets / items / properties / latest / properties / cme_oi / type
        Removed value: -"number"
      • addedOutput schema / properties / assets / items / properties / latest / properties / cme_oi_change / anyOf
        Added value: +[
        +  {
        +    "type": "number"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / assets / items / properties / latest / properties / cme_oi_change / type
        Removed value: -"number"
      • addedOutput schema / properties / assets / items / properties / latest / properties / cme_oi_underlying_amount / anyOf
        Added value: +[
        +  {
        +    "type": "number"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / assets / items / properties / latest / properties / cme_oi_underlying_amount / type
        Removed value: -"number"
      • addedOutput schema / properties / assets / items / properties / latest / properties / cme_volume / anyOf
        Added value: +[
        +  {
        +    "type": "number"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / assets / items / properties / latest / properties / cme_volume / type
        Removed value: -"number"
      • addedOutput schema / properties / assets / items / properties / latest / properties / cme_volume_underlying_amount / anyOf
        Added value: +[
        +  {
        +    "type": "number"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / assets / items / properties / latest / properties / cme_volume_underlying_amount / type
        Removed value: -"number"
      • addedOutput schema / properties / assets / items / properties / latest / properties / etf_net_inflow_usd / anyOf
        Added value: +[
        +  {
        +    "type": "number"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / assets / items / properties / latest / properties / etf_net_inflow_usd / type
        Removed value: -"number"
      • addedOutput schema / properties / assets / items / properties / latest / properties / etf_total_assets_usd / anyOf
        Added value: +[
        +  {
        +    "type": "number"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / assets / items / properties / latest / properties / etf_total_assets_usd / type
        Removed value: -"number"
      • addedOutput schema / properties / assets / items / properties / latest / properties / etf_value_traded_usd / anyOf
        Added value: +[
        +  {
        +    "type": "number"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / assets / items / properties / latest / properties / etf_value_traded_usd / type
        Removed value: -"number"
      • addedOutput schema / properties / assets / items / properties / latest / properties / institutional_channel_signal / anyOf
        Added value: +[
        +  {
        +    "type": "string"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / assets / items / properties / latest / properties / institutional_channel_signal / type
        Removed value: -"string"
      • addedOutput schema / properties / assets / items / properties / series / items / properties / cftc_contract_unit_raw / anyOf
        Added value: +[
        +  {
        +    "type": "string"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / assets / items / properties / series / items / properties / cftc_contract_unit_raw / type
        Removed value: -"string"
      • addedOutput schema / properties / assets / items / properties / series / items / properties / cftc_oi_weekly / anyOf
        Added value: +[
        +  {
        +    "type": "number"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / assets / items / properties / series / items / properties / cftc_oi_weekly / type
        Removed value: -"number"
      • addedOutput schema / properties / assets / items / properties / series / items / properties / cftc_oi_weekly_underlying_amount / anyOf
        Added value: +[
        +  {
        +    "type": "number"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / assets / items / properties / series / items / properties / cftc_oi_weekly_underlying_amount / type
        Removed value: -"number"
      • addedOutput schema / properties / assets / items / properties / series / items / properties / cme_oi / anyOf
        Added value: +[
        +  {
        +    "type": "number"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / assets / items / properties / series / items / properties / cme_oi / type
        Removed value: -"number"
      • addedOutput schema / properties / assets / items / properties / series / items / properties / cme_oi_change / anyOf
        Added value: +[
        +  {
        +    "type": "number"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / assets / items / properties / series / items / properties / cme_oi_change / type
        Removed value: -"number"
      • addedOutput schema / properties / assets / items / properties / series / items / properties / cme_oi_underlying_amount / anyOf
        Added value: +[
        +  {
        +    "type": "number"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / assets / items / properties / series / items / properties / cme_oi_underlying_amount / type
        Removed value: -"number"
      • addedOutput schema / properties / assets / items / properties / series / items / properties / cme_volume / anyOf
        Added value: +[
        +  {
        +    "type": "number"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / assets / items / properties / series / items / properties / cme_volume / type
        Removed value: -"number"
      • addedOutput schema / properties / assets / items / properties / series / items / properties / cme_volume_underlying_amount / anyOf
        Added value: +[
        +  {
        +    "type": "number"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / assets / items / properties / series / items / properties / cme_volume_underlying_amount / type
        Removed value: -"number"
      • addedOutput schema / properties / assets / items / properties / series / items / properties / etf_net_inflow_usd / anyOf
        Added value: +[
        +  {
        +    "type": "number"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / assets / items / properties / series / items / properties / etf_net_inflow_usd / type
        Removed value: -"number"
      • addedOutput schema / properties / assets / items / properties / series / items / properties / etf_total_assets_usd / anyOf
        Added value: +[
        +  {
        +    "type": "number"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / assets / items / properties / series / items / properties / etf_total_assets_usd / type
        Removed value: -"number"
      • addedOutput schema / properties / assets / items / properties / series / items / properties / etf_value_traded_usd / anyOf
        Added value: +[
        +  {
        +    "type": "number"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / assets / items / properties / series / items / properties / etf_value_traded_usd / type
        Removed value: -"number"
      • addedOutput schema / properties / assets / items / properties / series / items / properties / institutional_channel_signal / anyOf
        Added value: +[
        +  {
        +    "type": "string"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / assets / items / properties / series / items / properties / institutional_channel_signal / type
        Removed value: -"string"
  12. 1 tool update
    • Addedinfo_marketsnapshot_get_institutional_metrics
  13. 1 tool update
    • Changedinfo_marketsnapshot_get_market_snapshot1 field changed
      • addedOutput schema / properties / institutional_channel_summary
        Added value: +{
        +  "type": "object"
        +}
  14. 1 tool update
    • Changedinfo_platformmetrics_get_stablecoin_info34 fields changed
      • changedInput schema / properties / chain / description
        Previous value: -"Chain filter; list mode restricts to stables with presence on chain. issuance_flow: all (default) or ethereum/tron/omni etc."New value: +"Chain filter; list mode restricts to stables with presence on chain. Extensions: all (default) or normalized chain e.g. ethereum/tron/solana/polygon."
      • changedInput schema / properties / end_date / description
        Previous value: -"UTC YYYY-MM-DD; issuance_flow window end, default today."New value: +"UTC YYYY-MM-DD; extension window end, default latest data date for usage_structure or today for issuance_flow."
      • changedInput schema / properties / scope / description
        Previous value: -"basic (default)|full; full required for sections=issuance_flow."New value: +"basic (default)|full; full required for sections."
      • changedInput schema / properties / sections / description
        Previous value: -"Comma-separated string or array; only issuance_flow is supported when scope=full."New value: +"Comma-separated string or array; supported values: issuance_flow, usage_structure when scope=full."
      • changedInput schema / properties / start_date / description
        Previous value: -"UTC YYYY-MM-DD; issuance_flow window start, default last 30 days."New value: +"UTC YYYY-MM-DD; extension window start, default last 30 days."
      • changedInput schema / properties / symbol / description
        Previous value: -"Stablecoin symbol USDT/USDC; omit for ranked list or default USDT+USDC when sections=issuance_flow."New value: +"Stablecoin symbol USDT/USDC/DAI/FDUSD/PYUSD; omit for ranked list or extension defaults."
      • addedOutput schema / properties / issuance_flows / items / properties / chain_breakdown / items / properties / net_issuance / anyOf
        Added value: +[
        +  {
        +    "type": "number"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / issuance_flows / items / properties / chain_breakdown / items / properties / net_issuance / type
        Removed value: -"number"
      • addedOutput schema / properties / issuance_flows / items / properties / chain_breakdown / items / properties / supply_issued / anyOf
        Added value: +[
        +  {
        +    "type": "number"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / issuance_flows / items / properties / chain_breakdown / items / properties / supply_issued / type
        Removed value: -"number"
      • addedOutput schema / properties / issuance_flows / items / properties / chain_breakdown / items / properties / supply_redeemed / anyOf
        Added value: +[
        +  {
        +    "type": "number"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / issuance_flows / items / properties / chain_breakdown / items / properties / supply_redeemed / type
        Removed value: -"number"
      • changedOutput schema / properties / issuance_flows / items / properties / chain_breakdown / items / required
        Previous value: -[
        -  "chain",
        -  "supply_issued",
        -  "supply_redeemed",
        -  "net_issuance"
        -]New value: +[
        +  "chain"
        +]
      • addedOutput schema / properties / issuance_flows / items / properties / series / items / properties / net_issuance / anyOf
        Added value: +[
        +  {
        +    "type": "number"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / issuance_flows / items / properties / series / items / properties / net_issuance / type
        Removed value: -"number"
      • addedOutput schema / properties / issuance_flows / items / properties / series / items / properties / supply_issued / anyOf
        Added value: +[
        +  {
        +    "type": "number"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / issuance_flows / items / properties / series / items / properties / supply_issued / type
        Removed value: -"number"
      • addedOutput schema / properties / issuance_flows / items / properties / series / items / properties / supply_redeemed / anyOf
        Added value: +[
        +  {
        +    "type": "number"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / issuance_flows / items / properties / series / items / properties / supply_redeemed / type
        Removed value: -"number"
      • changedOutput schema / properties / issuance_flows / items / properties / series / items / required
        Previous value: -[
        -  "date",
        -  "chain",
        -  "supply_issued",
        -  "supply_redeemed",
        -  "net_issuance"
        -]New value: +[
        +  "date",
        +  "chain"
        +]
      • addedOutput schema / properties / issuance_flows / items / properties / summary / properties / mint_burn_net / anyOf
        Added value: +[
        +  {
        +    "type": "number"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / issuance_flows / items / properties / summary / properties / mint_burn_net / type
        Removed value: -"number"
      • addedOutput schema / properties / issuance_flows / items / properties / summary / properties / net_issuance / anyOf
        Added value: +[
        +  {
        +    "type": "number"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / issuance_flows / items / properties / summary / properties / net_issuance / type
        Removed value: -"number"
      • addedOutput schema / properties / issuance_flows / items / properties / summary / properties / supply_burned / anyOf
        Added value: +[
        +  {
        +    "type": "number"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / issuance_flows / items / properties / summary / properties / supply_burned / type
        Removed value: -"number"
      • addedOutput schema / properties / issuance_flows / items / properties / summary / properties / supply_issued / anyOf
        Added value: +[
        +  {
        +    "type": "number"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / issuance_flows / items / properties / summary / properties / supply_issued / type
        Removed value: -"number"
      • addedOutput schema / properties / issuance_flows / items / properties / summary / properties / supply_minted / anyOf
        Added value: +[
        +  {
        +    "type": "number"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / issuance_flows / items / properties / summary / properties / supply_minted / type
        Removed value: -"number"
      • addedOutput schema / properties / issuance_flows / items / properties / summary / properties / supply_redeemed / anyOf
        Added value: +[
        +  {
        +    "type": "number"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / issuance_flows / items / properties / summary / properties / supply_redeemed / type
        Removed value: -"number"
      • removedOutput schema / properties / issuance_flows / items / properties / summary / required
        Removed value: -[
        -  "supply_issued",
        -  "supply_redeemed",
        -  "supply_minted",
        -  "supply_burned",
        -  "net_issuance",
        -  "mint_burn_net"
        -]
      • addedOutput schema / properties / usage_structure
        Added value: +{
        +  "properties": {
        +    "items": {
        +      "items": {
        +        "properties": {
        +          "adjusted_transfer_volume": {
        +            "anyOf": [
        +              {
        +                "type": "number"
        +              },
        +              {
        +                "type": "null"
        +              }
        +            ]
        +          },
        +          "bot_share": {
        +            "anyOf": [
        +              {
        +                "type": "number"
        +              },
        +              {
        +                "type": "null"
        +              }
        +            ]
        +          },
        +          "chain": {
        +            "type": "string"
        +          },
        +          "data_status": {
        +            "type": "string"
        +          },
        +          "missing_fields": {
        +            "items": {
        +              "type": "string"
        +            },
        +            "type": "array"
        +          },
        +          "reference_metrics": {
        +            "items": {
        +              "type": "object"
        +            },
        +            "type": "array"
        +          },
        +          "research_reference": {
        +            "items": {
        +              "type": "object"
        +            },
        +            "type": "array"
        +          },
        +          "retail_transfer_change": {
        +            "anyOf": [
        +              {
        +                "type": "number"
        +              },
        +              {
        +                "type": "null"
        +              }
        +            ]
        +          },
        +          "row_count": {
        +            "type": "integer"
        +          },
        +          "stablecoin_trade_volume": {
        +            "anyOf": [
        +              {
        +                "type": "number"
        +              },
        +              {
        +                "type": "null"
        +              }
        +            ]
        +          },
        +          "symbol": {
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "symbol",
        +          "chain",
        +          "adjusted_transfer_volume",
        +          "bot_share",
        +          "retail_transfer_change",
        +          "stablecoin_trade_volume",
        +          "reference_metrics",
        +          "research_reference",
        +          "missing_fields",
        +          "data_status",
        +          "row_count"
        +        ],
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "window_end": {
        +      "type": "string"
        +    },
        +    "window_start": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "window_start",
        +    "window_end",
        +    "items"
        +  ],
        +  "type": "object"
        +}
  15. 1 tool update
    • Changedinfo_platformmetrics_get_stablecoin_info11 fields changed
      • changedInput schema / properties / chain / description
        Previous value: -"Chain filter; list mode restricts to stables with presence on chain."New value: +"Chain filter; list mode restricts to stables with presence on chain. issuance_flow: all (default) or ethereum/tron/omni etc."
      • addedInput schema / properties / end_date
        Added value: +{
        +  "description": "UTC YYYY-MM-DD; issuance_flow window end, default today.",
        +  "type": "string"
        +}
      • addedInput schema / properties / scope
        Added value: +{
        +  "description": "basic (default)|full; full required for sections=issuance_flow.",
        +  "type": "string"
        +}
      • addedInput schema / properties / sections
        Added value: +{
        +  "description": "Comma-separated string or array; only issuance_flow is supported when scope=full.",
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedInput schema / properties / start_date
        Added value: +{
        +  "description": "UTC YYYY-MM-DD; issuance_flow window start, default last 30 days.",
        +  "type": "string"
        +}
      • changedInput schema / properties / symbol / description
        Previous value: -"Stablecoin symbol USDT/USDC/DAI; omit for ranked list."New value: +"Stablecoin symbol USDT/USDC; omit for ranked list or default USDT+USDC when sections=issuance_flow."
      • addedOutput schema / properties / end_date
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / issuance_flows
        Added value: +{
        +  "items": {
        +    "properties": {
        +      "chain": {
        +        "type": "string"
        +      },
        +      "chain_breakdown": {
        +        "items": {
        +          "properties": {
        +            "chain": {
        +              "type": "string"
        +            },
        +            "net_issuance": {
        +              "type": "number"
        +            },
        +            "supply_issued": {
        +              "type": "number"
        +            },
        +            "supply_redeemed": {
        +              "type": "number"
        +            }
        +          },
        +          "required": [
        +            "chain",
        +            "supply_issued",
        +            "supply_redeemed",
        +            "net_issuance"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "quality_note": {
        +        "type": "string"
        +      },
        +      "series": {
        +        "items": {
        +          "properties": {
        +            "chain": {
        +              "type": "string"
        +            },
        +            "date": {
        +              "type": "string"
        +            },
        +            "net_issuance": {
        +              "type": "number"
        +            },
        +            "supply_issued": {
        +              "type": "number"
        +            },
        +            "supply_redeemed": {
        +              "type": "number"
        +            }
        +          },
        +          "required": [
        +            "date",
        +            "chain",
        +            "supply_issued",
        +            "supply_redeemed",
        +            "net_issuance"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "summary": {
        +        "properties": {
        +          "mint_burn_net": {
        +            "type": "number"
        +          },
        +          "net_issuance": {
        +            "type": "number"
        +          },
        +          "supply_burned": {
        +            "type": "number"
        +          },
        +          "supply_issued": {
        +            "type": "number"
        +          },
        +          "supply_minted": {
        +            "type": "number"
        +          },
        +          "supply_redeemed": {
        +            "type": "number"
        +          }
        +        },
        +        "required": [
        +          "supply_issued",
        +          "supply_redeemed",
        +          "supply_minted",
        +          "supply_burned",
        +          "net_issuance",
        +          "mint_burn_net"
        +        ],
        +        "type": "object"
        +      },
        +      "symbol": {
        +        "type": "string"
        +      },
        +      "window_end": {
        +        "type": "string"
        +      },
        +      "window_start": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "symbol",
        +      "chain",
        +      "window_start",
        +      "window_end",
        +      "summary",
        +      "series"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / range_truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / scope
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / start_date
        Added value: +{
        +  "type": "string"
        +}
  16. 1 tool update
    • Changedinfo_platformmetrics_get_platform_info3 fields changed
      • addedInput schema / properties / include_oi_symbol_detail
        Added value: +{
        +  "description": "scope=full only. true returns competition_metrics.oi_symbol_detail[] sorted by OI USD desc; default false.",
        +  "type": "boolean"
        +}
      • addedInput schema / properties / oi_symbol_limit
        Added value: +{
        +  "description": "Effective only when include_oi_symbol_detail=true. Default 20, range 1-100; >100 returns invalid_param.",
        +  "type": "integer"
        +}
      • changedInput schema / properties / scope / description
        Previous value: -"basic (default)|with_chain_breakdown (adds tvl_by_chain, volume_by_chain)|full (adds history_30d, top_pools)."New value: +"basic (default)|with_chain_breakdown (adds tvl_by_chain, volume_by_chain)|full (adds history_30d, top_pools, competition_metrics)."
  17. 1 tool update
    • Changedinfo_platformmetrics_get_exchange_reserves11 fields changed
      • changedInput schema / properties / asset / description
        Previous value: -"Asset e.g. BTC|ETH|USDT; empty = any asset within the exchange / rollup scope."New value: +"Optional asset filter: BTC|ETH|USDT|USDC."
      • changedInput schema / properties / exchange / description
        Previous value: -"Exchange name (e.g. Binance); empty = network-wide rollup (exchange_name ALL_EXCHANGE)."New value: +"Exchange name; empty keeps base onchain rollup logic."
      • addedInput schema / properties / history_window
        Added value: +{
        +  "description": "Only effective when include_history=true; currently only quarter is supported.",
        +  "type": "string"
        +}
      • addedInput schema / properties / include_history
        Added value: +{
        +  "description": "Default false. true returns precomputed comparison fields only, not raw historical snapshots.",
        +  "type": "boolean"
        +}
      • removedInput schema / properties / period
        Removed value: -{
        -  "description": "current|24h|7d|30d|90d on snapshot_time; empty = no time range filter. current uses the same recent window as other platform metrics (now-2d).",
        -  "type": "string"
        -}
      • addedInput schema / properties / scope
        Added value: +{
        +  "description": "basic (default)|full; full adds por object from dws_external_exchange_month_por_di.",
        +  "type": "string"
        +}
      • addedOutput schema / properties / history_window
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / include_history
        Added value: +{
        +  "type": "boolean"
        +}
      • removedOutput schema / properties / period
        Removed value: -{
        -  "type": "string"
        -}
      • addedOutput schema / properties / scope
        Added value: +{
        +  "type": "string"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "exchange",
        -  "asset",
        -  "period",
        -  "total",
        -  "count",
        -  "items",
        -  "duration_ms"
        -]New value: +[
        +  "exchange",
        +  "asset",
        +  "scope",
        +  "include_history",
        +  "history_window",
        +  "total",
        +  "count",
        +  "items",
        +  "duration_ms"
        +]

Frequently Asked Questions

Discussions

No comments yet. Be the first to start the discussion!

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Exposes the full Gate API v4 to MCP clients with 384 tools for spot, futures, margin, wallet, and more. Supports both public endpoints (no auth) and authenticated trading operations.
    60
    1
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    Provides real-time and historical crypto market data via WebSocket and REST for MCP clients, supporting multiple exchanges, 73 technical indicators, and advanced chart analysis tools.
    19
    1
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A4.1/5.0
Disambiguation5/5

Each tool targets a distinct data object and action (e.g., coin info vs rankings, market snapshot vs batch, marketdetail kline vs markettrend kline), with prefixes and descriptions clearly separated by domain. No two tools appear to serve the same purpose.

Naming Consistency5/5

All tools follow a consistent pattern: info_<domain>_<verb>_<object>, with verbs mainly get, search, and batch. The naming style is uniform across all 32 tools, making it easy to infer tool purpose from its name.

Tool Count3/5

32 tools is heavy compared to typical servers, and it exceeds the 25-tool threshold. However, the server is a comprehensive crypto data aggregator covering multiple subdomains (coin, macro, market, onchain, platform metrics), which justifies the large count to some extent. It sits at the borderline between borderline and too many.

Completeness5/5

The tool surface covers the full lifecycle for read-only research: coin discovery, rankings, search, technical analysis, onchain exploration, platform metrics, stablecoins, yield pools, bridges, and macro indicators. No critical missing functionality for the stated purpose of public research data access.