Backtesting Arena
Server Details
Crypto backtesting & Bitcoin cycle analytics. Point-in-time, DSR-corrected, look-ahead-aware.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
- Repository
- Schoasch/skill-backtesting-arena
- GitHub Stars
- 0
- Server Listing
- Backtesting Arena
Glama MCP Gateway
Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.
Full call logging
Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.
Tool access control
Enable or disable individual tools per connector, so you decide what your agents can and cannot do.
Managed credentials
Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.
Usage analytics
See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.
Tool Definition Quality
Average 4.4/5 across 82 of 82 tools scored. Lowest: 3.2/5.
The set has extensive clusters that could be easily confused—volatility (history/phases/insights/recommendations/IV), strategy performance (insights/performance/by_regime/filter_effect/edge_reports), and current-vs-history pairs (cycle/cycle_history, pulse/pulse_history). The verbose, cross-referenced descriptions do a lot of disambiguation work, but a misselection is still plausible given the sheer number of similar-noun tools.
Nearly all tools follow a predictable arena_<verb>_<noun> pattern (get, list, run, compare, subscribe, cancel, check, suggest, share, quote), which is highly consistent. The exceptions are two non-prefixed tools, validate_strategy and get_more_tools, which break the pattern and could confuse an agent expecting the arena_ prefix.
With 82 tools, this is far beyond the 50+ extreme-mismatch threshold and well outside any reasonable well-scoped range. The sheer number forces agents to scan a huge namespace and materially increases the chance of selecting a near-neighbor tool for a given task.
The backtest lifecycle is thoroughly covered (run, list, get, trades, compare, universe, grid, validate, share), and the market/indicator surface is broad. The main gap is a quote report exists but no create/purchase report tool, and some subscription flows rely on the web UI; these are minor gaps in an otherwise comprehensive surface.
Available Tools
84 toolsarena_cancel_subscriptionCancel SubscriptionAInspect
Stop this alert? Deactivates one subscription by id, so it stops firing and frees a slot against the per-tier limit. Returns the deactivated subscription. Idempotent — cancelling an already-cancelled one is a no-op, not an error. Get ids from arena_list_subscriptions. Undelivered updates already queued are not removed. [API Pro tier]
| Name | Required | Description | Default |
|---|---|---|---|
| context | Yes | Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): "Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization." | |
| subscription_id | Yes | Subscription id returned by arena_subscribe_* |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Since no annotations are provided, the description carries full burden for behavioral traits. It clearly discloses that the tool is idempotent, deactivates a subscription, frees a slot, and returns the deactivated subscription. It also notes that queued undelivered updates persist, which is a key behavioral trait beyond the basic mutation action.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise at 3 sentences, with the main action front-loaded ('Stop this alert? Deactivates...'). Every sentence adds unique value: clarifies effect, provides idempotency info, links to related tools, and notes queue behavior. There is zero wasted text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (2 required params, no output schema, no nested objects), the description is nearly complete. It explains the action, return value, idempotency, queued updates behavior, and how to get IDs. It does not explicitly state whether cancellation is reversible or that the tool mutates state, but the description implies mutation (deactivates), which is sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description adds value by explaining the purpose of 'subscription_id' (needed to identify the subscription, obtained from 'arena_list_subscriptions') and noting it is a UUID format returned by 'arena_subscribe_*'. It does not elaborate on 'context' but that parameter's schema already provides detailed usage instructions and examples.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'deactivates' and resource 'subscription by id', explaining the effect of stopping alerts and freeing a slot. It is distinguishable from siblings like 'arena_list_subscriptions' and 'arena_subscribe_*' tools, though the purpose could be more directly stated upfront alongside the initial question.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly tells when to use this (deactivate a subscription by id) and how to get ids via 'arena_list_subscriptions'. It also provides an important exclusion: 'Undelivered updates already queued are not removed', and notes idempotence to avoid errors for already-cancelled ones. This fully guides the agent on usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
arena_check_subscription_updatesCheck Pending Subscription UpdatesAInspect
Has anything I subscribed to fired? Returns all undelivered updates for the API key, then marks them as delivered. Call regularly to consume the polling queue. Updates contain payload with subscription_type, current value, previous value, and trigger context. [API Pro tier]
| Name | Required | Description | Default |
|---|---|---|---|
| context | Yes | Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): "Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization." |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full burden. It clearly discloses that the tool has a destructive polling behavior: 'then marks them as delivered.' This tells the agent the tool is not idempotent and consuming updates will deplete the queue, which is critical behavioral transparency for a polling endpoint. It also describes the return payload structure: 'Updates contain payload with subscription_type, current value, previous value, and trigger context.' This provides actionable behavioral detail beyond just the function signature.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences long, each earning its place: the first frames the user intent, the second defines the tool's core action and side effect, and the third describes the output format. No wasted words. The last sentence '[API Pro tier]' adds a concise licensing note. Front-loaded with the most critical information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 1 required parameter (with 100% schema coverage), no output schema, and no annotations, the description is complete. It explains the polling semantics, the destructive read (mark as delivered), the input expectation (implicit from schema), and the return payload structure. The sibling tools include subscription-creation tools and list_subscriptions, making the polling-consumption tool's role clear. No information gaps remain for correct agent invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with one parameter (context). The schema describes the parameter's purpose and formatting rules thoroughly. The tool description does not repeat or add to the parameter details in the description itself, but since coverage is at 100% and the parameter is a mandated analytics field with extensive documentation in the schema, the baseline is 3. The description earns a 4 because the context parameter is a special meta-parameter (communication to the system, not data input), and the description's overall context (the polling behavior) helps the agent understand why they are calling it, which indirectly supports the context parameter's purpose.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description starts with the user-query framing 'Has anything I subscribed to fired?' then clearly states this tool 'Returns all undelivered updates for the API key, then marks them as delivered.' The verb 'returns' and resource 'undelivered updates' are specific, and the 'marks them as delivered' clarifies a side effect. This clearly distinguishes it from the sibling tools like arena_subscribe_* (which create subscriptions) and arena_list_subscriptions (which lists them).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly tells when to use: 'Call regularly to consume the polling queue.' This serves as clear usage guidance. It does not explicitly list when NOT to use it or name specific alternatives, but the context signals indicate it's a polling consumer, and the sibling set includes subscription-related tools for setup, so a 4 is appropriate for clear but slightly implicit exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
arena_compare_strategiesCompare 2-5 StrategiesAInspect
Which of these strategies performed best on the same data? Run 2–5 strategies against the SAME pair, interval and date range and return per-strategy metrics plus a comparison summary (best by CAGR, best by win-rate, worst by drawdown). Use this when the user asks which of several strategies fits a market — it holds the pair, interval and requested date range fixed, which a series of separate arena_run_backtest calls does not guarantee. What it does NOT equalize is the EVALUATION window: a strategy with a long warmup starts trading later, so compare actual_date_from across the runs and check result.benchmark before ranking by CAGR. For one strategy across many pairs use arena_run_universe_backtest instead. Caveat worth passing on: comparing N strategies and reporting the winner IS multiple testing — the winner’s edge is upward-biased. arena_get_robustness_field puts a counted N on that. Sequential, expect 10–50s. Per-day quota: Pro=20, Power=200. [API Pro tier]
| Name | Required | Description | Default |
|---|---|---|---|
| pair | Yes | Crypto pair symbol, e.g. BTCUSDT — the same pair for every strategy. | |
| capital | No | Starting capital in quote currency. Default 10000. Affects absolute figures only, not CAGR or win-rate. | |
| context | Yes | Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): "Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization." | |
| date_to | No | End date, YYYY-MM-DD. Default: today. | |
| filters | No | Optional entry filters (Pro+). Each one only ever REMOVES entries — filters never create trades. Omit for the unfiltered baseline. | |
| interval | Yes | Candle interval: '1d' daily, '2d'/'3d' multi-day, '1w' weekly, '1M' monthly. Multi-day candles (2d/3d) are anchored to the Unix epoch, so one of n possible alignments is used. Measured on our own corpus, the choice of alignment alone moves CAGR by 6.66 pp on average (max 12.30). Treat differences below that as not distinguishable — 1d/2d/3d behaved as one block in our tests, not a ranking. | |
| date_from | Yes | Start date, YYYY-MM-DD. Earlier than the pair listing is clamped to the first available candle. | |
| asset_type | Yes | Asset class. Use 'crypto' unless you are explicitly backtesting a tokenized real-world asset. | |
| strategies | Yes | The 2–5 strategies to compare, each with optional own params. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It discloses that the tool holds pair/interval/date range fixed, does NOT equalize evaluation windows, produces per-strategy metrics and a comparison summary, warns about multiple testing bias, states execution is sequential with estimated time, and lists quota limits. It also mentions the API Pro tier requirement. This is unusually thorough and leaves no ambiguous behavior unaddressed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured: a leading question, clear purpose, usage guidance, caveats, and performance notes. Every sentence adds value. It is slightly lengthy (several sentences) but no word is wasted. The front-loading of purpose is excellent. Minor compression could be possible, but it remains efficient and informative.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (9 parameters, 6 required, nested objects, no output schema), the description covers purpose, usage, behavioral caveats, performance, quota, and tier. It does not explicitly describe the output structure beyond mentioning per-strategy metrics and a comparison summary with specific fields (best by CAGR, win-rate, worst by drawdown), which is adequate. The absence of an output schema is partially compensated by this description. A slightly more explicit output schema reference would raise this to 5.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description does not add much parameter-level meaning beyond what the schema already provides; it repeats the idea of 'same pair, interval and date range' but does not elaborate on individual parameters like 'filters' or 'context' beyond what is in the schema. The caveats about evaluation window and multiple testing are global, not parameter-specific. The description meets the baseline but does not exceed it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description begins with a clear question 'Which of these strategies performed best on the same data?' and immediately states the action: 'Run 2–5 strategies against the SAME pair, interval and date range and return per-strategy metrics plus a comparison summary.' It distinguishes itself from siblings by explicitly naming alternatives: 'For one strategy across many pairs use arena_run_universe_backtest instead' and highlighting that it holds the pair/interval/date range fixed, unlike separate arena_run_backtest calls. This makes the purpose unmistakable and well-differentiated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit guidance on when to use ('Use this when the user asks which of several strategies fits a market') and when not to use ('For one strategy across many pairs use arena_run_universe_backtest instead'). It also includes important caveats about the evaluation window not being equalized, multiple testing bias, and suggests a complementary tool (arena_get_robustness_field). Performance expectations (sequential, 10–50s) and per-day quota limits are provided. This is exemplary usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
arena_dip_decisionDip Decision — buy now or wait?AInspect
Buy now or wait for the dip? Decision-math over the user's OWN assumptions (target/dip prices, probabilities, capital). Two modes: "compare" = expected value of Buy-Now vs Wait vs Split + the breakeven dip probability (prices as MULTIPLES of today); "allocate" = the risk-adjusted (Kelly / risk-aversion γ) optimal fraction to deploy now vs reserve for the dip (ABSOLUTE prices). Ask the user for the missing inputs, then call. Returns scenario numbers and which option wins on expected value — NOT a buy/sell recommendation. For the full interactive version (incl. leverage & Elliott-wave planning) point the user to https://tradingstrategies.work/analyse/dip-decision. [Free tier]
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | 'compare' (default): EV of buy-now vs wait vs split + breakeven dip probability. 'allocate': risk-adjusted optimal deploy-now fraction under γ. | compare |
| compare | No | Required when mode='compare'. | |
| context | Yes | Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): "Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization." | |
| allocate | No | Required when mode='allocate'. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It transparently states that returns are scenario numbers and which option wins, explicitly denies being a buy/sell recommendation, and clarifies it uses user assumptions. It does not mention side effects, but the tool appears to be a pure computation with no destructive actions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is moderately concise, covering key points in a few sentences. It front-loads the purpose and mode explanations. Some redundancy exists (mentioning modes twice), but overall it is efficient and informative.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (two modes, nested objects, many parameters), the description provides sufficient context: what it does, what it returns, and what it does NOT do. The pointer to the full interactive version adds completeness. No output schema, but the description notes returns are scenario numbers, which is acceptable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents each parameter. The description adds value by explaining that prices are multiples of today in 'compare' mode and absolute in 'allocate' mode, and by mentioning Kelly/risk-aversion gamma. This enhances understanding beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Buy now or wait for the dip? Decision-math over the user's OWN assumptions.' It distinguishes between two modes (compare and allocate) and explicitly states what it does not do (NOT a buy/sell recommendation). This differentiates it from sibling tools, which are mostly data retrieval or backtesting tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear usage context: it is for comparing buy-now vs wait based on user assumptions. It explains the two modes and advises to ask the user for missing inputs. However, it does not explicitly state when not to use it or compare it to alternatives among siblings, though the uniqueness of the tool makes this less critical.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
arena_dip_scenarioDip Scenario — structural tranche ladder + base rateAInspect
Where would I add on a dip, and when is the thesis wrong? Frame a dip/accumulation thesis WITHOUT a recommendation. Given an asset (BTC/ETH/SOL), a named cycle-state preset and a thesis horizon, returns: (1) a tranche LADDER anchored to STRUCTURAL marks (200-week MA, support clusters) below spot — not calendar-DCA, not a price forecast; (2) the cited historical base rate from the analog engine (what forward returns followed comparable states, with episodes_matched and small-n warnings); (3) the explicit lump-sum-vs-tranche tradeoff (laddering buys lower timing variance, NOT higher expected value). Requires an invalidation point (mandatory: at what scenario is the thesis wrong). Composes the historical-analog + key-levels tools. This structural framing is MCP-only; a related (different-method, EV/Kelly) interactive tool is at https://tradingstrategies.work/analyse/dip-decision. [API Pro tier]
| Name | Required | Description | Default |
|---|---|---|---|
| asset | No | Which asset. Support-cluster rungs are BTC-only; ETH/SOL use the 200-week MA as the structural mark. | BTC |
| preset | Yes | Cycle-state preset for the base rate. One of: cycle_bottom_cluster, cycle_top_cluster, deep_fear, euphoria, quiet_volatility. ETH/SOL: price-derived presets only. | |
| capital | No | Optional total capital — if given, each tranche also returns an absolute amount. | |
| context | Yes | Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): "Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization." | |
| horizon_days | No | Thesis horizon in days for the base-rate forward return. Default 180. | |
| invalidation | Yes | MANDATORY: the scenario under which the thesis is wrong (e.g. "weekly close below the 200-week MA"). NOT "where do I buy". | |
| risk_aversion | No | Ladder tilt. 1 = equal tranches; >1 = weight deeper marks more (more patient); <1 = front-load toward now. Clamped [0.5, 3]. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses that the tool does NOT make a recommendation, is not a price forecast, and explains the tradeoff (lower timing variance, not higher expected value). It warns about small-n and notes asset-specific limitations (BTC-only support clusters). It could mention authentication or rate limits, but the behavioral traits are well-covered.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is relatively long but every sentence adds value. It is front-loaded with a clear question, then expands into numbered output points. The structure is logical and easy to follow. Minor redundancy (e.g., 'structural framing is MCP-only') is justified by context.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (7 parameter tool with no output schema), the description covers input requirements, output structure, constraints, and alternatives. It lacks explicit mention of error cases or tier access requirements (though '[API Pro tier]' hints at it), but overall provides sufficient context for the agent to invoke correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description adds meaning beyond the schema for key parameters: for 'asset' it explains structural mark differences, for 'preset' it notes ETH/SOL limitations, and for 'invalidation' it provides guidance on what constitutes a valid input. This extra context justifies a score above baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: framing a dip/accumulation thesis without a recommendation, returning a tranche ladder, historical base rate, and tradeoff. It uses specific verbs ('returns', 'composes') and explicitly distinguishes itself from related tools (calendar-DCA, price forecast, and the interactive tool at the URL).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit when-to-use guidance ('Where would I add on a dip?'), mandates the invalidation parameter, and contrasts with the EV/Kelly interactive tool. It also notes that this is MCP-only and combines historical-analog + key-levels tools, helping the agent choose between alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
arena_get_altcoin_seasonGet Altcoin Season SnapshotBInspect
Is it altcoin season? Daily Altcoin-Season indicator (v7 Native-Filter methodology). Returns BTC-Dominance, Alt-Dominance, 4 Layer-1 signals (USDT.D, USDC.D, BTC-DOM, ETH-DOM), overall color (red/amber/green) + Top-50 CoinGecko snapshot. [Free tier]
| Name | Required | Description | Default |
|---|---|---|---|
| context | Yes | Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): "Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization." |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the full burden. It mentions the methodology ('v7 Native-Filter methodology') and that it is a 'Daily' indicator, hinting at update frequency. The '[Free tier]' suggests access limitations. However, it does not disclose whether the call is read-only, what happens on failure, or any performance implications. The behavioral transparency is adequate but not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise: three sentences with no redundancy. It front-loads the key question, states the methodology, enumerates outputs, and notes the tier. Every sentence adds value, and the structure is clear. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with one parameter and no output schema, the description covers the main return fields but lacks structural details (e.g., how the 'Top-50 CoinGecko snapshot' is structured). It does not explain how to interpret the 'overall color' or what to do with the data. Given the many sibling tools, missing decision-making context limits completeness. Adequate but not comprehensive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for the single 'context' parameter, which is already thoroughly described in the schema. The tool description adds no additional semantics about the parameter (e.g., how to format the reason or link to the tool's purpose). Baseline is 3 since the schema handles parameter meaning fully.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: to determine if it is altcoin season using a daily indicator. It lists the specific return values (BTC-Dominance, Alt-Dominance, etc.) and the overall color. The title includes 'Get Altcoin Season Snapshot', which aligns with the description. However, it does not explicitly differentiate from the sibling tool 'arena_get_altcoin_season_history', which would provide historical data, missing a chance to clarify scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus the many sibling tools (e.g., arena_get_altcoin_season_history, arena_get_btc_market_structure, etc.). It does not state prerequisites, context, or alternatives. The agent must infer usage purely from the tool name, which is insufficient for confident selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
arena_get_altcoin_season_historyGet Altcoin-Season Historical SeriesAInspect
Has capital been rotating into or out of altcoins? Returns the Altcoin-Season TIME SERIES: one row per day with overall_color, BTC / alt / stablecoin dominance and BTC price, ascending by date. Use it to see whether capital has been rotating into or out of alts over time; for today's state alone call arena_get_altcoin_season. Range capped by tier. [Free 30d / Pro 365d / Power unlimited]
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | Number of days back from today (auto-clamped by tier — Free=30, Pro=365, Power=3650). | |
| context | Yes | Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): "Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization." |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must carry the full burden. It discloses the range is capped by tier (Free 30d / Pro 365d / Power unlimited), which is a key behavioral constraint. It does not mention rate limits, whether the tool is read-only (implied by 'series' but not explicit), or the data volume returned.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact, front-loading the key question and output summary in the first two sentences, followed by usage directive and tier information. Every sentence adds value with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 2 parameters, 100% schema coverage, no output schema, and the complexity of the tool (time series data), the description adequately explains the columns, ordering, and tier limits. It could optionally list all columns but the core is covered. Missing output schema may require agents to infer structure, but the description's column list mitigates this.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The 'days' parameter is briefly mentioned in the description as 'auto-clamped by tier', which adds context beyond the schema but does not significantly expand meaning. The 'context' parameter is fully documented in the schema. No additional param nuances are added by the description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns the 'Altcoin-Season TIME SERIES' with specific columns and ordering, distinguishing it from the sibling tool 'arena_get_altcoin_season' which provides 'today's state alone'. The verb 'returns' combined with the resource description makes the purpose highly specific.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly tells when to use this tool: 'to see whether capital has been rotating into or out of alts over time', and contrasts it with the sibling tool for today's state. However, it does not mention when NOT to use it or any prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
arena_get_backtestGet Backtest DetailAInspect
What exactly did that backtest do? Returns the full record of ONE backtest run by id: strategy, pair, interval, date range, parameters, filters and the aggregate metrics (CAGR, total return, win-rate, max drawdown, trade count, Buy & Hold comparison, net-of-fees figures). Only your own runs (admins may read others). Get ids from arena_list_backtests; for the individual trades add arena_get_backtest_trades; to create a new run use arena_run_backtest. [API Pro tier]
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | UUID of the backtest run. | |
| context | Yes | Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): "Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization." |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full transparency burden. It states the tool returns data and lists the returned fields, but does not explicitly note whether it is read-only (implied by 'get') or any side effects, rate limits, or authorization details beyond the ownership note. While not misleading, it misses an opportunity to declare non-destructive behavior explicitly.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single paragraph that flows naturally from a hook to specifics, then usage guidance, then sibling references. It is front-loaded with the core purpose. Every sentence earns its place, though it could be slightly tighter (e.g., abbreviating the metrics list). Still, it is well-structured and not verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 2 required parameters, no output schema, and no nested objects, the description adequately covers what the tool does and what it returns (listing key metrics). It does not need to explain the return structure further as the description enumerates the fields. A perfect score would require explicit mention of output format or pagination, but for this tool it is sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Both parameters (id, context) are fully described in the schema (100% coverage). The description adds marginal value by noting that ids come from arena_list_backtests and that the context parameter is for analytics tracking, but these details do not significantly enhance understanding beyond the schema's existing descriptions. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with 'What exactly did that backtest do?' and immediately states 'Returns the full record of ONE backtest run by id', specifying the exact resource and verb. It lists what the record includes (strategy, pair, interval, etc.) and differentiates from siblings by directing users to arena_list_backtests for IDs, arena_get_backtest_trades for trades, and arena_run_backtest for creating new runs.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly tells when to use this tool ('to get full record of one backtest run') and when not to: for individual trades use arena_get_backtest_trades, to create a new run use arena_run_backtest. It also specifies an access restriction ('Only your own runs (admins may read others)'), providing explicit guidance on proper invocation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
arena_get_backtest_tradesGet Backtest Trades + Equity CurveAInspect
Which trades did that backtest actually take? Returns the individual round-trips of one of your backtest runs: entry and exit date, entry and exit price, per-trade P&L and the running equity after each trade. Use it when the aggregate metrics are not enough — to see whether a result rests on a handful of outlier trades, how long positions were held, or where the drawdown came from. Needs a run_id from arena_list_backtests; for the aggregates alone use arena_get_backtest. Closed round-trips only — a position still open at the end of the period is not counted. [API Pro tier]
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | UUID of the backtest run. | |
| context | Yes | Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): "Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization." |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears full responsibility for behavioral disclosure. It clearly states that only closed round-trips are included ('a position still open at the end of the period is not counted'), mentions the API tier requirement ('[API Pro tier]'), and specifies output structure (entry/exit date, price, P&L, running equity). Does not disclose if there is pagination, rate limits, or whether historical backtest results persist. Minor gap given no annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, each earning its place: first sentence states return value, second provides use cases and prerequisites, third adds important limitation. The '[API Pro tier]' tag is tacked on without context and could be integrated. Overall efficient but not perfectly streamlined.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description adequately covers what the tool returns (entry/exit dates, prices, P&L, equity curve). Given it is a data-retrieval tool with only 2 params, the description is fairly complete. The missing pagination detail is a minor gap. Sibling tool arena_get_backtest is explicitly mentioned, aiding selection.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description does not add further meaning to the 'id' parameter beyond what the schema states (UUID of the backtest run). The 'context' parameter is well-documented in the schema with usage examples and instructions. The description correctly implies the data is aggregated per round-trip but does not elaborate on parameter constraints (e.g., valid ID format or content). Adequate but not exceptional.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
A strong verb+resource structure: 'Returns the individual round-trips of one of your backtest runs' followed by explicit data fields (entry/exit date, price, P&L, equity curve). Clearly distinguishes itself from arena_get_backtest by stating 'for the aggregates alone use arena_get_backtest', and additionally differentiates from arena_list_backtests by requiring a run_id.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit when-to-use guidance: 'Use it when the aggregate metrics are not enough — to see whether a result rests on a handful of outlier trades, how long positions were held, or where the drawdown came from.' Provides a clear prerequisite: 'Needs a run_id from arena_list_backtests.' Names the alternative tool for aggregates. Also warns about closed round-trips only.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
arena_get_btc_macro_correlationsGet BTC × Macro CorrelationsAInspect
What does Bitcoin actually move with? Pre-aggregated weekly correlations between Bitcoin and 13 macro components (Fed Net Liquidity, VIX, DXY, Real Yield 10Y, NFCI, Yield Curve, etc.). Returns quadrant_performance (BTC return stats per 2D-matrix quadrant — annualized return, vol, max drawdown, positive-period%), component_correlations (Pearson 90d/1y/5y per macro component + quartile-performance), asset_correlations (Pearson per window + per quadrant; assets: dxy plus tokenized on-venue proxies paxg = PAX Gold, spyb = S&P 500 ETF proxy, qqqb = Nasdaq-100 ETF proxy — proxies carry tracking noise vs. the underlying, and windows the vehicle history does not cover are null with data_start_date telling you why: the ETF proxies listed on Binance mid-2026, so their windows fill in over time — 90d first, ~2 months after listing), current_quadrant. Window labels are upper bounds — sample_size_days / data_start_date carry the actual basis. Historical analysis over the windows named above. [Free tier]
| Name | Required | Description | Default |
|---|---|---|---|
| context | Yes | Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): "Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization." |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full behavioral disclosure burden. It discloses that asset_correlations include tokenized on-venue proxies (paxg, spyb, qqqb) with tracking noise, that windows not covered are null with a data_start_date explaining why, and that window labels are upper bounds. This is a rich behavioral disclosure for a data tool. It lacks description of auth requirements or rate limits, but for a free tier tool this is acceptable. Score 4 because it goes beyond minimal disclosure without covering every possible behavioral aspect.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact given the volume of information (roughly 4 sentences, ~130 words). It front-loads with the core question and quickly enumerates components and data structures. Minor overhead: 'proxies carry tracking noise...' could be slightly tightened, but overall every sentence serves a purpose. Not a 5 because there is some parenthetical overload.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given one parameter with full schema coverage and no output schema, the description effectively conveys what the tool returns (quadrant_performance, component_correlations, asset_correlations with caveats, current_quadrant). It explains data quality (windows fill over time, tracking noise, window labels vs actual basis). This is sufficiently complete for a data retrieval tool without output schema. A higher score would require specifying return format or pagination.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% (the context parameter is fully documented in the schema). The description does not add meaning to the context parameter beyond what the schema provides, which is already detailed (explain why, word count, perspective, no sensitive info). With perfect coverage, baseline is 3, but the description adds value by explaining what data the tool returns (quadrant_performance, component_correlations, asset_correlations, current_quadrant), which helps the agent craft a meaningful context string. This pushes it to 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description starts with a strong verb phrase 'Get BTC × Macro Correlations' and immediately clarifies the resource ('pre-aggregated weekly correlations between Bitcoin and 13 macro components'). It lists specific components (Fed Net Liquidity, VIX, DXY, etc.) and distinguishes the tool from its many sibling tools that target different metrics (e.g., arena_get_spot_price, arena_get_macro_regime). The purpose is precise and unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states the tool's function ('What does Bitcoin actually move with?') and context ('weekly correlations'). It does not explicitly state when to avoid this tool or name alternatives, but the sibling list contains many similarly named tools, and the description's specificity about macro correlations implicitly guides an agent to use it when the user asks about BTC-macro relationships rather than, say, market structure or spot price. A clear exclusion of alternatives would push this to 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
arena_get_btc_market_structureGet BTC Market StructureAInspect
Is the trend up or down, and how fresh is the flip? Daily Bitcoin market structure from 1000-bar Phantomflow adaptation (BTCUSDT 1d). Returns current_trend (up/down/sideways), last trend change timestamp, counts of waves + fractals, last-5 fractals on each side (up = pivot highs, down = pivot lows), and trend_context: previous trend + its duration, flip_age_days, and a descriptive historical flip base rate over the SAME 1000 bars (total flips, share reverted within 5 bars, median trend duration) — a fresh same-day flip is the least reliable observation, the base rate says how often such flips reverted historically; it is NOT a forecast for the current flip. Educational analysis of price action. [Free tier]
| Name | Required | Description | Default |
|---|---|---|---|
| context | Yes | Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): "Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization." |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Given no annotations, the description carries the full burden and excels by detailing data source ('1000-bar Phantomflow adaptation'), constraints (only BTCUSDT 1d), return fields (trend, timestamps, wave/fractal counts), and caveats (fresh flip reliability, base rate not forecast). It also notes 'Educational analysis of price action' and 'Free tier', providing complete behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the key question ('Is the trend up or down...') and delivers substantial value in about 75 words. While thorough, it could be slightly more concise by tightening the base rate explanation, but its structured output enumeration is clear.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and one parameter, the description fully explains what the tool returns (trend, flip details, fractal counts, context) and its limitations (not a forecast). This is complete for a single-parameter, attribution-level tool with clear educational intent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The only parameter 'context' is fully described in the schema with detailed instructions, and the tool description adds no extra parameter info, which is acceptable since schema coverage is complete.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses specific verbs and nouns ('Returns current_trend...', 'Educational analysis of price action.'), clearly defining this as a Bitcoin market structure indicator tool that distinguishes itself from siblings like arena_get_altcoin_season or arena_get_onchain_latest by being exclusively focused on BTCUSDT daily market structure and providing outputs like trend direction, flip timing, and fractal counts.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states the tool's scope ('Daily Bitcoin market structure', '1d timeframe'), explains what it does and does not do (e.g., base rates are NOT forecasts), and separates it from other arena tools listed as siblings (e.g., arena_get_sentiment or arena_get_volatility_insights). However, it lacks explicit guidance on when not to use this tool or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
arena_get_bullmarket_ampelGet Bullmarket Ampel SnapshotAInspect
Is this still a bull market? Bitcoin Bullmarket-Ampel current state (0-5 active stages). Returns active_count, a stages[] breakdown (each stage with key, label, active and since = first day of its current state; null when the state predates the 400-day lookup) and stage_history (active_count of the last 30 days). Higher count = more bull-market signals firing. Stages evaluate weekly 20W/50W-MA conditions. [Free tier]
| Name | Required | Description | Default |
|---|---|---|---|
| context | Yes | Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): "Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization." |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the behavioral burden, and it does: it discloses output fields, the semantics of `since` when null, the 30-day history window, the meaning of higher counts, and the weekly 20W/50W-MA evaluation. It lacks auth/precision caveats, but this is sufficient for a read-only snapshot.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but organized: it front-loads the core use case, lists return components, explains meaning, and ends with a useful free-tier note. Every clause adds value, though the paragraph is a bit packed.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Since there is no output schema, the description appropriately explains return values and edge cases (null `since` before 400-day lookup, 30-day history). Combined with the well-documented context parameter, this is complete enough for an agent to call and interpret the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The only parameter, context, is fully documented in the input schema (100% coverage), so the description adds no additional parameter semantics. Baseline 3 applies because the schema already covers parameter meaning and requirements.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies a specific resource (Bitcoin Bullmarket-Ampel) and states exactly what it produces: current state 0-5 active stages, active_count, stages[] breakdown, and stage_history. This clearly differentiates it from sibling tools like get_btc_market_structure or subscribe_bullmarket_stage.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The opening question 'Is this still a bull market?' implies the tool answers bull-market status queries, but there is no explicit when-to-use versus alternatives or exclusion guidance. Usage context is only implied, not stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
arena_get_cost_basis_spreadGet BTC Cost-Basis Spread (sign conflict)AInspect
Is the market in profit or at a loss? It depends on which cost basis you ask. Puts the three BTC cost-basis measures side by side — Realized Price (unweighted), True Market Mean (cointime-weighted) and Vaulted Price (dormant holdings only) — with spot measured against each, and flags the case that matters: sign_conflict is true when spot sits BETWEEN them, i.e. one measure says profit and another says loss at the same moment. That state is invisible to anyone who queries realized price alone. Also returns the active/vaulted supply split. ⚠️ Supply figures are cointime-weighted, NOT coin balances: active + vaulted legitimately exceeds circulating supply, so total_counted is not a supply number (the payload states this). All values come from one snapshot; source Cointime Economics (ARK×Glassnode) via BRK. Descriptive — no statement about future price direction. Related: arena_get_knowledge(type="onchain_cost_basis_ladder") for the full ladder incl. STH/Active rungs and the cointime-MVRV percentile. [Free tier]
| Name | Required | Description | Default |
|---|---|---|---|
| context | Yes | Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): "Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization." |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does so thoroughly. It discloses the cointime-weighting caveat, that active + vaulted can exceed circulating supply, that `total_counted` is not a supply number, that all values come from one snapshot, and that the tool is descriptive with no price-direction statement. This is exemplary behavioral disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is long but every sentence earns its place: purpose, key output, caveats, source, and related tool. It front-loads the core question and answer, then layers in warnings and context. No filler or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having no output schema and no annotations, the description provides enough context for an agent to understand what the tool returns, what the fields mean, and what pitfalls exist. It also names the data source and related tool, making the operational context complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has only one parameter (`context`) with 100% description coverage, so the schema already fully explains the parameter. The tool description does not add parameter-specific semantics, but none are needed given the schema's completeness. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool's function: comparing three BTC cost-basis measures against spot and flagging sign conflicts. It names the specific measures (Realized Price, True Market Mean, Vaulted Price) and the key output (`sign_conflict`), making it distinguishable from related tools like the full cost-basis ladder.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains when this tool is valuable: when the market's profit/loss state depends on which cost basis is used, and when sign conflicts are invisible from realized price alone. It also points to the related `arena_get_knowledge(type="onchain_cost_basis_ladder")` for the full ladder, giving an explicit alternative. It stops short of saying precisely when not to use this tool, but the guidance is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
arena_get_cycleGet Crypto Cycle Snapshot (BTC / ETH / SOL)AInspect
Crypto cycle position — where are we in the cycle? Default BTC: point-in-time 9-indicator aggregation (Pi-Cycle Top & Bottom, Mayer Multiple, weekly RSI, 200-week-MA distance, halving position, Fear & Greed, BTC-dominance trend, mining-difficulty trend — weights in indicator_scores; components without input are excluded and weights renormalized, see indicator_coverage). Includes an ath block (E32): ATH on UTC daily-close basis with ath_date, days_since_ath and drawdown_from_ath_pct vs BOTH the scoring price and the live spot — the first number any market-state question needs. Pass asset=ETH or asset=SOL for a per-coin cycle read built from the transferable price-derived indicators (Mayer, weekly-RSI, 200-week-MA distance) with renormalized weights; BTC-native indicators (halving, dominance, mining, F&G, Pi-Cycle) are explicitly returned as not_applicable rather than faked. All return raw + Z-Score, signal enum, and a percentiles block ranking each indicator against that asset’s own history. The signal enum is a FIXED SCORE-BAND LABEL (<25 accumulation · 25–45 recovery · 45–60 expansion · 60–75 distribution · ≥75 overheated), not an independent market-phase detection — a mid-band score reads "expansion" even in a drawdown market (the 45–60 band is the neutral middle; cross-check price/drawdown context before quoting the label as a market state). BTC additionally returns highlights[] (rule-based markers for currently unusual indicator values — descriptive, versioned ruleset; empty array = nothing unusual) and price_context (price at scoring time vs live spot with drift % — the scores are based on the scoring-time price, not the live spot). Point-in-time scored — not reconstructable from a generic price API. Note for volatility questions: this tool carries the regime context around a volatility reading (Funding, Mayer, Pi-Cycle) but not the volatility series itself — that is arena_get_volatility_history. Related: arena_get_historical_analog (what followed states like this one), arena_get_bullmarket_ampel, arena_get_pulse. [Free tier]
| Name | Required | Description | Default |
|---|---|---|---|
| asset | No | Which asset’s cycle. Default BTC. ETH/SOL return a price-derived cycle read with not_applicable fields for BTC-native indicators. | |
| context | Yes | Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): "Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization." |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description fully discloses behavior: point-in-time scoring, indicator exclusions and weight renormalization, the fixed score-band signal enum (cautioning against misinterpreting mid-band labels), the ath block, highlights and price_context with drift, and the not_applicable handling for ETH/SOL. This is thorough and goes beyond the schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is long and dense, but every sentence adds critical context. It is well-structured, front-loaded with the primary purpose, and uses clear separations for asset specifics and related tools. While not concise in length, it avoids redundancy and effectively organizes complex information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity and lack of output schema or annotations, the description is remarkably complete. It covers what is returned, how signals are computed, interpretation cautions, data provenance, and pointer to related tools. No critical gaps for effective tool selection and use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description adds meaningful value beyond the schema: it details that weights are renormalized for ETH/SOL, lists which indicators are excluded as not_applicable, and explains the context parameter indirectly (by example in the schema). This enriches the parameter meaning, warranting a 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: providing a crypto cycle snapshot with aggregated indicators. It distinguishes itself from siblings by explicitly mentioning related tools like arena_get_volatility_history and arena_get_historical_analog, and clarifies that it carries regime context but not the volatility series.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description includes explicit when-to-use guidance, e.g., 'Note for volatility questions: this tool carries the regime context around a volatility reading but not the volatility series itself — that is arena_get_volatility_history.' It also lists related tools and explains asset-specific usage (BTC default, ETH/SOL per-coin read).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
arena_get_cycle_historyGet BTC-Cycle Historical SeriesAInspect
How has the cycle score moved over time? Returns the BTC-Cycle TIME SERIES: one row per day with adj_score and z_adj_score, ascending by date. Look-ahead-free by construction: a day's value uses only data up to that day. 7 of the 9 dimensions rest on inputs that are never revised (price, calendar, chain), so recomputing them today reproduces the value exactly. The other two (fear_greed, btc_dominance) come from third parties and their history can change. The series has been written walk-forward (actually observed) since 2026-04-17; before that it is reconstructed, not recorded. Note on the warm-up: z_score / z_adj_score are true z-values only from 2018-12-31 onwards. Earlier rows (the first 30 days of the series) carry the RAW score under the same field name, because fewer than 30 prior observations were available — same 0-100 range, different meaning. For the current cycle reading alone call arena_get_cycle; for what similar historical readings were followed by, call arena_get_historical_analog. Range capped by tier. [Free 30d / Pro 365d / Power unlimited]
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | Number of days back from today (auto-clamped by tier — Free=30, Pro=365, Power=3650). | |
| context | Yes | Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): "Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization." |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does so excellently. It reveals look-ahead-free construction, reconstructed versus walk-forward data, revised versus unrevised inputs, and the warm-up period where z_adj_score actually contains raw scores.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is long but every major sentence adds an essential nuance for correct usage. It is front-loaded with the core behavior then layers in caveats and sibling routing. The warm-up explanation has a small amount of redundant phrasing, keeping it from a perfect conciseness score.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema present, the description compensates well by naming the row frequency, output fields, ordering, and critical data-construction caveats. It also covers the tier limit and sibling alternatives. The description is complete enough for an agent to invoke the tool safely and interpret its response.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and both parameters (days and context) are already documented in the schema. The description adds a tier limit statement, but mostly repeats the auto-clamping semantics already present in the input schema, so no significant new parameter meaning is provided.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and outcome: returns the BTC-Cycle time series with one row per day, sorted ascending, and names the output fields. It also explicitly differentiates from arena_get_cycle and arena_get_historical_analog, making the tool's purpose unmistakable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit routing guidance is present: call arena_get_cycle for a current snapshot, arena_get_historical_analog for analogous historical readings, and this tool for the historical series. The tier-based range limit is also given, so an agent can determine when this tool fits.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
arena_get_drift_logGet Data-Quality Drift LogAInspect
Do the two data sources still agree? Daily drift log comparing bgeometrics (legacy) vs BRK (canonical-soon) pilot metric pairs. Returns mean / max / outlier counts per pair for the requested window. Used by BRK-migration review (every 4 weeks). [API Pro tier]
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | Window size in days (default 90, max 365). | |
| context | Yes | Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): "Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization." |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full burden of behavioral disclosure. The description states it returns specific statistics (mean, max, outlier counts) and uses a daily drift log, but it doesn't disclose the return format (e.g., structure of the data), whether it's read-only (likely, but not explicit), or any authentication/rate-limit notes. The '[API Pro tier]' hint adds useful context about access requirements. With no annotations, a 3 is appropriate—adequate but leaving notable gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise—three short sentences. It opens with a clear question, immediately states the core function, lists key output metrics, and context. Every sentence adds unique value: the question sets the scene, the jargon notes the data sources, the metrics describe output, and the usage frequency ties to business context. No fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has only 2 parameters with 100% schema coverage and no output schema, the description is reasonably complete. It explains the purpose, the specific metrics, and the usage context. However, without an output schema, some information about the return structure would be helpful, and the description doesn't mention pagination or data volume, but for this narrow domain tool, the completeness is good.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema documents both parameters (days, context). The description adds value by implying the 'days' parameter controls the window size (aligned with the schema), and the 'context' parameter's purpose is fully explained in the schema. However, the description does not specifically elaborate on parameter meaning beyond what the schema provides, but the baseline of 3 is elevated to 4 because the schema already covers the meanings well and the description's focus on the tool's purpose provides indirect clarity.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: comparing two data sources (bgeometrics legacy vs BRK canonical-soon) for daily drift, with specific metrics (mean, max, outlier counts) and window. It distinguishes itself from siblings by specifying the exact data-quality/ drift focus, which is unique among the listed sibling tools (none of which mention drift or data-quality comparison).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit context for when to use this tool: 'BRK-migration review (every 4 weeks)' and the question 'Do the two data sources still agree?' implies this is for checking data consistency before migration. However, it doesn't explicitly say when NOT to use it or name direct alternatives among siblings, though the unique drift focus makes alternatives less relevant.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
arena_get_edge_reportsGet Edge Library — Filter Effect ReportsAInspect
Which entry filter carries a real edge? Platform-wide aggregated analysis: how each Pro+ entry filter (200 WMA, ATR low/high/expansion, Altcoin Season, Bullmarket confirm/strict) affects strategy CAGR — baseline vs. filtered, asset-equal-weighted (per-asset medians over param-deduplicated runs, then the median across assets — no single asset's run grid can dominate an arm). delta_cagr is the median of PER-ASSET deltas over MATCHED assets only (present in both arms) — so it usually differs from filtered_cagr − baseline_cagr; pairs_matched/pairs_filtered and the baseline pairs count declare the basis. Verdicts come from the effect's 90% paired-bootstrap interval (delta_ci_low/delta_ci_high), not the point estimate: helps (whole interval > +1pp) / hurts (< −1pp) / neutral (inside ±1pp) / insufficient_evidence (runs disagree) / insufficient_data (fewer than 30 runs per arm or fewer than 10 matched assets). Below the gate, derived fields (delta_*, dsr, dsr_pass) are null; every gated null carries its reason (dsr_pass_reason, *_net_reason); the envelope evidence block declares the gate's referent and threshold machine-readably. Response is GROUPED by strategy: envelope fields (market, computed_at, n_trials) once, per strategy one baseline block {cagr, net_cagr, sharpe} plus filter cells; filter cells with zero runs are folded into filters_without_data. A full market is a few hundred cells — use limit/offset (strategies per page) plus the truncated flag for partial reads. Filters evaluated in isolation (no stacking); net values are median CAGR after per-side trading costs (verdict/delta stay gross). [Free tier]
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Strategies per page (1–100). Omit for all. | |
| market | Yes | Market to analyze (crypto or tokenized). | |
| offset | No | Strategies to skip (paging). | |
| context | Yes | Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): "Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization." | |
| verdict | No | Filter by verdict. Default 'all'. Note 'insufficient_evidence' is NOT the same as 'insufficient_data': the former has enough runs but they disagree (the effect's 90% interval straddles the ±1pp line), the latter simply lacks runs. | |
| strategy | No | Restrict to a single strategy key (e.g. golden_cross). Omit for all strategies. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses significant behavioral traits beyond annotations: it explains how delta_cagr is computed differently from raw differences, the use of paired-bootstrap intervals for verdicts, and the gating logic with null fields. It also mentions grouping, pagination, and that filters are evaluated in isolation. No annotations are provided, so the description carries the burden, and it does so comprehensively.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is information-dense and uses technical jargon appropriately for the domain, but it is quite long and runs-on in a single paragraph. While every sentence adds value, a more structured layout (e.g., bullet points for verdicts, gating, pagination) would improve readability. It is not overly verbose given the complexity, but it could be better organized.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (6 parameters, no output schema, no annotations), the description is remarkably complete. It covers the response structure (grouped by strategy, envelope fields, null handling), the verdict calculus, gating conditions, and pagination. The absence of an output schema makes this description essential, and it leaves no major gaps for an agent to understand the tool's behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents all parameters, but the description adds depth to the 'verdict' parameter by explaining the difference between insufficient_evidence and insufficient_data, which is not fully clear in the schema enums. It also clarifies the meaning of 'strategy' with an example and notes the default behavior for limit/offset. This adds value beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it analyzes entry filters' effect on CAGR across strategies, and despite the different name, it is distinct from arena_get_filter_insights by focusing on edge detection with paired-bootstrap verdicts. The verb 'Get' and resource 'Edge Reports' are specific, and the detailed content distinguishes it from siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains when to use this tool (to see which filters carry a real edge) and implies when not (e.g., for individual filter insights use arena_get_filter_insights, though not explicitly stated). It provides explicit guidance on pagination and filtering (limit/offset, verdict, strategy), which is helpful for usage. It lacks explicit exclusions for alternatives, but the context is clear enough.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
arena_get_etf_flowsGet Spot-ETF Net-Flow Trend (BTC / ETH / SOL)AInspect
Spot-ETF net flows (USD millions) — is the flow impulse turning or accelerating? The summary only gives point-in-time deltas; this exposes the trend: 30d/90d net flow, a direction label (inflows/outflows/flat) and a compact cumulative-inflow time series so direction and speed are visible, not just a single delta. Read impulse for what the flow is doing — it has four states (accelerating / decelerating / reversal / flat) and is the field to quote. Two neighbouring fields measure different things and are easy to confuse: acceleration_usd_m is the signed difference last-30d minus prior-30d and gets LARGE precisely when the flow reverses, while the older boolean accelerating requires the same direction AND a bigger magnitude — so a swing from outflows to inflows shows a big positive acceleration_usd_m together with accelerating: false, which is correct and reads like a contradiction. impulse reports that case as 'reversal'. Default BTC; pass asset=ETH or asset=SOL. Source SoSoValue. [Free tier]
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | Length of the returned cumulative series in days. Default 365, clamped 90–1095. | |
| asset | No | Which spot-ETF flows. Default BTC. | |
| context | Yes | Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): "Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization." |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It describes the output fields (30d/90d net flow, direction label, cumulative time series, impulse with four states) and explains the behavior of `acceleration_usd_m` and `accelerating` fields, including the 'reversal' case. It also notes the data source and free tier. This is comprehensive and exceeds typical expectations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is fairly long but every sentence serves a purpose: explaining the tool's value over a summary, describing the output fields, warning about confusing fields, and specifying defaults. The structure is front-loaded with the main purpose. It could be slightly more concise, but the density of useful information justifies the length.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description must explain return values. It does so by describing the cumulative time series, direction label, `impulse` field, and the behavior of `acceleration_usd_m` and `accelerating`. It also mentions the source and free tier. For a tool with 3 parameters, this is quite complete, though it could optionally specify the format of the time series (e.g., daily data points).
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% (all three parameters have descriptions). The description adds only minimal value: it repeats the default asset behavior and explains the `impulse` field, but does not add new meaning to any parameter beyond what the schema already provides. The baseline of 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.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Get') and clearly identifies the resource ('Spot-ETF Net-Flow Trend'). It explicitly distinguishes itself from a summary that only gives point-in-time deltas, stating it exposes the trend with 30d/90d net flow, direction label, and cumulative time series. Among the many sibling tools, none target ETF flows, so it is well-differentiated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear usage context: it explains the default asset (BTC), how to pass alternative assets (ETH, SOL), and warns about confusion between `acceleration_usd_m` and `accelerating` fields, recommending `impulse` as the field to quote. It also mentions the data source (SoSoValue) and free tier. However, it does not explicitly state when to use this tool versus alternatives, or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
arena_get_fear_greedGet Fear & Greed IndexAInspect
How fearful or greedy is the market right now? Crypto Fear & Greed Index (alternative.me). Returns the current value (0-100) and classification (extreme fear / fear / neutral / greed / extreme greed) as their own fields, plus history — the last 90 daily readings by default, so you can see whether today is a move or a plateau. The index is a contrarian-read sentiment gauge, not a timing signal: it says where sentiment stands, not what price does next. The window is capped and the range block states requested / granted / available days with the reason — a short series here is a window, not a young index. On Pro and Elite two Arena-derived blocks add what the upstream index does not publish: cadence (how far smoothed sentiment has travelled versus ~90 days ago) and tempo (how FAST the index is moving — 7d and 30d change ranked as a rolling percentile against three years of same-direction moves, not a fixed threshold; rank compares with its own history, not with "normal"). On Free both blocks are present but their values are null with a stated reason. For the regime around a reading use arena_get_cycle; for what followed comparable sentiment states use arena_get_historical_analog(preset="deep_fear"). [Free tier · cadence/tempo Pro+]
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | How many recent daily readings to return (1-365, default 90). The full history since 2018 is deliberately not offered here — it is ~3,100 points and does not fit a tool response. | |
| context | Yes | Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): "Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization." |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It thoroughly explains the returned fields (value, classification, history, range, cadence, tempo), notes tier differences (blocks null on Free), and explains the significance of the range block ('a short series here is a window, not a young index'). It also warns the index is not a timing signal, covering potential misuse. This is exemplary transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is lengthy but every sentence earns its place: it front-loads the core function, then adds critical nuances (contrarian nature, range block, tier effects), and ends with pointer to alternatives. It could be trimmed slightly, but the density of useful information justifies the length. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (multiple output components, tier restrictions, relationship with other tools) and the absence of an output schema, the description is remarkably complete. It explains all return components, their meaning, tier differences, and even the rationale for the history cap. It leaves no major aspect unexplained.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema descriptions already cover both parameters at 100% coverage, so the baseline is 3. The description adds value by explaining the `days` parameter's effect via the `range` block (granted/available days and reasoning) and by clarifying that the full history is deliberately not offered. However, it doesn't elaborate on the `context` parameter beyond the schema's detailed description, so it doesn't reach a 5.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states the tool returns the Crypto Fear & Greed Index with value, classification, and history, and clearly distinguishes it from siblings like arena_get_cycle and arena_get_historical_analog by naming them as alternatives for different purposes. The verb 'get' combined with the resource and scope makes the purpose unmistakable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit when-to-use guidance: describes the index as a contrarian-read sentiment gauge (not a timing signal) and points to specific alternative tools for regime context and historical analogies. It also clarifies the meaning of short history windows, preventing misinterpretation. This is above and beyond typical usage notes.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
arena_get_filter_insightsGet Strategy Filter InsightsBInspect
Do entry filters help, and which ones? Lift analysis of entry filters (200WMA, Altcoin-Season, ATR-Volatility, Bullmarket-Stage) per strategy combo — baseline vs filtered CAGR/win-rate/drawdown. [API Pro tier]
| Name | Required | Description | Default |
|---|---|---|---|
| context | Yes | Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): "Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization." |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must fully carry behavioral disclosure. While it mentions the scope of analysis (filters, metrics, per strategy combo), it does not state if the tool is read-only, idempotent, expensive to call, or requires specific authorization beyond the noted '[API Pro tier]'. There is no mention of side effects, data freshness, or result size. The description is functional but leaves key behavioral traits unspecified.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is exceptionally concise: two sentences that front-load the core question and then specify the exact filters, metrics, and comparison. No filler words, no redundancy. Every sentence adds unique value. This is a model of efficient tool documentation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description should hint at return format or how to interpret results, but it doesn't. It also lacks prerequisites (e.g., requires strategies to exist) or guidance on using the output alongside sibling tools. However, the core functionality is fully explained for a simple analysis tool. The lack of usage guidance and behavioral details reduces completeness, but the description is not insufficient for its narrow scope.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% coverage (the single 'context' parameter is fully described with clear instructions). The tool description adds no additional semantic value for the parameter beyond what the schema already provides. Baseline is 3 because schema coverage is high, and the description does not enhance parameter understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: it analyzes whether entry filters help and which ones, specifically performing lift analysis on listed filters (200WMA, Altcoin-Season, ATR-Volatility, Bullmarket-Stage) per strategy combo, comparing baseline vs filtered CAGR/win-rate/drawdown. The verb 'get' plus 'filter insights' combined with the detailed specification makes the purpose unambiguous and distinct from siblings like arena_get_strategy_filter_effect or arena_get_strategy_insights.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not provide any guidance on when to use this tool versus alternatives. With over 70 sibling tools, including closely related ones like arena_get_strategy_filter_effect and arena_get_strategy_performance, the lack of explicit context (e.g., 'Use this when you want to compare filter benefits across multiple strategies, not just a single filter effect') makes it difficult for an AI agent to select appropriately. No when-not-to-use or alternative references are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
arena_get_funding_rateGet Funding Rate SnapshotAInspect
Are longs or shorts paying right now? Latest BTC perpetual funding rate, averaged across up to three exchanges (Binance, Bybit, OKX; 8h settlement cadence). Returns value, 30d moving average and Z-Score. Positive = longs pay shorts (bullish bias), negative = shorts pay longs (bearish bias). Read coverage before comparing values across dates: it says how many exchanges stand behind that day (3 = full average, 1 = a single exchange), and a day-over-day move can be a change in composition rather than in the market. [Free tier]
| Name | Required | Description | Default |
|---|---|---|---|
| context | Yes | Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): "Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization." |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Since no annotations were provided, the description fully bears the burden of behavioral disclosure. It explicitly states the tool is on a free tier, implies it retrieves live data by mentioning the 'latest' rate, and details the internal logic (averaging across up to three exchanges). This provides significant transparency into the tool's behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise at about 75 words. It front-loads the core question and purpose, provides immediate interpretability guidance, and delivers a critical behavioral caveat in the last sentence. Every sentence serves a distinct purpose without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (1 parameter, no output schema, no nested objects), the description is nearly complete. It explains the tool's purpose, output semantics (value, MA, Z-score), and key caveats. The only minor gap is the lack of explicit mention of the return values' format (e.g., 'returns a JSON object with fields...'), but the text description compensates for this effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description does not add any new meaning to the single `context` parameter, as the schema already explains what it is for. The description adds no parameter-specific value beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description starts with a specific question ('Are longs or shorts paying right now?') and clearly states the tool returns the latest BTC perpetual funding rate averaged across up to three exchanges, with a defined settlement cadence. This differentiates it from its siblings, such as `arena_get_funding_rate_history` which would return historical data.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implicitly guides usage by explaining how to interpret the output (positive/negative values, the meaning of the `coverage` field). It also provides a clear caveat about comparing values across dates due to changing exchange composition. However, it does not explicitly state when NOT to use this tool and suggests no specific alternative for historical data.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
arena_get_funding_rate_historyGet Funding-Rate Historical SeriesAInspect
How has leverage positioning shifted over time? Returns the BTC perpetual funding-rate TIME SERIES, aggregated across the available perpetual venues (Binance, Bybit, OKX), at the 8h funding cadence, ascending by date. The response is SEGMENTED by venue composition: each segment covers a stretch with a STABLE venue set (venues, coverage, from/to, its rows); composition_breaks lists the transitions with a mechanically derived cause (venue_added / venue_removed / venue_changed — e.g. OKX joined 2026-01-28). Averages, z-scores or percentiles computed ACROSS segments mix different venue populations — compute within a segment, or accept the mix knowingly; composition_stable: true means the whole window is one segment and safe to treat as one series. Positive funding means longs pay shorts (crowded long positioning) and vice versa; sustained extremes are a positioning signal, single prints are noise. For the latest funding value alone call arena_get_funding_rate. Range capped by tier. [Free 30d / Pro 365d / Power unlimited]
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | Number of days back from today (auto-clamped by tier — Free=30, Pro=365, Power=3650). | |
| context | Yes | Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): "Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization." |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Despite no annotations, the description comprehensively discloses behavior: aggregation across venues, segmentation by venue composition, 8h cadence, ascending order, interpretation of funding rate signs, and cautions about computing statistics across segments.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is thorough at ~150 words, covering all necessary points without redundancy. A slightly tighter structure could improve readability, but it is well-organized and front-loaded with the core purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description fully explains the response structure (segments, composition_breaks, stable flag, rows) and provides interpretation guidance. It anticipates user needs and addresses edge cases like venue changes.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3; the description adds context about tier clamping for 'days' and detailed instructions for 'context', enhancing parameter understanding beyond the schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states that this tool returns a BTC perpetual funding-rate time series, aggregated across venues, and distinguishes it from the sibling tool 'arena_get_funding_rate' which provides only the latest value.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description opens with a question that frames when to use the tool ('How has leverage positioning shifted over time?'), explicitly directs users to an alternative for latest values, and notes tier-based range limits.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
arena_get_gem_scoreGet Altcoin Screener Score for One CoinAInspect
How does this altcoin score? Returns the Altcoin-Screener score for ONE coin, addressed by its CoinGecko id: the composite score, its group breakdown and — for Pro+ — the 9 raw factor values across groups A/B/C. Use it once a candidate is known; to rank or filter the whole screened universe use arena_get_gem_scores (plural), and for how the score behaved out-of-sample use arena_get_gem_validation. The score ranks relative attributes, it is not a price forecast or a buy signal. [Free tier]
| Name | Required | Description | Default |
|---|---|---|---|
| context | Yes | Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): "Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization." | |
| coingecko_id | Yes | CoinGecko coin ID, e.g. "ethereum", "solana" |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It discloses return contents and includes an important disclaimer ('not a price forecast or a buy signal'). However, it omits any mention of the required 'context' parameter, which has specific formatting and intent-tracking requirements described only in the schema. The agent may not know to provide a meaningful context string, a notable behavioral gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise—two sentences front-loading purpose, with semicolons structuring the output details. Every sentence earns its place: purpose, outputs, usage guidance, disclaimer, and tier hint. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given moderate complexity, no output schema, and 100% schema coverage, the description covers return types, usage context, and a disclaimer. However, it fails to explain the required 'context' parameter and its specific formatting rules, leaving a significant gap for the agent to use the tool correctly. The sibling references help, but the missing parameter disclosure reduces completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents both parameters. The description adds no additional meaning beyond schema for 'coingecko_id' (simply names it) and does not mention 'context' at all. With full schema coverage, baseline is 3, and the description fails to add value over the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns the Altcoin-Screener score for ONE coin by CoinGecko ID, listing specific outputs (composite score, group breakdown, Pro+ raw factor values). It distinguishes itself from sibling tools arena_get_gem_scores (plural/ranking) and arena_get_gem_validation (out-of-sample), making the scope unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says 'Use it once a candidate is known' and provides two clear alternatives: use arena_get_gem_scores for ranking/filtering the universe and arena_get_gem_validation for out-of-sample behavior. Also notes '[Free tier]' indicating availability, which further guides when to use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
arena_get_gem_scoresGet Altcoin Screener RankingsAInspect
Altcoin screener ranking — which altcoins look strong right now? Today's CoinGecko Top-200 scored by a composite of 3 factor groups: Mean-Reversion (A), Tokenomics (B), Market-Structure (C). Backtest-validated factors, not a hype list. Limit gated by tier: Free top-10, Pro top-50, Power top-200. [Free tier, daily refresh]
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of coins to return (tier-capped) | |
| context | Yes | Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): "Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization." | |
| from_rank | No | Start from this rank (default 1) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must fully disclose behavior. It states daily refresh and tier gating, which are key behavioral traits. It does not explicitly state it is read-only, but for a data retrieval tool, this is acceptable. Minor omission of side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise: two sentences front-loaded with purpose and key details. No wasted words; every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Without an output schema, the description does not detail the return structure (e.g., fields per coin). While the input is well-described, the agent may need to infer output format. Given the tool's simplicity, it is minimally adequate but not fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% for all three parameters. The description adds little beyond schema for 'limit' and 'from_rank', though the tier context for 'limit' is implied. The 'context' parameter is well-documented in the schema. Overall, the description does not significantly enhance parameter understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states what the tool does: it provides an altcoin screener ranking based on three factor groups. It distinguishes itself from siblings (e.g., arena_get_gem_score) by specifying it ranks the top 200 coins from CoinGecko.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description mentions tier limitations (Free top-10, Pro top-50, Power top-200) and notes it is backtest-validated, not a hype list. However, it does not explicitly state when not to use this tool or provide alternatives, leaving some ambiguity.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
arena_get_gem_validationGet Altcoin Screener Backtest-Lite ValidationAInspect
Did the screener picks actually beat BTC? Bi-weekly equal-weight basket backtest for the screener picks vs BTC and market average. Shows CAGR, max drawdown, win-rate. NOTE: curves are precomputed weekly on an N ladder (10/25/50/100/200, same input snapshot and engine per rung); a requested N snaps to the nearest rung — top_n in the response names the rung actually used, top_n_requested echoes the request, basis_note declares any snap. [Free tier]
| Name | Required | Description | Default |
|---|---|---|---|
| top_n | No | Basket size (default 10, Pro+ up to 200) | |
| context | Yes | Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): "Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization." |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral burden and exceeds expectations. It explains the snapshot/precomputation behavior ('curves are precomputed weekly'), the internal rung ladder with values, the snapping semantics, and even the response field names (`top_n` for actual, `top_n_requested` echoing request, `basis_note` declaring snaps). It also flags the free tier limitation, which is critical behavioral context the agent needs to set expectations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four sentences, front-loaded with a concrete question, then the key mechanics. The em-dash construction is a bit dense for parsing (long sentence with nested dashes), but every clause earns its place—the rung values, snapping behavior, and field names are all necessary. Minor deduction for the dash-heavy middle section being a wall of text, though it packs maximum information efficiently.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple 2-param tool with no output schema, the description fully specifies input semantics (optional top_n with rung snapping), the computation model (precomputed weekly), and the return fields. The snapshot/ladder disclosure is the kind of deterministic behavior an agent needs to correctly reason about results. The lack of an output schema raises the burden slightly, but the description covers what matters: what gets validated, how it's computed, and how responses differ from requests. The only minor gap is no explicit mention of the response shape, but the naming convention (`top_n`/`top_n_requested`) is self-documenting.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with only `top_n` (optional, default 10, range 1-200) and `context` (required). The description adds essential parameter semantics by explaining the rung snapping behavior: `top_n: 100` would actually produce a run with top_n=100 but a request of 75 would snap to the nearest rung. The description explains that `top_n` in the response may differ from the request, showing the lifecycle of the parameter. The `context` parameter itself has extensive inline documentation. Slight deduction because the description doesn't explicitly re-document each parameter, but it doesn't need to given the schema's completeness.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states this tool validates whether screener picks beat BTC using a bi-weekly equal-weight basket backtest, with specific metrics (CAGR, max drawdown, win-rate). It distinguishes itself from the 80+ sibling tools by starting with a concrete question and specifying the basket/backtest approach, making it immediately distinguishable from similar backtest and strategy tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly explains the backtest methodology (bi-weekly, equal-weight), reveals that curves are precomputed weekly with an N ladder of specific rungs (10/25/50/100/200), and discloses the snapping behavior when a requested N doesn't match a rung. It also clearly states the free tier limitation. This tells the agent when to use this vs. the many other backtest tools (run_backtest, list_backtests, go_backtest, run_universe_backtest).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
arena_get_halvingsGet Bitcoin Halving HistoryAInspect
When were the halvings, and what followed? The full Bitcoin halving table: date, block height, reward change, price at the halving day, cycle peak (highest daily close before the next halving) with days-after-halving and peak multiple. E33: this connects chain events with price data no generic price API links — and the prices, peaks and days-to-peak are COMPUTED from our own daily-close series rather than hand-copied (public "days to peak" figures often mix cycles: the widely cited 547-549 days belong to cycle 3; cycle 4 measured 2024-04-20 to the 2025-10-06 ATH is 534). The date convention is declared per entry (block 840,000 fell 2024-04-20 00:09 UTC; this platform counts from 2024-04-19 — same convention as arena_get_cycle.halving_date). The current cycle's peak is marked provisional. No next-halving date estimate is published. Related: arena_get_cycle (days_since_halving, score_halving). [Free tier]
| Name | Required | Description | Default |
|---|---|---|---|
| context | Yes | Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): "Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization." |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description fully carries behavioral transparency. It discloses that prices and days-to-peak are computed from their own series, not hand-copied, addresses the 547-549 day convention by specifying cycle 4, clarifies the date convention per entry (e.g., 2024-04-20 vs 2024-04-19), and marks the current cycle's peak as provisional. It also explicitly states no next-halving estimate is published. This is exceptional transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense and informative but slightly verbose. It front-loads the core payload, then adds provenance, date convention, and related tools. Every sentence adds value, but some could be tightened (e.g., the E33 note and parenthetical examples). Still, it's structured logically and packs a lot into a short space.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Without annotations or output schema, the description goes far beyond minimum: it explains data source, computation method, date convention discrepancies, provisional status, excluded content (no next-halving date), and related tools. For a simple list tool with one metadata param, this is exceptionally complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The only parameter is `context`, which the schema fully describes with requirements and an example (100% coverage). The description adds nothing about the parameter itself, but that's acceptable given the schema is thorough. Baseline 3 for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns Bitcoin halving data: date, block height, reward change, price at halving, and cycle peak with days to peak. It distinguishes itself from related tools like arena_get_cycle by naming them and explaining what this tool adds (chain-event-to-price linkage). The verb 'get' and resource 'halvings' are specific and unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly notes that no next-halving date is published)Skip that exclusion, and mentions related tools (arena_get_cycle) for additional context. However, it does not explicitly state when to choose this tool over others, though the unique features (linking prices to halvings, computed values) imply the use case. Slight deduction for lack of explicit when-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
arena_get_hash_ribbonsGet Hash Ribbons SnapshotAInspect
Are miners capitulating? Latest Hash Ribbons indicator (Charles Edwards). Returns 30d and 60d hashrate moving averages — when 30d > 60d after a capitulation, signals miner recovery (bullish). [Free tier]
| Name | Required | Description | Default |
|---|---|---|---|
| context | Yes | Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): "Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization." |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It discloses the tool returns two moving averages and signals recovery while noting it is a free tier tool (implying potential rate limits or reduced data). It does not mention if data is cached, how often it updates, or if any authentication is needed, but the core behavioral impact is clear.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Description is three sentences, front-loaded with the key question ('Are miners capitulating?'), then naming indicator and what it returns, then the bullish signal. Every sentence adds essential context with zero redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given moderate complexity (two moving averages, a signal interpretation) and no output schema, the description adequately explains what the tool returns and how to interpret it. It could mention the return format (e.g., JSON numbers for each MA) or data recency, but is sufficient for an agent to invoke correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds value by explaining the indicator's meaning and output beyond the schema's single 'context' parameter. The parameter is meta-contextual (explaining why tool is called), and the description gives guidelines for filling it, which is helpful but schema already provides detailed instructions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the tool retrieves the Hash Ribbons indicator, specifying it returns 30d and 60d hashrate moving averages. It distinguishes itself from 90+ sibling tools by naming a unique, specific indicator tied to a creator (Charles Edwards), making its purpose unmistakable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Description provides clear context for when to use (when assessing miner capitulation/recovery) and implicit signal interpretation (30d > 60d after capitulation is bullish). It does not explicitly list alternatives or when not to use, but among many 'get_' tools, the unique indicator name suffices for selection guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
arena_get_historical_analogHistorical analog — conditional forward returnsAInspect
What happened historically after the Bitcoin cycle looked like this? Conditional forward-return distribution for a named preset cycle state — over N DISTINCT historical episodes matching that state (matched_episodes), returns median/IQR/positive-share forward returns (30/90/180/365d) with per-horizon n, small-n warnings, point-in-time integrity and an evidence block that names which field its sample-size gate checked (gate_applies_to), against which threshold, over which data window. A distribution with its sample size. Not obtainable from web search or public market-data APIs — requires point-in-time indicator history and look-ahead-free episode matching. Presets: cycle_bottom_cluster (Cycle bottom cluster), cycle_top_cluster (Cycle top cluster), deep_fear (Deep fear), euphoria (Euphoria), quiet_volatility (Quiet volatility regime). The response opens with "preset_definition" — the machine-readable condition set behind the preset name, plus current_state_matches (does the state hold TODAY?) and last_matching_date; check that before mapping the distribution onto the present. Some presets carry a "study_finding" field — a state we have already investigated and where the result was NULL; read that before the distribution, it is the more important answer. EVERY preset returns "vs_unconditional_drift" — read THAT rather than the raw forward returns: the raw median measures the asset's contemporaneous drift as much as the state — the drift and excess columns in that block carry the honest comparison, and the excess can be negative while the raw median looks positive. For quiet_volatility, vol_rank_threshold (fixed steps 5/10/20/50) asks the stricter "UNUSUALLY quiet" question the null study left open, and condition_on_direction ("what followed once the state resolved up/down?") conditions episodes on the sign of the first post-anchor move over direction_window_days (default 5) — both mark study_finding_applies=false, and horizons within direction_window_days are suppressed as circular. Also works for asset=ETH/SOL (F2 cycle history), but only price-derived presets (cycle_bottom_cluster, cycle_top_cluster) — fear-greed and volatility presets are BTC-only. Related: arena_get_volatility_history (the series behind the volatility preset), arena_get_cycle (the current state to compare against), arena_dip_scenario (composes this base rate into a tranche structure). [API Pro tier]
| Name | Required | Description | Default |
|---|---|---|---|
| asset | No | Which asset’s cycle history. Default BTC. ETH/SOL support only price-derived presets (cycle_bottom_cluster, cycle_top_cluster). | |
| preset | Yes | Named ex-ante cycle-state condition set. One of: cycle_bottom_cluster, cycle_top_cluster, deep_fear, euphoria, quiet_volatility. | |
| context | Yes | Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): "Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization." | |
| forward_horizons | No | Forward-return horizons in days. Default [30, 90, 180, 365] — except for quiet_volatility, which defaults to the horizons its study actually tested ([30, 90, 180]); anything beyond that is flagged as outside the protocol. | |
| vol_rank_threshold | No | quiet_volatility only. Reference threshold as a FIXED step: 50 (default, below trailing median — the studied definition) or 5/10/20 (unusually quiet: RV30 below its trailing Nth percentile). Any value other than 50 sets study_finding_applies=false — the null study covered only the default. | |
| direction_window_days | No | Classification window for condition_on_direction (default 5). Only meaningful together with condition_on_direction. | |
| condition_on_direction | No | quiet_volatility only. Condition episodes on the direction of the FIRST post-anchor move (sign of the direction_window_days-day return). Horizons <= direction_window_days are suppressed as circular. Sets study_finding_applies=false. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full safety/behavior burden and exceeds it: discloses point-in-time integrity, look-ahead-free matching, small-n warnings, the evidence block, study_finding NULL cases, the non-obvious vs_unconditional_drift adjustment, and parameter behaviors that alter findings (vol_rank_threshold, condition_on_direction).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is long but front-loaded with the purpose and structured into purpose, caveats, preset details, and related tools. Some sentences are wordy (e.g., 'A distribution with its sample size') and the em-dash-heavy style adds noise, yet most sentences earn their place given the tool's complexity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no output schema and 7 parameters, the description compensates thoroughly: it explains response components, key caveats, defaults changes, cross-asset behavior, and related tools, leaving minimal gaps for an agent to select and invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Despite 100% schema coverage, the description adds semantic depth: explains the preset meanings, the effect of vol_rank_threshold on the studied definition, the interaction of condition_on_direction with direction_window_days (horizon suppression), and asset-specific presets limitations.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a clarifying question then states the exact function: computing conditional forward-return distributions for named preset cycle states, with specific output components (median/IQR, horizons, sample sizes). It names all preset values and explicitly distinguishes from related tools by stating it cannot be reproduced via web search or public APIs.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit guidance: warns to read preset_definition/current_state_matches before applying, to prioritize study_finding and vs_unconditional_drift over raw medians, and specifies asset/preset compatibility. Names related tools (arena_get_volatility_history, arena_get_cycle, arena_dip_scenario) with their roles.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
arena_get_indicator_snapshotGet Indicator Snapshot with Historical Percentile RanksAInspect
What do the classic indicators read right now? Current RSI(14), MACD(12/26/9), Bollinger(20,2), ATR(14) and OBV for a pair — each with a PERCENTILE RANK against that indicator's own history on that pair, plus the observation count. The rank is the point of the tool: "RSI 43.2" is a number any charting package gives away, "RSI 43.2, 24th percentile of 2,808 observations" is a placement. ATR comes as a percentage of price so it is comparable across time, and OBV as a 30-bar slope normalised by that window's volume, because raw cumulative OBV would mostly rank how long the series has existed. Where the reading sits in an extreme AND a study on this platform has tested that exact state, the payload carries the study verdict — including a null result: a Bollinger squeeze returns the quiet_volatility finding that tight bands did NOT carry an edge across 47 episodes. Below 500 bars (1d) / 150 (1w) the raw values still come but percentile is null with a reason, rather than a rounded number from too small a sample. Set interval to '1w' for the weekly view. On the 1d view the payload also carries rsi_14_weekly (weekly RSI with its own rank) — for BTCUSDT this is the SAME series as arena_get_cycle rsi_weekly, measured character-identical (its source_note carries the measurement). What the labels mean: state (oversold/neutral/overbought) names where a reading sits on its own scale — a description of a level, not an instruction. Related: arena_get_trend_channels (structure), arena_get_historical_analog (did a condition like this one ever pay?), arena_get_volatility_history (the volatility series behind ATR). [Free tier]
| Name | Required | Description | Default |
|---|---|---|---|
| pair | No | Pair, e.g. "BTCUSDT" (default), "ETHUSDT", "PAXGUSDT". | |
| context | Yes | Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): "Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization." | |
| interval | No | Default '1d'. '1w' computes every indicator on weekly bars. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description fully carries the transparency burden. It explains in detail what each indicator returns (e.g., ATR as percentage of price, OBV as normalized slope), how percentile ranks are computed, when percentiles are null with a reason, the inclusion of study verdicts, and the meaning of labels like 'state'. This is exhaustive and leaves no ambiguity.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very long and dense, covering many details. While every sentence is informative, it could be more concise by grouping related concepts or using bullet points. The structure is front-loaded with the core purpose, but the sheer length may overwhelm an agent looking for a quick summary.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of the tool (five indicators, percentiles, study verdicts, null conditions, weekly RSI, labels), the description covers most aspects comprehensively. It mentions payload contents like study verdicts and weekly RSI, but does not provide a full JSON structure outline. Nonetheless, it is complete enough for an agent to understand the tool's behavior and outputs.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents each parameter. The description adds value by reinforcing the use of `interval` ('Set `interval` to '1w' for the weekly view') and clarifying the `pair` parameter with an example (BTCUSDT). It also explains the null percentile conditions tied to `interval` and bar count, which goes beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a clear question 'What do the classic indicators read right now?' and immediately lists the specific indicators (RSI, MACD, Bollinger, ATR, OBV) with percentile ranks. It distinguishes the tool from siblings by naming related tools like arena_get_trend_channels, arena_get_historical_analog, and arena_get_volatility_history, 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit guidance on when to use the tool (for classic indicators with percentile ranks), how to use the `interval` parameter, and explains edge cases (null percentiles below bar thresholds). It also lists related tools for alternative but similar needs. However, it does not explicitly state when NOT to use this tool, which would push it to a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
arena_get_iv_snapshotGet Deribit IV SnapshotAInspect
What is the options market pricing in? Latest Deribit volatility snapshot for BTC or ETH. Returns DVOL (30d vol index), constant-maturity ATM implied vol (30/60/90/180d via options chain), 30d realized vol, and vol_risk_premium_30d, which is the TRAILING spread: ATM implied vol (30d, from the options chain — not DVOL) minus the realised volatility of the PAST 30 days. It answers "are options priced expensively right now?". Set include_implied=true to additionally get the FORWARD premium in an implied block: DVOL(t) minus the realised volatility of the FOLLOWING 30 days, which answers the different question "did the expectation actually materialise?". These two are NOT interchangeable — measured across 1,037 paired days they carry OPPOSITE signs on 17.3% of days for BTC and 30.5% for ETH. The forward field is spelled out as vol_risk_premium_forward_30d so the two cannot be confused. The most recent 30 days carry premium_complete=false and no premium value at all, because their forward window has not closed yet; they are excluded from every aggregate. Descriptive context, not a trading signal. Source: Deribit DVOL Index. History: BTC from 2021-04-01, ETH from 2022-02-15. [Free tier]
| Name | Required | Description | Default |
|---|---|---|---|
| context | Yes | Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): "Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization." | |
| currency | Yes | Currency to fetch IV snapshot for | |
| include_implied | No | Default false (response unchanged). When true, adds an `implied` block with the FORWARD volatility risk premium, its percentile and the historical base rate. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description thoroughly details the output: the trailing vol risk premium, the optional forward premium via include_implied, the caveat about the most recent 30 days, and the warning that it is not a trading signal. This goes well beyond a simple return type and discloses important behavioral nuances.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is excessively verbose and repetitive. It repeats the explanation of the trailing and forward premiums multiple times, includes statistical trivia about correlation, and uses redundant phrasing (e.g., 'The forward field is spelled out...' repeated). The structure is clear but wordy, making it inefficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers all essential aspects of the tool's output: metrics, optional flag, caveats, source, and history. It is comprehensive, but the redundancy and extraneous statistics do not add completeness. It lacks explicit mention of the context parameter in the description, though the schema covers it, so it remains mostly complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema provides descriptions for all three parameters: currency (enum BTC/ETH), include_implied (optional boolean with clear effect), and context (explaining its purpose as user intent). The tool description adds detail on the metrics but does not further elaborate on parameters. Since schema coverage is 100% and descriptions are adequate, this scores above baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as 'Latest Deribit volatility snapshot for BTC or ETH' and lists the specific metrics returned (DVOL, ATM implied vol, realized vol, and vol risk premium). The verb 'Get' and resource 'Deribit IV Snapshot' are explicit and distinguish it from related tools like volatility history or insights.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains what the tool returns and the meaning of the metrics, but it does not explicitly contrast it with sibling tools or state when to prefer this over alternatives. Usage is implied rather than explicitly stated, so it lacks clear 'when to use vs. not use' guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
arena_get_job_statusGet Async Job StatusAInspect
Is my universe backtest finished? Polls an async job by job_id (created via arena_run_universe_backtest). Returns status (pending/running/completed/failed), progress_pct, pairs_completed, and once completed: the full result (summary + per-pair results). [Free tier]
| Name | Required | Description | Default |
|---|---|---|---|
| job_id | Yes | UUID job_id returned by arena_run_universe_backtest. | |
| context | Yes | Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): "Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization." |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description mentions polling behavior and return fields, but no annotations exist. It discloses the [Free tier] limitation, which is helpful. However, it does not describe rate limits, whether multiple calls are allowed, or what happens on job failure (e.g., retry vs. error). Without annotations, this is moderately transparent but has gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences plus a note about free tier. It is front-loaded with the key question and clearly structured. The context parameter rule is verbose but necessary for the strict format. Could be slightly tighter but is overall efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description does explain return fields (status, progress_pct, pairs_completed, result). This is good, but it lacks details on output structure for completed result (summary + per-pair). The complexity is moderate, and with 2 well-described params, the description is adequate but could be more complete for a polling tool expecting a result object.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for both parameters. The tool description complements this by clarifying job_id is from a specific sibling tool, and context has a detailed usage rule. This adds meaningful value beyond the raw schema, earning a 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool polls an async job by job_id, links it to a specific sibling (arena_run_universe_backtest), and enumerates return fields. This is specific and distinguishes it from the many sibling tools, most of which are get_* for different data.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly ties usage to the result of arena_run_universe_backtest, implying this is for polling that specific job. However, it does not mention when not to use it (e.g., if the job might be handled synchronously or if another status tool is redundant) or alternatives among siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
arena_get_key_levelsGet BTC Key Levels (S/R clusters + indicator levels)AInspect
Which price levels matter above and below spot? Reproducible Bitcoin structural levels on BOTH sides of spot, in TWO distinct provenance classes. (1) resistance/support: swing-pivot clusters — where past pivot highs+lows cluster into price zones (touch-count, band, last-touch date, signed distance), resistance above spot, support below, nearest-first. (2) indicator_levels.above / .below: named indicator STANDS as marks — 200-day & 200-week simple moving averages, short-term-holder cost basis, Pi-Cycle legs — each carrying its source, formula and as_of date. The two classes are kept separate on purpose: pivots are where price REACTED before, indicator levels are where an indicator STANDS now. Both are measured price clusters: they say where trading has concentrated, not where anyone defends a level. [Free tier]
| Name | Required | Description | Default |
|---|---|---|---|
| context | Yes | Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): "Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization." |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It explicitly states the tool is read-only (reproducible structural levels), describes key behavioral traits (nearest-first ordering, separate classes, what each level type means), and clarifies these are price clusters not defended levels. This is thorough disclosure for a data retrieval tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is moderately long but well-structured with clear sections for each class, bullet-like formatting, and important usage notes. Every sentence adds value, but the description could be slightly tighter without losing the useful detail about the difference between pivot and indicator levels.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and a single non-functional context parameter, the description does an excellent job explaining the tool's output and semantics. It defines both classes of levels, how they're calculated, and how they differ. A complete example of a typical response would improve it further, but overall it's very helpful.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% but the context parameter's description is about analytics tracking, not tool functionality. The tool description itself provides rich detail about what the agent should expect from the key levels output, compensating for the context parameter being non-functional. The description adds meaning beyond the schema by explaining the output structure.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves Bitcoin key levels including resistance/support pivot clusters and indicator levels, specifying that it covers both sides of spot and two distinct provenance classes. This distinctly differentiates it from siblings like arena_get_btc_market_structure or arena_get_indicator_snapshot by explicitly naming exactly what it provides.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains what the tool outputs and clearly separates the two classes of levels (pivots vs indicator levels) with their distinct meanings. While it doesn't explicitly say when NOT to use it or name alternatives, the free tier note and precise scope give sufficient guidance for an AI agent to decide when to use this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
arena_get_knowledgeGet Knowledge ObjectAInspect
What does the platform know about this subject? Fetch a versioned, explainable Knowledge Object by type + subject (e.g. type='market_regime', subject='GLOBAL'). Returns the current published envelope: payload, explanation (factors + weights + confidence), provenance (inputs + params), ontology binding, compute version. ONE tool covers ALL knowledge types. Set include_graph=true to also walk the knowledge graph: resolved outbound edges (what this object is derived_from / references) + inbound edges (what derives from / references it), each with api_path + seo_slug so you can follow them. [Free tier; per-object access additionally gated by min_tier]
| Name | Required | Description | Default |
|---|---|---|---|
| type | Yes | Knowledge object type, e.g. 'market_regime'. | |
| as_of | No | Specific date YYYY-MM-DD. Omit for latest. | |
| context | Yes | Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): "Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization." | |
| subject | Yes | Subject ref, e.g. 'GLOBAL', 'BTC'. | |
| include_graph | No | If true, attach the resolved edge neighbourhood (outbound + inbound) for graph traversal. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Since no annotations are provided, the description carries the full burden of behavioral disclosure. It clearly states the tool is read-only (fetch) and describes the return envelope components (payload, explanation, provenance, ontology binding, compute version). It also explains the optional graph attachment behavior. It mentions versioning and explainability. No side effects or destructive actions are implied. The free tier and per-object access gate are disclosed. It does not mention what happens when no object matches (empty result) or any rate limits, but overall provides good transparency for a get operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is about four sentences long, each carrying clear information. It front-loads the purpose with a question and immediately gives a concrete example. It uses parenthetical lists to detail return fields and graph options. The note about free tier is appended without clutter. It is efficient and well-structured, though the opening question could be slightly more direct. Still, earns a 4 for good craftsmanship.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given there is no output schema, the description compensates by explicitly listing the return envelope components and explaining the graph extension. The 5 parameters (3 required) are covered by schema descriptions, and the description adds context for type/subject with an example. It addresses the graph traversal edge case. It does not cover behavior for missing objects or the exact response format details (but output schema is absent, so less burden). The sibling tool set includes many get_* tools, and the description's 'ONE tool covers ALL knowledge types' helps disambiguate. Adequate completeness for the tool's complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description adds minimal parameter-level detail: it provides an example for 'type' and 'subject' (market_regime, GLOBAL) and explains the effect of 'include_graph'. It does not elaborate on 'as_of' (date pattern), 'context' (required analytics parameter with specific formatting rules from schema), or 'subject' beyond 'subject ref'. The added value is moderate but not sufficient to raise the score above 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description starts with a clear question and then uses the verb 'Fetch' to indicate action on a 'versioned, explainable Knowledge Object'. It specifies the resource type and arguments (type + subject) with a concrete example. It explicitly states 'ONE tool covers ALL knowledge types', which differentiates this from more specific sibling tools like arena_get_macro_regime or arena_get_ontology_term, and from arena_list_knowledge (list vs get).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description frames the use case ('What does the platform know about this subject?') and explicitly states this is the single tool for all knowledge types, guiding the agent away from using other specific endpoints. It mentions the optional graph traversal feature. However, it does not explicitly state when NOT to use this tool (e.g., when a list operation is needed) or name alternatives like arena_get_ontology_term. The note about free tier and min_tier gating provides some usage constraints.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
arena_get_macro_regimeGet Macro Regime SnapshotAInspect
What is the macro backdrop doing? Daily Macro Regime snapshot from 18 components in 6 tiers (Liquidity 30%, Financial Conditions 20%, Risk Appetite 15%, Crypto Liquidity 10%, Business Cycle 15%, Inflation/Real Rates 10%). FRED-sourced. Returns composite_score (0-100), regime_label (risk_off/neutral/risk_on_leaning/risk_on), cycle_phase_label (contraction/early_expansion/mid_expansion/late_expansion), matrix_quadrant (sweet_spot/late_cycle_warning/crisis/recovery), tier_scores (6 sub-scores), components (flat key/value of all 18), plus stale_components_detail dating each stale input (last_good_date + age_days + discontinued flag for series the upstream has retired for good) so freshness is quantified, not a vague caveat. Two component keys mean something narrower than their name suggests, so read them carefully: vix_score is the derived 0-100 score (a value of 71 means VIX around 18.6), NOT the VIX index level — the raw Cboe level is not redistributed over this channel; and broad_dollar_index is FRED DTWEXBGS (Broad USD Index, Jan 2006 = 100), NOT the ICE DXY, so readings near 120 are normal. The former names vix and dxy are still present with identical values but are deprecated and listed in deprecated_fields with their removal date. [Free tier]
| Name | Required | Description | Default |
|---|---|---|---|
| context | Yes | Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): "Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization." |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It explains the output structure in detail, including caveats about vix_score and broad_dollar_index, and deprecated fields. It also mentions stale_components_detail for freshness. However, it does not disclose operational aspects like rate limits, caching, or whether the data is real-time or delayed. The 'Free tier' hint is vague.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the purpose and then details the components and return fields. It is fairly long but every sentence adds value, especially the caveats. It could be slightly more concise by omitting the full component listing, but it remains structured and informative.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the absence of an output schema, the description compensates exceptionally well by detailing the return structure, scores, labels, and caveats. It explains the meaning of vix_score and broad_dollar_index. The only missing piece is the handling of the context parameter, but the schema covers that. Overall, it is very complete for agent invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The only parameter (context) is fully described in the schema with 100% coverage. The tool description does not add any additional meaning or context about how this parameter should be used in relation to the macro regime. Baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool produces a daily macro regime snapshot from 18 components across 6 tiers with specific weights. It distinguishes itself from sibling tools like arena_get_btc_macro_correlations by its composite nature. The verb 'get' and resource 'macro regime snapshot' are specific.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not provide explicit guidance on when to use this tool versus alternatives. It mentions 'Daily' and 'Free tier' but no comparative statements. The agent must infer usage from the description of what it returns, which is insufficient for optimal selection among many similar tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
arena_get_ma_distance_historyGet MA-Distance Time Series (measured, not estimated)AInspect
How far above or below its moving averages did price stand back then? A measured time series, not an estimate. Covers six MAs (50/100/200-day and 50/100/200-week; weekly MAs are simple averages over ISO-week closes, the same definition arena_get_cycle uses, so today's value agrees with that tool). Per date and MA: distance_pct plus TWO percentile ranks — expanding against the pair's own full prior history (with rank_n, null below 500 observations) and rolling over the trailing 504 days. Warm-up discipline: before an MA's full window exists the field is null, never an average over fewer days — a "200-week MA" computed from 400 days looks plausible and is a different metric; the coverage block names each MA's first valid date. BTCUSDT reaches back to 2011-07 via the platform's own pre-Binance closes (source named in price_source); the first valid 200-week value is ~2015-05. Range capped by tier from today backwards; granularity daily/weekly/monthly, coarsened with an explicit note when a request would exceed the row cap. What the numbers are: ratios and ranks, not absolute price or MA levels. For today's absolute MA levels as named marks use arena_get_key_levels (indicator_levels block); for the cycle-scored 200-week distance use arena_get_cycle. [Free 30d / Pro 365d / Power 3650d]
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | ISO date, default today. | |
| mas | No | Subset of MAs; default all six. | |
| from | No | ISO date. Clamped to the tier window measured back from today. | |
| pair | No | Pair, e.g. "BTCUSDT" (default), "ETHUSDT", "SOLUSDT". Non-BTC pairs start at their Binance listing. | |
| context | Yes | Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): "Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization." | |
| granularity | No | Default 'daily'. Rows above the cap are coarsened with an explicit note. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Despite no annotations, the description comprehensively discloses behavioral traits: warm-up discipline (null fields before full window), data source specifics (platform's pre-Binance closes for BTCUSDT), range capping by tier, granularity coarsening with explicit note, and explanation of output types (ratios and ranks, not absolute levels). This fully compensates for the missing annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is thorough and well-structured with clear sections, but it is quite long. While every sentence adds value, it could be slightly more concise by condensing some of the warm-up discipline details into a shorter note. It is not verbose, but not maximally terse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers key completeness aspects: data history, null handling, granularity, cap behavior, and related tools. It does not explicitly describe the output format (e.g., JSON structure) since there is no output schema, but the text mentions the returned fields (distance_pct, percentile ranks, rank_n, coverage block) which compensates. A 4 acknowledges the thoroughness without being fully exhaustive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description adds value by explaining the meaning of the output per parameter (e.g., percentile ranks expanding vs rolling) and clarifying that 'from' is clamped to the tier window. It also names the six MAs explicitly, which is already in the schema's enum, so a 4 is appropriate for the supplementary context.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it returns a measured time series of how far above or below its moving averages a price stood, covering six specific MAs (50/100/200-day and 50/100/200-week). It explicitly distinguishes this from similar sibling tools like arena_get_cycle and arena_get_key_levels by specifying what metrics it provides (distance_pct plus percentile ranks) and that it is measured (not estimated).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context on when to use this tool versus siblings: it names arena_get_key_levels for today's absolute MA levels and arena_get_cycle for the cycle-scored 200-week distance. However, it does not explicitly state when NOT to use this tool or list other alternatives beyond those two, so a slight deduction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
arena_get_max_painGet Deribit BTC Max Pain (latest + upcoming)AInspect
What happened at the last Deribit expiry? Max pain and how spot settled against it: max_pain_strike, spot_at_expiry, %-diff, put_call_ratio, notional. Plus up to 10 upcoming expiries, each with current live max-pain level, days_to_expiry and open_interest_contracts. On days_to_expiry, mind the clamp: it is floored at 0 and therefore CANNOT tell "expiry is today, still hours away" from "expiry was today, already settled" — the same reading covers a live state and a post-mortem. Use settles_at (full ISO timestamp of the settlement moment) and hours_to_settlement (SIGNED — negative means already settled but not yet finalized, so the row is still listed here) whenever that distinction matters. settlement_time_utc names the settlement time assumed for this market; it is 08:00:00Z for DERIBIT_BTC, measured against the exchange itself (public/get_instruments: 868 of 868 open instruments across 13 expiry dates, daily through quarterly, all exactly 08:00:00 UTC). For a market whose settlement time is not evidenced, all three fields are null rather than guessed — a precise-looking wrong timestamp would be worse than none. Read the OI: a max-pain level is only as meaningful as the open interest behind it — a daily expiry with 2,000 contracts and a quarterly with 154,000 are not the same observation. oi_available distinguishes "null" from "not collected". Upcoming expiries also carry open_notional_usd together with notional_spot and notional_spot_date. The two contract fields are the SAME measurement at different observation times, not two different quantities: open_interest_contracts on an upcoming expiry is the open interest at the LATEST daily snapshot, total_contracts on a settled one is the open interest at the LAST snapshot BEFORE expiry (verified in the cron: total_contracts is filled from lastSnap.total_oi_contracts). contracts_as_of names the snapshot those contracts came from. Where it equals expiry_date, contracts and settlement price are same-day — measured on all 64 finalized expiries, so a vintage mix inside total_notional_usd is structurally possible but has never occurred; the field exists so that a future cron gap becomes visible instead of passing silently. Mind the deliberate name split: total_notional_usd on a settled expiry is computed against the SETTLEMENT spot and never changes again, while open_notional_usd uses the CURRENT spot and therefore moves with spot every day, even if not a single contract trades. Same formula, different quantity — which is why the reference spot travels with it. Every expiry — upcoming ones included — now carries is_monthly, is_quarterly and expiry_type (daily | weekly | monthly | quarterly). These NEST rather than partition: quarterly ⊂ monthly ⊂ weekly ⊂ daily, so a quarterly expiry also has is_monthly=true. Filter on the booleans, read expiry_type as the label — it is the only field that separates a Friday expiry from a mid-week one (measured: Fri 18,613 contracts vs. Sat 2,852, and both used to read as false/false). All three are derived from the calendar (last Friday of the month; quarterly in Mar/Jun/Sep/Dec), which is why upcoming expiries can carry them at all — they have no settlement row yet. Cron collects daily 02:00 UTC from Deribit Public API. Related: arena_get_max_pain_history (base rates + daily snapshots of open expiries), arena_get_iv_snapshot (implied vol for the same expiries). [Free tier]
| Name | Required | Description | Default |
|---|---|---|---|
| market | No | Options market. Currently only 'DERIBIT_BTC' (default). IBIT planned. | |
| context | Yes | Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): "Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization." |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description thoroughly discloses behavioral details: clamping of days_to_expiry, signed hours_to_settlement, OI availability, settlement time specifics, field naming conventions, and data source (Deribit Public API). This provides deep transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely long and dense, packing many edge cases and caveats in a single paragraph. While the first sentence effectively summarizes the tool's outputs, the lack of structure (e.g., bullet points) and excessive detail reduce conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description fully compensates by detailing all returned fields, their meanings, edge cases, and derivation logic. It covers data freshness, naming conventions, and potential pitfalls, making the tool's behavior well-understood for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the description adds marginal value over the schema itself for parameters. The tool has only two parameters, both well-documented in the schema. The description provides no additional parameter-level details beyond what the schema already offers.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool gets Deribit BTC max pain data for the last expiry and upcoming expiries, listing the fields returned. It distinguishes from sibling tools like arena_get_max_pain_history and arena_get_iv_snapshot by mentioning them as related, establishing its specific role.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not explicitly state when to use this tool versus alternatives or when not to use it. While it mentions related tools, it lacks direct guidance on selection criteria, leaving the agent to infer usage from context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
arena_get_max_pain_historyGet Deribit BTC Max Pain HistoryAInspect
Does max pain actually pull price to the strike? Settled Deribit BTC options expiries with the max-pain level we compute per expiry, for measuring the convergence question: does spot drift toward the max-pain level as expiry approaches? Each row: expiry_date, max_pain_strike, spot_at_expiry, %-diff, P/C ratio, notional, expiry-type flags. The mandatory base_rates block answers the convergence question PER expiry class (n, median |diff|, shares within 1%/2%, max, sample_adequate at n>=30) — read it before quoting any pinning narrative: the pooled median hides that most settled expiries are tiny dailies, while the monthly group can be n=3 with a -14% outlier. Filter with expiry_type / min_contracts / snapshot_expiry_date instead of post-processing 83 rows for 4. With include_open_snapshots=true it adds the daily observation series of still-open expiries — that series starts 2026-05-28, is not backfillable, and its per-expiry depth is thin, so check open_snapshot_coverage before computing anything from it. Days auto-capped by tier: Pro 365d, Power 3650d. Max-pain levels are our own aggregation across the option chain; the chain itself is not redistributed. Source: Deribit. Related: arena_get_max_pain (current + upcoming), arena_get_iv_snapshot. [API Pro tier]
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | Days back from today (default 90, capped by tier). | |
| market | No | Options market. Currently only 'DERIBIT_BTC' (default). | |
| context | Yes | Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): "Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization." | |
| expiry_type | No | Filter expiries AND open_snapshots to one expiry class (label = highest level reached; the nesting booleans stay untouched). base_rates are always computed BEFORE this filter. | |
| min_contracts | No | Only finalized expiries with total_contracts >= this (rows with unknown contracts drop out when set). | |
| snapshot_expiry_date | No | Reduce open_snapshots[] to exactly this expiry date (YYYY-MM-DD). Only meaningful with include_open_snapshots=true. | |
| include_open_snapshots | No | Default false. When true, adds open_snapshots[] (daily observations of not-yet-expired contracts) plus open_snapshot_coverage. Omit for the unchanged response. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses key behaviors: the base_rates block is mandatory for interpretation, open_snapshots are not backfillable and have thin depth, days are auto-capped by tier, and max-pain levels are proprietary aggregations (chain not redistributed). It also mentions the data source (Deribit). It doesn't explicitly state that this is a read-only operation, but the context implies it. Slight gap: no mention of rate limits or auth requirements, but the description is quite transparent for a data retrieval tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but well-structured: it opens with the core question, then explains the output structure, provides critical interpretation guidance, and ends with related tools and tier info. It's longer than ideal but every sentence adds value. The front-loading is good (the convergence question is stated first). Minor deduction for length and some redundancy (e.g., 'read it before quoting any pinning narrative' is a bit verbose).
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (7 params, no output schema, no annotations), the description is remarkably complete. It explains the output structure (each row fields), the base_rates block's role, the open_snapshots series limitations, tier caps, and data source. It also provides usage warnings (pooled median hides tiny dailies, monthly group can be n=3 with outlier). The only missing piece is explicit return format details, but since there's no output schema, the description covers the key fields. This is a well-rounded description for a complex analytical tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all 7 parameters. The description adds value by explaining the purpose of filters (e.g., expiry_type filters both expiries and open_snapshots, base_rates computed before filter; min_contracts drops unknown contracts; snapshot_expiry_date only meaningful with include_open_snapshots=true). It also explains the open_snapshots series start date and coverage check. This goes beyond the schema's basic descriptions, though it doesn't detail every parameter's syntax (e.g., date format is in schema).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: it retrieves settled Deribit BTC options expiries with computed max-pain levels to measure whether spot price converges to the max-pain strike. It specifies the resource (Deribit BTC options expiries) and the analytical question (does spot drift toward max-pain). It also distinguishes from siblings by naming related tools (arena_get_max_pain for current/upcoming, arena_get_iv_snapshot) and highlighting the historical/backtest nature.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit guidance on when to use this tool: for measuring convergence of spot to max-pain over settled expiries, and warns against misinterpreting pooled data (read base_rates before quoting pinning narrative). It also gives filtering advice (use expiry_type/min_contracts/snapshot_expiry_date instead of post-processing) and notes the open_snapshots series limitations. It names alternatives (arena_get_max_pain for current/upcoming) and specifies tier-based day caps.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
arena_get_mayer_multipleGet Mayer MultipleAInspect
Is BTC stretched against its 200-day average? Returns the current Mayer Multiple — BTC price divided by its 200-day SMA — as spelled-out fields: date, mayer_multiple, price_usd, sma_200d (with sma_200d_source declaring its provenance) and the Trace Mayer (2014) bands as a machine-readable field (<0.7 capitulation, 0.7–1.5 neutral, 1.5–2.4 bullish, >2.4 euphoria). The former raw row shape (d, value.v, value.close) is still present but deprecated — see deprecated_fields with removal date. One ratio, not a regime call: for the multi-indicator cycle read use arena_get_cycle, for the series behind this number arena_get_mayer_multiple_history. The bands are historical description, not thresholds to trade. [Free tier]
| Name | Required | Description | Default |
|---|---|---|---|
| context | Yes | Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): "Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization." |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden. It discloses the deprecated field shape and the historical nature of bands, but does not detail output structure beyond field names, nor any access or rate limits beyond [Free tier] tag.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single dense paragraph covering all key aspects efficiently, but could be slightly more structured (e.g., separating output fields from usage notes). It remains concise and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one parameter, no output schema), the description fully covers the metric's formula, field names, provenance, band interpretation, deprecation note, and alternatives, making it complete for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% for the single context parameter, which is self-explanatory. The description adds no parameter-specific semantics, but the schema already documents the requirement; baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it returns the Mayer Multiple, a specific BTC metric, with explicit fields and distinguishes it from the history tool and the cycle tool among many arena_get_* siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly says 'One ratio, not a regime call' and directs users to arena_get_cycle for multi-indicator reads and arena_get_mayer_multiple_history for the series, providing clear when-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
arena_get_mayer_multiple_historyGet Mayer-Multiple Historical SeriesAInspect
How stretched has BTC been against its 200-day average? Returns the Mayer-Multiple TIME SERIES (BTC price ÷ its 200-day SMA), one row per day, ascending by date. Values around 1 mean price sits at its 200d average; historically high readings clustered near cycle tops and low ones near bottoms — a descriptive ratio, not a trigger. For the current value alone call arena_get_mayer_multiple. Range capped by tier. [Free 30d / Pro 365d / Power unlimited]
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | Number of days back from today (auto-clamped by tier — Free=30, Pro=365, Power=3650). | |
| context | Yes | Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): "Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization." |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Since no annotations are provided, the description carries the full burden. It explains that the ratio is descriptive ('not a trigger'), shows how to interpret values (around 1 = price at SMA, high near tops, low near bottoms), and notes the return format (time series, ascending by date). It does not mention rate limits or destructive side effects, but for a read-only historical query this is acceptable.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise: a rhetorical question, a clear action statement, interpretation context, a sibling reference, and a tier note. No unnecessary words. Each sentence serves a purpose. It is well front-loaded and easy to scan.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that there is no output schema, the description adequately explains the return value (time series, daily rows, ascending, ratio interpretation). It also covers the tool's purpose, alternative, and constraints. For a simple historical data endpoint, this is fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description does not add new semantic information about the two parameters beyond what the schema provides. It implicitly reinforces the 'days' parameter by mentioning tier limits, but the schema already states 'auto-clamped by tier'. The description adds no additional meaning for parameter usage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it returns the Mayer-Multiple time series (BTC price divided by its 200-day SMA) with daily granularity. It uses a specific verb ('Returns'), identifies the resource (BTC, historical Mayer-Multiple), and distinguishes itself from the sibling 'arena_get_mayer_multiple' which returns only the current value.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly tells the agent when to use this tool vs the alternative: 'For the current value alone call arena_get_mayer_multiple.' It also mentions the tier-based range cap, which guides usage based on subscription level. It could be slightly stronger by explicitly stating when not to use it, but the guidance 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.
arena_get_onchain_historyGet On-Chain Series Historical ValuesAInspect
How has this on-chain metric moved over time? Returns the full TIME SERIES of one on-chain metric from the Bitcoin Research Kit — date/value pairs in ascending order, with history back to 2009 for most series. Use it for trend and percentile work; for the single current reading call arena_get_onchain_latest, and to discover valid series_ids call arena_list_onchain_series. Values are as-reported: on-chain metrics can be revised retroactively, so this is not a point-in-time vintage. Range capped by tier — the response carries a range block (requested_days, granted_days, clamped, clamp_reason, tier), so a clamped window announces itself instead of silently looking like the full history. [Free 30d / Pro 365d / Power unlimited]
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | Days back from today (clamped by tier). | |
| context | Yes | Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): "Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization." | |
| series_id | Yes | BRK series id, e.g. 'mvrv'. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description fully discloses behavioral traits: values are as-reported and subject to retroactive revision (not point-in-time), the range is capped by tier with a 'range' block in the response that indicates clamping, and the tier limits are specified (Free 30d / Pro 365d / Power unlimited). This gives the agent a clear understanding of the tool's behavior and limitations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured, starting with a question, then stating the return format, usage guidance, data caveats, and range behavior. While it is somewhat lengthy, every sentence adds value. Could be slightly more concise (e.g., 'time series' is mentioned twice), but overall it is efficient and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the absence of an output schema, the description adequately explains the response format (date/value pairs, range block with clamping details) and the historical depth (back to 2009 for most series). All three parameters are covered, and the tool's purpose, usage, and behavioral traits are fully described, making it complete for both selection and invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description adds value beyond the schema by providing context for the 'context' parameter (15-25 words, third person, no sensitive info) and explicitly noting that 'days' is clamped by tier. It also gives an example for 'series_id' ('mvrv'). This enriches the parameter understanding beyond the schema definitions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description starts with a clear question ('How has this on-chain metric moved over time?') and explicitly states it returns the full time series of one on-chain metric with date/value pairs in ascending order. It also distinguishes itself from sibling tools by naming arena_get_onchain_latest for single current readings and arena_list_onchain_series for discovering valid series_ids.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit guidance: 'Use it for trend and percentile work; for the single current reading call arena_get_onchain_latest, and to discover valid series_ids call arena_list_onchain_series.' Also explains the range clamping behavior and tier limits, helping the agent decide 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.
arena_get_onchain_latestGet On-Chain Series Latest ValueAInspect
What does this on-chain metric read right now? Returns the most recent value of ONE on-chain series from the Bitcoin Research Kit as { series_id, metric_name, date, value }. Cheapest way to answer "what is X right now" (MVRV, SOPR, realized price, hash rate, …). Discover valid series_ids with arena_list_onchain_series; for the history behind the number use arena_get_onchain_history. A single reading has no context — pair it with the series percentile before calling any level high or low. [Free tier]
| Name | Required | Description | Default |
|---|---|---|---|
| context | Yes | Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): "Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization." | |
| series_id | Yes | BRK series id, e.g. 'mvrv', 'sopr', 'realized_price'. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It discloses the operation is a read (returns latest value), mentions cost efficiency ('cheapest way'), specifies output format ({series_id, metric_name, date, value}), and warns about lack of context. It does not cover error handling or rate limits, but for a simple read tool this is sufficient. Score 4 because it's transparent but not exhaustive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a compact paragraph front-loaded with a user-oriented question. Every sentence serves a distinct purpose: stating the function, listing output, noting cost, cross-referencing siblings, and providing usage caution. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple with 2 parameters, no output schema, and no nested objects. The description covers the return format, cross-references related tools, and provides a critical usage hint (pair with percentile). It does not describe error behavior or edge cases, but given the tool's simplicity, the information is largely sufficient. Score 4.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents both parameters. The description adds value by giving examples of series_id values (MVRV, SOPR, etc.) and reinforcing the context parameter's purpose. However, it does not significantly extend beyond the schema's descriptions. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns the most recent value of a single on-chain series, with specific verb ('Returns the most recent value') and resource ('one on-chain series'). It distinguishes from siblings by explicitly mentioning arena_list_onchain_series for discovery and arena_get_onchain_history for history, making the unique purpose unmistakable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit guidance: it's the 'cheapest way' to answer 'what is X right now', directs users to list_onchain_series for valid IDs, and to get_onchain_history for historical data. It also warns against misinterpreting a single reading by recommending pairing with a percentile. This is comprehensive usage direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
arena_get_ontology_termGet Ontology Term DefinitionAInspect
What does this term mean here, exactly? Resolve a knowledge-platform term to its canonical definition (e.g. term='regime'). Returns label, definition (EN/DE), calculation, unit, source + source_ref, version, related terms. Use this to resolve the onto:@ references inside Knowledge Objects. [Free tier]
| Name | Required | Description | Default |
|---|---|---|---|
| term | Yes | Ontology term slug, e.g. 'regime', 'liquidity', 'altcoin_season'. | |
| context | Yes | Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): "Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization." | |
| version | No | Specific version. Omit for current. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description explicitly mentions '[Free tier]', indicating cost implications. No annotations are provided, so the description fully covers behavioral traits. It discloses return format and the resolve-on-reference use case, but could add details about version handling.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is mostly efficient, but the 'context' parameter description is excessively long and includes formatting instructions that may not be necessary, reducing conciseness. The core description is front-loaded with purpose and typical use.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the three parameters and no output schema, the description adequately covers what the tool returns (label, definition, calculation, etc.) and when to use it (resolving references). It does not explain version behavior in depth, but the schema hints via optional parameter.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents parameters. The description adds the example 'regime' for the term parameter and notes the 'context' parameter's role for analytics and user intent tracking, which adds value beyond the schema. However, the 'context' description is verbose and prescriptive, which may detract.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool resolves a knowledge-platform term to its canonical definition, specifying the return fields and citing an example. This distinguishes it from sibling tools which retrieve data or perform actions on different entities.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description suggests using this to resolve 'onto:<term>@<version>' references inside Knowledge Objects, which provides context on when to invoke. However, it does not explicitly state when not to use this tool versus alternatives like arena_list_knowledge or arena_get_knowledge.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
arena_get_platform_activityGet Platform Activity DashboardAInspect
What are people backtesting right now? What is being backtested on Backtesting Arena right now — platform activity, NOT market sentiment. hotAssets, hotStrategies, trendingUp/trendingDown, assetDistribution, strategyAssetMatrix and totalRuns aggregate over the window selected by period (7d default, 30d or 90d). Three fields have FIXED windows independent of period: dailyActivity (daily counts, up to 365 days — year heatmap), weeklyTrend (weekly counts, up to 365 days), profitTrend (share of profitable runs per pair, last 30 days vs. previous 30 days). Honesty note: the counts include our own bulk and admin snapshot runs, so this is coverage-weighted attention, NOT a clean crowd signal — never present it as 'traders are bullish on X'. For actual market sentiment use arena_get_fear_greed, arena_get_funding_rate, arena_get_altcoin_season or arena_get_pulse. Replaces arena_get_sentiment (deprecated alias, removed after 2026-11-15). [Free tier]
| Name | Required | Description | Default |
|---|---|---|---|
| period | No | Aggregation window. Default '7d'. | |
| context | Yes | Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): "Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization." |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full burden. It discloses that counts include admin/bulk runs (coverage-weighted, not clean crowd signal), explains period-dependent vs. fixed-window fields, and notes that it replaces a deprecated tool. This is rich behavioral context, though it doesn't describe exact output format or pagination, which is acceptable since no output schema exists.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is moderately long but densely informative, front-loading the purpose and then detailing fields and caveats efficiently. Every sentence adds value, though the length could be slightly trimmed without losing meaning. The structure is logical: purpose, aggregates, fixed-window fields, honesty note, alternative tools, deprecation note, tier label.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (2 parameters, no nested objects, no output schema), the description comprehensively covers the data returned, the period behavior, important caveats about data sources, alternative tools, and deprecation status. It is fully sufficient for an agent to decide when and why to invoke this tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description adds context about the period parameter ('7d default, 30d or 90d') and explains how it affects the data, but does not add new parameter-level details beyond what the schema provides for the context parameter. The description's value is in explaining the data semantics, not the parameters themselves.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it shows what is being backtested on the platform, distinguishing it from market sentiment. It lists the specific aggregates (hotAssets, hotStrategies, etc.) and explicitly differentiates from sentiment tools like arena_get_fear_greed. The verb 'get' and resource 'platform activity' are specific and distinct from siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states when to use this tool (platform activity) vs. alternatives (arena_get_fear_greed, arena_get_funding_rate, etc. for market sentiment). Also includes a 'honesty note' about not presenting as crowd signal, and notes the deprecated alias and its removal date, providing clear usage boundaries.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
arena_get_pulseGet Arena Pulse TodayAInspect
How hot is the Bitcoin market today? Daily 0-100 heat score for the Bitcoin market, aggregated from 8 components (BTC-Cycle, F&G, Altcoin-Season, Bullmarket-Ampel, Funding-Rate, Hash-Ribbons, Mayer-Multiple, MVRV-Z). Returns score, band label, color, 7d/30d delta, verdict, components breakdown, plus score_percentile ranking today’s score against its own history (e.g. 42 = 44th percentile — how hot/cold vs history, not just the raw number). [Free tier]
| Name | Required | Description | Default |
|---|---|---|---|
| context | Yes | Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): "Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization." |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden for behavioral disclosure. It clearly states the tool is read-only (no mutation implied), returns a 0-100 score with various derived fields (band, color, 7d/30d delta, verdict, components, percentile), and mentions a '[Free tier]' constraint. This provides sufficient behavioral context for an agent to understand outcomes and restrictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is one paragraph of ~70 words, efficiently conveying purpose, composition, return fields, and a usage note (free tier). It is front-loaded with the core value proposition. A minor deduction for the long parenthetical list of components which could be summarized, but overall it earns its space.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has no output schema, the description compensates well by detailing return fields (score, band label, color, 7d/30d delta, verdict, components breakdown, score_percentile). It also explains the percentile in plain language. The only gap is no mention of caching or update frequency (e.g., how often the 'daily' score refreshes), but for a relatively simple 1-param tool with no outputs schema, it is nearly complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The only parameter is 'context' with 100% schema description coverage, which explains its purpose (analytics, intent tracking) and provides formatting rules (15-25 words, third-person, no sensitive data). The description adds value by explaining the tool's output structure and the score_percentile field semantics, helping agents understand what the tool returns without needing explicit param details.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Daily 0-100 heat score for the Bitcoin market', uses a specific verb ('get'), names the resource ('Arena Pulse'), and explicitly differentiates from siblings like arena_get_pulse_history or other indicator tools by explaining it's an aggregate of 8 components. The title 'Get Arena Pulse Today' reinforces purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies this is for getting the current pulse of the Bitcoin market. However, it lacks explicit guidance on when to use this versus siblings like arena_get_fear_greed (one component) or arena_get_pulse_history (history). No exclusion criteria or alternatives are mentioned, though the aggregated nature is somewhat differentiating.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
arena_get_pulse_historyGet Arena Pulse Historical SeriesAInspect
How did market heat get to where it is? Returns the Arena-Pulse TIME SERIES: one row per day with date, 0–100 score and band, in ascending date order. Use it for trend, turning points and "how did we get here"; for today's value alone call arena_get_pulse (cheaper, one row). Range capped by tier. [Free 30d / Pro 365d / Power unlimited]
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | Number of days back from today (auto-clamped by tier — Free=30, Pro=365, Power=3650). | |
| context | Yes | Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): "Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization." |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Despite no annotations, the description clearly discloses the mutation behavior ('Returns ... in ascending date order'), the range cap by subscription tier, and the cost/row comparison to the sibling tool. The only missing context is whether it's read-only (implied but not explicit) and if there are any performance considerations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences plus a bracketed note—zero waste. The key purpose is front-loaded, followed by usage guidance and constraints. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With two simple parameters and no nested objects, the description is nearly complete. It covers purpose, usage guidance, and tier constraints. The only gap is lack of information about error handling or edge cases (e.g., what happens if days exceeds the tier limit), but for a list tool this is minor.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents both parameters. The description adds context for the 'days' parameter by tying it to tier limits, but does not add new meaning 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.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Returns'), a clear resource ('Arena-Pulse TIME SERIES'), and specifies the output format ('one row per day with date, 0–100 score and band, in ascending date order'). It also distinguishes this historical tool from the sibling 'arena_get_pulse' which returns a single row for today's value.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly tells when to use this tool ('trend, turning points and "how did we get here"') and when not to ('for today's value alone call arena_get_pulse (cheaper, one row)'). It also notes the range cap by tier, providing concrete constraints.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
arena_get_report_statusGet Custom-Report Job StatusAInspect
Is my report ready? Poll the status of a Custom-Report job. Lifecycle: pending_payment → queued → running → generating → success/failed. Returns progress_pct, succeeded/failed counts, plus pdf_url / xlsx_url when done. [API Pro tier]
| Name | Required | Description | Default |
|---|---|---|---|
| job_id | Yes | Job UUID returned by checkout. | |
| context | Yes | Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): "Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization." |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, but the description compensates by detailing the lifecycle states, returned fields (progress_pct, succeeded/failed counts, pdf_url/xlsx_url), and an '[API Pro tier]' note, which implies tier restrictions. It lacks disclosure of rate limits or potential side effects, but for a polling tool the behavior is well-covered.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise at three sentences, each serving a clear purpose: TL;DR question, lifecycle overview, and return values plus tier note. It is front-loaded and compact, though the lifecycle list could be slightly more streamlined.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 2 parameters, 100% schema coverage, and no output schema, the description covers the core purpose, lifecycle, and return fields adequately. It lacks details on error handling or edge cases (e.g., what happens on failure), but is sufficiently complete for a polling tool with a well-documented lifecycle.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description adds meaning by referencing 'job_id' as from checkout and the 'context' parameter for analytics (including word count and format rules). However, it does not elaborate on parameter types or constraints beyond the schema, so it meets but does not exceed the baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Poll the status of a Custom-Report job.' It includes the verb 'Poll' and the resource 'Custom-Report job', and distinguishes itself from sibling tools like arena_get_job_status and arena_get_backtest by specifying it is for a Custom-Report workflow.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides a lifecycle sequence (pending_payment → queued → running → generating → success/failed) and mentions required input 'job_id' from checkout. However, it does not explicitly state when to use this tool versus alternatives (e.g., arena_get_job_status) or include when-not-to-use guidance, missing a clear directive.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
arena_get_robustness_fieldRobustness Field — plateau vs. spike + Deflated Sharpe with a counted NAInspect
Is this backtest result real, or a lucky cell? Assess one backtest result against its neighborhood instead of trusting a single "+X% CAGR" cell. Given a (strategy, interval, pair) and YOUR result (user_cagr, optional user_sharpe), returns: the cross-asset distribution of the SAME strategy+interval across every pair the backtest factory ran it on (median, IQR, positive-share, your percentile), a plateau/spike/fragile/mixed verdict, and — where Sharpe coverage allows — a Deflated Sharpe threshold whose N is COUNTED (the number of neighbor assets IS the testing family), not guessed. Honest small-n handling: fewer than 15 neighbors → "insufficient", no DSR-N claimed. Set axis="parameter" for the secondary, always-anecdotal view (the few parameter settings tested on this exact pair). Read-only over result aggregates, look-ahead free. [API Pro tier]
| Name | Required | Description | Default |
|---|---|---|---|
| axis | No | Neighborhood axis. 'cross_asset' (default, dense, carries the verdict + DSR-N) or 'parameter' (secondary, always anecdotal — the parameter settings tested on this one pair). | cross_asset |
| pair | Yes | Trading pair of your cell, e.g. 'BTCUSDT'. | |
| params | No | Optional: numeric strategy parameters of your cell. Only numeric params define the neighborhood; matched per pair where the factory ran them. | |
| context | Yes | Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): "Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization." | |
| interval | Yes | Candle interval, e.g. '1d', '1w', '1M'. | |
| strategy | Yes | Strategy key, e.g. 'rsi_sma'. | |
| user_cagr | Yes | Your result: CAGR in percent (e.g. 41 for +41%) — the cell being assessed. | |
| asset_type | No | Asset class filter (default 'crypto'). | |
| user_sharpe | No | Optional: your annualized Sharpe (result_sharpe scale). Used for the counted-N Deflated Sharpe where neighbor coverage allows. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description bears full responsibility and delivers thoroughly. It declares read-only access ('Read-only over result aggregates, look-ahead free'), describes the return structure (distribution, verdict, DSR threshold), and explains the Deflated Sharpe N-counting logic with its honesty guard ('fewer than 15 neighbors → insufficient'). No contradictions exist since there are no annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense with valuable information but is overly long (150+ words) for what could be more tightly structured. While front-loaded with the key question, it could benefit from short paragraphs or bullet points to improve scannability for an AI agent. Every sentence adds value, but the wall of text reduces readability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a complex tool with 9 parameters, nested objects, and no output schema, the description provides comprehensive guidance: it explains the cross-asset vs. parameter axis, the DSR counting detail, the 15-neighbor guard, the return value categories (median, IQR, positive-share, verdict), and the data scope. The only missing piece is some mention of error/edge cases (e.g., missing pairs), but the completeness for the tool's core purpose is strong.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has 100% coverage, but the description still adds immense value beyond the schema labels. It explains how the 'params' object is used to form the neighborhood, clarifies that user_cagr is the 'cell being assessed' (not just a parameter value), and describes the optional user_sharpe's role in the DSR calculation. The axis parameter's effect on analysis is also explained beyond the enum values.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description starts with a clear question ('Is this backtest result real, or a lucky cell?') and immediately states the tool's purpose: assessing a result against its neighborhood. It specifies the exact resource (one backtest result's robustness) and differentiates it from siblings like arena_get_backtest_trades (getting details) or arena_compare_strategies (comparing strategies, not robustness).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description states the context for use (assessing robustness of a single result) and explicitly describes when DSR-N is not claimed ('fewer than 15 neighbors'). It mentions the axis parameter for a secondary 'anecdotal' view, which hints at when to avoid using it. However, it does not explicitly say when to prefer siblings like arena_compare_strategies or arena_get_strategy_insights, missing a clear exclusion.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
arena_get_sentimentGet Sentiment Dashboard (DEPRECATED — renamed)AInspect
DEPRECATED — renamed to arena_get_platform_activity: this endpoint measures PLATFORM ACTIVITY (what is being backtested on Backtesting Arena), not market sentiment, and the old name made consuming LLMs misuse it. Same payload plus deprecation fields; this alias will be removed after 2026-11-15. Use arena_get_platform_activity. For actual market sentiment use arena_get_fear_greed, arena_get_funding_rate, arena_get_altcoin_season or arena_get_pulse. [Free tier]
| Name | Required | Description | Default |
|---|---|---|---|
| period | No | Aggregation window. Default '7d'. | |
| context | Yes | Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): "Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization." |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of disclosing behavior. It transparently notes the deprecation, the removal date (2026-11-15), the semantic correction, the 'same payload plus deprecation fields', and the free tier. This is strong coverage, though it does not specify the exact nature of the deprecation fields, which would add completeness.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with 'DEPRECATED' and contains multiple sentences, but each sentence adds value: deprecation reason, alternate tool, market sentiment alternatives, and free tier. It is slightly verbose but well-organized and informative.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's deprecation and simple schema, the description covers the essential context: replacement, timeline, semantic correction, and alternatives. It does not describe the response shape, but the 'same payload plus deprecation fields' gives a reasonable hint. Overall, it is sufficient for an agent to decide whether to use this tool or avoid it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already describes both parameters (period, context) with 100% coverage, so baseline 3 is appropriate. The description adds 'same payload' referencing the replacement tool, but does not provide additional parameter-specific semantics beyond what the schema already offers.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states that this endpoint measures PLATFORM ACTIVITY, not market sentiment, correcting the misleading name. It clearly identifies the tool's actual function with a specific verb ('measures') and resource ('platform activity'), and distinguishes it from sentiment tools like arena_get_fear_greed and arena_get_pulse.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit guidance: use arena_get_platform_activity instead, and lists specific alternative tools for actual market sentiment. It clearly states when not to use this tool and directs the agent to the correct replacement, making misuse less likely.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
arena_get_signal_contextSignal Context — filters vs. today, in one callAInspect
Should I take this entry? Answers it for one (strategy, pair, interval) in ONE call instead of seven. Aligns what each entry filter historically did to this strategy (arena_get_strategy_filter_effect) with where that filter stands TODAY (bull-market gauge, altcoin-season signal, volatility phase, 200-week trend for BTC): filters[].blocks_this_entry says which filter would sit this entry out, with the measured worst-loss / return deltas next to it. Adds the current signal state (anticipated is always false — before candle close there is no signal), an edge_vs_benchmark block gated by the MEASURED noise floor (a gap below the floor is a measurement artifact, not a finding), a contradictions block (e.g. Pulse risk-off while the macro regime reads risk-on — reported, never resolved), and measured invalidation zones (pivot clusters, 200-week SMA; BTC only). detail: 'headline' (default) returns the statement, three key numbers and only the decisive filters; 'full' adds every variant, the raw pulse/macro/filter-effect blocks. Every source can fail independently — sources_used / sources_unavailable make the basis auditable; the answer never silently narrows. Returns a plain-language statement with its confidence and the reason for that confidence — state it, do not hedge it further; the payload carries its own scope note. Compose further with arena_get_strategy_performance_by_regime (WHEN has this worked) and arena_is_distinguishable. [Free tier]
| Name | Required | Description | Default |
|---|---|---|---|
| pair | Yes | Pair, e.g. 'BTCUSDT'. Case-insensitive. | |
| detail | No | 'headline' (default): statement + key numbers + decisive filters. 'full': every measured variant plus the raw source blocks. | |
| context | Yes | Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): "Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization." | |
| interval | No | Default '1w'. Candle interval: '1d' daily, '2d'/'3d' multi-day, '1w' weekly, '1M' monthly. Multi-day candles (2d/3d) are anchored to the Unix epoch, so one of n possible alignments is used. Measured on our own corpus, the choice of alignment alone moves CAGR by 6.66 pp on average (max 12.30). Treat differences below that as not distinguishable — 1d/2d/3d behaved as one block in our tests, not a ranking. | |
| strategy | Yes | Strategy key, e.g. 'rsi_sma'. See arena_list_strategies. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description fully discloses behavior: anticipated is always false before close, edge_vs_benchmark is gated by noise floor, contradictions are reported not resolved, sources can fail independently, and the answer never silently narrows. This is exemplary transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is long but information-dense and well front-loaded with the core question. Every sentence serves a purpose, though some elaborations could be tightened without loss of clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description thoroughly explains return blocks: filters[].blocks_this_entry, edge_vs_benchmark, contradictions, invalidation zones, statement/confidence, and sources_used/sources_unavailable. It covers edge cases and limitations, making it complete for a complex analysis tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description adds meaningful semantic detail beyond the schema, notably for 'interval' (alignment effects on CAGR and indistinguishability) and 'detail' (headline vs full), raising the score.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with 'Should I take this entry?' and states it 'Answers it for one (strategy, pair, interval) in ONE call instead of seven.' This clearly identifies the tool's function and distinguishes it from the sibling filter-effect tool by combining historical filter alignment with current signal state.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains this tool replaces seven calls and references complementary tools: 'Compose further with arena_get_strategy_performance_by_regime (WHEN has this worked) and arena_is_distinguishable.' It does not explicitly state when not to use it, but the context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
arena_get_signal_statusGet Signal Status (Ampel)AInspect
Is this strategy signalling buy or sell right now? Current signal-status (green/yellow/red) for a strategy on a pair+interval. Backed by the daily check-signals cron — needs at least one user with an active Ampel on this combination. [Free tier]
| Name | Required | Description | Default |
|---|---|---|---|
| pair | Yes | Trading pair / symbol. | |
| context | Yes | Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): "Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization." | |
| interval | Yes | Candle interval: '1d' daily, '2d'/'3d' multi-day, '1w' weekly, '1M' monthly. Multi-day candles (2d/3d) are anchored to the Unix epoch, so one of n possible alignments is used. Measured on our own corpus, the choice of alignment alone moves CAGR by 6.66 pp on average (max 12.30). Treat differences below that as not distinguishable — 1d/2d/3d behaved as one block in our tests, not a ranking. | |
| strategy | Yes | Strategy key, e.g. 'rsi_sma'. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so the description carries full burden. It fully discloses that it's a read-only check backed by a daily cron job, that it requires active user subscriptions to return meaningful data, and that it has a free tier. All of this is valuable beyond the schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three concise sentences front-loaded with the core purpose, then dependencies, then tier info. No fluff or wasted words. Each sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description could hint at the return format but doesn't. However, the tool is simple (green/yellow/red status) and the description is thorough enough for an agent to use correctly. Completeness is good for a non-complex tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description doesn't add parameter-specific meaning beyond what the schema provides (e.g., interval has very detailed enum documentation in the schema itself, the context parameter is fully defined in schema). No additional value from description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('getting') and resource ('signal-status') with clear outcome ('green/yellow/red'), and distinguishes from siblings like arena_get_signal_context which provides broader context rather than current status.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Clearly states when to use this tool (current signal status) and what prerequisites are needed ('needs at least one user with an active Ampel on this combination'). However, it doesn't explicitly say when NOT to use it or mention alternatives among the many sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
arena_get_spot_priceGet BTC/ETH/SOL Spot PriceAInspect
Current BTC, ETH and SOL spot price — what is Bitcoin (or ETH/SOL) worth right now? Live USDT-quoted last price plus 24h change %, high and low from Binance. Use this to anchor the connector’s own analytics (cycle, historical-analog, gem scores) with the current market price instead of switching to web search mid-analysis. [Free tier]
| Name | Required | Description | Default |
|---|---|---|---|
| context | Yes | Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): "Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization." |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full burden. It describes the output (last price, change %, high/low) and source (Binance), and mentions '[Free tier]'. However, it does not disclose how often the price updates, whether it is cached, or any rate limits or authentication requirements. More behavioral context would be helpful.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two concise sentences. The first delivers the core purpose and data returned, the second provides usage guidance and a free-tier note. Every word earns its place with no redundancy. It is front-loaded and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter price tool with no output schema, the description adequately covers what is returned (last price, 24h change, high, low) and the source (Binance). It also mentions the free tier and use case. It does not describe the response format or error cases, which would push it to 5, but overall it is sufficient for an agent to understand and use the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The only parameter is 'context' (required, string). Schema description coverage is 100%, so baseline is 3. The main description does not add meaning beyond what the schema already says. The parameter is for analytics tracking, not for modifying the tool's primary price retrieval behavior. The schema description is adequate but the overall parameter semantics do not add extra value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool fetches the current spot price for BTC, ETH, and SOL, providing last price, 24h change, high, and low from Binance. This is specific and distinguishes it from the many other arena_ data tools (e.g., arena_get_gem_score, arena_get_onchain_latest) which focus on analytics or history.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit usage guidance: 'Use this to anchor the connector’s own analytics... instead of switching to web search mid-analysis.' This tells the agent when and why to use the tool while steering it away from a common alternative. However, it does not compare to other arena_ sibling tools, which would make it even clearer.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
arena_get_stablecoin_supplyGet Stablecoin Supply TrendAInspect
Aggregate stablecoin supply (crypto-liquidity proxy) — is the liquidity impulse turning or accelerating? macro_regime only gives the 30d delta; this exposes the trend: current supply, 30d/90d change (USD + %) plus a compact time series so direction and speed are visible, not just a single delta. Read impulse for what the supply change is doing — four states (accelerating / decelerating / reversal / flat). The neighbouring acceleration_usd is the signed difference last-30d minus prior-30d and gets LARGE exactly when the trend reverses, while the older boolean accelerating requires the same direction AND a bigger magnitude; a reversal therefore shows a big acceleration_usd next to accelerating: false. Source DefiLlama peggedUSD. [Free tier]
| Name | Required | Description | Default |
|---|---|---|---|
| context | Yes | Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): "Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization." |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It adequately discloses that the tool is a read operation, gives context on the source (DefiLlama peggedUSD), acknowledges the free tier limitation, and explains behavioral details like the four impulse states and how reversal is indicated. This is transparent for a data-retrieval tool, though it doesn't mention potential rate limits or data latency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded with the core purpose ('Aggregate stablecoin supply...'), then progressively adds detail about output fields and interpretations. It's slightly wordy in parts (e.g., the example in 'accelerating: false') but each sentence contributes to understanding. Could be trimmed slightly without losing substance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has only one parameter, no output schema, and is a data-retrieval tool, the description is quite complete. It explains the output's structure (current supply, 30d/90d change, time series, impulse states), differentiates from a sibling, and notes the data source and tier. A small gap: it doesn't specify whether the output is a single object or an array, but the behavioral hints compensate. For a simple tool, this is well-rounded.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with only one parameter ('context'). The description adds value beyond the schema by explaining why the tool is called (to expose trend vs single delta) and what output it provides, which helps the agent understand the context parameter's role in tracking intent. The context parameter's description is detailed, but the tool description itself doesn't reiterate parameter specifics (though schema details are covered). Baseline 3 is adjusted upward because the description effectively orients the agent on what the tool yields, making the context parameter more meaningful.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as aggregating stablecoin supply as a crypto-liquidity proxy, and it distinguishes its purpose from 'macro_regime' (which only gives a 30d delta) by exposing a broader trend with current supply, 30d/90d change, and a compact time series. The verb 'exposes' and resource 'stablecoin supply trend' are specific, and the mention of 'impulse' states adds further clarity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context for when to use this tool: it's for seeing the trend and direction of liquidity impulse, contrasting with 'macro_regime' which only gives a single delta. It also explains the meaning of the 'impulse' field and how it relates to 'acceleration_usd' and 'accelerating', giving guidance on interpreting the output. However, it does not explicitly state when NOT to use this tool or name direct alternatives beyond macro_regime.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
arena_get_sth_cost_basisGet BTC Short-Term-Holder Cost Basis (latest)BInspect
What did recent buyers pay on average? Latest BTC short-term-holder cost basis (realized price of coins younger than ~155 days, BRK brk_sth_realized_price) plus derived STH-MVRV (spot ÷ STH cost basis) and an in_loss flag (spot below cost basis = recent buyers underwater in aggregate, historically stress / near local bottoms). Descriptive on-chain context, not a buy/sell signal. [Free tier]
| Name | Required | Description | Default |
|---|---|---|---|
| context | Yes | Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): "Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization." |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses the tool returns three metrics (cost basis, MVRV, in_loss flag) and notes it is descriptive, not a signal, and has a '[Free tier]' label. It does not explicitly state it is read-only or discuss rate limits, but the 'get' verb and context imply safe retrieval. Adequate but not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences long and front-loaded with a clear question. It efficiently conveys the metric and derived values. However, the phrasing is slightly run-on and could be more structured. Still, every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple data retrieval tool with one parameter and no output schema, the description explains the returned metrics, their meaning (e.g., in_loss flag), and provides context (descriptive, not a signal, free tier). It lacks specification of the output format, but given the tool's simplicity, it is largely complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description does not add any information about the 'context' parameter beyond what the schema already provides. No extra semantics or usage examples are given.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it returns the BTC short-term-holder cost basis along with derived STH-MVRV and an in_loss flag. The verb 'get' and resource 'STH cost basis' are specific. However, it does not explicitly distinguish itself from the many sibling on-chain tools, though the unique metric makes it identifiable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool vs alternatives. The description notes it is 'descriptive on-chain context, not a buy/sell signal' but does not provide when-to-use or when-not-to-use criteria. Among many sibling arena_get_* tools, clear usage context would help agent selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
arena_get_strategy_filter_effectGet Strategy Filter Effect Snapshot (per Asset)AInspect
What would each entry filter have changed for this strategy? Per-(strategy, asset, interval) filter-effect analysis. Returns baseline-stats (no filters) + each observed filter-variant's stats with cagr_delta / drawdown_delta / win_rate_delta vs the time-overlap-matched baseline + best_by_cagr pick + not_applicable_filters list (e.g. altcoin_season excluded on BTC-pair). Baseline and each variant carry their aggregation window (from/to + avg_run_years) — CAGR is time-normalized, so identical trade sets over different windows legitimately produce different CAGR. Based on REAL backtest aggregations — not theoretical 2^5 permutations. Use this to answer 'Which filters would improve my backtest for X on Y?'. [Free tier]
| Name | Required | Description | Default |
|---|---|---|---|
| asset | Yes | Pair / symbol (e.g. BTCUSDT). Case-insensitive. | |
| context | Yes | Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): "Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization." | |
| interval | No | Default '1w'. Candle interval: '1d' daily, '2d'/'3d' multi-day, '1w' weekly, '1M' monthly. Multi-day candles (2d/3d) are anchored to the Unix epoch, so one of n possible alignments is used. Measured on our own corpus, the choice of alignment alone moves CAGR by 6.66 pp on average (max 12.30). Treat differences below that as not distinguishable — 1d/2d/3d behaved as one block in our tests, not a ranking. | |
| strategy | Yes | Strategy key (see arena_get_strategies). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears full burden. It discloses key behavioral traits: the tool returns baseline-stats plus variant-specific deltas, includes a not_applicable_filters list, and clarifies that CAGR is time-normalized across different windows. It also warns about multi-day candle alignment and its effect on CAGR variability (6.66 pp). However, it does not explicitly state whether the tool is read-only or destructive, but given the analytic nature, this is a minor gap. The free tier note also gives transparency on pricing constraints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single paragraph of moderate length (around 120 words). It front-loads the core purpose ('What would each entry filter have changed for this strategy?') and then expands with output details and caveats. It is mostly efficient, though some sentences (e.g., about CAGR time-normalization) could be tighter. The use of '—' for parentheticals helps structure. A bullet list might improve readability, but overall it earns its space with valuable details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (4 parameters, 100% schema coverage, no output schema), the description is highly complete. It explains what each output component means (baseline stats, variant deltas, not_applicable_filters, best_by_cagr pick), clarifies aggregation window and CAGR normalization, and warns about multi-day candle alignment issues. The note about real versus theoretical permutations sets appropriate expectations. No output schema exists, so the description compensates well.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description adds significant value beyond the schema: it explains that 'context' is for user intent tracking with specific formatting rules (15-25 words, third-person, no sensitive info), details the interval parameter's behavior (multi-day anchor, CAGR variability of 6.66 pp, grouping of 1d/2d/3d), and clarifies that strategy keys come from arena_get_strategies. The description enriches every parameter with practical guidance.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states what the tool does: it provides per-(strategy, asset, interval) filter-effect analysis, showing what each entry filter would have changed for a given strategy. It distinguishes itself from siblings by referencing siblings like arena_get_filter_insights implicitly (by focusing on strategy-specific filter effects) and by specifying the output includes baseline stats, variant stats, and best_by_cagr pick, which is unique among the listed tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states when to use the tool: 'Use this to answer "Which filters would improve my backtest for X on Y?"'. It also provides exclusions by mentioning 'not_applicable_filters list (e.g. altcoin_season excluded on BTC-pair)', and hints at alternatives by contrasting with theoretical permutations ('Not theoretical 2^5 permutations. Based on REAL backtest aggregations'). This makes the usage context clear and actionable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
arena_get_strategy_insightsGet Strategy Insights Matrix or DetailAInspect
Which strategy and interval combinations actually performed? Aggregated backtest performance per (strategy × interval) cell. If strategy AND interval provided, returns detail with per-asset breakdown + param variants. Otherwise returns the matrix. Free tier is limited to the same strategies that are free in the backtester itself (rsi_sma, golden_cross, rsi_ob_os, bnh_fixed, dca_reference); the response then carries plan_capped: true plus plan_cap_note, so a short matrix is never mistaken for a thin database. Detail mode on a Pro-only strategy returns 403 rather than a silently empty answer. API Pro and Power receive every cell. [Free: 5 strategies / Pro+: full]
| Name | Required | Description | Default |
|---|---|---|---|
| context | Yes | Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): "Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization." | |
| interval | No | Detail mode: interval. Candle interval: '1d' daily, '2d'/'3d' multi-day, '1w' weekly, '1M' monthly. Multi-day candles (2d/3d) are anchored to the Unix epoch, so one of n possible alignments is used. Measured on our own corpus, the choice of alignment alone moves CAGR by 6.66 pp on average (max 12.30). Treat differences below that as not distinguishable — 1d/2d/3d behaved as one block in our tests, not a ranking. | |
| min_runs | No | Matrix mode: minimum runs per cell. Default 5. | |
| strategy | No | Detail mode: strategy key (used together with `interval`). | |
| asset_type | No | Restrict to one asset class. | |
| assets_mode | No | 'top10' restricts to top-10 pairs by run-count. | |
| ref_strategy | No | Benchmark reference. Default 'bh'. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It discloses free-tier capping (`plan_capped: true`, `plan_cap_note`), 403 behavior for Pro-only strategies in detail mode, and even quantifies interval-alignment uncertainty (6.66 pp CAGR move) to prevent misinterpretation. This is rich behavioral context beyond the schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but well-organized: purpose first, then mode behavior, then plan restrictions, then a compact summary. Every sentence adds either actionable guidance or critical caveats. No fluff or repetition of the schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 7-param tool with no annotations and no output schema, the description completely covers modes, response contents, error behavior, free-tier constraints, and parameter-interpretation caveats. It leaves no meaningful gaps for the agent to make a wrong call.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds significant value by explaining mode semantics (strategy+interval together trigger detail), free-tier limitations, and interpretation guidance for multi-day candles. It goes beyond what the property descriptions say, such as the alignment affecting CAGR and that differences below that threshold are not distinguishable.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific question ('Which strategy and interval combinations actually performed?') and names the resource ('Aggregated backtest performance per (strategy × interval) cell'), then clearly distinguishes matrix vs detail modes. This differentiates it from sibling tools like arena_get_strategy_performance and arena_compare_strategies.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit mode-selection rules: if both `strategy` and `interval` are provided, detail mode returns per-asset breakdown; otherwise matrix mode returns. It also warns about free-tier limitations and refers users to what happens with Pro-only strategies, effectively guiding when to use and what to expect.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
arena_get_strategy_performanceGet Strategy Performance Snapshot (per Asset)AInspect
How did this exact strategy, asset and interval perform? Aggregated backtest performance for ONE specific (strategy, asset, interval) combination. Returns run_count, avg_cagr, avg_win_rate, avg_drawdown, effective_years, vs_buy_hold comparison (beats_buy_hold, cagr_delta) and an evidence block declaring the gate machine-readably (gate_applies_to: stats.run_count, threshold 5 runs, benchmark value, aggregation data window). For multi-strategy overview use arena_get_strategy_insights. Use this to answer 'How does strategy X perform on asset Y?'. [Free tier]
| Name | Required | Description | Default |
|---|---|---|---|
| asset | Yes | Crypto pair / symbol (e.g. BTCUSDT, ETHUSDT). Case-insensitive. | |
| context | Yes | Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): "Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization." | |
| interval | No | Default '1w'. Candle interval: '1d' daily, '2d'/'3d' multi-day, '1w' weekly, '1M' monthly. Multi-day candles (2d/3d) are anchored to the Unix epoch, so one of n possible alignments is used. Measured on our own corpus, the choice of alignment alone moves CAGR by 6.66 pp on average (max 12.30). Treat differences below that as not distinguishable — 1d/2d/3d behaved as one block in our tests, not a ranking. | |
| strategy | Yes | Strategy key (e.g. rsi_sma, golden_cross). See arena_get_strategies for valid keys. | |
| asset_type | No | Optional asset class filter to disambiguate (e.g. when same pair-name exists in two classes). | |
| ref_strategy | No | Benchmark reference. Default 'bh' (Buy & Hold). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It details the return values (run_count, avg_cagr, avg_win_rate, etc.) and the evidence block structure, including gate conditions. It does not explicitly state it is read-only or has no side effects, but the context of querying aggregated performance implies a safe read operation. The level of detail is high, earning a 4.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, dense paragraph that is front-loaded with a clarifying question. It packs in return field details, alternative tool reference, and a free tier note without wasted words. While it could be slightly more structured (e.g., bullet points for return fields), it is efficiently concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has 6 parameters, no output schema, and moderate complexity. The description covers the return structure, the evidence block, and the usage context. It does not discuss error cases (e.g., insufficient runs) or edge cases, but given the single-combination focus, the coverage is mostly complete. A slightly higher score would require explicit error handling notes.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds value beyond the schema by providing extra context for the interval parameter (alignment effects, CAGR differences) and reiterating the third-person requirement for the context parameter. This additional semantic guidance justifies a 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns aggregated backtest performance for exactly one (strategy, asset, interval) combination. It uses the verb 'perform' and specifies the resource as 'exact strategy, asset and interval'. It distinguishes itself from the sibling arena_get_strategy_insights by explicitly naming it for multi-strategy overviews.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit guidance: 'For multi-strategy overview use arena_get_strategy_insights' and 'Use this to answer "How does strategy X perform on asset Y?"'. It also includes a '[Free tier]' tag, implying cost considerations. This clearly tells the agent 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.
arena_get_strategy_performance_by_regimeGet Regime-Aware Strategy PerformanceAInspect
In which macro regime has this strategy worked? Historical backtest performance for ONE (strategy, asset, interval) combination SPLIT BY macro market regime (sweet_spot / late_cycle_warning / crisis / recovery — classified at each trade's entry date), PLUS the CURRENT live regime so you can align the buckets yourself. Answers 'WHEN has this strategy worked?' — deliberately NOT 'should I trade now': the former recommendation.verdict was removed (2026-08-15) because it ranked regimes on the pooled trade sum and could flip when another user's backtest changed the pool. Each regime bucket returns trades, trades_per_config (trade counts pool ALL parameter-variant configs — see config_count), win_rate, avg_pnl_pct (per-trade return, not annualized), reward_risk_ratio (per-trade mean/stddev, NOT annualized Sharpe), share_of_time_pct (calendar-day-weighted — each regime observation counts the days until the next one, so the mixed weekly/daily cadence of the regime history does not skew the share) and a rating. The benchmark block anchors the payload with the combination's buy-and-hold CAGR (identical to arena_get_strategy_performance vs_buy_hold — without that anchor, regime avg_pnl_pct is a trajectory, not an excess). For a decision-grade view compose with arena_get_strategy_filter_effect and arena_is_distinguishable. [Free tier]
| Name | Required | Description | Default |
|---|---|---|---|
| asset | Yes | Crypto pair / symbol (e.g. BTCUSDT, ETHUSDT). Case-insensitive. | |
| context | Yes | Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): "Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization." | |
| interval | No | Default '1w'. Candle interval: '1d' daily, '2d'/'3d' multi-day, '1w' weekly, '1M' monthly. Multi-day candles (2d/3d) are anchored to the Unix epoch, so one of n possible alignments is used. Measured on our own corpus, the choice of alignment alone moves CAGR by 6.66 pp on average (max 12.30). Treat differences below that as not distinguishable — 1d/2d/3d behaved as one block in our tests, not a ranking. | |
| strategy | Yes | Strategy key (e.g. rsi_sma, golden_cross). See arena_get_strategies. | |
| asset_type | No | Optional asset class filter to disambiguate identical pair-names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description bears full transparency responsibility. It thoroughly explains the output fields (trades, win_rate, avg_pnl_pct, etc.), the interpretation of share_of_time_pct, and the alignment sensitivity of multi-day candles. It also documents the removal of the former recommendation.verdict. Minor omissions: no explicit statement about side effects (read-only) or rate limits, but the detail provided is substantial.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is verbose and somewhat repetitive, e.g., repeating 'trade counts pool ALL parameter-variant configs' and the note about days until the next observation. While it is logically structured, it could be tightened without losing meaning, making it less efficient than ideal.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the tool's purpose, output metrics, interpretation caveats, and relationship to other tools. There is no output schema, but the prose clearly explains what the tool returns, including the benchmark block and the meaning of each metric. It is sufficiently complete for a user to understand the tool's capabilities and limitations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for all 5 parameters. The description adds significant value by explaining the alignment effect for interval and the caution about distinguishing differences, and by reinforcing the required word count and third-person perspective for context. This goes beyond the basic schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states that the tool provides historical performance split by macro regime, answering 'WHEN has this strategy worked?' and explicitly contrasts with 'should I trade now' and the removed recommendation feature. It also distinguishes from the sibling tool arena_get_strategy_performance by the regime breakdown.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains when to use it (to assess regime-based performance) and when not to use it (not for trade timing). It also references alternative tools like arena_get_strategy_filter_effect and arena_is_distinguishable for decision-grade views, providing clear context for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
arena_get_trend_channelsGet Log-Linear Regression Channels (90/180/365 bars)AInspect
Where does price sit inside its trend channel? Mechanically fitted trend channels for a pair: log-linear regression over close plus 1σ/2σ bands, computed over three windows at once (90/180/365 bars). The three windows are not selectable by design — a single window invites trying them until one supports the thesis, three side by side show whether a channel is robust or an artifact of the window choice, and agreement.consistent states which it is. The differentiator is r_squared_percentile: "R² 0.42" says nothing, "R² 0.42 — 31st percentile of all same-size windows on this pair" says this channel is worse defined than two thirds of past ones, which is what stops a wish-line being read as structure. Where history is too short the window is omitted and listed in windows_unavailable with a reason — never estimated from fewer bars; below 500 bars (1d) / 150 (1w) the raw values still come but percentile is null rather than a rounded number from too small a sample. Pairs listed within the last few months (the tokenized equities and ETFs) therefore return data_sufficient: false and an empty channel list — that is the answer, not an error. Set interval to '1w' for the weekly view; note that a window is counted in bars, so 365 on '1w' means 365 weeks and most pairs do not reach it. What a band edge is: a description of past dispersion, not a level the market defends. Related: arena_get_key_levels (pivot clusters), arena_get_btc_market_structure (trend flips and their base rate), arena_get_historical_analog (whether a condition like the current one ever paid). [Free tier]
| Name | Required | Description | Default |
|---|---|---|---|
| pair | No | Pair, e.g. "BTCUSDT" (default), "ETHUSDT", "PAXGUSDT". Full history is used regardless of listing date. | |
| context | Yes | Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): "Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization." | |
| interval | No | Default '1d'. On '1w' a 365-bar window means 365 weeks — most pairs do not reach it and it is reported as unavailable. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description fully discloses behavioral traits: the three windows are non-selectable by design to avoid cherry-picking; 'never estimated from fewer bars' with thresholds (500 bars daily, 150 weekly); percentile is null when sample size is insufficient; listing-age pairs return empty channels with data_sufficient: false. It also clarifies that band edges describe past dispersion, not defended levels, preventing misinterpretation. The 'Free tier' indication at the end adds transparency about access.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured: starts with a purpose-question, explains methodology and design rationale, covers limitations and edge cases, and ends with related tools. Each sentence adds value, though some repetition occurs (e.g., window count vs. bar count). It is appropriately detailed given the tool's complexity, but could be slightly tighter without losing clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 3 parameters and no output schema, the description provides near-complete context. It explains what the tool returns (trend channels, R² percentile, agreement.consistent, windows_unavailable, data_sufficient), covers edge cases (short history, weekly interval, listing-age pairs), and warns about interpretation pitfalls (band edges not support/resistance). The listing of related tools further situates the tool within the broader suite.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3, but the description adds practical value: for 'pair' it gives examples and notes full history is used; for 'interval' it explains that windows are counted in bars and most pairs won't reach 365 weeks on '1w'. The description also explains output semantics (r_squared_percentile, agreement, windows_unavailable) compensating for the missing output schema. However, the 'context' parameter receives no additional explanation beyond its schema description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool computes trend channels using log-linear regression over three fixed windows (90/180/365 bars), with R² percentiles to assess robustness. It differentiates itself from siblings by naming related tools (arena_get_key_levels, arena_get_btc_market_structure, arena_get_historical_analog) and explaining its unique design (multiple non-selectable windows prevent p-hacking). The opening question 'Where does price sit inside its trend channel?' further solidifies the purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit when-to-use context: analyzing trend channel fit and robustness. It offers alternatives: 'Related: arena_get_key_levels, arena_get_btc_market_structure, arena_get_historical_analog' with brief explanations of their different focuses. It also guides on when results are not an error ('Pairs listed within the last few months... return data_sufficient: false and an empty channel list — that is the answer, not an error') and warns about window length (365 weeks on '1w' interval exceeds most pairs' history).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
arena_get_universeGet Universe DetailAInspect
Which pairs are in this universe? Returns one pair universe in full: its id, label, selection rule and the complete list of pairs it currently contains. Use it to see what you are about to test BEFORE handing a universe_id to arena_run_universe_backtest, or to resolve a universe into explicit pairs. For the list of available universes call arena_list_universes. Universes reflect the CURRENT membership — they are not point-in-time, so a backtest over them carries survivorship bias for the earlier years. [Free tier]
| Name | Required | Description | Default |
|---|---|---|---|
| context | Yes | Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): "Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization." | |
| universe_id | Yes | Universe id, e.g. 'top-10-crypto'. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description explicitly warns about survivorship bias: 'Universes reflect the CURRENT membership — they are not point-in-time, so a backtest over them carries survivorship bias for the earlier years.' This is critical behavioral context beyond the tool's basic function. Since no annotations are provided, the description carries the full transparency burden and handles it well, though it could also mention any rate limits or destructive effects, which appear absent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is efficient with three sentences covering purpose, use case, behavioral caveat, and sibling reference. The first sentence immediately answers the user's likely question. The '[Free tier]' tag is a minor addition but not essential, and the whole text earns its length.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the moderate complexity (2 parameters, no nested objects, no output schema), the description is complete. It explains what the tool returns, when to use it, how it relates to sibling tools, and a key trade-off (survivorship bias). There is no critical missing information for the AI to make an informed invocation decision.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description does not add detail about the 'universe_id' parameter beyond the schema's example, but it does clarify the context parameter's purpose in an example. It does not significantly extend the schema's meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states 'Which pairs are in this universe?' and details the return structure (id, label, selection rule, pairs). It clearly distinguishes from sibling tools like arena_list_universes and arena_run_universe_backtest, making its purpose specific and unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives direct guidance: 'Use it to see what you are about to test BEFORE handing a universe_id to arena_run_universe_backtest' and 'to resolve a universe into explicit pairs.' It also tells when not to use it by referencing arena_list_universes for listing available universes, providing full context for tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
arena_get_volatility_historyGet BTC Volatility History (RV + ATR%)AInspect
How volatile has Bitcoin been? Daily Bitcoin volatility time series: realized volatility (30d & 90d, √252-annualized, close-to-close) and ATR% (Wilder EMA-14, captures intraday range + gaps), on the same scale. Ranks come in two flavours and they answer different questions — rvRank/atrPctAnnRank expand from the start of history and are look-ahead-free, but BTC volatility has fallen structurally, so a filter like "rank below 10" mostly picks up that decline rather than a regime; rvRankRolling/atrPctAnnRankRolling rank against a trailing 2-year window and are the ones to use for cross-epoch regime comparisons. History reaches back to 2009 via a stitched pre-Binance close series; ATR is null before the Binance era because no daily high/low exists that far back (see meta.coverage). Use from/to for a specific window instead of pulling everything and discarding it, and granularity/fields to keep long ranges affordable. Agents fetching long ranges should pass schema_version: "2026-08" today: it rounds floats. Two savings figures, and they are not the same number. ON ITS OWN it cut 30–36 % of characters depending on window length (measured 2026-07-31; the saving falls on long ranges because the pre-Binance years carry null ATR, and nulls do not round). COMBINED with fields: "minimal" and meta: "minimal" it cut about 45 % (measured 2026-08-17). Budgeting from the single-effect figure therefore understates what the combination buys. Both are dated measurements, not promises — every response carries a size block with chars_before/chars_after/saved_pct for YOUR call, so read that instead of these numbers. It is opt-in until the default flips 2026-11-01. Free tier: last 365 days. Related: arena_get_volatility_phases (current phase per pair), arena_get_iv_snapshot (implied vs. this realized — same RV method, but its realized_vol_30d is computed at snapshot time BEFORE that date has traded, so on fresh breakout days the two can differ; this series uses completed closes and is the one to trust for finished days), arena_get_cycle (regime context). [Free tier]
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | ISO date (YYYY-MM-DD), inclusive. End of the window. Defaults to the latest bar. | |
| days | No | Number of most recent days to return. Free tier capped at 365; API Pro unlimited. Ignored when from/to are given. | |
| from | No | ISO date (YYYY-MM-DD), inclusive. Start of the window. Free tier still only sees the last 365 days. | |
| meta | No | Default full. 'minimal' drops params/params_hash/warmup, which are only useful on the first call. | |
| fields | No | Default full. 'minimal' returns date, close, rv, rvRank, rvRankRolling, atrPctAnnRank, atrPctAnnRankRolling only — measured saving 18–20 % of characters (full-history series, 2026-07-31; the `size` block in the response has the figure for your actual call), not a fifth of the size. Combine with granularity or a from/to window for a real reduction; dropping fields alone saves less than it looks. | |
| context | Yes | Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): "Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization." | |
| granularity | No | Default daily. weekly/monthly keep the LAST observation of each period (a state, not an average). | |
| schema_version | No | Default '2026-07' (unchanged output). '2026-08' rounds floats to 2 decimals (ranks 1) and reports the saving. Default flips 2026-11-01. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description fully covers behavioral nuances: 'History reaches back to 2009 via a stitched pre-Binance close series; ATR is null before the Binance era,' the look-ahead-free property of ranks, the schema_version rounding effect, and the presence of a `size` block with char savings. It also notes free-tier limitations and the opt-in default flip date.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is information-dense but presented as one long, run-on paragraph that is difficult to scan. The character-saving measurements ('15-20%', '30-36%', 'about 45%') are interesting but not core, and the capitalized 'ON ITS OWN' and 'COMBINED' make structure harder to parse. It would benefit from bullet points or clear section breaks.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A complex tool with 8 parameters, no output schema, and no annotations in a large sibling set; the description covers data provenance, null handling, time zones, rank interpretation, related tools, parameter strategies, free-tier limits, and schema versioning. Despite the absence of an output schema, it leaves the agent well-equipped to call and interpret results.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% (per context signals), so the baseline is high; the description adds valuable guidance on when to use from/to, how granularity behaves ('weekly/monthly keep the LAST observation of each period'), and why schema_version '2026-08' is recommended. It reinforces and contextualizes parameters rather than restating them.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens by identifying exactly what the tool returns ('Daily Bitcoin volatility time series') and specifies the two volatility measures (realized volatility and ATR%) with concrete formulas. It clearly differentiates from siblings by noting 'Related: arena_get_volatility_phases (current phase per pair), arena_get_iv_snapshot (implied vs. this realized...), arena_get_cycle (regime context)'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly contrasts rank flavors ('rvRankRolling/atrPctAnnRankRolling... are the ones to use') and tells users to 'use from/to for a specific window instead of pulling everything.' It names alternatives for different questions, such as 'related: arena_get_volatility_phases (current phase per pair)' and 'arena_get_iv_snapshot (implied vs. this realized)'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
arena_get_volatility_insightsGet Volatility InsightsAInspect
Does this strategy work better in calm or wild markets? Breaks realized strategy performance down by VOLATILITY PHASE (low / normal / high) per asset and timeframe, so you can see whether an edge only exists in one volatility regime. Answers "when does this work", not "does this work" — for the overall verdict use arena_get_strategy_insights, for the macro-regime cut arena_get_strategy_performance_by_regime, and for the raw volatility time series arena_get_volatility_history. Cells below min_trades are suppressed rather than shown as noise. [API Pro tier]
| Name | Required | Description | Default |
|---|---|---|---|
| context | Yes | Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): "Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization." | |
| asset_type | No | Filter by asset class, e.g. 'crypto'. Omit for all. | |
| min_trades | No | Minimum trades a cell needs to be reported. Default 20 — lowering it buys coverage with noise. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It discloses a key behavioral trait: cells below min_trades are suppressed rather than shown as noise. It also mentions the API Pro tier restriction. The tool is clearly a read operation, and the behavior is adequately described. One minor omission: it doesn't explain if the output is aggregated or raw, but the core behavior is transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-structured paragraph of about 4 sentences. It is front-loaded with the core question, every sentence serves a purpose (purpose, behavior, alternative tools, parameter nuance, access tier), and there is no wasted text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 3 parameters, no output schema, and no nested objects, the description covers the main aspects: purpose, usage differentiation, key behavioral detail (suppression), and a parameter trade-off. It is slightly incomplete in not describing the output structure or clarifying the timeframe aspect, but overall it provides sufficient context 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.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so all parameters have descriptions. The description adds value by explaining the 'min_trades' parameter's trade-off ('lowering it buys coverage with noise') and the context parameter's purpose. However, the description mentions 'per asset and timeframe' but the schema only includes an optional asset_type parameter and no timeframe parameter, creating a slight ambiguity about how timeframe is handled.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description starts with a clear question ('Does this strategy work better in calm or wild markets?') and explicitly states the tool's function: breaks realized strategy performance by volatility phase (low/normal/high) per asset and timeframe. It also distinguishes itself from siblings by naming specific alternatives (arena_get_strategy_insights, etc.), making the purpose very specific.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly tells the agent when to use this tool (to answer 'when does this work, not does this work') and what not to use it for, providing three alternative tools for different needs (overall verdict, macro-regime cut, raw volatility time series). This is exemplary guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
arena_get_volatility_phasesGet Live Volatility Phase SnapshotsAInspect
Is this pair calm or wild right now? Current ATR-based volatility phase (low/normal/high/expansion) per tracked pair, updated daily at 08:00 UTC. This is a single current state — for the time series behind it use arena_get_volatility_history, and for what the phase implies for strategy choice use arena_get_volatility_recommendations. Filter with pair when you only care about one asset instead of pulling all of them. [Free tier]
| Name | Required | Description | Default |
|---|---|---|---|
| pair | No | Filter to a single pair, e.g. "BTCUSDT". Omit for all tracked pairs. | |
| context | Yes | Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): "Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization." | |
| asset_type | No | Filter by asset class. Omit for all. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It discloses key behavioral traits: it returns a single current state, is updated daily at 08:00 UTC, and mentions a '[Free tier]' indicating access restrictions. It does not detail rate limits or what happens if no pairs are tracked, but this is adequate for a read tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise—three sentences plus a tag—and each sentence serves a distinct purpose: setting context, differentiating from siblings, giving a usage tip, and noting access tier. It is front-loaded with the key question, making it immediately scannable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given moderate complexity (3 params, no output schema), the description covers purpose, usage, behavioral traits, and parameter hints well. It could optionally mention return structure or edge cases, but the current information is sufficient for an agent to correctly select and invoke the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description adds value by explaining the 'pair' filter tip and providing detailed, prescriptive guidance for the 'context' parameter (word count, third-person perspective, privacy warning). This goes beyond the schema's basic description, justifying a 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: providing the current ATR-based volatility phase per tracked pair, updated daily at 08:00 UTC. It distinguishes itself from siblings by explicitly mentioning related tools (arena_get_volatility_history, arena_get_volatility_recommendations) and what they do differently.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit guidance on when to use this tool ('Is this pair calm or wild right now?') and when to use alternatives ('for the time series behind it use arena_get_volatility_history, and for what the phase implies for strategy choice use arena_get_volatility_recommendations'). It also explains filtering with the 'pair' parameter.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
arena_get_volatility_recommendationsGet Strategy Recommendations for Current Volatility PhaseAInspect
Which strategies suit the current volatility phase? Top-3 by historical win-rate for that phase on a given pair. Phase comes from the latest snapshot (arena_get_volatility_phases); minimum 20 trades per phase required for inclusion. Answers "which strategies did well in a phase like the current one?" — a historical ranking of what held up in comparable phases. Related: arena_get_volatility_phases (the phase itself), arena_get_edge_reports (filter effects with verdicts), validate_strategy (evidence check on a concrete configuration). [API Pro tier]
| Name | Required | Description | Default |
|---|---|---|---|
| pair | Yes | Crypto asset pair, e.g. "BTCUSDT", "ETHUSDT" | |
| context | Yes | Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): "Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization." | |
| asset_type | No | Asset class of the pair | crypto |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden. It discloses that the tool returns historical rankings, uses the latest snapshot, requires minimum 20 trades per phase, and mentions the 'API Pro tier' restriction. It does not describe the return format or any rate limits, but for a read-only query tool, the behavioral disclosure is strong and exceeds what is minimally required.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured and front-loaded with a question that immediately conveys purpose. Every sentence adds value: output format, prerequisites, related tools, and tier restriction. It is concise but not overly terse, though it could be slightly more compact by removing the repeated phrasing of 'answers which strategies...' which is somewhat redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 3 well-described parameters, no output schema, and many siblings, the description covers the essential aspects: purpose, prerequisite, related tools, and tier. It is missing the return format (e.g., structure of the top-3 list), which is a notable gap. However, it provides enough context for an agent to decide when to call this tool and how to interpret the results in relation to other tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description does not add significant meaning beyond what the input schema already provides. It mentions 'pair' and 'context' only indirectly through the overall tool purpose, and the context parameter's detailed description is already in the schema. No extra semantics are provided for the parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns the top-3 strategies by historical win-rate for the current volatility phase on a given pair. It specifically distinguishes from siblings like arena_get_volatility_phases, arena_get_edge_reports, and validate_strategy by explaining what each related tool does. The verb 'get' combined with 'recommendations' and the explicit output format make 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear usage context: it answers 'which strategies suit the current volatility phase' and explicitly names the prerequisite tool (arena_get_volatility_phases) with a minimum trade threshold. It also lists related tools for alternative use cases. However, it does not explicitly state when not to use this tool or provide exclusion criteria, which prevents a perfect score.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
arena_get_winnersGet Winners List (Top 100 CAGR)AInspect
What are the strongest backtest results on the platform? Public leaderboard: the highest-CAGR backtest results across all users, with anonymized usernames, pair, strategy, interval and period. Answers "what has scored best on this platform so far". Read it as a selected extreme, not as a recommendation — a top-of-leaderboard entry is the winner of a large search and its edge is upward-biased; arena_get_robustness_field or validate_strategy tell you whether a given result holds up. For the user's own runs use arena_list_backtests. [Free tier]
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | How many entries to return, max 100 (default 100). | |
| context | Yes | Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): "Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization." | |
| strategy | No | Restrict the leaderboard to one strategy key, e.g. 'rsi_sma'. Omit for all strategies. | |
| asset_class | No | Asset class filter. Default 'crypto' (D14-separated leaderboard). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses that the tool returns a public leaderboard, that results are upward-biased and not recommendations, and that usernames are anonymized. It does not explicitly state that the operation is read-only, but the nature of the data (leaderboard) implies it. It could mention rate limits or response structure, but overall it provides significant behavioral context beyond what annotations would typically cover.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is approximately 100 words, front-loaded with a question to capture the tool's purpose, and efficiently covers purpose, usage guidelines, behavioral caveats, and alternatives. Every sentence adds value without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 4 parameters, no output schema, and no annotations, the description is quite complete. It explains the output fields (anonymized usernames, pair, strategy, interval, period), the upward bias, and alternatives. It lacks explicit details on the return structure or sorting, but the mention of 'top 100 CAGR' and 'limit' parameter covers the ordering. Slightly more detail on the response format would justify a 5.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description does not add parameter-specific details beyond what the schema already provides (e.g., limit max 100, strategy filter, asset_class enum). The description's overall context helps understand the parameters' role, but it does not enhance the semantic meaning of individual parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns a public leaderboard of the highest-CAGR backtest results across all users, with anonymized usernames, pair, strategy, interval, and period. It distinguishes itself from siblings by explicitly naming alternatives (arena_get_robustness_field, validate_strategy, arena_list_backtests) and contrasting their purposes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit guidance on when to use this tool vs alternatives: 'Read it as a selected extreme, not as a recommendation' and 'a top-of-leaderboard entry is the winner of a large search and its edge is upward-biased; arena_get_robustness_field or validate_strategy tell you whether a given result holds up. For the user's own runs use arena_list_backtests.' It also notes the '[Free tier]' context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
arena_is_distinguishableIs this difference real — or smaller than the measurement noise?AInspect
Do these two CAGR figures actually differ? Check before ranking them. Pass the two values as a and b (gross CAGR in percent, same basis) plus axes — which arbitrary choices went into them — and the tool returns whether their gap clears the MEASURED noise floor of those choices, along with the floor itself, the dominant axis, and the probe + date it was measured on. axes accepts: grid_phase (how a multi-day candle grid is aligned to the Unix epoch; exists only on 2d/3d), parameter_choice (neighbouring parameter settings — by far the largest at ~17.9 pp), window_edges (shifting the start date), pair_selection (which pairs made it into the universe). Pass ALL axes that genuinely varied; the floor is their maximum, not their sum. Optionally set interval to the candle interval so the floor can be sharpened where an axis was measured per interval — passing grid_phase together with a non-multi-day interval is a hard error, because that axis does not exist there. label_a and label_b are optional display names for the two values and are echoed back inside the explanation, so a multi-way comparison stays readable. Worked example: 2d vs 3d intervals differ by 4.40 pp, but grid alignment alone spans 6.66 pp — so that comparison carries no finding at all. Read-only, no market data touched. [Free tier]
| Name | Required | Description | Default |
|---|---|---|---|
| a | Yes | First value — gross CAGR in percent (e.g. 33.1 for +33.1%). | |
| b | Yes | Second value, same unit and same basis as a. | |
| axes | Yes | Which arbitrary choices differ between a and b. Pass every one that genuinely varied — omitting an axis makes the answer look more certain than it is. | |
| context | Yes | Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): "Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization." | |
| label_a | No | Optional name for a, echoed in the explanation. | |
| label_b | No | Optional name for b, echoed in the explanation. | |
| interval | No | Candle interval, if known (e.g. '1d', '2d', '3d', '1w'). Sharpens the floor where an axis was measured per interval. Passing grid_phase with a non-multi-day interval is an error, not a rounding detail — that axis does not exist there. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears the full burden of behavioral disclosure. It clearly states the tool is read-only and touches no market data, describes the return components (whether gap clears noise floor, floor value, dominant axis, probe + date), and warns of a hard error for invalid axis-interval combinations. It also notes the '[Free tier]' status. This is comprehensive for a statistical comparison tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is efficiently structured: it opens with the core question, then explains input parameters in a logical order, gives a worked example, and closes with behavioral notes. Every sentence adds value—no redundancy, no filler. It is as long as necessary for a complex tool but not longer.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (7 parameters, 4 required, no output schema), the description covers all essential aspects: parameter semantics, return value structure, error conditions, usage guidance, and a concrete example. The absence of an output schema is compensated by the clear description of what the tool returns. The description is complete for an AI agent to invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, providing a baseline of 3. The description adds substantial value beyond the schema: it explains the meaning of each axis (e.g., 'parameter_choice' is ~17.9 pp), clarifies that the floor is the maximum of axes not the sum, details the error condition for 'grid_phase' with non-multi-day intervals, and explains how optional labels are echoed back. This semantic richness strongly aids correct parameter usage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a clear question ('Do these two CAGR figures actually differ?') and explicitly states the tool's purpose: to check if the gap between two CAGR values clears the measurement noise floor. It specifies the verb 'check' and the resource 'difference between two CAGR figures', and the tool is unique among siblings (no other tool does this comparison), so it is well distinguished.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description advises when to use the tool ('Check before ranking them') and provides a worked example illustrating when a comparison carries no finding. It explains how to correctly pass axes and interval, including an error condition. However, it does not explicitly state when not to use the tool or mention alternative tools, though no siblings directly compete with this function.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
arena_list_backtestsList Your BacktestsAInspect
Which backtests have I run? Lists the backtest runs belonging to the authenticated user — newest first, with id, strategy, pair, interval, date range and headline metrics per run. Use it to find a run_id, then call arena_get_backtest for its detail or arena_get_backtest_trades for the individual trades. Only your OWN runs; for the public cross-user leaderboard use arena_get_winners. Paginated via limit + offset. [API Pro tier]
| Name | Required | Description | Default |
|---|---|---|---|
| pair | No | Filter by pair symbol, e.g. BTCUSDT. Omit for all. | |
| limit | No | Page size, max 100, default 50. | |
| offset | No | Rows to skip for paging; default 0. | |
| context | Yes | Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): "Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization." | |
| interval | No | Filter by candle interval; omit for all. Candle interval: '1d' daily, '2d'/'3d' multi-day, '1w' weekly, '1M' monthly. Multi-day candles (2d/3d) are anchored to the Unix epoch, so one of n possible alignments is used. Measured on our own corpus, the choice of alignment alone moves CAGR by 6.66 pp on average (max 12.30). Treat differences below that as not distinguishable — 1d/2d/3d behaved as one block in our tests, not a ranking. | |
| strategy | No | Filter by strategy key, e.g. 'rsi_sma'. Omit for all. | |
| asset_type | No | Filter by asset class, e.g. 'crypto'. Omit for all. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses pagination via limit+offset, ordering (newest first), authentication scope (own runs), and tier restriction (API Pro). It does not mention rate limits, caching, or exact response format, but the key behavioral traits are covered.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Five sentences, all essential. Front-loaded with the purpose question 'Which backtests have I run?', then brief description of output, usage guidance, scope, pagination, and tier. No wasted words; each sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, so the description must explain return values. It lists the main fields but does not detail the exact structure or nested objects. It covers filtering, pagination, ordering, scope, and sibling tools. For a 7-parameter tool with filtering, this is largely complete but could be more precise about the response format.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description adds value beyond schema by explaining the returned fields (id, strategy, pair, date range, headline metrics) and the interval parameter's special behavior (multi-day candle alignment affecting CAGR). This extra context justifies a higher score.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists backtest runs belonging to the authenticated user, ordered newest first, with specific fields (id, strategy, pair, interval, date range, headline metrics). It distinguishes itself from siblings by explicitly naming arena_get_backtest, arena_get_backtest_trades, and arena_get_winners for different follow-up actions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit guidance: use this tool to find a run_id, then call arena_get_backtest or arena_get_backtest_trades for details/trades. Also clarifies scope ('Only your OWN runs') and directs to arena_get_winners for the public leaderboard. This fully addresses when to use this tool vs. alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
arena_list_knowledgeList Knowledge Objects (catalog)AInspect
What knowledge objects exist here? Discover what Knowledge Objects exist: lists all published types + their subjects (with min_tier, api_path, seo_slug, latest as_of). Use this BEFORE arena_get_knowledge to learn valid type/subject pairs instead of guessing. New types appear automatically. [Free tier]
| Name | Required | Description | Default |
|---|---|---|---|
| context | Yes | Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): "Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization." |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Although no annotations are provided, the description clearly states that this is a discover/list operation with no destructive effects. It mentions the return fields (min_tier, api_path, seo_slug, latest as_of) and that it lists only published types. No contradictions with missing annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences plus a one-word note about free tier. Every sentence serves a purpose: what it does, why to use it, and a behavioral note about automatic updates. No fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simple tool (single parameter, no output schema, no enums, no nested objects), the description fully covers what an agent needs: purpose, usage pattern, return format hints, and the fact that it's non-destructive. Complements the high schema coverage well.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds value by explaining the purpose of the tool in relation to the parameter (context), but doesn't add new info about parameter syntax or constraints beyond the schema. The 'context' parameter is a meta-parameter with usage rules already detailed in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a clear verb 'list' and specific resource 'Knowledge Objects' (published types + subjects). It distinguishes itself from the sibling 'arena_get_knowledge' by explicitly stating it should be used before that tool to discover valid type/subject pairs.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit when-to-use guidance: 'Use this BEFORE arena_get_knowledge to learn valid type/subject pairs instead of guessing.' It also notes that new types appear automatically, implying no need to manually update.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
arena_list_onchain_seriesList Available BRK On-Chain SeriesAInspect
Which on-chain series are available? Lists all 54 available Bitcoin Research Kit (BRK) on-chain series across the groups pilot, sentiment, mining, supply, cointime, activity (e.g. MVRV, NUPL, SOPR, Realized-Price, Mayer, Puell, STH/LTH SOPR, Hash-Ribbons). Returns id + label + group. Use the id with arena_get_onchain_latest / _history. [Free tier]
| Name | Required | Description | Default |
|---|---|---|---|
| context | Yes | Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): "Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization." |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full transparency burden. It discloses that the tool lists all 54 series, returns id+label+group, and notes '[Free tier]' as a potential access or cost signal. It is straightforward and expects no side effects. However, it could go further by explicitly stating read-only behavior or any filtering/caching details, but for a simple listing tool the current disclosure is adequate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded. The opening question captures purpose instantly, followed by a crisp list of what is returned and how to use it. It includes valuable examples (MVRV, NUPL, SOPR) and the free-tier note without wasting words. Every sentence contributes meaningful information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with one generic parameter and no output schema, this description is fully adequate. It explains the scope (all 54 series), the groups, return fields (id+label+group), and downstream usage. The absence of an output schema is easily compensated by explicitly stating the return format. No critical information is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for the single 'context' parameter, and the schema already fully explains its purpose (analytics, intent tracking, word count, third-person perspective). The tool description adds no additional parameter semantics because there are no tool-specific parameters. Per the rubric, a baseline of 3 is appropriate when schema handles the details.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a clear question 'Which on-chain series are available?' and immediately states 'Lists all 54 available Bitcoin Research Kit (BRK) on-chain series across the groups pilot, sentiment, mining, supply, cointime, activity' with concrete examples. It precisely identifies the tool's function as a listing operation and differentiates it from sibling data-retrieval tools by noting that returned ids feed into arena_get_onchain_latest/_history.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives a direct usage pathway: 'Use the id with arena_get_onchain_latest / _history.' This clearly indicates when to use this tool—when you need to discover available series—and how the output connects to related tools. It implicitly distinguishes from alternatives by naming the downstream consumers, though it doesn't explicitly state when not to use this tool or compare it to other listing tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
arena_list_strategiesList Available Trading StrategiesAInspect
Which strategies can I backtest here? Lists all backtest strategies (key, label, plan, supported asset classes, primary indicators). Filterable by asset class and plan. Use this before calling arena_run_backtest to discover valid strategy names. [Free tier]
| Name | Required | Description | Default |
|---|---|---|---|
| lang | No | Localized names/taglines. Default 'en'. | |
| plan | No | Filter to strategies of this plan tier. | |
| context | Yes | Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): "Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization." | |
| asset_class | No | Filter to strategies supporting this asset class (crypto or tokenized_rwa). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden for behavioral disclosure. It clearly states the tool is read-only and lists what data is returned, but it does not disclose pagination behavior, rate limits, or whether the list is exhaustive or truncated. The mention of '[Free tier]' adds some context about accessibility, but more transparency on scale or performance would improve the score.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences long and front-loaded with a user-oriented question. It packs purpose, data returned, filtering, and usage guidance efficiently. One could argue the '[Free tier]' note is slightly ambiguous, but overall it is concise and clear, with no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has no output schema and 4 parameters (all described in schema), the description adequately covers the listing functionality, filtering, and its role in a broader workflow. It is complete enough for a discovery tool. The only gaps are minor behavioral details (e.g., whether results are paginated) that would be helpful but are not critical for a tool that simply lists strategies.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description lists the returned data fields and mentions filterability for asset_class and plan, which aligns with but does not significantly augment the schema's enum descriptions. No additional semantic detail is provided beyond what the schema already offers.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a direct question ('Which strategies can I backtest here?') that immediately clarifies the tool's purpose, then states the action ('Lists all backtest strategies') and specifies the returned data fields (key, label, plan, supported asset classes, primary indicators). It also includes filtering capabilities and distinguishes itself from the sibling arena_run_backtest tool by noting it should be used first to discover valid strategy names.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states when to use this tool ('before calling arena_run_backtest to discover valid strategy names') and mentions filterability by asset class and plan, guiding the agent on how to narrow results. It also signals a context limitation with '[Free tier]' at the end, implying usage context for cost-conscious or tier-aware decisions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
arena_list_subscriptionsList Active Live-SubscriptionsAInspect
Which alerts do I have running? Returns every ACTIVE subscription belonging to the current API key: id, type, trigger configuration, delivery method and expiry. Use it to see what is already running before creating a duplicate, and to get the subscription_id that arena_cancel_subscription needs. Does not return fired updates — that is arena_check_subscription_updates. [API Pro tier]
| Name | Required | Description | Default |
|---|---|---|---|
| context | Yes | Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): "Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization." |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries full burden. It discloses that only ACTIVE subscriptions are returned, scoped to the current API key, and lists returned fields. It also notes the API tier requirement. While it doesn't cover rate limits or edge cases (e.g., empty result behavior), the provided transparency about scope, content, and tier is solid and above average.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four efficient sentences; every sentence adds value. The description is front-loaded with the user-focused question 'Which alerts do I have running?', immediately followed by what it returns, usage guidance, and a sibling distinction. No wasted words or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool is a simple list operation with one parameter and no output schema, the description is remarkably complete. It covers the return content, purpose, when to use, what it excludes, and even the API tier. The sibling references and explicit exclusion of fired updates fill any gaps. For a tool of this complexity, it is fully contextual.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% (the only parameter 'context' is fully described in the schema). The description adds no additional semantics for the parameter beyond what the schema already provides. Baseline score of 3 is appropriate since the schema itself is comprehensive.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns all ACTIVE subscriptions for the current API key, listing specific fields (id, type, trigger configuration, delivery method, expiry). The verb 'returns' and resource 'active subscriptions' are specific. It distinguishes itself from sibling arena_check_subscription_updates by explicitly stating what it does not return (fired updates). This 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides direct usage guidance: 'Use it to see what is already running before creating a duplicate, and to get the subscription_id that arena_cancel_subscription needs.' It also explicitly excludes a use case ('Does not return fired updates — that is arena_check_subscription_updates'), helping the agent decide when to use this tool versus alternatives. This is exemplary guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
arena_list_universesList Asset UniversesAInspect
Which asset universes can I test against? Lists all crypto asset universes (BTC, top-10 crypto, top-50 crypto, etc.) — the underlying pair-sets used by custom-report and universe-backtest endpoints. [Free tier]
| Name | Required | Description | Default |
|---|---|---|---|
| context | Yes | Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): "Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization." |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It mentions '[Free tier]' hinting at cost, but lacks details on data freshness, pagination, rate limits, or whether the list is static/dynamic. For a simple list tool this is acceptable but not comprehensive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences long, front-loaded with a clear question, and provides all essential information without wasted words. Every sentence serves a purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple listing tool with one parameter fully documented in the schema, the description adequately explains what the tool returns (list of universes), its usage context, and its role in the workflow. It does not describe the return format, but given no output schema, this is a minor gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The only parameter (context) is fully documented in the input schema (100% coverage). The description adds no parameter-level information beyond what the schema provides, maintaining the baseline but without additional value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states the verb 'Lists', the resource 'crypto asset universes', and provides concrete examples (BTC, top-10 crypto) and related endpoints (custom-report, universe-backtest). This clearly distinguishes it from sibling tools that perform different operations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description opens with 'Which asset universes can I test against?' which implies it is a prerequisite for test-related endpoints. It names specific endpoints that use the output, giving clear context. However, it does not explicitly state when not to use it or mention alternatives like arena_get_universe.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
arena_quote_reportQuote a Custom ReportAInspect
What would a custom report cost? Get a pricing quote for a custom report (universe-backtest PDF + Excel) without committing to a purchase. Returns price, universe size + preview, excluded pairs, and filter config. Crypto universes use top-N tiers (top-10 … top-250) or a custom pair list. [API Pro tier]
| Name | Required | Description | Default |
|---|---|---|---|
| context | Yes | Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): "Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization." | |
| interval | Yes | Candle interval the report is computed on: '1d', '1w' or '1M'. | |
| strategy | Yes | Strategy key (use arena_list_strategies for valid values). | |
| asset_type | No | Asset class; currently 'crypto' only (default). | |
| custom_pairs | No | Explicit pair list — required when universe_tier='custom', ignored otherwise. | |
| period_label | Yes | History covered by the report. Longer periods cross more market regimes and cost more compute. | |
| discount_code | No | Optional retention-discount code. | |
| universe_tier | Yes | 'top-10' / 'top-50' / 'top-100' / 'top-250' (crypto) or 'custom' with customPairs[]. | |
| strategy_params | No | Strategy parameters applied across the whole universe; omit for audited defaults. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries the full burden. It clearly states what the tool returns (price, universe size + preview, excluded pairs, filter config) and mentions the crypto universe tiering behavior. It also notes the API Pro tier restriction. While it doesn't discuss idempotency or side effects, the tool is a read-only quote, so the disclosure is adequate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise: three sentences and a tier tag. The first sentence immediately hooks the purpose, the second lists return values, and the third clarifies universe behavior. Every sentence is essential and front-loaded. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 9 parameters with full schema coverage, no output schema, and is a simple quoting tool, the description is fairly complete. It covers the output, tiering, and the 'no commitment' aspect. It lacks details on prerequisites (e.g., strategy must exist) or error cases, but those are implied by the schema and the tool's nature. A minor gap is the absence of mention of discount_code behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds minimal parameter insight beyond the schema—it mentions crypto universe tiers (top-10 to top-250 or custom) and the report output, but does not enrich the meaning of strategy, interval, period_label, or other parameters. The schema already does a good job, so the description provides no extra value here.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description starts with a clear question ('What would a custom report cost?') and immediately states the verb 'Get a pricing quote' and the resource 'custom report (universe-backtest PDF + Excel)'. It distinguishes from sibling tools like arena_run_universe_backtest by emphasizing 'without committing to a purchase', and from all the get_* tools by focusing on pricing rather than data retrieval.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implicitly tells when to use this tool: when you want a quote before committing to a purchase. The phrase 'without committing to a purchase' sets up the usage context. However, it does not explicitly name alternatives (e.g., arena_run_universe_backtest) or state when not to use this tool, which would have earned a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
arena_run_backtestRun a New BacktestAInspect
How would this strategy have performed? Run ONE strategy on ONE pair over a date range and get the full result: CAGR, total return, max drawdown, win-rate, trade count, Buy & Hold comparison, net-of-fees figures, and a run_id for later retrieval. Synchronous, typically 3–10s. Use this when the user wants a concrete result for a specific setup. For several strategies side by side use arena_compare_strategies; for many pairs at once use arena_run_universe_backtest; to judge whether an EXISTING result is trustworthy rather than produce a new one, use validate_strategy or arena_get_robustness_field. Filters are optional and only remove entries; run once without them for the baseline. Read result.benchmark before comparing cagr to buyhold_cagr: warmup or a late listing can shorten the strategy window, and matches_strategy_window:false means the two figures are annualized over DIFFERENT periods — in that case benchmark.strategy_window carries the like-for-like buy-and-hold over the window the strategy actually traded, and THAT is the one to compare against. A backtest is evidence about the past, never a forecast or a recommendation. Per-day quota: Pro=50, Power=500. [API Pro tier]
| Name | Required | Description | Default |
|---|---|---|---|
| pair | Yes | Crypto pair symbol, e.g. BTCUSDT, ETHUSDT, SOLUSDT. | |
| params | No | Strategy-specific parameters, e.g. { rsi_period: 14 }. Omit to use the audited defaults — changing them without a reason is how overfitting starts. | |
| capital | No | Starting capital in quote currency. Default 10000. Affects absolute figures only, not CAGR or win-rate. | |
| context | Yes | Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): "Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization." | |
| date_to | No | End date, YYYY-MM-DD. Default: today. | |
| filters | No | Optional entry filters (Pro+). Each one only ever REMOVES entries — filters never create trades. Omit for the unfiltered baseline. | |
| interval | Yes | Candle interval: '1d' daily, '2d'/'3d' multi-day, '1w' weekly, '1M' monthly. Multi-day candles (2d/3d) are anchored to the Unix epoch, so one of n possible alignments is used. Measured on our own corpus, the choice of alignment alone moves CAGR by 6.66 pp on average (max 12.30). Treat differences below that as not distinguishable — 1d/2d/3d behaved as one block in our tests, not a ranking. | |
| strategy | Yes | Strategy key — use arena_list_strategies to find valid keys. | |
| date_from | Yes | Start date, YYYY-MM-DD. Earlier than the pair listing is clamped to the first available candle. | |
| asset_type | Yes | Asset class. Use 'crypto' unless you are explicitly backtesting a tokenized real-world asset. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description covers synchronicity (3-10s), quota limits, past-not-forecast nature, filter behavior (only remove entries), date clamping, and benchmark comparison nuances. It does not explicitly state side effects (e.g., storage of run_id), which is a minor gap for a creation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Every sentence earns its place. Front-loaded with purpose, returns, and timing; then usage guidance; then detailed behavioral notes. No repetition or fluff despite covering many aspects.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Very complete for a run tool with no output schema: covers return metrics, usage scenarios, edge cases, quota. Minor omission is explicit side-effect statement (e.g., that it persists the result). Still highly comprehensive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and the description adds significant value beyond schema definitions: overfitting warning for params, interval alignment caveat with empirical pp impact, context parameter instructions with word count and perspective, and filter semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description starts with a clear question ('How would this strategy have performed?') and explicitly states it runs ONE strategy on ONE pair over a date range, returning specific metrics. It distinguishes itself from siblings by naming alternatives and their use cases.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit when-to-use ('when the user wants a concrete result for a specific setup'), when-not-to-use (alternatives for multiple strategies, many pairs, or judging existing results), and notes filters are optional and for baseline.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
arena_run_grid_backtestRun a Grid-Trading BacktestAInspect
Would a grid bot have made money here? Simulate a GRID BOT (buy-low / sell-high ladder inside a fixed price range) on historical candles. Returns final value, return %, CAGR, trade count, fees paid and a Buy & Hold comparison. This is a different machine from the strategy backtester: grid bots earn from oscillation inside a range, not from trend — for signal-based strategies use arena_run_backtest instead. The result depends heavily on the range you choose (low_price / high_price); a range the price left early makes the bot idle, so treat range choice as part of the hypothesis, not a detail — arena_suggest_grid_range proposes a defensible range. Each run is saved to your account (the returned id is the run_id); publish a public snapshot page with arena_share_grid_backtest. Free tier limited to BTCUSDT/ETHUSDT. Per-day quota: Free=5, Pro=50, Power=500. [Free / Pro / Power tier]
| Name | Required | Description | Default |
|---|---|---|---|
| pair | Yes | Crypto pair symbol, e.g. BTCUSDT. Free tier: BTCUSDT or ETHUSDT only. | |
| context | Yes | Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): "Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization." | |
| end_date | Yes | Simulation end, YYYY-MM-DD. | |
| fee_rate | Yes | Per-trade fee fraction, e.g. 0.001 for 0.1% (Binance spot taker). | |
| grid_type | Yes | Level spacing: 'arithmetic' = equal price steps, 'geometric' = equal percentage steps (usually the better fit for crypto). | |
| low_price | Yes | Lower bound of the grid range, in quote currency. Below it the bot is fully invested and stops buying. | |
| grid_count | Yes | Number of grid levels between low_price and high_price (2–200). More levels = more, smaller trades = more fees. | |
| high_price | Yes | Upper bound of the grid range, in quote currency. Above it the bot is fully in cash and stops selling. Must exceed low_price. | |
| start_date | Yes | Simulation start, YYYY-MM-DD. | |
| entry_price | No | Optional price at which the bot starts; default is the first close in the range. | |
| stop_loss_price | No | Optional: liquidate the whole grid and stop once price falls to this level. | |
| total_investment | Yes | Capital in USDT spread across the grid; min 100. | |
| take_profit_price | No | Optional: liquidate the whole grid and stop once price rises to this level. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It discloses that results depend heavily on the range, that an early price exit idles the bot, that each run is saved to the account, and that quotas apply. It also lists return values (final value, return %, CAGR, etc.) and contrasts with the strategy backtester. No contradictions with annotations (none present).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single dense paragraph that is well-structured and front-loaded with the core question. Every sentence adds value: purpose, differentiation, parameter guidance, linked tools, quotas. No wasted words, and it is concise yet comprehensive.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (13 parameters, 10 required, no output schema), the description covers purpose, usage guidelines, behavioral transparency, and parameter semantics thoroughly. It mentions return values, saving runs, sharing, and quotas, making it complete for effective agent decision-making.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description adds value beyond the schema by explaining the effect of range choice on bot activity, the trade-off of grid_count (more trades = more fees), and noting that entry_price defaults to the first close. This additional context justifies a 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool simulates a grid bot backtest on historical candles, using specific verbs ('simulate', 'run') and resource ('grid backtest'). It differentiates from the sibling strategy backtester by explaining that grid bots earn from oscillation, not trend, and explicitly directs users to arena_run_backtest for signal-based strategies.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit when-to-use guidance (simulating grid bots), when-not-to-use (for signal-based strategies, use arena_run_backtest), and suggests a complementary tool (arena_suggest_grid_range). It also mentions tier limitations and per-day quotas, 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.
arena_run_universe_backtestRun Backtest on a Pair Universe (async)AInspect
Does this strategy hold up across a whole universe? Runs it against every pair in the universe. Pair cap depends on your API tier: Pro 50, Power 250 — Power therefore covers crypto-top-250 in ONE job instead of five, which matters because five jobs mean five separate result sets you have to merge by hand, and merging across different pair sets is exactly how a ranking ends up measuring pair selection instead of strategy quality. THIS CALL IS ASYNCHRONOUS AND RETURNS NOTHING BUT A job_id: the result is NOT in this response. You MUST poll arena_get_job_status until status is 'completed'. Budget the wait — background runtime is roughly 1.5 s per pair, so 50 pairs ≈ 1–2 min and a 250-pair job ≈ 6 min; estimated_seconds in the create-response gives the current estimate. Provide either universe_id (call arena_list_universes) OR explicit pairs[]. Benchmarks bnh_fixed and dca_reference are accepted here — run one of them over the SAME universe and interval before reading any result, because an excess over buy-and-hold is not a statement without the buy-and-hold value itself: measured on 41 common pairs, bnh_fixed sits at +0.2 % while the naive figure suggested −22 %, and a strategy 'beating' a −54 % benchmark means 'do not own this asset', not 'this strategy is good'. NOTE ON THE BUY-AND-HOLD COUNT: beat_buyhold_count compares each pair's cagr against its buyhold_cagr, and the two are not always measured over the same window — a strategy with a long warmup (or a pair listed after date_from) starts trading later, while the benchmark runs from the requested start. Treat the count as a tally, not a verdict, and check actual_date_from per pair. NOTE ON PERSISTENCE: universe results live ONLY in the job response (api_jobs.result). They are deliberately not written to backtest_runs, so they carry no filter_binding and no coin-denominated history, and you will not find them later via arena_list_backtests — copy what you need out of the job result. Per-day quota: Pro=5, Power=50. [API Pro tier]
| Name | Required | Description | Default |
|---|---|---|---|
| pairs | No | Explicit pair list. Hard schema limit 250; the effective cap is your tier (Pro 50, Power 250). Use instead of universe_id. | |
| params | No | Strategy-specific parameters applied to EVERY pair in the universe. Omit for audited defaults. | |
| capital | No | Starting capital in quote currency. Default 10000. Affects absolute figures only, not CAGR or win-rate. | |
| context | Yes | Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): "Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization." | |
| date_to | No | End date, YYYY-MM-DD. Default: today. | |
| filters | No | Optional entry filters (Pro+). Each one only ever REMOVES entries — filters never create trades. Omit for the unfiltered baseline. | |
| interval | Yes | Candle interval: '1d' daily, '2d'/'3d' multi-day, '1w' weekly, '1M' monthly. Multi-day candles (2d/3d) are anchored to the Unix epoch, so one of n possible alignments is used. Measured on our own corpus, the choice of alignment alone moves CAGR by 6.66 pp on average (max 12.30). Treat differences below that as not distinguishable — 1d/2d/3d behaved as one block in our tests, not a ranking. | |
| strategy | Yes | Strategy key — call arena_list_strategies. | |
| date_from | Yes | Start date, YYYY-MM-DD. Earlier than the pair listing is clamped to the first available candle. | |
| universe_id | No | Pre-curated universe — call arena_list_universes for valid IDs. Capped by tier (Pro 50, Power 250); a larger universe is rejected rather than silently truncated. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden for behavioral disclosure. It clearly states the call is asynchronous and returns only a `job_id`, that results must be polled via `arena_get_job_status`, and that universe results are not persisted to `backtest_runs` – they live only in the job result. It also covers tier-specific quotas (Pro=5, Power=50) and the behavioral nuance around `beat_buyhold_count` (different measurement windows).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is quite long (several hundred words) but every sentence earns its place with substantive guidance. It is front-loaded with the core async behavior and polling requirement. The structure could be slightly improved by breaking into bullet points for readability, but for an AI agent targeting a JSON description, the dense prose is acceptable. No fat or redundancy found.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (10 params, nested objects, async behavior, quotas, benchmarks, and persistence model) and the absence of an output schema, the description is remarkably complete. It covers when to use benchmarks, how to interpret `beat_buyhold_count`, the persistence model (api_jobs.result vs backtest_runs), and runtime estimates. No obvious gaps remain for a sophisticated agent to select and invoke this tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% (all 10 parameters described in schema), so baseline is 3. The description adds significant semantics beyond the schema: it clarifies the trade-off between `universe_id` and `pairs[]` (both work but universe is pre-curated), explains the effective cap over the schema limit (Pro 50 vs schema maxItems 250), and adds behavioral context for `interval` (multi-day alignment shifts CAGR by ~6.66 pp). The only minor gap is that it doesn't elaborate on every filter parameter individually, but the schema already covers them well.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description starts with a clear verb + resource: 'Runs it against every pair in the universe.' It explicitly distinguishes this sibling tool from others like `arena_run_backtest` (single pair) and `arena_compare_strategies` (cross-strategy comparison) by focusing on universe-wide execution. The async nature and return of only a `job_id` are immediately stated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives extensive when-to-use guidance: it explains the tier caps (Pro 50, Power 250) and why using a universe reduces merging complexity compared to running multiple jobs. It explicitly mentions alternatives like `benchmarks bnh_fixed` and `dca_reference` and how to use them. It also warns about the async behavior, polling steps, and estimated runtime per pair, which helps the agent plan its workflow.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
arena_subscribe_bullmarket_stageSubscribe to Bullmarket-Ampel Stage ChangesAInspect
Notify me when the bull-market stage count changes? Tracks the Bullmarket-Ampel active stage count (0–5). Optional direction filter (up/down/any) plus specific stages of interest. For the current stage count without subscribing, call arena_get_bullmarket_ampel. Creates a standing subscription; it does not return a value now — collect fired updates with arena_check_subscription_updates (polling) or receive them by webhook, and end it with arena_cancel_subscription. For the CURRENT value instead of a change notification, call the matching read tool. [API Pro tier and up — max 3 active subscriptions for Pro, 20 for Power]
| Name | Required | Description | Default |
|---|---|---|---|
| stages | No | Specific stages of interest. Default: any change. | |
| context | Yes | Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): "Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization." | |
| direction | No | Filter to direction. Default 'any'. | |
| expires_at | No | ISO-8601 timestamp after which the subscription auto-deactivates. Omit to keep it active until cancelled. | |
| webhook_url | No | HTTPS endpoint we POST to. Required when delivery_method=webhook, ignored otherwise. | |
| delivery_method | No | How updates reach you: 'polling' (default — collect via arena_check_subscription_updates) or 'webhook' (we POST to your URL). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description fully carries the behavioral disclosure burden. It reveals that the tool creates a standing subscription, does not return a value immediately, and that updates are delivered via polling or webhook. It also discloses tier-based subscription limits (Pro max 3, Power max 20) and the lifecycle (end with arena_cancel_subscription), ensuring transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core purpose, then efficiently covers optional filters, alternative tools, lifecycle, and tier constraints. Every sentence adds distinct value without repetition or fluff, achieving high density in roughly six sentences.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the absence of an output schema (subscriptions return no immediate value), the description covers all essential aspects: what the tool does, how to configure it via parameters, how updates are retrieved (polling or webhook), how to end it, and a reference to the read alternative. The tier limitation is also noted, making the tool's behavior fully understandable without external context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds value by grouping parameters (e.g., 'optional direction filter' and 'specific stages') and explaining how they fit into the subscription flow. However, it does not explicitly mention the expires_at or webhook_url parameters in the narrative, relying on the schema for those details.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool subscribes to bull-market stage count changes, specifying the resource (Bullmarket-Ampel active stage count) and the verb (subscribe). It distinguishes itself from sibling read tools like arena_get_bullmarket_ampel and lifecycle tools like arena_cancel_subscription, 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit guidance on when to use this tool vs. alternatives: for the current value, call arena_get_bullmarket_ampel; for updates, use this subscription. It also explains how to collect updates (polling or webhook) and how to end the subscription, leaving no ambiguity about the workflow.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
arena_subscribe_cycle_changesSubscribe to BTC Cycle Band ChangesAInspect
Notify me when the cycle band changes? Bands: (capitulation → risk-off → neutral → constructive → euphoric). Optional bands filter restricts to specific target bands. For the current band without subscribing, call arena_get_cycle. Creates a standing subscription; it does not return a value now — collect fired updates with arena_check_subscription_updates (polling) or receive them by webhook, and end it with arena_cancel_subscription. For the CURRENT value instead of a change notification, call the matching read tool. [API Pro tier and up — max 3 active subscriptions for Pro, 20 for Power]
| Name | Required | Description | Default |
|---|---|---|---|
| bands | No | Filter to bands of interest. Default: any change triggers. | |
| context | Yes | Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): "Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization." | |
| expires_at | No | ISO-8601 timestamp after which the subscription auto-deactivates. Omit to keep it active until cancelled. | |
| webhook_url | No | HTTPS endpoint we POST to. Required when delivery_method=webhook, ignored otherwise. | |
| delivery_method | No | How updates reach you: 'polling' (default — collect via arena_check_subscription_updates) or 'webhook' (we POST to your URL). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears full responsibility. It discloses that the tool creates a standing subscription with no immediate return value, describes the update retrieval methods (polling/webhook) and cancellation, and mentions tier limits and auto-deactivation via expires_at. This is comprehensive for a subscription tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but cohesive, front-loading the core purpose and then adding lifecycle details. All sentences add value, though a slightly more structured layout (e.g., separating lifecycle steps) could improve readability. Still, it is concise and well-organized.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (5 parameters, subscription lifecycle, no output schema), the description covers purpose, usage guidelines, lifecycle, tier limits, and parameter hints. It does not cover error handling or what happens when max subscriptions are reached, but it is otherwise thorough.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds minimal parameter-specific value beyond the schema; it mentions the optional bands filter and delivery methods, but the schema already describes these. No additional semantics for parameters like context or expires_at are provided.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool subscribes to BTC cycle band changes, enumerates the bands (capitulation → euphoric), and distinguishes from the read tool arena_get_cycle. It also differentiates from sibling subscription tools by specifying the subject (cycle band) and referencing alternative subscription tools indirectly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit guidance includes when to use (change notifications) vs. when to use the read tool (current value), how to consume updates (polling or webhook), how to cancel (arena_cancel_subscription), and tier-based subscription limits. This covers both when and when not to use the tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
arena_subscribe_pulse_changesSubscribe to Arena-Pulse Score Threshold CrossingsAInspect
Notify me when market heat crosses a threshold? Fires when the daily 0–100 Arena-Pulse score crosses threshold_above (upward) or threshold_below (downward). At least one threshold is required. For the current score without subscribing, call arena_get_pulse. Creates a standing subscription; it does not return a value now — collect fired updates with arena_check_subscription_updates (polling) or receive them by webhook, and end it with arena_cancel_subscription. For the CURRENT value instead of a change notification, call the matching read tool. [API Pro tier and up — max 3 active subscriptions for Pro, 20 for Power]
| Name | Required | Description | Default |
|---|---|---|---|
| context | Yes | Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): "Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization." | |
| expires_at | No | ISO-8601 timestamp after which the subscription auto-deactivates. Omit to keep it active until cancelled. | |
| webhook_url | No | HTTPS endpoint we POST to. Required when delivery_method=webhook, ignored otherwise. | |
| delivery_method | No | How updates reach you: 'polling' (default — collect via arena_check_subscription_updates) or 'webhook' (we POST to your URL). | |
| threshold_above | No | Fire when score rises across this value. | |
| threshold_below | No | Fire when score falls across this value. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden and excels: it discloses that at least one threshold is required, that it creates a standing subscription, that it does not return a value now, and includes tier limits ('max 3 active subscriptions for Pro, 20 for Power'). This is comprehensive behavioral context for a subscription tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the main concept and expands naturally into mechanics and alternatives. It uses a question format ('Notify me when...') which is efficient. Minor deduct: the final sentence about tier limits could be integrated slightly more smoothly, but overall it's compact and informative with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (6 parameters, no output schema, sibling subscription tools), the description is complete: it covers what the subscription monitors, how thresholds work, how to collect updates, when to use alternatives, and tier limits. No output schema exists, but the description explains return behavior ('does not return a value now') adequately.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds significant value by explaining the interaction between the two threshold parameters ('at least one threshold is required') and clarifying the purpose of delivery_method alternatives in natural language beyond enum values. It doesn't, however, elaborate on the 'context' parameter beyond what the schema provides, and 'expires_at' gets no extra explanation, keeping it from a 5.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool creates a subscription that fires when the Arena-Pulse score crosses a threshold, and specifically distinguishes between upward (threshold_above) and downward (threshold_below) directions. This detailed verb-resource-scope explanation exceeds mere identification and differentiates it from sibling subscription tools like arena_subscribe_bullmarket_stage and arena_subscribe_cycle_changes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit guidance on when to use this tool versus alternatives: 'For the current score without subscribing, call arena_get_pulse' and 'For the CURRENT value instead of a change notification, call the matching read tool.' It also explains the lifecycle: creates a standing subscription, collect updates via polling or webhook, and end with arena_cancel_subscription.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
arena_subscribe_signal_alertsSubscribe to Strategy Signal AlertsAInspect
Notify me when this signal flips? Fires when an existing Ampel-Config's signal flips (BUY ↔ SELL). Prerequisite: the user must have created that ampel-config in the web UI (/dashboard/ampel) — pass its UUID here; this tool cannot create one. Optional signal_types filter narrows to BUY-only or SELL-only. For the current signal state without subscribing, call arena_get_signal_status. Creates a standing subscription; it does not return a value now — collect fired updates with arena_check_subscription_updates (polling) or receive them by webhook, and end it with arena_cancel_subscription. For the CURRENT value instead of a change notification, call the matching read tool. [API Pro tier and up — max 3 active subscriptions for Pro, 20 for Power]
| Name | Required | Description | Default |
|---|---|---|---|
| context | Yes | Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): "Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization." | |
| expires_at | No | ISO-8601 timestamp after which the subscription auto-deactivates. Omit to keep it active until cancelled. | |
| webhook_url | No | HTTPS endpoint we POST to. Required when delivery_method=webhook, ignored otherwise. | |
| signal_types | No | Optional filter. Default: both BUY and SELL fire. | |
| ampel_config_id | Yes | UUID einer existierenden ampel_configs-Row im gleichen User-Account. | |
| delivery_method | No | How updates reach you: 'polling' (default — collect via arena_check_subscription_updates) or 'webhook' (we POST to your URL). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It correctly declares the tool as non-returning (standing subscription), mentions side effects (creates subscription), describes how to consume results (polling or webhook), and notes tier limitations. It could add a brief note about latency or cost implications.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is efficiently compact at about 110 words, delivering substantial information without redundancy. It front-loads the core functionality and uses dashes and parentheses for clear scoping. Minor improvement: could break the long third sentence into shorter ones.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (6 parameters, subscription lifecycle, tier limits, two delivery methods), the description covers all key aspects: what it does, prerequisites, parameter behavior, consumption flow, and alternatives. The absence of an output schema is appropriately handled by explaining that it does not return a value now and telling agents how to get updates.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Since schema description coverage is 100%, the baseline is 3. The description adds value by clarifiying the prerequisite for ampel_config_id, explaining the default behavior for signal_types (both fire), and explaining the delivery_method options and their differences. The context parameter's purpose is already well-documented in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses specific verbs ('subscribe to', 'notify me when') and identifies the exact resource ('Ampel-Config's signal flips (BUY ↔ SELL)'), clearly distinguishing it from sibling tools like arena_get_signal_status (current state) and arena_cancel_subscription (ending it).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states the prerequisite (user must create the ampel-config in the web UI), explains when not to use it (for current state, use arena_get_signal_status), and lists alternatives for polling or webhook delivery, plus rate limits (max 3/20 subscriptions by tier). This provides comprehensive decision support.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
arena_suggest_grid_rangeSuggest a Grid RangeAInspect
Which price range should my grid bot use? Answers the question arena_run_grid_backtest deliberately leaves open (its own description says: treat range choice as part of the hypothesis). Returns TWO independent range suggestions side by side: iv_anchored (BTCUSDT/ETHUSDT only — sized from option-implied volatility, Deribit DVOL Index; the methodically grounded answer) and recent_volatility (7 trading days of realized volatility before anchor_date — the method exchange auto-modes use, available for all pairs). When both exist and disagree strongly, the options market expects a different volatility regime than the recent past showed — that disagreement is information. Output field names (low_price, high_price, grid_count, grid_type) map 1:1 onto arena_run_grid_backtest inputs. Inputs: pair (required), anchor_date, sigma_mult (IV range width in sigmas, default 1.5), dte (IV horizon in days, default 30). For a historical backtest set anchor_date to your start_date so the volatility range matches the entry, not today; iv_anchored always reflects the latest IV snapshot regardless of anchor_date. Free tier limited to BTCUSDT/ETHUSDT (same gate as the grid backtest itself). [Free tier]
| Name | Required | Description | Default |
|---|---|---|---|
| dte | No | Target horizon in days for the IV range. Default 30 (matches the 30d IV tenor). | |
| pair | Yes | Crypto pair symbol, e.g. BTCUSDT. Free tier: BTCUSDT or ETHUSDT only. | |
| context | Yes | Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): "Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization." | |
| sigma_mult | No | IV range width in sigma multiples. Default 1.5 (covers ~87% of log-normal moves); larger = wider range, fewer range exits, less oscillation capture. | |
| anchor_date | No | YYYY-MM-DD. The realized-volatility range is built from the 7 days BEFORE this date — set it to your backtest start_date. Default: today. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of disclosure. It explains the dual suggestion behavior (iv_anchored vs recent_volatility), how each is constructed, and how disagreement between them conveys information. It also notes that iv_anchored always reflects the latest IV snapshot regardless of anchor_date. It does not explicitly state whether the tool is read-only or destructive, but given its nature as a suggestion tool, that is somewhat implied.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is moderately verbose at around 200 words. It is front-loaded with a clear question and answer, and follows a logical structure. However, some sentences could be streamlined without losing meaning, such as the detailed explanation of what each suggestion means, which might be better placed in separate documentation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of the tool (two distinct range methods, parameter details, free tier) and the absence of an output schema, the description covers most aspects thoroughly. It explains what is returned, the output field mapping to arena_run_grid_backtest inputs, and key behavioral notes. It lacks coverage of error handling or edge cases, but for a suggestion tool the completeness is high.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so each parameter already has a description. The tool description adds some extra context, such as the default for sigma_mult and the rationale for anchor_date, but does not significantly extend meaning beyond the schema. The baseline score of 3 is appropriate as the description provides useful but not critical additional semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: it answers the question of which price range a grid bot should use, and explicitly distinguishes itself from arena_run_grid_backtest by addressing what that tool deliberately leaves open. It provides specific names for the two range suggestions and explains their distinct data sources.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear usage context: it is meant for selecting a grid range for backtesting, and provides specific guidance on setting anchor_date for historical backtests. It also notes the free tier limitation to BTCUSDT/ETHUSDT. However, it does not explicitly mention when not to use this tool or compare it with sibling tools that might offer alternative range suggestions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_more_toolsAInspect
Check for additional tools whenever your task might benefit from specialized capabilities - even if existing tools could work as a fallback.
| Name | Required | Description | Default |
|---|---|---|---|
| context | Yes | A description of your goal and what kind of tool would help accomplish it. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, placing the full burden on the description. The description does not disclose how the tool searches for tools, what data it accesses, or any side effects. It lacks details about the underlying mechanism (e.g., vector search, knowledge base query), leaving the agent with an incomplete behavioral model.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, very concise and front-loaded with the key instruction. However, it is slightly too brief, missing details that would improve structure (e.g., output format).
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is a meta-tool with no output schema. The description fails to explain what the tool returns (e.g., list of tool names, descriptions, or something else). Given the agent's need to understand the full interaction, the description is incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% (one parameter 'context'), and the schema already explains the parameter well. The description adds no additional semantic information beyond what the schema provides, so a baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: to check for additional tools that offer specialized capabilities. It distinguishes itself from sibling tools (which are domain-specific) by being a meta-tool for discovering those tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly advises using the tool when specialized capabilities might benefit the task, even if existing tools could work as fallback. This provides a clear usage context, though it does not explicitly state when not to use it or list alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_strategyValidate a strategy/signal (honest backtest)AInspect
Does this strategy survive an honest test? Backtest a trading strategy honestly — look-ahead-aware validation with Deflated-Sharpe-Ratio / multiple-testing correction (Bailey & López de Prado). Returns an EVIDENCE verdict (insufficient_evidence | anecdote | failed_oos | passed_oos) plus metrics, flags and caveats — NOT a buy/sell recommendation. Call this before acting on a strategy or signal list. Accepts a named catalog strategy (type=rules), a timestamped BUY/SELL signal list (signal_list), or a timestamped trade list (trade_list). Checks: realistic next-bar fills (look-ahead/optimism), net of cost, out-of-sample split, and a hard 30-round-trip sample gate (under 30 is always "anecdote"). Not reproducible via generic backtest tools that ignore overfitting. [API Pro tier]
| Name | Required | Description | Default |
|---|---|---|---|
| oos | No | How the claim is tested out-of-sample. Omit for the default split — the out-of-sample part is what separates a finding from a fit. | |
| costs | No | Trading costs. Default 10 bps (crypto) / 5 bps (else) — a gross-only claim usually shrinks once these apply. | |
| market | Yes | Which market the claim is about — prices are re-fetched from here, not taken from you. | |
| window | Yes | Period over which the claim is checked. | |
| context | Yes | Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): "Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization." | |
| strategy | Yes | The claim being validated — supply exactly one of: a catalog strategy (type=rules), your signals (type=signal_list) or your finished trades (type=trade_list). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses that the tool does NOT return buy/sell recommendations, only evidence verdicts. However, it does not specify required permissions, rate limits, or what happens to existing data. The description lists checks but lacks detail on how results are computed or if data persists.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is relatively concise and front-loaded with the key purpose. It packs useful context into a few sentences without excessive fluff. The API Pro tier note is placed at the end, which is acceptable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the tool's purpose, inputs, checks, and output verdict types. Given the complex input schema with 6 parameters and nested objects, the description provides adequate context for most usage scenarios. Missing output schema is partially compensated by listing verdict values.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description adds some context (e.g., 'prices are re-fetched from here, not taken from you' for market, 'a gross-only claim usually shrinks once these apply' for costs), but mostly reiterates schema information. It doesn't fully compensate for missing parameter details in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool validates trading strategies using honest backtesting with look-ahead awareness and specific statistical corrections. It explicitly distinguishes itself from generic backtest tools and sibling tools like arena_compare_strategies or arena_run_backtest by focusing on overfitting detection and returning an EVIDENCE verdict rather than a recommendation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit guidance: 'Call this before acting on a strategy or signal list.' It also specifies what inputs are accepted (catalog strategy, signal list, trade list) and what checks are performed (realistic fills, costs, OOS split, 30-trade minimum). It distinguishes itself by noting it is 'Not reproducible via generic backtest tools that ignore overfitting.'
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceLocal-first backtesting engine with built-in overfitting detection (PBO, deflated Sharpe, bootstrap CI, walk-forward) and a native MCP server for AI agents to validate trading strategies.4Apache 2.0
- AlicenseNot gradedqualityBmaintenanceProvides tools to research crypto trading strategies via backtesting, walk-forward validation, and paper trading, with a deflated-Sharpe overfitting check. Enables natural-language-driven analysis and interpretation of strategy performance.Apache 2.0
- AlicenseAqualityCmaintenanceThe conviction engine for autonomous crypto trading agents. 376 metrics across 8 factor classes, multi-factor backtesting, signal persistence, and regime analysis — 21 tools for AI agents via MCP.2190MIT
- AlicenseAqualityBmaintenanceAI-native quantitative trading signal engine for crypto and TradFi perpetuals. Multi-factor composite BUY/SELL/HOLD signals, cross-venue funding rate arbitrage scanning, and market regime detection powered by Hyperliquid data.75355MIT
Your Connectors
Sign in to create a connector for this server.