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 sco
arena_get_cycle
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 (M
arena_get_spot_price
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
arena_get_stablecoin_supply
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 an
arena_get_etf_flows
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
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]
arena_get_bullmarket_ampel
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]
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]
arena_get_mayer_multiple
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 s
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, v
arena_get_btc_market_structure
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, f
arena_get_key_levels
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 th
arena_get_iv_snapshot
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 202
arena_get_pulse_history
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]
arena_get_cycle_history
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 a
arena_get_altcoin_season_history
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. [
arena_get_funding_rate_history
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
arena_get_mayer_multiple_history
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 al
arena_list_onchain_series
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]
arena_get_onchain_latest
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
arena_get_sth_cost_basis
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). Descriptiv
arena_get_onchain_history
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 cal
arena_get_max_pain
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. Read the OI: a max-pain level is only as meaningful as the open interest b
arena_get_max_pain_history
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 expiri
arena_get_drift_log
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]
arena_list_strategies
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]
arena_list_universes
Lists all crypto asset universes (BTC, top-10 crypto, top-50 crypto, etc.) — the underlying pair-sets used by custom-report and universe-backtest endpoints. [Free tier]
arena_get_universe
Returns one pair universe in full: its id, label, selection rule and the complete list of pairs it currently contains. Use it to see what you are about to test BEFORE handing a universe_id to arena_run_universe_backtest, or to resolve a universe into explicit pairs. For the list of available univers
arena_get_strategy_insights
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]
arena_get_filter_insights
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]
arena_get_volatility_insights
Breaks realized strategy performance down by VOLATILITY PHASE (low / normal / high) per asset and timeframe, so you can see whether an edge only exists in one volatility regime. Answers "when does this work", not "does this work" — for the overall verdict use arena_get_strategy_insights, for the mac
arena_get_sentiment
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, strategyAsse
arena_get_strategy_performance
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
arena_get_strategy_filter_effect
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
arena_get_strategy_performance_by_regime
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 t
arena_get_edge_reports
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 / ins
arena_get_winners
Public leaderboard: the highest-CAGR backtest results across all users, with anonymized usernames, pair, strategy, interval and period. Answers "what has scored best on this platform so far". Read it as a selected extreme, not as a recommendation — a top-of-leaderboard entry is the winner of a large
arena_list_backtests
Lists the backtest runs belonging to the authenticated user — newest first, with id, strategy, pair, interval, date range and headline metrics per run. Use it to find a run_id, then call arena_get_backtest for its detail or arena_get_backtest_trades for the individual trades. Only your OWN runs; for
arena_get_backtest
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 aren
arena_get_backtest_trades
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
arena_get_shared_backtest
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 ar
arena_get_signal_status
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]
validate_strategy
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 recommendat
arena_run_backtest
Run ONE strategy on ONE pair over a date range and get the full result: CAGR, total return, max drawdown, win-rate, trade count, Buy & Hold comparison, net-of-fees figures, and a run_id for later retrieval. Synchronous, typically 3–10s. Use this when the user wants a concrete result for a specific s
arena_compare_strategies
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, whi
arena_run_universe_backtest
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]
arena_get_job_status
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]
arena_run_grid_backtest
Simulate a GRID BOT (buy-low / sell-high ladder inside a fixed price range) on historical candles. Returns final value, return %, CAGR, trade count, fees paid and a Buy & Hold comparison. This is a different machine from the strategy backtester: grid bots earn from oscillation inside a range, not fr
arena_quote_report
Get a pricing quote for a custom report (universe-backtest PDF + Excel) without committing to a purchase. Returns price, universe size + preview, excluded pairs, and filter config. Crypto universes use top-N tiers (top-10 … top-250) or a custom pair list. [API Pro tier]
arena_get_report_status
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]
arena_subscribe_signal_alerts
Fires when an existing Ampel-Config's signal flips (BUY ↔ SELL). Prerequisite: the user must have created that ampel-config in the web UI (`/dashboard/ampel`) — pass its UUID here; this tool cannot create one. Optional signal_types filter narrows to BUY-only or SELL-only. For the current signal stat
arena_subscribe_cycle_changes
Fires when the BTC-Cycle band changes (capitulation → risk-off → neutral → constructive → euphoric). Optional bands filter restricts to specific target bands. For the current band without subscribing, call arena_get_cycle. Creates a standing subscription; it does not return a value now — collect fir
arena_subscribe_pulse_changes
Fires when the daily 0–100 Arena-Pulse score crosses threshold_above (upward) or threshold_below (downward). At least one threshold is required. For the current score without subscribing, call arena_get_pulse. Creates a standing subscription; it does not return a value now — collect fired updates wi
arena_subscribe_bullmarket_stage
Fires when the Bullmarket-Ampel active stage count (0–5) changes. Optional direction filter (up/down/any) plus specific stages of interest. For the current stage count without subscribing, call arena_get_bullmarket_ampel. Creates a standing subscription; it does not return a value now — collect fire
arena_list_subscriptions
Returns every ACTIVE subscription belonging to the current API key: id, type, trigger configuration, delivery method and expiry. Use it to see what is already running before creating a duplicate, and to get the subscription_id that arena_cancel_subscription needs. Does not return fired updates — tha
arena_check_subscription_updates
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]
arena_cancel_subscription
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 remov
arena_get_gem_scores
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. [Fr
arena_get_gem_score
Returns the Altcoin-Screener score for ONE coin, addressed by its CoinGecko id: the composite score, its group breakdown and — for Pro+ — the 9 raw factor values across groups A/B/C. Use it once a candidate is known; to rank or filter the whole screened universe use arena_get_gem_scores (plural), an
arena_get_gem_validation
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]
arena_get_volatility_history
Daily Bitcoin volatility time series: realized volatility (30d & 90d, √252-annualized, close-to-close) and ATR% (Wilder EMA-14, captures intraday range + gaps), on the same scale. Ranks come in two flavours and they answer different questions — `rvRank`/`atrPctAnnRank` expand from the start of histo
arena_get_volatility_phases
Current ATR-based volatility phase (low/normal/high/expansion) per tracked pair, updated daily at 08:00 UTC. This is a single current state — for the time series behind it use arena_get_volatility_history, and for what the phase implies for strategy choice use arena_get_volatility_recommendations. F
arena_get_volatility_recommendations
Top-3 strategies ranked by historical win-rate for the current volatility phase of a given pair. Phase comes from the latest snapshot (arena_get_volatility_phases); minimum 20 trades per phase required for inclusion. Answers "which strategies did well in a phase like the current one?" — a historical
arena_list_knowledge
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]
arena_get_knowledge
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 knowled
arena_get_ontology_term
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]
arena_dip_decision
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-avers
arena_get_historical_analog
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
arena_dip_scenario
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 histo
arena_get_robustness_field
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
get_more_tools
Check for additional tools whenever your task might benefit from specialized capabilities - even if existing tools could work as a fallback.
Endpoint
https://tradingstrategies.work/api/mcp Category: Dev & Git · Last checked: 2026-07-30T13:49:01Z
Monitor your own MCP server
Get alerted the moment yours goes down, a tool schema drifts, or an upstream silently breaks.
What this means. This server responded to the MCP handshake and listed its tools without authentication. The schema fingerprint lets us flag if tool signatures silently change (schema drift) between checks.