Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, email [email protected] and we’ll put it right.

io.github.Schoasch/backtesting-arena

REMOTE · TRADINGSTRATEGIES.WORK · SCANNED AUG 3

Crypto backtesting & Bitcoin cycle analytics. Point-in-time, DSR-corrected, look-ahead-aware.

+10 this week 78 Trust /100
Trust breakdown (6 categories)

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score →

Endpoint Security94
Transport & Reachability100
Schema Quality & AI Usability58
  • AI-judged instruction clarity (excellent).Pass
  • Context-footprint check failed: tool/resource definitions use about 23363 tokens (~315/item across 74 items; 74 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management27
  • Stability observed for 8 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 100% of tool parameters carry a description.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Install

Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.

remote · tradingstrategies.work

# add to Claude Code
claude mcp add --transport http schoasch-backtesting-arena https://tradingstrategies.work/api/mcp
# ~/.codex/config.toml
[mcp_servers.schoasch-backtesting-arena]
url = "https://tradingstrategies.work/api/mcp"
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "schoasch-backtesting-arena": {
      "type": "remote",
      "url": "https://tradingstrategies.work/api/mcp",
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add schoasch-backtesting-arena --url https://tradingstrategies.work/api/mcp --transport streamable-http
# ~/.hermes/config.yaml
mcp_servers:
  schoasch-backtesting-arena:
    url: "https://tradingstrategies.work/api/mcp"
// mcp.json
{
  "mcpServers": {
    "schoasch-backtesting-arena": {
      "type": "http",
      "url": "https://tradingstrategies.work/api/mcp"
    }
  }
}

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 2 Aug 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 20 to 23. That category is still filling its 30-day observation window: 6 days of observed history at the previous scan, 7 at this one. The score rises as the window fills, whether or not the server changes.

  • 1 Aug 26 −1
    • Tool “arena_get_volatility_history” rewrote its description, which is the text the model reads security
    • Tool “arena_run_universe_backtest” rewrote its description, which is the text the model reads security
    • Tool “arena_get_max_pain” rewrote its description, which is the text the model reads security
    • “arena_get_strategy_insights” reworded the description of “interval” cosmetic
    • “arena_get_strategy_performance_by_regime” reworded the description of “interval” cosmetic
    • “arena_get_volatility_history” reworded the description of “fields” cosmetic
    • “arena_list_backtests” reworded the description of “interval” cosmetic
    • “arena_run_universe_backtest” reworded the description of “pairs” cosmetic
    • “arena_run_universe_backtest” reworded the description of “universe_id” cosmetic
    • “arena_get_signal_status” reworded the description of “interval” cosmetic
    • “arena_get_strategy_filter_effect” reworded the description of “interval” cosmetic
    • “arena_get_strategy_performance” reworded the description of “interval” cosmetic
  • 31 Jul 26 +6
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 30 Jul 26 +3
    • Schema quality: good → excellent functional
  • 28 Jul 26 +1
    • Schema quality: 229 → 272 functional
    • Tool coverage: 78% → 100% functional
  • 27 Jul 26 +1
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 26 Jul 26 67

    First indexed and scored.

Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 3 Aug 2026 · Probed https://tradingstrategies.work/api/mcp

TLS valid

Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .

Subject Issuer Valid from Valid until Key Signature Serial
CN=tradingstrategies.work CN=YR2,O=Let's Encrypt,C=US 13 Jun 2026 11 Sept 2026 RSA 2048 SHA256-RSA 6718fdd6394294f48de62e3f449285fb0ba
SANs: tradingstrategies.work
CN=YR2,O=Let's Encrypt,C=US (CA) CN=Root YR,O=ISRG,C=US 3 Sept 2025 2 Sept 2028 RSA 2048 SHA256-RSA 4ebd24947e24d394802d84a52fd5b319
CN=Root YR,O=ISRG,C=US (CA) CN=ISRG Root X1,O=Internet Security Research Group,C=US 13 May 2026 2 Sept 2032 RSA 4096 SHA256-RSA f24b6d17f9d9ad7cb1c9fea78782699f
DNSSEC insecure

Validation of tradingstrategies.work. Not signed

Zone DS Keys Algorithms Outcome
. trust_anchor 20326, 38696 8, 8 Verified
work. present 16252 8 Verified
tradingstrategies.work. absent Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation
Authentication Enforced and verified

The endpoint asked for a token and published valid RFC 9728 metadata describing how to get one.

Result Enforced and verified
Enforced On tool calls
HTTP status 200

WWW-Authenticate challenge Bearer error="invalid_token", error_description="No authorization provided", resource_metadata="https://tradingstrategies.work/.well-known/oauth-protected-resource/api/mcp"

Bearer error="invalid_token", error_description="No authorization provided", resource_metadata="https://tradingstrategies.work/.well-known/oauth-protected-resource/api/mcp"
Header Value
strict-transport-security max-age=31536000; includeSubDomains
content-security-policy frame-ancestors 'self'
x-content-type-options nosniff
x-frame-options SAMEORIGIN
referrer-policy strict-origin-when-cross-origin
permissions-policy camera=(), microphone=(), geolocation=()

Protected resource metadata

Document https://tradingstrategies.work/.well-known/oauth-protected-resource/api/mcp
Retrieved Yes
Resource https://tradingstrategies.work/api/mcp
Authorisation server https://vfplckrqtskcrdclmzdn.supabase.co/auth/v1
Transports 2 probes
Transport URL Outcome Status Location
streamable-http https://tradingstrategies.work/api/mcp Verified 200
http (plaintext) http://tradingstrategies.work/api/mcp HTTPS enforced 308 https://tradingstrategies.work/api/mcp
MCP tools — 74 exposed · ~23,129 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability.

Tool Tokens
arena_cancel_subscription ~203

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]

NameTypeReqDescription
contextstringyesExplain 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). NEVE…
subscription_idstringyesSubscription id returned by arena_subscribe_*

No output schema declared.

No examples provided.

arena_check_subscription_updates ~164

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]

NameTypeReqDescription
contextstringyesExplain 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). NEVE…

No output schema declared.

No examples provided.

arena_compare_strategies ~582

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 every variable but the strategy fixed, which a series of separate arena_run_backtest calls does not guarantee. 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]

NameTypeReqDescription
asset_typestringyesAsset class. Use 'crypto' unless you are explicitly backtesting a tokenized real-world asset.
capitalnumberStarting capital in quote currency. Default 10000. Affects absolute figures only, not CAGR or win-rate.
contextstringyesExplain 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). NEVE…
date_fromstringyesStart date, YYYY-MM-DD. Earlier than the pair listing is clamped to the first available candle.
date_tostringEnd date, YYYY-MM-DD. Default: today.
filtersobjectOptional entry filters (Pro+). Each one only ever REMOVES entries — filters never create trades. Omit for the unfiltered baseline.
intervalstringyesCandle 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 cor…
pairstringyesCrypto pair symbol, e.g. BTCUSDT — the same pair for every strategy.
strategiesarrayyesThe 2–5 strategies to compare, each with optional own params.

No output schema declared.

No examples provided.

arena_dip_decision ~338

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]

NameTypeReqDescription
allocateobjectRequired when mode='allocate'.
compareobjectRequired when mode='compare'.
contextstringyesExplain 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). NEVE…
modestring'compare' (default): EV of buy-now vs wait vs split + breakeven dip probability. 'allocate': risk-adjusted optimal deploy-now fraction under γ.

No output schema declared.

No examples provided.

arena_dip_scenario ~526

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 effective-n 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; descriptive only, never a buy/sell signal. 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]

NameTypeReqDescription
assetstringWhich asset. Support-cluster rungs are BTC-only; ETH/SOL use the 200-week MA as the structural mark.
capitalnumberOptional total capital — if given, each tranche also returns an absolute amount.
contextstringyesExplain 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). NEVE…
horizon_daysintegerThesis horizon in days for the base-rate forward return. Default 180.
invalidationstringyesMANDATORY: the scenario under which the thesis is wrong (e.g. "weekly close below the 200-week MA"). NOT "where do I buy".
presetstringyesCycle-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.
risk_aversionnumberLadder tilt. 1 = equal tranches; >1 = weight deeper marks more (more patient); <1 = front-load toward now. Clamped [0.5, 3].

No output schema declared.

No examples provided.

arena_get_altcoin_season ~189

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]

NameTypeReqDescription
contextstringyesExplain 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). NEVE…

No output schema declared.

No examples provided.

arena_get_altcoin_season_history ~233

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]

NameTypeReqDescription
contextstringyesExplain 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). NEVE…
daysintegerNumber of days back from today (auto-clamped by tier — Free=30, Pro=365, Power=3650).

No output schema declared.

No examples provided.

arena_get_backtest ~232

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]

NameTypeReqDescription
contextstringyesExplain 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). NEVE…
idstringyesUUID of the backtest run.

No output schema declared.

No examples provided.

arena_get_backtest_trades ~253

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]

NameTypeReqDescription
contextstringyesExplain 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). NEVE…
idstringyesUUID of the backtest run.

No output schema declared.

No examples provided.

arena_get_btc_macro_correlations ~260

Pre-aggregated weekly correlations between Bitcoin and 13 macro components (Fed Net Liquidity, VIX, DXY, Real Yield 10Y, NFCI, HY Credit Spread, Yield Curve, etc.) + 4 asset classes (Gold, SPX, Nasdaq, DXY). 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), current_quadrant. Historical analysis only — not investment advice. [Free tier]

NameTypeReqDescription
contextstringyesExplain 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). NEVE…

No output schema declared.

No examples provided.

arena_get_btc_market_structure ~273

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 — no signal, no recommendation. [Free tier]

NameTypeReqDescription
contextstringyesExplain 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). NEVE…

No output schema declared.

No examples provided.

arena_get_bullmarket_ampel ~158

Bitcoin Bullmarket-Ampel current state (0-5 active stages). Returns active_count, stage_history, stage breakdown. Higher count = more bull-market signals firing. [Free tier]

NameTypeReqDescription
contextstringyesExplain 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). NEVE…

No output schema declared.

No examples provided.

arena_get_cycle ~469

Crypto cycle position — where are we in the cycle? Default BTC: point-in-time 10-indicator aggregation (MVRV-Z, NUPL, Puell, Pi-Cycle, Funding, Hash-Ribbons, Power-Law, Rainbow, F&G, Mayer). 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, hash-ribbons, F&G, Pi-Cycle, on-chain) 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. BTC additionally returns `highlights[]` (rule-based markers for currently unusual indicator values — descriptive, versioned ruleset, no direction or advice; 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]

NameTypeReqDescription
assetstringWhich asset’s cycle. Default BTC. ETH/SOL return a price-derived cycle read with not_applicable fields for BTC-native indicators.
contextstringyesExplain 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). NEVE…

No output schema declared.

No examples provided.

arena_get_cycle_history ~253

Returns the BTC-Cycle TIME SERIES: one row per day with adj_score and z_adj_score, ascending by date. The scores are point-in-time — each day carries the value computed from data available on that day, so the series can be used for look-ahead-free analysis. 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]

NameTypeReqDescription
contextstringyesExplain 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). NEVE…
daysintegerNumber of days back from today (auto-clamped by tier — Free=30, Pro=365, Power=3650).

No output schema declared.

No examples provided.

arena_get_drift_log ~192

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]

NameTypeReqDescription
contextstringyesExplain 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). NEVE…
daysintegerWindow size in days (default 90, max 365).

No output schema declared.

No examples provided.

arena_get_edge_reports ~286

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, median across all real backtest runs for a given market. Verdict: helps (Δ>+1pp, ≥30 runs) / neutral / hurts / insufficient_data. Filters evaluated in isolation (no stacking). Also returns baseline_net_cagr / filtered_net_cagr (median CAGR after per-side trading costs; verdict/delta stay gross). [Free tier]

NameTypeReqDescription
contextstringyesExplain 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). NEVE…
marketstringyesMarket to analyze (crypto or tokenized).
strategystringRestrict to a single strategy key (e.g. golden_cross). Omit for all strategies.
verdictstringFilter by verdict. Default 'all'.

No output schema declared.

No examples provided.

arena_get_etf_flows ~278

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, acceleration (last-30d vs prior-30d 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. Default BTC; pass asset=ETH or asset=SOL. Source SoSoValue. Descriptive only, not a signal. [Free tier]

NameTypeReqDescription
assetstringWhich spot-ETF flows. Default BTC.
contextstringyesExplain 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). NEVE…
daysintegerLength of the returned cumulative series in days. Default 365, clamped 90–1095.

No output schema declared.

No examples provided.

arena_get_fear_greed ~173

Crypto Fear & Greed Index from alternative.me with historical context. Returns current value 0-100, classification (extreme fear/fear/neutral/greed/extreme greed), recent history, plus arena-specific cadence cache for change-detection. [Free tier]

NameTypeReqDescription
contextstringyesExplain 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). NEVE…

No output schema declared.

No examples provided.

arena_get_filter_insights ~163

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]

NameTypeReqDescription
contextstringyesExplain 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). NEVE…

No output schema declared.

No examples provided.

arena_get_funding_rate ~168

Latest aggregate Binance Perpetual Funding Rate (8h cadence). Returns value, 30d moving average and Z-Score. Positive = longs pay shorts (bullish bias), negative = shorts pay longs (bearish bias). [Free tier]

NameTypeReqDescription
contextstringyesExplain 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). NEVE…

No output schema declared.

No examples provided.

arena_get_funding_rate_history ~235

Returns the funding-rate TIME SERIES for Binance perpetuals, aggregated at the 8h funding cadence, ascending by date. 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]

NameTypeReqDescription
contextstringyesExplain 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). NEVE…
daysintegerNumber of days back from today (auto-clamped by tier — Free=30, Pro=365, Power=3650).

No output schema declared.

No examples provided.

arena_get_gem_score ~251

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]

NameTypeReqDescription
coingecko_idstringyesCoinGecko coin ID, e.g. "ethereum", "solana"
contextstringyesExplain 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). NEVE…

No output schema declared.

No examples provided.

arena_get_gem_scores ~236

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]

NameTypeReqDescription
contextstringyesExplain 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). NEVE…
from_rankintegerStart from this rank (default 1)
limitintegerNumber of coins to return (tier-capped)

No output schema declared.

No examples provided.

arena_get_gem_validation ~185

Bi-weekly equal-weight basket backtest for Top-N screener picks vs BTC and market average. Shows CAGR, max drawdown, win-rate. Free: top-10 default. Pro+: custom N. [Free tier]

NameTypeReqDescription
contextstringyesExplain 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). NEVE…
top_nintegerBasket size (default 10, Pro+ up to 200)

No output schema declared.

No examples provided.

arena_get_hash_ribbons ~165

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]

NameTypeReqDescription
contextstringyesExplain 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). NEVE…

No output schema declared.

No examples provided.

arena_get_historical_analog ~582

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, returns median/IQR/positive-share forward returns (30/90/180/365d) with effective-n, small-n warnings and point-in-time integrity. A distribution, NOT a recommendation. 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). 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. Where a preset also returns "vs_unconditional_drift", read THAT rather than the raw forward returns: quiet_volatility shows +31 % median at 180d, but the contemporaneous market drift over the same windows was +27 %, so the excess is NEGATIVE (−5.9 %) — the raw number is BTC's drift, not the state. 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]

NameTypeReqDescription
assetstringWhich asset’s cycle history. Default BTC. ETH/SOL support only price-derived presets (cycle_bottom_cluster, cycle_top_cluster).
contextstringyesExplain 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). NEVE…
forward_horizonsarrayForward-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…
presetstringyesNamed ex-ante cycle-state condition set. One of: cycle_bottom_cluster, cycle_top_cluster, deep_fear, euphoria, quiet_volatility.

No output schema declared.

No examples provided.

arena_get_iv_snapshot ~223

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 (IV - RV). Useful for position sizing, options strategies, and market regime assessment. Backfill: BTC from 2021-04-01, ETH from 2022-02-15. [Free tier]

NameTypeReqDescription
contextstringyesExplain 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). NEVE…
currencystringyesCurrency to fetch IV snapshot for

No output schema declared.

No examples provided.

arena_get_job_status ~190

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]

NameTypeReqDescription
contextstringyesExplain 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). NEVE…
job_idstringyesUUID job_id returned by arena_run_universe_backtest.

No output schema declared.

No examples provided.

arena_get_key_levels ~235

Reproducible Bitcoin support/resistance zones — where do past swing pivots cluster? Aggregates the market-structure swing fractals (pivot highs + lows) into price zones within a tolerance band, each with a touch-count (how often the zone was tested), band, last-touch date and signed distance from the current price. Resistance = zones above spot, support = below, nearest-first. Replaces eyeballing levels off a fractal chart with a mechanical clustering. Descriptive only — NOT a prediction of where price turns and NOT a buy/sell signal. [Free tier]

NameTypeReqDescription
contextstringyesExplain 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). NEVE…

No output schema declared.

No examples provided.

arena_get_knowledge ~321

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]

NameTypeReqDescription
as_ofstringSpecific date YYYY-MM-DD. Omit for latest.
contextstringyesExplain 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). NEVE…
include_graphbooleanIf true, attach the resolved edge neighbourhood (outbound + inbound) for graph traversal.
subjectstringyesSubject ref, e.g. 'GLOBAL', 'BTC'.
typestringyesKnowledge object type, e.g. 'market_regime'.

No output schema declared.

No examples provided.

arena_get_macro_regime ~428

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]

NameTypeReqDescription
contextstringyesExplain 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). NEVE…

No output schema declared.

No examples provided.

arena_get_max_pain ~899

Last finalized Deribit BTC options expiry: 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…

NameTypeReqDescription
contextstringyesExplain 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). NEVE…
marketstringOptions market. Currently only 'DERIBIT_BTC' (default). IBIT planned.

No output schema declared.

No examples provided.

arena_get_max_pain_history ~372

Historical finalized Deribit BTC options expiries in one call — a complete base rate, not a page. Each row: expiry_date, max_pain_strike, spot_at_expiry, %-diff, P/C ratio, notional, expiry-type flags. With include_open_snapshots=true it also returns the DAILY observation series of still-open expiries, which is what makes the convergence question measurable (does spot drift toward the max-pain level as expiry approaches?). That series starts 2026-05-28, is not backfillable, and its per-expiry depth is thin — check open_snapshot_coverage before computing anything from it. Days auto-capped by tier: Pro 365d, Power 3650d. Related: arena_get_max_pain (current + upcoming), arena_get_iv_snapshot. [API Pro tier]

NameTypeReqDescription
contextstringyesExplain 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). NEVE…
daysintegerDays back from today (default 90, capped by tier).
include_open_snapshotsbooleanDefault false. When true, adds open_snapshots[] (daily observations of not-yet-expired contracts) plus open_snapshot_coverage. Omit for the unchanged response.
marketstringOptions market. Currently only 'DERIBIT_BTC' (default).

No output schema declared.

No examples provided.

arena_get_mayer_multiple ~231

Returns the current Mayer Multiple — BTC price divided by its 200-day SMA — with the underlying price and SMA. Trace Mayer (2014) bands: <0.7 capitulation, 0.7–1.5 neutral, 1.5–2.4 bullish, >2.4 euphoria. 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]

NameTypeReqDescription
contextstringyesExplain 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). NEVE…

No output schema declared.

No examples provided.

arena_get_mayer_multiple_history ~244

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]

NameTypeReqDescription
contextstringyesExplain 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). NEVE…
daysintegerNumber of days back from today (auto-clamped by tier — Free=30, Pro=365, Power=3650).

No output schema declared.

No examples provided.

arena_get_onchain_history ~265

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. [Free 30d / Pro 365d / Power unlimited]

NameTypeReqDescription
contextstringyesExplain 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). NEVE…
daysintegerDays back from today (clamped by tier).
series_idstringyesBRK series id, e.g. 'mvrv'.

No output schema declared.

No examples provided.

arena_get_onchain_latest ~250

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]

NameTypeReqDescription
contextstringyesExplain 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). NEVE…
series_idstringyesBRK series id, e.g. 'mvrv', 'sopr', 'realized_price'.

No output schema declared.

No examples provided.

arena_get_ontology_term ~223

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:<term>@<version> references inside Knowledge Objects. [Free tier]

NameTypeReqDescription
contextstringyesExplain 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). NEVE…
termstringyesOntology term slug, e.g. 'regime', 'liquidity', 'altcoin_season'.
versionintegerSpecific version. Omit for current.

No output schema declared.

No examples provided.

arena_get_pulse ~232

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]

NameTypeReqDescription
contextstringyesExplain 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). NEVE…

No output schema declared.

No examples provided.

arena_get_pulse_history ~228

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]

NameTypeReqDescription
contextstringyesExplain 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). NEVE…
daysintegerNumber of days back from today (auto-clamped by tier — Free=30, Pro=365, Power=3650).

No output schema declared.

No examples provided.

arena_get_report_status ~179

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]

NameTypeReqDescription
contextstringyesExplain 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). NEVE…
job_idstringyesJob UUID returned by checkout.

No output schema declared.

No examples provided.

arena_get_robustness_field ~529

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; never a recommendation. [API Pro tier]

NameTypeReqDescription
asset_typestringAsset class filter (default 'crypto').
axisstringNeighborhood axis. 'cross_asset' (default, dense, carries the verdict + DSR-N) or 'parameter' (secondary, always anecdotal — the parameter settings tested on this one pair).
contextstringyesExplain 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). NEVE…
intervalstringyesCandle interval, e.g. '1d', '1w', '1M'.
pairstringyesTrading pair of your cell, e.g. 'BTCUSDT'.
paramsobjectOptional: numeric strategy parameters of your cell. Only numeric params define the neighborhood; matched per pair where the factory ran them.
strategystringyesStrategy key, e.g. 'rsi_sma'.
user_cagrnumberyesYour result: CAGR in percent (e.g. 41 for +41%) — the cell being assessed.
user_sharpenumberOptional: your annualized Sharpe (result_sharpe scale). Used for the counted-N Deflated Sharpe where neighbor coverage allows.

No output schema declared.

No examples provided.

arena_get_sentiment ~289

PLATFORM ACTIVITY, NOT MARKET SENTIMENT — despite the name, this reports what is being backtested on Backtesting Arena, not how the market feels. Returns hotAssets, hotStrategies, trendingUp/trendingDown, profitTrend (share of profitable runs per pair), dailyActivity, assetDistribution, strategyAssetMatrix, weeklyTrend and totalRuns over a 7d/30d/90d window. 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. [Free tier]

NameTypeReqDescription
contextstringyesExplain 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). NEVE…
periodstringAggregation window. Default '7d'.

No output schema declared.

No examples provided.

arena_get_shared_backtest ~214

Fetches a backtest that someone published via a share link, addressed by its share_id — no ownership and no Pro tier required, which is what makes it the right tool when a user pastes a /shared/backtests URL. Returns the same result shape as arena_get_backtest (config plus aggregate metrics). Use arena_get_backtest instead for the user's own runs. [Free tier]

NameTypeReqDescription
contextstringyesExplain 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). NEVE…
share_idstringyesPublic share id from /shared/backtests URL.

No output schema declared.

No examples provided.

arena_get_signal_status ~316

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]

NameTypeReqDescription
contextstringyesExplain 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). NEVE…
intervalstringyesCandle 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 cor…
pairstringyesTrading pair / symbol.
strategystringyesStrategy key, e.g. 'rsi_sma'.

No output schema declared.

No examples provided.

arena_get_spot_price ~203

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. Context only — not a recommendation. [Free tier]

NameTypeReqDescription
contextstringyesExplain 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). NEVE…

No output schema declared.

No examples provided.

arena_get_stablecoin_supply ~223

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 + %), and acceleration (last-30d vs prior-30d change) plus a compact time series so direction and speed are visible, not just a single delta. Source DefiLlama peggedUSD. Descriptive only, not a signal. [Free tier]

NameTypeReqDescription
contextstringyesExplain 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). NEVE…

No output schema declared.

No examples provided.

arena_get_sth_cost_basis ~205

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]

NameTypeReqDescription
contextstringyesExplain 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). NEVE…

No output schema declared.

No examples provided.

arena_get_strategy_filter_effect ~396

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). 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]

NameTypeReqDescription
assetstringyesPair / symbol (e.g. BTCUSDT). Case-insensitive.
contextstringyesExplain 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). NEVE…
intervalstringDefault '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…
strategystringyesStrategy key (see arena_get_strategies).

No output schema declared.

No examples provided.

arena_get_strategy_insights ~398

Aggregated backtest performance per (strategy × interval) cell. If `strategy` AND `interval` provided, returns detail with per-asset breakdown + param variants. Otherwise returns the full matrix (Top-10 cells for Free tier; full for Pro+). [Free Top-10 / Pro+ full]

NameTypeReqDescription
asset_typestringRestrict to one asset class.
assets_modestring'top10' restricts to top-10 pairs by run-count.
contextstringyesExplain 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). NEVE…
intervalstringDetail 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.…
min_runsintegerMatrix mode: minimum runs per cell. Default 5.
ref_strategystringBenchmark reference. Default 'bh'.
strategystringDetail mode: strategy key (used together with `interval`).

No output schema declared.

No examples provided.