Hosted MCP server · #44 most used on Smithery

backtesting-arena

info-6d0w/backtesting-arena

Connect directly: https://tradingstrategies.work/api/mcp Quantitative crypto backtesting & Bitcoin market-regime analytics. 73 MCP tools: honest look-ahead-aware backtest validation with Deflated-Sharpe-Ratio correction, point-in-time 10-indicator Bitcoin cycle scoring, macro-regime composites, Edge-Library filter effects, 22 on-chain BRK series (since 2009), altcoin screener, sentiment, "buy now or wait?" decision-math, conditional historical-analog base rates & live subscriptions. Core outputs are not reproducible from public OHLCV/market-data APIs. Covers crypto plus stocks/ETFs/commodities/forex. Free tier, no credit card.

Uses
9.3k
Tools
65
Runs
Hosted
Listed
4mo ago

Get started

Add it to your agent

npx -y @smithery/cli@latest install info-6d0w/backtesting-arena --client claude

Swap --client claude for cursor, vscode, windsurf or another client. The CLI asks for any required settings.

What it can do

65 tools

arena_get_pulse1 paramDaily 0-100 heat score for the Bitcoin market, aggregated from 8 components (BTC-Cycle, F&G, Altcoin-Season, Bullmarket-Ampel, Funding-Ra…

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. [Free tier]

ParameterTypeDescription
contextstringExplain 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
arena_get_cycle1 paramBitcoin cycle position — where are we in the BTC cycle? Latest snapshot with point-in-time 10-indicator aggregation (MVRV-Z, NUPL, Puell,…

Bitcoin cycle position — where are we in the BTC cycle? Latest snapshot with point-in-time 10-indicator aggregation (MVRV-Z, NUPL, Puell, Pi-Cycle, Funding, Hash-Ribbons, Power-Law, Rainbow, F&G, Mayer). Returns raw + adjusted score (-3..+3 Z-Score), phase classification, signal enum. Point-in-time scored — not reconstructable from a generic price API. [Free tier]

ParameterTypeDescription
contextstringExplain 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
arena_get_altcoin_season1 paramDaily Altcoin-Season indicator (v7 Native-Filter methodology). Returns BTC-Dominance, Alt-Dominance, 4 Layer-1 signals (USDT.D, USDC.D, B…

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]

ParameterTypeDescription
contextstringExplain 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
arena_get_fear_greed1 paramCrypto Fear & Greed Index from alternative.me with historical context. Returns current value 0-100, classification (extreme fear/fear/neu…

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]

ParameterTypeDescription
contextstringExplain 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
arena_get_bullmarket_ampel1 paramBitcoin Bullmarket-Ampel current state (0-5 active stages). Returns active_count, stage_history, stage breakdown. Higher count = more bul…

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]

ParameterTypeDescription
contextstringExplain 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
arena_get_funding_rate1 paramLatest aggregate Binance Perpetual Funding Rate (8h cadence). Returns value, 30d moving average and Z-Score. Positive = longs pay shorts …

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]

ParameterTypeDescription
contextstringExplain 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
arena_get_hash_ribbons1 paramLatest Hash Ribbons indicator (Charles Edwards). Returns 30d and 60d hashrate moving averages — when 30d > 60d after a capitulation, sign…

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]

ParameterTypeDescription
contextstringExplain 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
arena_get_mayer_multiple1 paramLatest Mayer Multiple (BTC-Price ÷ 200-day SMA). Trace Mayer (2014): <0.7 = capitulation, 0.7-1.5 = neutral, 1.5-2.4 = bullish, >2.4 = eu…

Latest Mayer Multiple (BTC-Price ÷ 200-day SMA). Trace Mayer (2014): <0.7 = capitulation, 0.7-1.5 = neutral, 1.5-2.4 = bullish, >2.4 = euphoria. [Free tier]

ParameterTypeDescription
contextstringExplain 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
arena_get_macro_regime1 paramDaily Macro Regime snapshot from 18 components in 6 tiers (Liquidity 30%, Financial Conditions 20%, Risk Appetite 15%, Crypto Liquidity 1…

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)

ParameterTypeDescription
contextstringExplain 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
arena_get_btc_macro_correlations1 paramPre-aggregated weekly correlations between Bitcoin and 13 macro components (Fed Net Liquidity, VIX, DXY, Real Yield 10Y, NFCI, HY Credit …

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. Hi

ParameterTypeDescription
contextstringExplain 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
arena_get_btc_market_structure1 paramDaily Bitcoin market structure from 1000-bar Phantomflow adaptation (BTCUSDT 1d). Returns current_trend (up/down/sideways), last trend ch…

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, and last-5 fractals on each side (up = pivot highs, down = pivot lows). Educational analysis of price action — no signal, no recommendation. [Free tier]

ParameterTypeDescription
contextstringExplain 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
arena_get_iv_snapshot2 paramsLatest Deribit volatility snapshot for BTC or ETH. Returns DVOL (30d vol index), constant-maturity ATM implied vol (30/60/90/180d via opt…

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]

ParameterTypeDescription
contextstringExplain 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
currencystringCurrency to fetch IV snapshot for
arena_get_pulse_history2 paramsHistorical daily Arena-Pulse scores (date + score + band). Returned in ascending date order. Range capped by tier. [Free 30d / Pro 365d /…

Historical daily Arena-Pulse scores (date + score + band). Returned in ascending date order. Range capped by tier. [Free 30d / Pro 365d / Power unlimited]

ParameterTypeDescription
daysintegerNumber of days back from today (auto-clamped by tier — Free=30, Pro=365, Power=3650).
contextstringExplain 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
arena_get_cycle_history2 paramsHistorical daily BTC-Cycle adj_score + z_adj_score series. Tier-capped range. [Free 30d / Pro 365d / Power unlimited]
ParameterTypeDescription
daysintegerNumber of days back from today (auto-clamped by tier — Free=30, Pro=365, Power=3650).
contextstringExplain 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
arena_get_altcoin_season_history2 paramsHistorical daily Altcoin-Season snapshots (overall_color, BTC/Alt/Stable dominance, BTC price). Tier-capped. [Free 30d / Pro 365d / Power…

Historical daily Altcoin-Season snapshots (overall_color, BTC/Alt/Stable dominance, BTC price). Tier-capped. [Free 30d / Pro 365d / Power unlimited]

ParameterTypeDescription
daysintegerNumber of days back from today (auto-clamped by tier — Free=30, Pro=365, Power=3650).
contextstringExplain 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
arena_get_funding_rate_history2 paramsHistorical Binance Perpetual aggregated funding rates (8h cadence). Tier-capped. [Free 30d / Pro 365d / Power unlimited]
ParameterTypeDescription
daysintegerNumber of days back from today (auto-clamped by tier — Free=30, Pro=365, Power=3650).
contextstringExplain 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
arena_get_mayer_multiple_history2 paramsHistorical Mayer-Multiple values (BTC-Price ÷ 200d SMA). Tier-capped. [Free 30d / Pro 365d / Power unlimited]
ParameterTypeDescription
daysintegerNumber of days back from today (auto-clamped by tier — Free=30, Pro=365, Power=3650).
contextstringExplain 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
arena_list_onchain_series1 paramLists all available Bitcoin Research Kit (BRK) on-chain series (21 metrics like MVRV, NUPL, SOPR, Realized-Price, Mayer, Puell, STH/LTH S…

Lists all available Bitcoin Research Kit (BRK) on-chain series (21 metrics like 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]

ParameterTypeDescription
contextstringExplain 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
arena_get_onchain_latest2 paramsLatest value of a BRK on-chain series. series_id comes from arena_list_onchain_series. Returns { series_id, metric_name, date, value }. […

Latest value of a BRK on-chain series. series_id comes from arena_list_onchain_series. Returns { series_id, metric_name, date, value }. [Free tier]

ParameterTypeDescription
contextstringExplain 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
series_idstringBRK series id, e.g. 'mvrv', 'sopr', 'realized_price'.
arena_get_onchain_history3 paramsHistorical time series for a BRK on-chain metric. Date range auto-capped by tier. [Free 30d / Pro 365d / Power unlimited]
ParameterTypeDescription
daysintegerDays back from today (clamped by tier).
contextstringExplain 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
series_idstringBRK series id, e.g. 'mvrv'.
arena_get_max_pain2 paramsLast finalized Deribit BTC options expiry: max_pain_strike, spot_at_expiry, %-diff, put_call_ratio, notional. Plus up to 10 upcoming expi…

Last finalized Deribit BTC options expiry: max_pain_strike, spot_at_expiry, %-diff, put_call_ratio, notional. Plus up to 10 upcoming expiries with current live max-pain levels and days_to_expiry. Cron collects daily 02:00 UTC from Deribit Public API. [Free tier]

ParameterTypeDescription
marketstringOptions market. Currently only 'DERIBIT_BTC' (default). IBIT planned.
contextstringExplain 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
arena_get_max_pain_history3 paramsHistorical finalized Deribit BTC options expiries. Each row: expiry_date, max_pain_strike, spot_at_expiry, %-diff, P/C ratio, notional, q…

Historical finalized Deribit BTC options expiries. Each row: expiry_date, max_pain_strike, spot_at_expiry, %-diff, P/C ratio, notional, quarterly/monthly flag. Useful for backtesting Max Pain theory. Days auto-capped by tier: Pro 365d, Power 3650d. [API Pro tier]

ParameterTypeDescription
daysintegerDays back from today (default 90, capped by tier).
marketstringOptions market. Currently only 'DERIBIT_BTC' (default).
contextstringExplain 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
arena_get_drift_log2 paramsDaily drift log comparing bgeometrics (legacy) vs BRK (canonical-soon) pilot metric pairs. Returns mean / max / outlier counts per pair f…

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]

ParameterTypeDescription
daysintegerWindow size in days (default 90, max 365).
contextstringExplain 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
arena_list_strategies4 paramsLists all backtest strategies (key, label, plan, supported asset classes, primary indicators). Filterable by asset class and plan. Use th…

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]

ParameterTypeDescription
langstringLocalized names/taglines. Default 'en'.
planstringFilter to strategies of this plan tier.
contextstringExplain 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
asset_classstringFilter to strategies supporting this asset class.
arena_list_universes1 paramLists all asset universes (BTC, top-10 crypto, top-50 crypto, stocks-top-10, etc.) — the underlying pair-sets used by custom-report and u…

Lists all asset universes (BTC, top-10 crypto, top-50 crypto, stocks-top-10, etc.) — the underlying pair-sets used by custom-report and universe-backtest endpoints. [Free tier]

ParameterTypeDescription
contextstringExplain 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
arena_get_universe2 paramsDetail view of one universe, including pair list. [Free tier]
ParameterTypeDescription
contextstringExplain 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
universe_idstringUniverse id, e.g. 'top-10-crypto'.
arena_get_strategy_insights7 paramsAggregated backtest performance per (strategy × interval) cell. If `strategy` AND `interval` provided, returns detail with per-asset brea…

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]

ParameterTypeDescription
contextstringExplain 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
intervalstringDetail mode: interval.
min_runsintegerMatrix mode: minimum runs per cell. Default 5.
strategystringDetail mode: strategy key (used together with `interval`).
asset_typestringRestrict to one asset class.
assets_modestring'top10' restricts to top-10 pairs by run-count.
ref_strategystringBenchmark reference. Default 'bh'.
arena_get_filter_insights1 paramLift analysis of entry filters (200WMA, Altcoin-Season, ATR-Volatility, Bullmarket-Stage) per strategy combo — baseline vs filtered CAGR/…

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]

ParameterTypeDescription
contextstringExplain 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
arena_get_volatility_insights3 paramsCAGR breakdown by volatility phase (Low / Normal / High) per asset & timeframe. Used to find regime-fit for strategies. [API Pro tier]
ParameterTypeDescription
contextstringExplain 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
asset_typestring
min_tradesintegerMinimum trades per cell. Default 20.
arena_get_sentiment2 paramsCrypto sentiment — Fear & Greed, funding-rate, Altcoin-Season and Arena-Pulse aggregated into one multi-source view, plus optional ticker…

Crypto sentiment — Fear & Greed, funding-rate, Altcoin-Season and Arena-Pulse aggregated into one multi-source view, plus optional ticker-level sentiment. Configurable period. [Free tier]

ParameterTypeDescription
periodstringAggregation window. Default '7d'.
contextstringExplain 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
arena_get_strategy_performance6 paramsAggregated backtest performance for ONE specific (strategy, asset, interval) combination. Returns run_count, avg_cagr, avg_win_rate, avg_…

Aggregated backtest performance for ONE specific (strategy, asset, interval) combination. Returns run_count, avg_cagr, avg_win_rate, avg_drawdown, effective_years, and vs_buy_hold comparison (beats_buy_hold, cagr_delta). For multi-strategy overview use arena_get_strategy_insights. Use this to answer 'How does strategy X perform on asset Y?'. [Free tier]

ParameterTypeDescription
assetstringPair / symbol (e.g. BTCUSDT, AAPL.US). Case-insensitive.
contextstringExplain 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
intervalstringDefault '1w'.
strategystringStrategy key (e.g. rsi_sma, golden_cross). See arena_get_strategies for valid keys.
asset_typestringOptional asset class filter to disambiguate (e.g. when same pair-name exists in two classes).
ref_strategystringBenchmark reference. Default 'bh' (Buy & Hold).
arena_get_strategy_filter_effect4 paramsPer-(strategy, asset, interval) filter-effect analysis. Returns baseline-stats (no filters) + each observed filter-variant's stats with c…

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]

ParameterTypeDescription
assetstringPair / symbol (e.g. BTCUSDT). Case-insensitive.
contextstringExplain 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
intervalstringDefault '1w'.
strategystringStrategy key (see arena_get_strategies).
arena_get_strategy_performance_by_regime5 paramsHistorical backtest performance for ONE (strategy, asset, interval) combination SPLIT BY macro market regime (sweet_spot / late_cycle_war…

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 a recommendation for the CURRENT live regime. Answers the killer question 'Should I trade this strategy NOW?'. Each regime bucket returns trades, win_rate, avg_pnl_pct, reward_risk_ratio (per-trade mean/stddev, NOT annualized Sharpe), share_of_time_pct and a rating. [Free tier]

ParameterTypeDescription
assetstringPair / symbol (e.g. BTCUSDT, AAPL.US). Case-insensitive.
contextstringExplain 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
intervalstringDefault '1w'.
strategystringStrategy key (e.g. rsi_sma, golden_cross). See arena_get_strategies.
asset_typestringOptional asset class filter to disambiguate identical pair-names.
arena_get_edge_reports4 paramsPlatform-wide aggregated analysis: how each Pro+ entry filter (200 WMA, ATR low/high/expansion, Altcoin Season, Bullmarket confirm/strict…

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]

ParameterTypeDescription
marketstringAsset class to analyze.
contextstringExplain 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
verdictstringFilter by verdict. Default 'all'.
strategystringRestrict to a single strategy key (e.g. golden_cross). Omit for all strategies.
arena_get_winners4 paramsPublic Top-100 list of highest-CAGR backtest results across all users (with anonymized usernames). Filterable by asset_class and strategy…

Public Top-100 list of highest-CAGR backtest results across all users (with anonymized usernames). Filterable by asset_class and strategy. [Free tier]

ParameterTypeDescription
limitinteger
contextstringExplain 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
strategystring
asset_typestring
arena_list_backtests7 paramsLists your own backtest runs, filterable by asset_type / strategy / pair / interval. Paginated with limit + offset. [API Pro tier]
ParameterTypeDescription
pairstring
limitintegerMax 100, default 50.
offsetinteger
contextstringExplain 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
intervalstring
strategystring
asset_typestring
arena_get_backtest2 paramsDetail for one of YOUR backtest runs (or admin-readable). Returns metrics, asset, interval, date range, CAGR/winRate/drawdown, params. [A…

Detail for one of YOUR backtest runs (or admin-readable). Returns metrics, asset, interval, date range, CAGR/winRate/drawdown, params. [API Pro tier]

ParameterTypeDescription
idstringUUID of the backtest run.
contextstringExplain 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
arena_get_backtest_trades2 paramsTrades list and per-trade equity progression for one of your backtests. [API Pro tier]
ParameterTypeDescription
idstringUUID of the backtest run.
contextstringExplain 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
arena_get_shared_backtest2 paramsRead-only access to a publicly shared backtest by its share-id. Anyone can fetch — used for sharing strategy results with non-users. [Fre…

Read-only access to a publicly shared backtest by its share-id. Anyone can fetch — used for sharing strategy results with non-users. [Free tier]

ParameterTypeDescription
contextstringExplain 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
share_idstringPublic share id from /shared/backtests URL.
arena_get_signal_status4 paramsCurrent signal-status (green/yellow/red) for a strategy on a pair+interval. Backed by the daily check-signals cron — needs at least one u…

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]

ParameterTypeDescription
pairstringTrading pair / symbol.
contextstringExplain 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
intervalstringCandle interval.
strategystringStrategy key, e.g. 'rsi_sma'.
validate_strategy6 paramsBacktest a trading strategy honestly — look-ahead-aware validation with Deflated-Sharpe-Ratio / multiple-testing correction (Bailey & Lóp…

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

ParameterTypeDescription
oosobject
costsobjectPer-side fee in bps; default 10 (crypto) / 5 (else).
marketobject
windowobject
contextstringExplain 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
strategyobject
arena_run_backtest10 paramsTriggers a single-asset backtest with full strategy / filter / params control. Returns aggregate metrics + run-id. Sync (3-10s typical). …

Triggers a single-asset backtest with full strategy / filter / params control. Returns aggregate metrics + run-id. Sync (3-10s typical). Per-day quota: Pro=50, Power=500. [API Pro tier]

ParameterTypeDescription
pairstringPair symbol, e.g. BTCUSDT, AAPL.US, EURUSD.FOREX.
paramsobjectStrategy-specific params (e.g. { rsi_period: 14 }).
capitalnumberDefault 10000.
contextstringExplain 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
date_tostringYYYY-MM-DD; default today.
filtersobject
intervalstring
strategystringStrategy key — use arena_list_strategies to find valid keys.
date_fromstringYYYY-MM-DD
asset_typestring
arena_compare_strategies9 paramsRun 2-5 strategies on the same pair / interval / date range and return per-strategy metrics plus comparison summary (best by CAGR, best b…

Run 2-5 strategies on the same pair / interval / date range and return per-strategy metrics plus comparison summary (best by CAGR, best by win-rate, worst by drawdown). Sequential — expect 10-50s. Per-day quota: Pro=20, Power=200. [API Pro tier]

ParameterTypeDescription
pairstring
capitalnumber
contextstringExplain 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
date_tostring
filtersobject
intervalstring
date_fromstring
asset_typestring
strategiesarray
arena_run_universe_backtest10 paramsBacktests one strategy on up to 50 pairs at once. Returns immediately with a job_id; poll arena_get_job_status to check progress. Provide…

Backtests one strategy on up to 50 pairs at once. Returns immediately with a job_id; poll arena_get_job_status to check progress. Provide either universe_id (e.g. 'crypto-top-10') OR explicit pairs[]. Background runtime: ~1.5s × n_pairs. Per-day quota: Pro=5, Power=50. [API Pro tier]

ParameterTypeDescription
pairsarrayExplicit pair list (max 50). Use instead of universe_id.
paramsobject
capitalnumber
contextstringExplain 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
date_tostring
filtersobject
intervalstring
strategystringStrategy key — call arena_list_strategies.
date_fromstring
universe_idstringPre-curated universe — call arena_list_universes for valid IDs. Max 50 pairs.
arena_get_job_status2 paramsPolls an async job by job_id (created via arena_run_universe_backtest). Returns status (pending/running/completed/failed), progress_pct, …

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]

ParameterTypeDescription
job_idstringUUID job_id returned by arena_run_universe_backtest.
contextstringExplain 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
arena_run_grid_backtest12 paramsGrid-bot simulation on historical candles. Returns final value, return%, CAGR, trades, fees, buy-hold comparison. Free tier limited to BT…

Grid-bot simulation on historical candles. Returns final value, return%, CAGR, trades, fees, buy-hold comparison. Free tier limited to BTCUSDT/ETHUSDT. Per-day quota: Free=5, Pro=50, Power=500. [Free / Pro / Power tier]

ParameterTypeDescription
pairstring
contextstringExplain 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
end_datestring
fee_ratenumberPer-trade fee fraction, e.g. 0.001 for 0.1%.
grid_typestring
low_pricenumber
grid_countinteger
high_pricenumber
start_datestring
entry_pricenumber
stop_loss_pricenumber
total_investmentnumberUSDT amount; min 100.
arena_quote_report9 paramsGet a pricing quote for a custom report (universe-backtest PDF + Excel) without committing to a purchase. Returns price, universe size + …

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-only universes use top-N tiers; stocks/ETFs use custom pair list. [API Pro tier]

ParameterTypeDescription
contextstringExplain 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
intervalstring
strategystringStrategy key (use arena_list_strategies for valid values).
asset_typestring
custom_pairsarrayRequired when universe_tier='custom'.
period_labelstring
discount_codestringOptional retention-discount code.
universe_tier'top-10' / 'top-50' / 'top-100' / 'top-250' (crypto) or 'custom' for stocks/etf with customPairs[].
strategy_paramsobject
arena_get_report_status2 paramsPoll the status of a Custom-Report job. Lifecycle: pending_payment → queued → running → generating → success/failed. Returns progress_pct…

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]

ParameterTypeDescription
job_idstringJob UUID returned by checkout.
contextstringExplain 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
arena_subscribe_signal_alerts6 paramsCreates a subscription that fires when an existing Ampel-Config's signal changes (BUY ↔ SELL). User must first create an ampel-config via…

Creates a subscription that fires when an existing Ampel-Config's signal changes (BUY ↔ SELL). User must first create an ampel-config via the Web UI (`/dashboard/ampel`) and pass its UUID here. Optional signal_types filter restricts to BUY-only or SELL-only. [API Pro tier and up — 3 active subscriptions max for Pro, 20 for Power]

ParameterTypeDescription
contextstringExplain 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
expires_atstring
webhook_urlstring
signal_typesarrayOptional filter. Default: both BUY and SELL fire.
ampel_config_idstringUUID einer existierenden ampel_configs-Row im gleichen User-Account.
delivery_methodstring
arena_subscribe_cycle_changes5 paramsCreates a subscription that fires when the BTC-Cycle band changes (e.g. capitulation → risk-off → neutral → constructive → euphoric). Opt…

Creates a subscription that fires when the BTC-Cycle band changes (e.g. capitulation → risk-off → neutral → constructive → euphoric). Optional bands filter restricts to specific targets. [API Pro tier and up — 3 active subscriptions max for Pro, 20 for Power]

ParameterTypeDescription
bandsarrayFilter to bands of interest. Default: any change triggers.
contextstringExplain 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
expires_atstringISO timestamp; subscription auto-deactivates after this.
webhook_urlstringHTTPS URL — required when delivery_method=webhook.
delivery_methodstring'polling' (default) or 'webhook'.
arena_subscribe_pulse_changes6 paramsCreates a subscription that fires when the daily 0-100 Arena-Pulse score crosses threshold_above (up) or threshold_below (down). At least…

Creates a subscription that fires when the daily 0-100 Arena-Pulse score crosses threshold_above (up) or threshold_below (down). At least one threshold required. [API Pro tier and up — 3 active subscriptions max for Pro, 20 for Power]

ParameterTypeDescription
contextstringExplain 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
expires_atstring
webhook_urlstring
delivery_methodstring
threshold_abovenumberFire when score rises across this value.
threshold_belownumberFire when score falls across this value.
arena_subscribe_bullmarket_stage6 paramsCreates a subscription that fires when the Bullmarket-Ampel active stage count (0-5) changes. Optional direction filter (up/down/any) + s…

Creates a subscription that fires when the Bullmarket-Ampel active stage count (0-5) changes. Optional direction filter (up/down/any) + specific stages of interest. [API Pro tier and up — 3 active subscriptions max for Pro, 20 for Power]

ParameterTypeDescription
stagesarraySpecific stages of interest. Default: any change.
contextstringExplain 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
directionstringFilter to direction. Default 'any'.
expires_atstring
webhook_urlstring
delivery_methodstring
arena_list_subscriptions1 paramReturns all active subscriptions for the current API key. [API Pro tier]
ParameterTypeDescription
contextstringExplain 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
arena_check_subscription_updates1 paramReturns all undelivered updates for the API key, then marks them as delivered. Call regularly to consume the polling queue. Updates conta…

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]

ParameterTypeDescription
contextstringExplain 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
arena_cancel_subscription2 paramsDeactivates a subscription. Idempotent — re-cancellation is a no-op. [API Pro tier]
ParameterTypeDescription
contextstringExplain 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
subscription_idstringSubscription id returned by arena_subscribe_*
arena_get_gem_scores3 paramsAltcoin screener ranking — which altcoins look strong right now? Today's CoinGecko Top-200 scored by a composite of 3 factor groups: Mean…

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]

ParameterTypeDescription
limitintegerNumber of coins to return (tier-capped)
contextstringExplain 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
from_rankintegerStart from this rank (default 1)
arena_get_gem_score2 paramsDetailed Altcoin Screener score for a specific coin by CoinGecko ID. Pro+ gets raw factor values (9 factors across groups A/B/C). [Free t…

Detailed Altcoin Screener score for a specific coin by CoinGecko ID. Pro+ gets raw factor values (9 factors across groups A/B/C). [Free tier]

ParameterTypeDescription
contextstringExplain 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
coingecko_idstringCoinGecko coin ID, e.g. "ethereum", "solana"
arena_get_gem_validation2 paramsBi-weekly equal-weight basket backtest for Top-N screener picks vs BTC and market average. Shows CAGR, max drawdown, win-rate. Free: top-…

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]

ParameterTypeDescription
top_nintegerBasket size (default 10, Pro+ up to 200)
contextstringExplain 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
arena_get_volatility_phases2 paramsReturns the current ATR-based volatility phase (low/normal/high/expansion) for all tracked assets: Top-10 Crypto pairs, Top-10 Stocks, To…

Returns the current ATR-based volatility phase (low/normal/high/expansion) for all tracked assets: Top-10 Crypto pairs, Top-10 Stocks, Top-10 ETFs. Updated daily at 08:00 UTC. Useful for regime-aware strategy selection. [Free tier]

ParameterTypeDescription
contextstringExplain 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
asset_typestringFilter by asset class. Omit for all.
arena_get_volatility_recommendations3 paramsReturns top-3 strategies ranked by historical win-rate for the current volatility phase of a given asset pair. Phase is detected from the…

Returns top-3 strategies ranked by historical win-rate for the current volatility phase of a given asset pair. Phase is detected from the latest snapshot. Minimum 20 trades per phase required for inclusion. Use this to answer "which strategies work best right now for BTC?". [API Pro tier]

ParameterTypeDescription
pairstringAsset pair, e.g. "BTCUSDT" for crypto, "AAPL.US" for stocks
contextstringExplain 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
asset_typestringAsset class of the pair
arena_list_knowledge1 paramDiscover what Knowledge Objects exist: lists all published types + their subjects (with min_tier, api_path, seo_slug, latest as_of). Use …

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]

ParameterTypeDescription
contextstringExplain 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
arena_get_knowledge4 paramsFetch a versioned, explainable Knowledge Object by type + subject (e.g. type='market_regime', subject='GLOBAL'). Returns the current publ…

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. [Free tier; per-object access additionally gated by min_tier]

ParameterTypeDescription
typestringKnowledge object type, e.g. 'market_regime'.
as_ofstringSpecific date YYYY-MM-DD. Omit for latest.
contextstringExplain 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
subjectstringSubject ref, e.g. 'GLOBAL', 'BTC'.
arena_get_ontology_term3 paramsResolve a knowledge-platform term to its canonical definition (e.g. term='regime'). Returns label, definition (EN/DE), calculation, unit,…

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]

ParameterTypeDescription
termstringOntology term slug, e.g. 'regime', 'liquidity', 'altcoin_season'.
contextstringExplain 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
versionintegerSpecific version. Omit for current.
arena_dip_decision4 paramsBuy now or wait for the dip? Decision-math over the user's OWN assumptions (target/dip prices, probabilities, capital). Two modes: "compa…

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

ParameterTypeDescription
modestring'compare' (default): EV of buy-now vs wait vs split + breakeven dip probability. 'allocate': risk-adjusted optimal deploy-now fraction under γ.
compareobjectRequired when mode='compare'.
contextstringExplain 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
allocateobjectRequired when mode='allocate'.
get_more_tools1 paramCheck for additional tools whenever your task might benefit from specialized capabilities - even if existing tools could work as a fallback.
ParameterTypeDescription
contextstringA description of your goal and what kind of tool would help accomplish it.