API Reference

Endpoint Explorer

Search the complete live catalog, including exact response fields, typed parameters, Pro tiers, chain coverage, and supported legacy paths.

Reset
1,368 endpoints, catalog 927ed17c749a5e0cPage 5 of 28
realized-pl-deviationpro

Track extreme profit-taking and capitulation events by measuring daily net realized P&L normalized by cumulative standard deviation to identify market cycle turning points and distribution phases

Chart Datasets
GET /api/v1/charts/realized-pl-deviationTry in Playground

Response fields

block_height: number?btc_price: number?date: string?formattedDate: string?net_realized_pl: number?price: number?realized_pl_deviation: number?realized_pl_deviation_btc: number?realized_profit_deviation: number?timestamp: integer?ledger_index: number?deviation: number?

Query parameters

NameTypeDescription
daysintegerNumber of recent calendar days to return.
limitintegerMaximum number of rows to return.
startDatedateInclusive start date in YYYY-MM-DD format.
endDatedateInclusive end date in YYYY-MM-DD format.
formatstringResponse serialization format.
chainstringChain or asset identifier.
dataResolutionstringRequested on-chain data resolution, when the metric advertises it in /api/onchain/manifest. Daily (1d) is the default; block and sub-day resolutions are served from the same metric endpoint.
timeframestringRequested chart timeframe.
realized-pl-deviation-momentumpro

Track momentum shifts in realized profit deviation by comparing current RPD against its moving average to identify intensifying profit-taking or capitulation phases with USD/BTC denomination support

Chart Datasets
GET /api/v1/charts/realized-pl-deviation-momentumTry in Playground

Response fields

block_height: number?btc_price: number?date: string?deviation_momentum: number?deviation_momentum_btc: number?deviation_sma_365: number?formattedDate: string?net_realized_pl: number?price: number?realized_pl_deviation: number?realized_pl_deviation_btc: number?realized_profit_deviation: number?rpd_sma_30: number?rpd_sma_90: number?timestamp: integer?ledger_index: number?momentum: number?realized_pl_deviation_momentum: number?realized_pl_deviation_momentum_30d: number?realized_pl_deviation_momentum_90d: number?realized_pl_deviation_sma_30: number?realized_pl_deviation_sma_365: number?z_score: number?

Query parameters

NameTypeDescription
daysintegerNumber of recent calendar days to return.
limitintegerMaximum number of rows to return.
startDatedateInclusive start date in YYYY-MM-DD format.
endDatedateInclusive end date in YYYY-MM-DD format.
formatstringResponse serialization format.
chainstringChain or asset identifier.
dataResolutionstringRequested on-chain data resolution, when the metric advertises it in /api/onchain/manifest. Daily (1d) is the default; block and sub-day resolutions are served from the same metric endpoint.
timeframestringRequested chart timeframe.
realized-pl-heatmappro

Maps where selling pressure originates by showing the dollar value of realized profit or loss at each original cost basis level per day. The Y-axis shows where sellers originally bought, the X-axis shows when they sold, and brightness indicates the volume of P&L realized. Reveals which cost basis cohorts are actively distributing or capitulating. Best viewed with smoothing applied (14-30 day EMA recommended).

Chart Datasets
GET /api/v1/charts/realized-pl-heatmapTry in Playground

Response fields

btc_price: number?buckets: number?date: string?formattedDate: string?timestamp: integer?block_height: number?price: number?bucket_prices: number?scale: number?

Query parameters

NameTypeDescription
daysintegerNumber of recent calendar days to return.
limitintegerMaximum number of rows to return.
startDatedateInclusive start date in YYYY-MM-DD format.
endDatedateInclusive end date in YYYY-MM-DD format.
formatstringResponse serialization format.
chainstringChain or asset identifier.
dataResolutionstringRequested on-chain data resolution, when the metric advertises it in /api/onchain/manifest. Daily (1d) is the default; block and sub-day resolutions are served from the same metric endpoint.
timeframestringRequested chart timeframe.
realized-pl-heatmap-by-agepro

Daily realized P/L per cost-basis bucket, restricted to one age cohort. Pinpoints the exact intersection of holder age × acquisition price where profit-taking or loss-realization is concentrated today.

Chart Datasets
GET /api/v1/charts/realized-pl-heatmap-by-ageTry in Playground

Response fields

btc_price: number?by_age: number?date: string?formattedDate: string?timestamp: integer?block_height: number?price: number?bucket_prices: number?buckets: number?scale: number?

Query parameters

NameTypeDescription
daysintegerNumber of recent calendar days to return.
limitintegerMaximum number of rows to return.
startDatedateInclusive start date in YYYY-MM-DD format.
endDatedateInclusive end date in YYYY-MM-DD format.
formatstringResponse serialization format.
chainstringChain or asset identifier.
dataResolutionstringRequested on-chain data resolution, when the metric advertises it in /api/onchain/manifest. Daily (1d) is the default; block and sub-day resolutions are served from the same metric endpoint.
timeframestringRequested chart timeframe.
realized-pl-heatmap-lthpro

Daily realized profit/loss per cost-basis bucket, restricted to Long-Term Holder spends. Green clusters at deep-discount cost bases = vintage holders taking massive profits; red clusters = LTH capitulation.

Chart Datasets
GET /api/v1/charts/realized-pl-heatmap-lthTry in Playground

Response fields

btc_price: number?buckets: number?date: string?formattedDate: string?timestamp: integer?block_height: number?price: number?bucket_prices: number?scale: number?

Query parameters

NameTypeDescription
daysintegerNumber of recent calendar days to return.
limitintegerMaximum number of rows to return.
startDatedateInclusive start date in YYYY-MM-DD format.
endDatedateInclusive end date in YYYY-MM-DD format.
formatstringResponse serialization format.
chainstringChain or asset identifier.
dataResolutionstringRequested on-chain data resolution, when the metric advertises it in /api/onchain/manifest. Daily (1d) is the default; block and sub-day resolutions are served from the same metric endpoint.
timeframestringRequested chart timeframe.
realized-pl-heatmap-sthpro

Daily realized profit/loss per cost-basis bucket, restricted to Short-Term Holder spends. Heat concentration near current price = fast-turnover trading; heat near 0 = recent capitulation of panic buyers.

Chart Datasets
GET /api/v1/charts/realized-pl-heatmap-sthTry in Playground

Response fields

btc_price: number?buckets: number?date: string?formattedDate: string?timestamp: integer?block_height: number?price: number?bucket_prices: number?scale: number?

Query parameters

NameTypeDescription
daysintegerNumber of recent calendar days to return.
limitintegerMaximum number of rows to return.
startDatedateInclusive start date in YYYY-MM-DD format.
endDatedateInclusive end date in YYYY-MM-DD format.
formatstringResponse serialization format.
chainstringChain or asset identifier.
dataResolutionstringRequested on-chain data resolution, when the metric advertises it in /api/onchain/manifest. Daily (1d) is the default; block and sub-day resolutions are served from the same metric endpoint.
timeframestringRequested chart timeframe.
realized-pl-ratiopro

Ratio of total realized profit to total realized loss across all Bitcoin age cohorts. Values above 1 mean realized profit exceeded realized loss for the period.

Chart Datasets
GET /api/v1/charts/realized-pl-ratioTry in Playground

Response fields

block_height: number?btc_price: number?date: string?formattedDate: string?price: number?realized_loss_usd: number?realized_pl_ratio: number?realized_profit_usd: number?rpl_ratio: number?rpl_ratio_sma30: number?timestamp: integer?ledger_index: number?cumulative_pl_price: number?market_pl_price_cumulative: number?market_pl_price_ratio: number?market_pl_price_ratio_mean: number?market_pl_price_ratio_minus_1sigma: number?market_pl_price_ratio_plus_1sigma: number?market_realized_price: number?ratio: number?

Query parameters

NameTypeDescription
daysintegerNumber of recent calendar days to return.
limitintegerMaximum number of rows to return.
startDatedateInclusive start date in YYYY-MM-DD format.
endDatedateInclusive end date in YYYY-MM-DD format.
formatstringResponse serialization format.
chainstringChain or asset identifier.
dataResolutionstringRequested on-chain data resolution, when the metric advertises it in /api/onchain/manifest. Daily (1d) is the default; block and sub-day resolutions are served from the same metric endpoint.
timeframestringRequested chart timeframe.
realized-pl-sharpe-ratiopro

Measures risk-adjusted returns for each age cohort's realized profit and loss. Shows which holder cohorts achieve the best returns relative to their volatility, providing insights into trading efficiency.

Chart Datasets
GET /api/v1/charts/realized-pl-sharpe-ratioTry in Playground

Response fields

age_bands: number?band_0_loss: number?band_0_loss_btc: number?band_0_loss_usd: number?band_0_net: number?band_0_net_btc: number?band_0_net_usd: number?band_0_profit: number?band_0_profit_btc: number?band_0_profit_usd: number?band_1_loss: number?band_1_loss_btc: number?band_1_loss_usd: number?band_1_net: number?band_1_net_btc: number?band_1_net_usd: number?band_1_profit: number?band_1_profit_btc: number?band_1_profit_usd: number?band_10_loss: number?band_10_loss_btc: number?band_10_loss_usd: number?band_10_net: number?band_10_net_btc: number?band_10_net_usd: number?band_10_profit: number?band_10_profit_btc: number?band_10_profit_usd: number?band_11_loss: number?band_11_loss_btc: number?band_11_loss_usd: number?band_11_net: number?band_11_net_btc: number?band_11_net_usd: number?band_11_profit: number?band_11_profit_btc: number?band_11_profit_usd: number?band_2_loss: number?band_2_loss_btc: number?band_2_loss_usd: number?band_2_net: number?band_2_net_btc: number?band_2_net_usd: number?band_2_profit: number?band_2_profit_btc: number?band_2_profit_usd: number?band_3_loss: number?band_3_loss_btc: number?band_3_loss_usd: number?band_3_net: number?band_3_net_btc: number?band_3_net_usd: number?band_3_profit: number?band_3_profit_btc: number?band_3_profit_usd: number?band_4_loss: number?band_4_loss_btc: number?band_4_loss_usd: number?band_4_net: number?band_4_net_btc: number?band_4_net_usd: number?band_4_profit: number?band_4_profit_btc: number?band_4_profit_usd: number?band_5_loss: number?band_5_loss_btc: number?band_5_loss_usd: number?band_5_net: number?band_5_net_btc: number?band_5_net_usd: number?band_5_profit: number?band_5_profit_btc: number?band_5_profit_usd: number?band_6_loss: number?band_6_loss_btc: number?band_6_loss_usd: number?band_6_net: number?band_6_net_btc: number?band_6_net_usd: number?band_6_profit: number?band_6_profit_btc: number?band_6_profit_usd: number?band_7_loss: number?band_7_loss_btc: number?band_7_loss_usd: number?band_7_net: number?band_7_net_btc: number?band_7_net_usd: number?band_7_profit: number?band_7_profit_btc: number?band_7_profit_usd: number?band_8_loss: number?band_8_loss_btc: number?band_8_loss_usd: number?band_8_net: number?band_8_net_btc: number?band_8_net_usd: number?band_8_profit: number?band_8_profit_btc: number?band_8_profit_usd: number?band_9_loss: number?band_9_loss_btc: number?band_9_loss_usd: number?band_9_net: number?band_9_net_btc: number?band_9_net_usd: number?band_9_profit: number?band_9_profit_btc: number?band_9_profit_usd: number?block_height: number?btc_price: number?date: string?formattedDate: string?rpl_d1_1w: number?rpl_lt_1d: number?rpl_m1_3m: number?rpl_m3_6m: number?rpl_m6_12m: number?rpl_w1_1m: number?rpl_y1_2y: number?rpl_y10_plus: number?rpl_y2_3y: number?rpl_y3_5y: number?rpl_y5_7y: number?rpl_y7_10y: number?timestamp: integer?ledger_index: number?lth_realized_loss_btc: number?lth_realized_loss_usd: number?lth_realized_profit_btc: number?lth_realized_profit_usd: number?price: number?realized_pl_10y_plus: number?realized_pl_1d_1w: number?realized_pl_1m_3m: number?realized_pl_1w_1m: number?realized_pl_1y_2y: number?realized_pl_24h: number?realized_pl_2y_3y: number?realized_pl_3m_6m: number?realized_pl_3y_5y: number?realized_pl_5y_7y: number?realized_pl_6m_12m: number?realized_pl_7y_10y: number?sth_realized_loss_btc: number?sth_realized_loss_usd: number?sth_realized_profit_btc: number?sth_realized_profit_usd: number?rpl_y5_plus: number?

Query parameters

NameTypeDescription
daysintegerNumber of recent calendar days to return.
limitintegerMaximum number of rows to return.
startDatedateInclusive start date in YYYY-MM-DD format.
endDatedateInclusive end date in YYYY-MM-DD format.
formatstringResponse serialization format.
chainstringChain or asset identifier.
dataResolutionstringRequested on-chain data resolution, when the metric advertises it in /api/onchain/manifest. Daily (1d) is the default; block and sub-day resolutions are served from the same metric endpoint.
timeframestringRequested chart timeframe.
realized-price-streakpro

Tracks consecutive days Bitcoin's price stays above or below its Realized Price, helping contextualize current market positioning relative to historical cycles. Extended streaks above (500+ days) often coincide with bull market euphoria, while extended streaks below indicate bear market accumulation phases.

Chart Datasets
GET /api/v1/charts/realized-price-streakTry in Playground

Response fields

block_height: number?btc_price: number?date: string?formattedDate: string?is_above: number?price: number?realized_price: number?realized_price_streak: number?streak_above: number?streak_below: number?streak_days: number?timestamp: integer?sth_cost_basis: number?active_realized_price: number?ledger_index: number?lth_cost_basis: number?mvrv_mean_price: number?true_market_mean_price: number?true_market_mean: number?realized_price_usd: number?streak_days_negative: number?streak_days_positive: number?

Query parameters

NameTypeDescription
daysintegerNumber of recent calendar days to return.
limitintegerMaximum number of rows to return.
startDatedateInclusive start date in YYYY-MM-DD format.
endDatedateInclusive end date in YYYY-MM-DD format.
formatstringResponse serialization format.
chainstringChain or asset identifier.
dataResolutionstringRequested on-chain data resolution, when the metric advertises it in /api/onchain/manifest. Daily (1d) is the default; block and sub-day resolutions are served from the same metric endpoint.
timeframestringRequested chart timeframe.
realized-profit-by-agepro

Analyze realized profit and loss segmented by coin age cohorts. Track how different age groups (from 1 day to 10+ years) contribute to market movements, revealing behavioral patterns of short-term traders vs. long-term holders.

Chart Datasets
GET /api/v1/charts/realized-profit-by-ageTry in Playground

Response fields

age_bands: number?band_0_loss: number?band_0_loss_btc: number?band_0_loss_usd: number?band_0_net: number?band_0_net_btc: number?band_0_net_usd: number?band_0_profit: number?band_0_profit_btc: number?band_0_profit_usd: number?band_1_loss: number?band_1_loss_btc: number?band_1_loss_usd: number?band_1_net: number?band_1_net_btc: number?band_1_net_usd: number?band_1_profit: number?band_1_profit_btc: number?band_1_profit_usd: number?band_10_loss: number?band_10_loss_btc: number?band_10_loss_usd: number?band_10_net: number?band_10_net_btc: number?band_10_net_usd: number?band_10_profit: number?band_10_profit_btc: number?band_10_profit_usd: number?band_11_loss: number?band_11_loss_btc: number?band_11_loss_usd: number?band_11_net: number?band_11_net_btc: number?band_11_net_usd: number?band_11_profit: number?band_11_profit_btc: number?band_11_profit_usd: number?band_2_loss: number?band_2_loss_btc: number?band_2_loss_usd: number?band_2_net: number?band_2_net_btc: number?band_2_net_usd: number?band_2_profit: number?band_2_profit_btc: number?band_2_profit_usd: number?band_3_loss: number?band_3_loss_btc: number?band_3_loss_usd: number?band_3_net: number?band_3_net_btc: number?band_3_net_usd: number?band_3_profit: number?band_3_profit_btc: number?band_3_profit_usd: number?band_4_loss: number?band_4_loss_btc: number?band_4_loss_usd: number?band_4_net: number?band_4_net_btc: number?band_4_net_usd: number?band_4_profit: number?band_4_profit_btc: number?band_4_profit_usd: number?band_5_loss: number?band_5_loss_btc: number?band_5_loss_usd: number?band_5_net: number?band_5_net_btc: number?band_5_net_usd: number?band_5_profit: number?band_5_profit_btc: number?band_5_profit_usd: number?band_6_loss: number?band_6_loss_btc: number?band_6_loss_usd: number?band_6_net: number?band_6_net_btc: number?band_6_net_usd: number?band_6_profit: number?band_6_profit_btc: number?band_6_profit_usd: number?band_7_loss: number?band_7_loss_btc: number?band_7_loss_usd: number?band_7_net: number?band_7_net_btc: number?band_7_net_usd: number?band_7_profit: number?band_7_profit_btc: number?band_7_profit_usd: number?band_8_loss: number?band_8_loss_btc: number?band_8_loss_usd: number?band_8_net: number?band_8_net_btc: number?band_8_net_usd: number?band_8_profit: number?band_8_profit_btc: number?band_8_profit_usd: number?band_9_loss: number?band_9_loss_btc: number?band_9_loss_usd: number?band_9_net: number?band_9_net_btc: number?band_9_net_usd: number?band_9_profit: number?band_9_profit_btc: number?band_9_profit_usd: number?block_height: number?btc_price: number?date: string?formattedDate: string?rpl_d1_1w: number?rpl_lt_1d: number?rpl_m1_3m: number?rpl_m3_6m: number?rpl_m6_12m: number?rpl_w1_1m: number?rpl_y1_2y: number?rpl_y10_plus: number?rpl_y2_3y: number?rpl_y3_5y: number?rpl_y5_7y: number?rpl_y7_10y: number?timestamp: integer?ledger_index: number?lth_realized_loss_btc: number?lth_realized_loss_usd: number?lth_realized_profit_btc: number?lth_realized_profit_usd: number?price: number?realized_pl_10y_plus: number?realized_pl_1d_1w: number?realized_pl_1m_3m: number?realized_pl_1w_1m: number?realized_pl_1y_2y: number?realized_pl_24h: number?realized_pl_2y_3y: number?realized_pl_3m_6m: number?realized_pl_3y_5y: number?realized_pl_5y_7y: number?realized_pl_6m_12m: number?realized_pl_7y_10y: number?sth_realized_loss_btc: number?sth_realized_loss_usd: number?sth_realized_profit_btc: number?sth_realized_profit_usd: number?rpl_y5_plus: number?

Query parameters

NameTypeDescription
daysintegerNumber of recent calendar days to return.
limitintegerMaximum number of rows to return.
startDatedateInclusive start date in YYYY-MM-DD format.
endDatedateInclusive end date in YYYY-MM-DD format.
formatstringResponse serialization format.
chainstringChain or asset identifier.
dataResolutionstringRequested on-chain data resolution, when the metric advertises it in /api/onchain/manifest. Daily (1d) is the default; block and sub-day resolutions are served from the same metric endpoint.
timeframestringRequested chart timeframe.
realized-profit-losspro

Track Realized Profit and Loss showing profits and losses as separate bars when Bitcoin UTXOs are spent. Displays the total magnitude of profit-taking (green bars) and loss-realization (red bars) independently, revealing the volume and scale of market activity in each direction. Unlike Net Realized P/L which shows the difference, this chart displays both values separately - useful for seeing when high profits and losses occur simultaneously (mixed sentiment) or when one dominates (clear conviction). Each spent coin is valued against its cost basis (price when last moved). Toggle between USD and BTC denominations to analyze profit-taking patterns during different market phases.

Chart Datasets
GET /api/v1/charts/realized-profit-lossTry in Playground

Response fields

block_height: number?btc_price: number?daily_realized_loss_btc: number?daily_realized_loss_usd: number?daily_realized_profit_btc: number?daily_realized_profit_usd: number?date: string?formattedDate: string?net_realized_pl: number?net_realized_pl_usd: number?net_rpl_sma30: number?price: number?realized_loss_btc: number?realized_loss_negative: number?realized_loss_usd: number?realized_profit_btc: number?realized_profit_positive: number?realized_profit_usd: number?timestamp: integer?ledger_index: number?realized_profit_loss: number?net_realized_pl_btc: number?

Query parameters

NameTypeDescription
daysintegerNumber of recent calendar days to return.
limitintegerMaximum number of rows to return.
startDatedateInclusive start date in YYYY-MM-DD format.
endDatedateInclusive end date in YYYY-MM-DD format.
formatstringResponse serialization format.
chainstringChain or asset identifier.
dataResolutionstringRequested on-chain data resolution, when the metric advertises it in /api/onchain/manifest. Daily (1d) is the default; block and sub-day resolutions are served from the same metric endpoint.
timeframestringRequested chart timeframe.
receiving-addressespro

Unique addresses that received non-zero Bitcoin outputs in confirmed transactions during each UTC day.

Chart Datasets
GET /api/v1/charts/receiving-addressesTry in Playground

Response fields

block_height: number?btc_price: number?date: string?formattedDate: string?price: number?receiving_addresses: number?timestamp: integer?

Query parameters

NameTypeDescription
daysintegerNumber of recent calendar days to return.
limitintegerMaximum number of rows to return.
startDatedateInclusive start date in YYYY-MM-DD format.
endDatedateInclusive end date in YYYY-MM-DD format.
formatstringResponse serialization format.
chainstringChain or asset identifier.
dataResolutionstringRequested on-chain data resolution, when the metric advertises it in /api/onchain/manifest. Daily (1d) is the default; block and sub-day resolutions are served from the same metric endpoint.
timeframestringRequested chart timeframe.
reddit-activitypro

Genuine daily posts, comments, and discussion heat for 19 crypto communities alongside r/wallstreetbets and r/Buttcoin as contextual references. Arctic Shift provides archived activity through the latest complete UTC day, beginning before 2018 for established communities. Subscriber counts are a separate sparse snapshot source and remain null where no observation exists.

Chart Datasets
GET /api/v1/charts/reddit-activityTry in Playground

Response fields

reddit_bitcoin_subscribers: number?reddit_bitcoin_subs_daily: number?reddit_bitcoin_subs_weekly: number?reddit_bitcoin_subs_growth_pct: number?reddit_bitcoin_posts: number?reddit_bitcoin_comments: number?reddit_bitcoin_engagement: number?reddit_cryptocurrency_subscribers: number?reddit_cryptocurrency_subs_daily: number?reddit_cryptocurrency_subs_weekly: number?reddit_cryptocurrency_subs_growth_pct: number?reddit_cryptocurrency_posts: number?reddit_cryptocurrency_comments: number?reddit_cryptocurrency_engagement: number?reddit_cryptomarkets_subscribers: number?reddit_cryptomarkets_subs_daily: number?reddit_cryptomarkets_subs_weekly: number?reddit_cryptomarkets_subs_growth_pct: number?reddit_cryptomarkets_posts: number?reddit_cryptomarkets_comments: number?reddit_cryptomarkets_engagement: number?reddit_btc_subscribers: number?reddit_btc_subs_daily: number?reddit_btc_subs_weekly: number?reddit_btc_subs_growth_pct: number?reddit_btc_posts: number?reddit_btc_comments: number?reddit_btc_engagement: number?reddit_bitcoinmarkets_subscribers: number?reddit_bitcoinmarkets_subs_daily: number?reddit_bitcoinmarkets_subs_weekly: number?reddit_bitcoinmarkets_subs_growth_pct: number?reddit_bitcoinmarkets_posts: number?reddit_bitcoinmarkets_comments: number?reddit_bitcoinmarkets_engagement: number?reddit_ethereum_subscribers: number?reddit_ethereum_subs_daily: number?reddit_ethereum_subs_weekly: number?reddit_ethereum_subs_growth_pct: number?reddit_ethereum_posts: number?reddit_ethereum_comments: number?reddit_ethereum_engagement: number?reddit_ethtrader_subscribers: number?reddit_ethtrader_subs_daily: number?reddit_ethtrader_subs_weekly: number?reddit_ethtrader_subs_growth_pct: number?reddit_ethtrader_posts: number?reddit_ethtrader_comments: number?reddit_ethtrader_engagement: number?reddit_ethfinance_subscribers: number?reddit_ethfinance_subs_daily: number?reddit_ethfinance_subs_weekly: number?reddit_ethfinance_subs_growth_pct: number?reddit_ethfinance_posts: number?reddit_ethfinance_comments: number?reddit_ethfinance_engagement: number?reddit_solana_subscribers: number?reddit_solana_subs_daily: number?reddit_solana_subs_weekly: number?reddit_solana_subs_growth_pct: number?reddit_solana_posts: number?reddit_solana_comments: number?reddit_solana_engagement: number?reddit_dogecoin_subscribers: number?reddit_dogecoin_subs_daily: number?reddit_dogecoin_subs_weekly: number?reddit_dogecoin_subs_growth_pct: number?reddit_dogecoin_posts: number?reddit_dogecoin_comments: number?reddit_dogecoin_engagement: number?reddit_cardano_subscribers: number?reddit_cardano_subs_daily: number?reddit_cardano_subs_weekly: number?reddit_cardano_subs_growth_pct: number?reddit_cardano_posts: number?reddit_cardano_comments: number?reddit_cardano_engagement: number?reddit_xrp_subscribers: number?reddit_xrp_subs_daily: number?reddit_xrp_subs_weekly: number?reddit_xrp_subs_growth_pct: number?reddit_xrp_posts: number?reddit_xrp_comments: number?reddit_xrp_engagement: number?reddit_litecoin_subscribers: number?reddit_litecoin_subs_daily: number?reddit_litecoin_subs_weekly: number?reddit_litecoin_subs_growth_pct: number?reddit_litecoin_posts: number?reddit_litecoin_comments: number?reddit_litecoin_engagement: number?reddit_monero_subscribers: number?reddit_monero_subs_daily: number?reddit_monero_subs_weekly: number?reddit_monero_subs_growth_pct: number?reddit_monero_posts: number?reddit_monero_comments: number?reddit_monero_engagement: number?reddit_defi_subscribers: number?reddit_defi_subs_daily: number?reddit_defi_subs_weekly: number?reddit_defi_subs_growth_pct: number?reddit_defi_posts: number?reddit_defi_comments: number?reddit_defi_engagement: number?reddit_nft_subscribers: number?reddit_nft_subs_daily: number?reddit_nft_subs_weekly: number?reddit_nft_subs_growth_pct: number?reddit_nft_posts: number?reddit_nft_comments: number?reddit_nft_engagement: number?reddit_binance_subscribers: number?reddit_binance_subs_daily: number?reddit_binance_subs_weekly: number?reddit_binance_subs_growth_pct: number?reddit_binance_posts: number?reddit_binance_comments: number?reddit_binance_engagement: number?reddit_cryptomoonshots_subscribers: number?reddit_cryptomoonshots_subs_daily: number?reddit_cryptomoonshots_subs_weekly: number?reddit_cryptomoonshots_subs_growth_pct: number?reddit_cryptomoonshots_posts: number?reddit_cryptomoonshots_comments: number?reddit_cryptomoonshots_engagement: number?reddit_satoshistreetbets_subscribers: number?reddit_satoshistreetbets_subs_daily: number?reddit_satoshistreetbets_subs_weekly: number?reddit_satoshistreetbets_subs_growth_pct: number?reddit_satoshistreetbets_posts: number?reddit_satoshistreetbets_comments: number?reddit_satoshistreetbets_engagement: number?reddit_wsb_subscribers: number?reddit_wsb_subs_daily: number?reddit_wsb_subs_weekly: number?reddit_wsb_subs_growth_pct: number?reddit_wsb_posts: number?reddit_wsb_comments: number?reddit_wsb_engagement: number?reddit_buttcoin_subscribers: number?reddit_buttcoin_subs_daily: number?reddit_buttcoin_subs_weekly: number?reddit_buttcoin_subs_growth_pct: number?reddit_buttcoin_posts: number?reddit_buttcoin_comments: number?reddit_buttcoin_engagement: number?

Query parameters

NameTypeDescription
daysintegerNumber of recent calendar days to return.
limitintegerMaximum number of rows to return.
startDatedateInclusive start date in YYYY-MM-DD format.
endDatedateInclusive end date in YYYY-MM-DD format.
formatstringResponse serialization format.
chainstringChain or asset identifier.
dataResolutionstringRequested on-chain data resolution, when the metric advertises it in /api/onchain/manifest. Daily (1d) is the default; block and sub-day resolutions are served from the same metric endpoint.
timeframestringRequested chart timeframe.
reddit-community-sizepro

Source-backed subscriber observations for 19 crypto communities plus r/wallstreetbets and r/Buttcoin, compared on a logarithmic scale and overlaid with Bitcoin price. Arctic Shift observations are retained where available; only gaps of seven days or less may be interpolated, while wider gaps remain null.

Chart Datasets
GET /api/v1/charts/reddit-community-sizeTry in Playground

Response fields

reddit_bitcoin_subscribers: number?reddit_cryptocurrency_subscribers: number?reddit_cryptomarkets_subscribers: number?reddit_btc_subscribers: number?reddit_bitcoinmarkets_subscribers: number?reddit_ethereum_subscribers: number?reddit_ethtrader_subscribers: number?reddit_ethfinance_subscribers: number?reddit_solana_subscribers: number?reddit_dogecoin_subscribers: number?reddit_cardano_subscribers: number?reddit_xrp_subscribers: number?reddit_litecoin_subscribers: number?reddit_monero_subscribers: number?reddit_defi_subscribers: number?reddit_nft_subscribers: number?reddit_binance_subscribers: number?reddit_cryptomoonshots_subscribers: number?reddit_satoshistreetbets_subscribers: number?reddit_wsb_subscribers: number?reddit_buttcoin_subscribers: number?

Query parameters

NameTypeDescription
daysintegerNumber of recent calendar days to return.
limitintegerMaximum number of rows to return.
startDatedateInclusive start date in YYYY-MM-DD format.
endDatedateInclusive end date in YYYY-MM-DD format.
formatstringResponse serialization format.
chainstringChain or asset identifier.
dataResolutionstringRequested on-chain data resolution, when the metric advertises it in /api/onchain/manifest. Daily (1d) is the default; block and sub-day resolutions are served from the same metric endpoint.
timeframestringRequested chart timeframe.
reddit-discussion-heatpro

A transparent discussion-activity index for 19 crypto communities plus r/wallstreetbets and r/Buttcoin, calculated as posts per hour plus comments per hour divided by ten. Daily Arctic Shift counts are converted to hourly averages and overlaid with Bitcoin price; absent daily aggregation buckets after coverage begins are explicit zero activity.

Chart Datasets
GET /api/v1/charts/reddit-discussion-heatTry in Playground

Response fields

reddit_bitcoin_engagement: number?reddit_cryptocurrency_engagement: number?reddit_cryptomarkets_engagement: number?reddit_btc_engagement: number?reddit_bitcoinmarkets_engagement: number?reddit_ethereum_engagement: number?reddit_ethtrader_engagement: number?reddit_ethfinance_engagement: number?reddit_solana_engagement: number?reddit_dogecoin_engagement: number?reddit_cardano_engagement: number?reddit_xrp_engagement: number?reddit_litecoin_engagement: number?reddit_monero_engagement: number?reddit_defi_engagement: number?reddit_nft_engagement: number?reddit_binance_engagement: number?reddit_cryptomoonshots_engagement: number?reddit_satoshistreetbets_engagement: number?reddit_wsb_engagement: number?reddit_buttcoin_engagement: number?

Query parameters

NameTypeDescription
daysintegerNumber of recent calendar days to return.
limitintegerMaximum number of rows to return.
startDatedateInclusive start date in YYYY-MM-DD format.
endDatedateInclusive end date in YYYY-MM-DD format.
formatstringResponse serialization format.
chainstringChain or asset identifier.
dataResolutionstringRequested on-chain data resolution, when the metric advertises it in /api/onchain/manifest. Daily (1d) is the default; block and sub-day resolutions are served from the same metric endpoint.
timeframestringRequested chart timeframe.
relative-lth-sth-realized-plpro

Compare net realized profit/loss flows between Long-Term Holders (1+ years) and Short-Term Holders (0-155 days). Shows which cohort dominates profit-taking behavior with 30-day SMA smoothing. Red areas indicate LTH dominance, blue areas indicate STH dominance.

Chart Datasets
GET /api/v1/charts/relative-lth-sth-realized-plTry in Playground

Response fields

age_bands: number?block_height: number?btc_price: number?date: string?formattedDate: string?lth_realized_loss: number?lth_realized_pl: number?lth_realized_profit: number?lth_rrl: number?lth_rrp: number?price: number?relative_lth_sth_pl: number?sth_realized_loss: number?sth_realized_pl: number?sth_realized_profit: number?sth_rrl: number?sth_rrp: number?timestamp: integer?ledger_index: number?relative_lth_sth_realized_pl: number?note: number?realized_loss: number?realized_pl_ratio: number?realized_profit: number?lth_loss_stacked: number?lth_profit_stacked: number?ratio: number?sth_loss_stacked: number?sth_profit_stacked: number?

Query parameters

NameTypeDescription
daysintegerNumber of recent calendar days to return.
limitintegerMaximum number of rows to return.
startDatedateInclusive start date in YYYY-MM-DD format.
endDatedateInclusive end date in YYYY-MM-DD format.
formatstringResponse serialization format.
chainstringChain or asset identifier.
dataResolutionstringRequested on-chain data resolution, when the metric advertises it in /api/onchain/manifest. Daily (1d) is the default; block and sub-day resolutions are served from the same metric endpoint.
timeframestringRequested chart timeframe.
relative-realized-plpro

Track Relative Realized Profit and Loss (RRP/RRL), normalized measures of daily profit-taking and loss-realization relative to the overall market. Unlike Net Realized P/L which shows net difference, this chart displays both RRP (profit intensity - green) and RRL (loss intensity - red) independently, revealing the relative magnitude of each. Watch for crossover points where RRL exceeds RRP - these often mark capitulation events and potential cycle bottoms where weak hands are flushed out. Conversely, when RRP dominates with sustained high values, it indicates profit-taking behavior typical of distribution phases near market tops. Normalization by market cap allows comparison across different market cycle stages regardless of absolute price levels.

Chart Datasets
GET /api/v1/charts/relative-realized-plTry in Playground

Response fields

block_height: number?btc_price: number?daily_realized_loss_btc: number?daily_realized_loss_usd: number?daily_realized_profit_btc: number?daily_realized_profit_usd: number?date: string?formattedDate: string?market_cap_usd: number?price: number?realized_loss_usd: number?realized_profit_usd: number?relative_realized_pl: number?rrl: number?rrl_usd: number?rrp: number?rrp_usd: number?timestamp: integer?ledger_index: number?net_realized_pl_usd: number?net_realized_pl_btc: number?

Query parameters

NameTypeDescription
daysintegerNumber of recent calendar days to return.
limitintegerMaximum number of rows to return.
startDatedateInclusive start date in YYYY-MM-DD format.
endDatedateInclusive end date in YYYY-MM-DD format.
formatstringResponse serialization format.
chainstringChain or asset identifier.
dataResolutionstringRequested on-chain data resolution, when the metric advertises it in /api/onchain/manifest. Daily (1d) is the default; block and sub-day resolutions are served from the same metric endpoint.
timeframestringRequested chart timeframe.
relative-strengthpro

Compare the relative strength and performance between two cryptocurrencies on a logarithmic scale to identify outperformance trends

Chart Datasets
GET /api/v1/charts/relative-strengthTry in Playground

Response fields

baseAsset: number?quoteAsset: number?basePrice: number?quotePrice: number?ratio: number?

Query parameters

NameTypeDescription
daysintegerNumber of recent calendar days to return.
limitintegerMaximum number of rows to return.
startDatedateInclusive start date in YYYY-MM-DD format.
endDatedateInclusive end date in YYYY-MM-DD format.
formatstringResponse serialization format.
cryptocurrencystringCryptocurrency symbol or asset identifier.
timeframestringRequested chart timeframe.
quoteAssetstringQuote currency or asset.
relative-unrealized-plpro

Track Relative Unrealized Profit (RUP) and Relative Unrealized Loss (RUL), normalized metrics showing profit-taking potential and capitulation risk. RUP > 0.75 indicates potential tops and selling pressure, while RUL > RUP signals market bottoms and buying opportunities.

Chart Datasets
GET /api/v1/charts/relative-unrealized-plTry in Playground

Response fields

block_height: number?btc_price: number?date: string?formattedDate: string?nupl: number?price: number?rul: number?rup: number?supply_in_loss_btc: number?supply_in_loss_pct: number?supply_in_profit_btc: number?supply_in_profit_pct: number?timestamp: integer?unrealized_loss_usd: number?unrealized_profit_usd: number?ledger_index: number?relative_unrealized_pl: number?market_cap_usd: number?realized_cap_usd: number?

Query parameters

NameTypeDescription
daysintegerNumber of recent calendar days to return.
limitintegerMaximum number of rows to return.
startDatedateInclusive start date in YYYY-MM-DD format.
endDatedateInclusive end date in YYYY-MM-DD format.
formatstringResponse serialization format.
chainstringChain or asset identifier.
dataResolutionstringRequested on-chain data resolution, when the metric advertises it in /api/onchain/manifest. Daily (1d) is the default; block and sub-day resolutions are served from the same metric endpoint.
timeframestringRequested chart timeframe.
relative-unrealized-pl-by-agepro

Shows relative unrealized profit/loss for each HODL wave age band. Reveals which age cohorts are most in profit or underwater, and their market cap contribution.

Chart Datasets
GET /api/v1/charts/relative-unrealized-pl-by-ageTry in Playground

Response fields

block_height: number?btc_price: number?date: string?formattedDate: string?mcap_<1d: number?mcap_10y+: number?mcap_1d-1w: number?mcap_1m-3m: number?mcap_1w-1m: number?mcap_1y-2y: number?mcap_2y-3y: number?mcap_3m-6m: number?mcap_3y-5y: number?mcap_5y-7y: number?mcap_6m-1y: number?mcap_7y-10y: number?nupl_<1d: number?nupl_10y+: number?nupl_1d-1w: number?nupl_1m-3m: number?nupl_1w-1m: number?nupl_1y-2y: number?nupl_2y-3y: number?nupl_3m-6m: number?nupl_3y-5y: number?nupl_5y-7y: number?nupl_6m-1y: number?nupl_7y-10y: number?price: number?rul_<1d: number?rul_10y+: number?rul_1d-1w: number?rul_1m-3m: number?rul_1w-1m: number?rul_1y-2y: number?rul_2y-3y: number?rul_3m-6m: number?rul_3y-5y: number?rul_5y-7y: number?rul_6m-1y: number?rul_7y-10y: number?rup_<1d: number?rup_10y+: number?rup_1d-1w: number?rup_1m-3m: number?rup_1w-1m: number?rup_1y-2y: number?rup_2y-3y: number?rup_3m-6m: number?rup_3y-5y: number?rup_5y-7y: number?rup_6m-1y: number?rup_7y-10y: number?timestamp: integer?

Query parameters

NameTypeDescription
daysintegerNumber of recent calendar days to return.
limitintegerMaximum number of rows to return.
startDatedateInclusive start date in YYYY-MM-DD format.
endDatedateInclusive end date in YYYY-MM-DD format.
formatstringResponse serialization format.
chainstringChain or asset identifier.
dataResolutionstringRequested on-chain data resolution, when the metric advertises it in /api/onchain/manifest. Daily (1d) is the default; block and sub-day resolutions are served from the same metric endpoint.
timeframestringRequested chart timeframe.
relative-unrealized-pl-by-cohortpro

Decomposes unrealized profit and loss into STH and LTH cohorts. Shows how much of the market's paper gains/losses belong to short-term vs long-term holders.

Chart Datasets
GET /api/v1/charts/relative-unrealized-pl-by-cohortTry in Playground

Response fields

block_height: number?btc_price: number?date: string?formattedDate: string?lth_nupl: number?lth_rul: number?lth_rup: number?price: number?sth_nupl: number?sth_rul: number?sth_rup: number?timestamp: integer?

Query parameters

NameTypeDescription
daysintegerNumber of recent calendar days to return.
limitintegerMaximum number of rows to return.
startDatedateInclusive start date in YYYY-MM-DD format.
endDatedateInclusive end date in YYYY-MM-DD format.
formatstringResponse serialization format.
chainstringChain or asset identifier.
dataResolutionstringRequested on-chain data resolution, when the metric advertises it in /api/onchain/manifest. Daily (1d) is the default; block and sub-day resolutions are served from the same metric endpoint.
timeframestringRequested chart timeframe.
reserve-riskpro

Track Bitcoin price relative to long-term holder conviction to identify extreme opportunity (low risk) and overheated (high risk) market conditions with proven accuracy at major cycle extremes

Chart Datasets
GET /api/v1/charts/reserve-riskTry in Playground

Response fields

adjusted_bdd: number?approx_circulating_supply: number?block_height: number?btc_price: number?coin_days_destroyed: number?cumulative_value_days_destroyed: number?date: string?formattedDate: string?hodl_bank: number?median_vocdd: number?mvocd: number?price: number?reserve_risk: number?risk_level: number?supply_adjusted_cdd: number?timestamp: integer?value_days_destroyed: number?value_days_destroyed_usd: number?vocd: number?vocd_raw: number?vocdd: number?ledger_index: number?

Query parameters

NameTypeDescription
daysintegerNumber of recent calendar days to return.
limitintegerMaximum number of rows to return.
startDatedateInclusive start date in YYYY-MM-DD format.
endDatedateInclusive end date in YYYY-MM-DD format.
formatstringResponse serialization format.
chainstringChain or asset identifier.
dataResolutionstringRequested on-chain data resolution, when the metric advertises it in /api/onchain/manifest. Daily (1d) is the default; block and sub-day resolutions are served from the same metric endpoint.
timeframestringRequested chart timeframe.
reserve-risk-adjustedpro

Enhanced Reserve Risk normalized by a long-term moving average to correct for structural drift, providing more reliable signals across market cycles with values oscillating around 1.0 for clearer risk assessment

Chart Datasets
GET /api/v1/charts/reserve-risk-adjustedTry in Playground

Response fields

adjusted_bdd: number?approx_circulating_supply: number?block_height: number?btc_price: number?coin_days_destroyed: number?cumulative_value_days_destroyed: number?date: string?formattedDate: string?hodl_bank: number?median_vocdd: number?mvocd: number?price: number?reserve_risk: number?risk_level: number?supply_adjusted_cdd: number?timestamp: integer?value_days_destroyed: number?value_days_destroyed_usd: number?vocd: number?vocd_raw: number?vocdd: number?ledger_index: number?

Query parameters

NameTypeDescription
daysintegerNumber of recent calendar days to return.
limitintegerMaximum number of rows to return.
startDatedateInclusive start date in YYYY-MM-DD format.
endDatedateInclusive end date in YYYY-MM-DD format.
formatstringResponse serialization format.
chainstringChain or asset identifier.
dataResolutionstringRequested on-chain data resolution, when the metric advertises it in /api/onchain/manifest. Daily (1d) is the default; block and sub-day resolutions are served from the same metric endpoint.
timeframestringRequested chart timeframe.
revived-supply-by-agepro

Track previously dormant Bitcoin being spent, segmented by age cohorts (6m-1y to 10y+). Reveals which long-term holder groups are breaking dormancy, signaling potential distribution at tops or capitulation in bear markets.

Chart Datasets
GET /api/v1/charts/revived-supply-by-ageTry in Playground

Response fields

10y_plus: number?1y_2y: number?2y_3y: number?3y_5y: number?5y_7y: number?6m_1y: number?7y_10y: number?block_height: number?btc_price: number?date: string?formattedDate: string?revived_10y_plus: number?revived_1y_2y: number?revived_2y_3y: number?revived_3y_5y: number?revived_5y_7y: number?revived_6m_1y: number?revived_7y_10y: number?revived_m6_12m: number?revived_supply: number?revived_y1_2y: number?revived_y10_plus: number?revived_y2_3y: number?revived_y3_5y: number?revived_y5_7y: number?revived_y7_10y: number?timestamp: integer?ledger_index: number?price: number?1d_1w: number?1m_3m: number?1w_1m: number?3m_6m: number?5y_plus: number?6m_12m: number?lt_1d: number?revived_1d_1w: number?revived_1m_3m: number?revived_1w_1m: number?revived_24h: number?revived_3m_6m: number?revived_5y_plus: number?revived_6m_12m: number?revived_lt_1d: number?total_revived: number?

Query parameters

NameTypeDescription
daysintegerNumber of recent calendar days to return.
limitintegerMaximum number of rows to return.
startDatedateInclusive start date in YYYY-MM-DD format.
endDatedateInclusive end date in YYYY-MM-DD format.
formatstringResponse serialization format.
chainstringChain or asset identifier.
dataResolutionstringRequested on-chain data resolution, when the metric advertises it in /api/onchain/manifest. Daily (1d) is the default; block and sub-day resolutions are served from the same metric endpoint.
timeframestringRequested chart timeframe.
rhodlpro

The Realized HODL (RHODL) Ratio compares the realized value of recently moved coins (1 week) to coins held for 1-2 years. It identifies market extremes by measuring whether new or mature money dominates the market. Extreme values have accurately called every major top and bottom.

Chart Datasets
GET /api/v1/charts/rhodlTry in Playground

Response fields

block_height: number?btc_price: number?date: string?formattedDate: string?hodl_wave_realized_cap_pct_band_0: number?hodl_wave_realized_cap_pct_band_1: number?hodl_wave_realized_cap_pct_band_10: number?hodl_wave_realized_cap_pct_band_11: number?hodl_wave_realized_cap_pct_band_2: number?hodl_wave_realized_cap_pct_band_3: number?hodl_wave_realized_cap_pct_band_4: number?hodl_wave_realized_cap_pct_band_5: number?hodl_wave_realized_cap_pct_band_6: number?hodl_wave_realized_cap_pct_band_7: number?hodl_wave_realized_cap_pct_band_8: number?hodl_wave_realized_cap_pct_band_9: number?hodl_wave_supply_pct_band_0: number?hodl_wave_supply_pct_band_1: number?hodl_wave_supply_pct_band_10: number?hodl_wave_supply_pct_band_11: number?hodl_wave_supply_pct_band_2: number?hodl_wave_supply_pct_band_3: number?hodl_wave_supply_pct_band_4: number?hodl_wave_supply_pct_band_5: number?hodl_wave_supply_pct_band_6: number?hodl_wave_supply_pct_band_7: number?hodl_wave_supply_pct_band_8: number?hodl_wave_supply_pct_band_9: number?price: number?realized_cap_1_2_years: number?realized_cap_1_2y: number?realized_cap_1_week: number?realized_cap_1w: number?rhodl: number?rhodl_ratio: number?timestamp: integer?ledger_index: number?

Query parameters

NameTypeDescription
daysintegerNumber of recent calendar days to return.
limitintegerMaximum number of rows to return.
startDatedateInclusive start date in YYYY-MM-DD format.
endDatedateInclusive end date in YYYY-MM-DD format.
formatstringResponse serialization format.
chainstringChain or asset identifier.
dataResolutionstringRequested on-chain data resolution, when the metric advertises it in /api/onchain/manifest. Daily (1d) is the default; block and sub-day resolutions are served from the same metric endpoint.
timeframestringRequested chart timeframe.
rhodl-momentumpro

RHODL Momentum compares the current RHODL ratio against its long-term moving average, revealing market momentum shifts. Positive momentum indicates speculative dominance, while negative momentum suggests mature holder accumulation. The binary indicator visualizes momentum transitions.

Chart Datasets
GET /api/v1/charts/rhodl-momentumTry in Playground

Response fields

block_height: number?btc_price: number?date: string?formattedDate: string?hodl_wave_realized_cap_pct_band_0: number?hodl_wave_realized_cap_pct_band_1: number?hodl_wave_realized_cap_pct_band_10: number?hodl_wave_realized_cap_pct_band_11: number?hodl_wave_realized_cap_pct_band_2: number?hodl_wave_realized_cap_pct_band_3: number?hodl_wave_realized_cap_pct_band_4: number?hodl_wave_realized_cap_pct_band_5: number?hodl_wave_realized_cap_pct_band_6: number?hodl_wave_realized_cap_pct_band_7: number?hodl_wave_realized_cap_pct_band_8: number?hodl_wave_realized_cap_pct_band_9: number?hodl_wave_supply_pct_band_0: number?hodl_wave_supply_pct_band_1: number?hodl_wave_supply_pct_band_10: number?hodl_wave_supply_pct_band_11: number?hodl_wave_supply_pct_band_2: number?hodl_wave_supply_pct_band_3: number?hodl_wave_supply_pct_band_4: number?hodl_wave_supply_pct_band_5: number?hodl_wave_supply_pct_band_6: number?hodl_wave_supply_pct_band_7: number?hodl_wave_supply_pct_band_8: number?hodl_wave_supply_pct_band_9: number?price: number?rhodl: number?rhodl_momentum: number?rhodl_momentum_negative: number?rhodl_momentum_positive: number?rhodl_oscillator: number?rhodl_ratio: number?rhodl_sma: number?rhodl_sma_30: number?rhodl_sma_365: number?timestamp: integer?rhodl_momentum_oscillator: number?ledger_index: number?

Query parameters

NameTypeDescription
daysintegerNumber of recent calendar days to return.
limitintegerMaximum number of rows to return.
startDatedateInclusive start date in YYYY-MM-DD format.
endDatedateInclusive end date in YYYY-MM-DD format.
formatstringResponse serialization format.
chainstringChain or asset identifier.
dataResolutionstringRequested on-chain data resolution, when the metric advertises it in /api/onchain/manifest. Daily (1d) is the default; block and sub-day resolutions are served from the same metric endpoint.
timeframestringRequested chart timeframe.
risk-valuespro

Analyze cryptocurrency risk values with traditional line charts showing price and risk levels on dual axes

Chart Datasets
GET /api/v1/charts/risk-valuesTry in Playground

Response fields

price: number?riskLevel: number?

Query parameters

NameTypeDescription
daysintegerNumber of recent calendar days to return.
limitintegerMaximum number of rows to return.
startDatedateInclusive start date in YYYY-MM-DD format.
endDatedateInclusive end date in YYYY-MM-DD format.
formatstringResponse serialization format.
cryptocurrencystringCryptocurrency symbol or asset identifier.
timeframestringRequested chart timeframe.
sell-side-pressurepro

SOPR-based profit-taking intensity from Long-Term Holders (155+ days) and Short-Term Holders (<155 days). Measures selling pressure by profit margin percentage. Higher values indicate stronger profit-taking, zero values show no selling pressure.

Chart Datasets
GET /api/v1/charts/sell-side-pressureTry in Playground

Response fields

a2vr: number?active_profitable_circulation: number?block_height: number?btc_price: number?cdd: number?cohort_loss_divergence: number?cohort_pressure_correlation: number?cohort_profit_divergence: number?coinblocks_destroyed: number?coinblocks_efficiency: number?coinblocks_liveliness_ratio: number?coinblocks_loss_amplifier: number?coinblocks_profit_amplifier: number?coinblocks_total_loss_ratio: number?cointime_adjusted_overall_pressure: number?date: string?formattedDate: string?hodler_conviction_index: number?kinetic_vs_potential_pressure_ratio: number?liveliness: number?liveliness_coinblocks_product: number?liveliness_loss_ratio: number?liveliness_profit_ratio: number?liveliness_total_pressure_ratio: number?loss_time_efficiency: number?lth_btc_in_loss: number?lth_btc_in_profit: number?lth_coinblocks_loss_ratio: number?lth_loss_pressure: number?lth_net_position_change: number?lth_percentage: number?lth_sopr: number?lth_supply_btc: number?lth_supply_efficiency: number?lth_vs_sth_loss_ratio: number?lth_vs_sth_profit_ratio: number?lth_weighted_loss: number?lth_weighted_profit: number?lthsvi: number?market_euphoria_index: number?market_pressure: number?market_stress_index: number?overall_loss_pressure: number?overall_profit_pressure: number?pct_circulating_lth_in_loss: number?pct_circulating_lth_in_profit: number?pct_circulating_sth_in_loss: number?pct_circulating_sth_in_profit: number?pct_lth_in_loss: number?pct_lth_in_profit: number?pct_sth_in_loss: number?pct_sth_in_profit: number?price: number?profit_loss_ratio: number?profit_time_efficiency: number?realized_loss: number?sell_side_pressure: number?sth_btc_in_loss: number?sth_btc_in_profit: number?sth_coinblocks_loss_ratio: number?sth_loss_pressure: number?sth_net_position_change: number?sth_percentage: number?sth_sopr: number?sth_supply_btc: number?sth_supply_efficiency: number?sth_weighted_loss: number?sth_weighted_profit: number?sthsvi: number?timestamp: integer?total_supply_efficiency: number?vaultedness: number?ledger_index: number?lth_wealth_concentration: number?lth_wealth_concentration_change: number?lth_wealth_concentration_pct: number?

Query parameters

NameTypeDescription
daysintegerNumber of recent calendar days to return.
limitintegerMaximum number of rows to return.
startDatedateInclusive start date in YYYY-MM-DD format.
endDatedateInclusive end date in YYYY-MM-DD format.
formatstringResponse serialization format.
chainstringChain or asset identifier.
dataResolutionstringRequested on-chain data resolution, when the metric advertises it in /api/onchain/manifest. Daily (1d) is the default; block and sub-day resolutions are served from the same metric endpoint.
timeframestringRequested chart timeframe.
sell-side-risk-ratiopro

Quantifies aggregate sell-side pressure by measuring total realized profits and losses relative to realized cap. High values indicate capitulation or distribution, while low values suggest accumulation phases with minimal selling pressure.

Chart Datasets
GET /api/v1/charts/sell-side-risk-ratioTry in Playground

Response fields

block_height: number?btc_price: number?daily_realized_loss_btc: number?daily_realized_loss_usd: number?daily_realized_profit_btc: number?daily_realized_profit_usd: number?date: string?formattedDate: string?price: number?realized_cap: number?realized_profit_loss_sum: number?risk_level: number?sell_side_risk_ratio: number?timestamp: integer?ledger_index: number?ratio: number?realized_cap_usd: number?realized_loss_usd: number?realized_profit_usd: number?

Query parameters

NameTypeDescription
daysintegerNumber of recent calendar days to return.
limitintegerMaximum number of rows to return.
startDatedateInclusive start date in YYYY-MM-DD format.
endDatedateInclusive end date in YYYY-MM-DD format.
formatstringResponse serialization format.
chainstringChain or asset identifier.
dataResolutionstringRequested on-chain data resolution, when the metric advertises it in /api/onchain/manifest. Daily (1d) is the default; block and sub-day resolutions are served from the same metric endpoint.
timeframestringRequested chart timeframe.
seller-exhaustion-constantpro

ARK Invest metric that combines supply profitability with short-term price volatility. Low values signal seller exhaustion bottoms when limited profit coincides with subdued volatility across Overall, LTH, and STH cohorts.

Chart Datasets
GET /api/v1/charts/seller-exhaustion-constantTry in Playground

Response fields

block_height: number?btc_price: number?date: string?formattedDate: string?lth_pct_loss: number?lth_pct_profit: number?lth_seller_exhaustion: number?overall_pct_loss: number?overall_pct_profit: number?overall_seller_exhaustion: number?price: number?price_volatility_30d: number?sec_sma_90: number?seller_exhaustion_constant: number?sth_pct_loss: number?sth_pct_profit: number?sth_seller_exhaustion: number?supply_in_profit_pct: number?timestamp: integer?vaultedness: number?pct_in_loss: number?pct_in_profit: number?ledger_index: number?seller_exhaustion: number?

Query parameters

NameTypeDescription
daysintegerNumber of recent calendar days to return.
limitintegerMaximum number of rows to return.
startDatedateInclusive start date in YYYY-MM-DD format.
endDatedateInclusive end date in YYYY-MM-DD format.
formatstringResponse serialization format.
chainstringChain or asset identifier.
dataResolutionstringRequested on-chain data resolution, when the metric advertises it in /api/onchain/manifest. Daily (1d) is the default; block and sub-day resolutions are served from the same metric endpoint.
timeframestringRequested chart timeframe.
seller-median-cbpro

For every coin sold today, where did the seller originally buy? Each spent UTXO is binned into a cost-basis price bucket weighted by its BTC value, building a daily histogram (SOPD, Spent Output Price Distribution). The chart plots the volume-weighted median of that histogram each day: the cost basis price at which half of today's sold supply lies above and half below. Compare against the current price to see whether today's sellers are realizing profit (median below price) or capitulating at a loss (median above price). Distinct from SOPR (which is the value ratio of sold coins) and from STH/LTH realized price (which averages held supply, not sold flow), this metric captures the median seller including LTH whales whom STH-cohort metrics miss entirely. Sharp moves typically signal a regime shift in which holder cohort is doing the selling. Includes ±1σ statistical bands and a day-over-day shift indicator.

Chart Datasets
GET /api/v1/charts/seller-median-cbTry in Playground

Response fields

btc_price: number?buckets: number?date: string?formattedDate: string?timestamp: integer?block_height: number?price: number?bucket_prices: number?scale: number?

Query parameters

NameTypeDescription
daysintegerNumber of recent calendar days to return.
limitintegerMaximum number of rows to return.
startDatedateInclusive start date in YYYY-MM-DD format.
endDatedateInclusive end date in YYYY-MM-DD format.
formatstringResponse serialization format.
chainstringChain or asset identifier.
dataResolutionstringRequested on-chain data resolution, when the metric advertises it in /api/onchain/manifest. Daily (1d) is the default; block and sub-day resolutions are served from the same metric endpoint.
timeframestringRequested chart timeframe.
sending-addressespro

Unique addresses that spent non-zero Bitcoin outputs in confirmed transactions during each UTC day.

Chart Datasets
GET /api/v1/charts/sending-addressesTry in Playground

Response fields

block_height: number?btc_price: number?date: string?formattedDate: string?price: number?sending_addresses: number?timestamp: integer?

Query parameters

NameTypeDescription
daysintegerNumber of recent calendar days to return.
limitintegerMaximum number of rows to return.
startDatedateInclusive start date in YYYY-MM-DD format.
endDatedateInclusive end date in YYYY-MM-DD format.
formatstringResponse serialization format.
chainstringChain or asset identifier.
dataResolutionstringRequested on-chain data resolution, when the metric advertises it in /api/onchain/manifest. Daily (1d) is the default; block and sub-day resolutions are served from the same metric endpoint.
timeframestringRequested chart timeframe.
sighash-usagepro

Daily transaction counts using SIGHASH_ALL, DEFAULT, SINGLE, NONE, and ANYONECANPAY, exposing signature-policy composition and rare signing modes.

Chart Datasets
GET /api/v1/charts/sighash-usageTry in Playground

Response fields

anyone_can_pay_transactions: number?date: string?formattedDate: string?price: number?sighash_all_transactions: number?sighash_default_transactions: number?sighash_none_transactions: number?sighash_single_transactions: number?timestamp: integer?

Query parameters

NameTypeDescription
daysintegerNumber of recent calendar days to return.
limitintegerMaximum number of rows to return.
startDatedateInclusive start date in YYYY-MM-DD format.
endDatedateInclusive end date in YYYY-MM-DD format.
formatstringResponse serialization format.
chainstringChain or asset identifier.
dataResolutionstringRequested on-chain data resolution, when the metric advertises it in /api/onchain/manifest. Daily (1d) is the default; block and sub-day resolutions are served from the same metric endpoint.
timeframestringRequested chart timeframe.
slrv-ratiopro

David Puell's SLRV Ratio compares short-term coin movement activity against intermediate-term holding patterns, measuring the balance between active spending and patient accumulation. Extreme low values historically mark accumulation zones.

Chart Datasets
GET /api/v1/charts/slrv-ratioTry in Playground

Response fields

block_height: number?btc_price: number?date: string?formattedDate: string?hodl_wave_realized_cap_pct_band_0: number?hodl_wave_realized_cap_pct_band_1: number?hodl_wave_realized_cap_pct_band_10: number?hodl_wave_realized_cap_pct_band_11: number?hodl_wave_realized_cap_pct_band_2: number?hodl_wave_realized_cap_pct_band_3: number?hodl_wave_realized_cap_pct_band_4: number?hodl_wave_realized_cap_pct_band_5: number?hodl_wave_realized_cap_pct_band_6: number?hodl_wave_realized_cap_pct_band_7: number?hodl_wave_realized_cap_pct_band_8: number?hodl_wave_realized_cap_pct_band_9: number?hodl_wave_supply_pct_band_0: number?hodl_wave_supply_pct_band_1: number?hodl_wave_supply_pct_band_10: number?hodl_wave_supply_pct_band_11: number?hodl_wave_supply_pct_band_2: number?hodl_wave_supply_pct_band_3: number?hodl_wave_supply_pct_band_4: number?hodl_wave_supply_pct_band_5: number?hodl_wave_supply_pct_band_6: number?hodl_wave_supply_pct_band_7: number?hodl_wave_supply_pct_band_8: number?hodl_wave_supply_pct_band_9: number?long_term_realized: number?price: number?short_term_realized: number?slrv_ratio: number?slrv_sma30: number?timestamp: integer?ledger_index: number?slrv: number?slrv_150d_sma: number?slrv_30d_sma: number?

Query parameters

NameTypeDescription
daysintegerNumber of recent calendar days to return.
limitintegerMaximum number of rows to return.
startDatedateInclusive start date in YYYY-MM-DD format.
endDatedateInclusive end date in YYYY-MM-DD format.
formatstringResponse serialization format.
chainstringChain or asset identifier.
dataResolutionstringRequested on-chain data resolution, when the metric advertises it in /api/onchain/manifest. Daily (1d) is the default; block and sub-day resolutions are served from the same metric endpoint.
timeframestringRequested chart timeframe.
solana-etf-flowspro

Daily net flows into and out of US spot Solana ETFs, aggregated across all issuers. Green bars are net inflows, red bars are net outflows, with the SOL price overlaid. A new ETF category launched in 2026.

Chart Datasets
GET /api/v1/charts/solana-etf-flowsTry in Playground

Response fields

flow_usd: number?asset_price: number?

Query parameters

NameTypeDescription
daysintegerNumber of recent calendar days to return.
limitintegerMaximum number of rows to return.
startDatedateInclusive start date in YYYY-MM-DD format.
endDatedateInclusive end date in YYYY-MM-DD format.
formatstringResponse serialization format.
timeframestringRequested chart timeframe.
sopd-heatmappro

Shows which price levels today's sellers originally acquired their coins at. The spending-side companion to URPD, while URPD shows where held coins were bought, SOPD shows where sold coins were bought. Spikes at recent prices indicate panic selling by new buyers; spikes at old prices indicate long-term holders distributing.

Chart Datasets
GET /api/v1/charts/sopd-heatmapTry in Playground

Response fields

btc_price: number?buckets: number?date: string?formattedDate: string?timestamp: integer?block_height: number?price: number?bucket_prices: number?scale: number?

Query parameters

NameTypeDescription
daysintegerNumber of recent calendar days to return.
limitintegerMaximum number of rows to return.
startDatedateInclusive start date in YYYY-MM-DD format.
endDatedateInclusive end date in YYYY-MM-DD format.
formatstringResponse serialization format.
chainstringChain or asset identifier.
dataResolutionstringRequested on-chain data resolution, when the metric advertises it in /api/onchain/manifest. Daily (1d) is the default; block and sub-day resolutions are served from the same metric endpoint.
timeframestringRequested chart timeframe.
sopd-heatmap-by-agepro

Daily spent-output price distribution split by age at time of spend. Reveals which vintage of holders is distributing on a given day, whale vintage spends vs retail fresh-buyer capitulation.

Chart Datasets
GET /api/v1/charts/sopd-heatmap-by-ageTry in Playground

Response fields

btc_price: number?by_age: number?date: string?formattedDate: string?timestamp: integer?block_height: number?price: number?bucket_prices: number?buckets: number?scale: number?

Query parameters

NameTypeDescription
daysintegerNumber of recent calendar days to return.
limitintegerMaximum number of rows to return.
startDatedateInclusive start date in YYYY-MM-DD format.
endDatedateInclusive end date in YYYY-MM-DD format.
formatstringResponse serialization format.
chainstringChain or asset identifier.
dataResolutionstringRequested on-chain data resolution, when the metric advertises it in /api/onchain/manifest. Daily (1d) is the default; block and sub-day resolutions are served from the same metric endpoint.
timeframestringRequested chart timeframe.
sopd-heatmap-lthpro

Daily spent output flow restricted to Long-Term Holder spends. Clusters at deep-discount price bands signal vintage coins distributing, classic late-cycle signature.

Chart Datasets
GET /api/v1/charts/sopd-heatmap-lthTry in Playground

Response fields

btc_price: number?buckets: number?date: string?formattedDate: string?timestamp: integer?block_height: number?price: number?bucket_prices: number?scale: number?

Query parameters

NameTypeDescription
daysintegerNumber of recent calendar days to return.
limitintegerMaximum number of rows to return.
startDatedateInclusive start date in YYYY-MM-DD format.
endDatedateInclusive end date in YYYY-MM-DD format.
formatstringResponse serialization format.
chainstringChain or asset identifier.
dataResolutionstringRequested on-chain data resolution, when the metric advertises it in /api/onchain/manifest. Daily (1d) is the default; block and sub-day resolutions are served from the same metric endpoint.
timeframestringRequested chart timeframe.
sopd-heatmap-sthpro

Daily spent output flow restricted to Short-Term Holder spends. Hot clusters near recent prices = panic-selling of top-buyers; clusters below market = profit-taking on rebounds.

Chart Datasets
GET /api/v1/charts/sopd-heatmap-sthTry in Playground

Response fields

btc_price: number?buckets: number?date: string?formattedDate: string?timestamp: integer?block_height: number?price: number?bucket_prices: number?scale: number?

Query parameters

NameTypeDescription
daysintegerNumber of recent calendar days to return.
limitintegerMaximum number of rows to return.
startDatedateInclusive start date in YYYY-MM-DD format.
endDatedateInclusive end date in YYYY-MM-DD format.
formatstringResponse serialization format.
chainstringChain or asset identifier.
dataResolutionstringRequested on-chain data resolution, when the metric advertises it in /api/onchain/manifest. Daily (1d) is the default; block and sub-day resolutions are served from the same metric endpoint.
timeframestringRequested chart timeframe.
soprpro

Track Bitcoin profit and loss realization behavior by measuring the Spent Output Profit Ratio (SOPR). Values above 1 indicate profit-taking, below 1 indicate loss realization. SOPR measures the ratio between spent output value and creation value.

Chart Datasets
GET /api/v1/charts/soprTry in Playground

Response fields

adjusted_sopr: number?asopr: number?asopr_sma7: number?btc_price: number?date: string?formattedDate: string?lth_sopr: number?price: number?realized_loss_usd: number?realized_profit_usd: number?sopr: number?sopr_sma7: number?spent_outputs: number?spent_value_usd: number?sth_sopr: number?timestamp: integer?ledger_index: number?block_height: number?

Query parameters

NameTypeDescription
daysintegerNumber of recent calendar days to return.
limitintegerMaximum number of rows to return.
startDatedateInclusive start date in YYYY-MM-DD format.
endDatedateInclusive end date in YYYY-MM-DD format.
formatstringResponse serialization format.
chainstringChain or asset identifier.
dataResolutionstringRequested on-chain data resolution, when the metric advertises it in /api/onchain/manifest. Daily (1d) is the default; block and sub-day resolutions are served from the same metric endpoint.
timeframestringRequested chart timeframe.
sopr-by-agepro

Analyze profit/loss realization across 12 different age cohorts from <24h to >10y. SOPR by Age breaks down the Spent Output Profit Ratio across multiple time-based cohorts, revealing which age groups are taking profit or realizing losses at different market stages.

Chart Datasets
GET /api/v1/charts/sopr-by-ageTry in Playground

Response fields

adjusted_sopr: number?block_height: number?btc_price: number?date: string?formattedDate: string?lth_sopr: number?sopr: number?sopr_age_10y_plus: number?sopr_age_10y_plus_created_usd: number?sopr_age_10y_plus_outputs: number?sopr_age_10y_plus_spent_usd: number?sopr_age_1d_1w: number?sopr_age_1d_1w_created_usd: number?sopr_age_1d_1w_outputs: number?sopr_age_1d_1w_spent_usd: number?sopr_age_1m_3m: number?sopr_age_1m_3m_created_usd: number?sopr_age_1m_3m_outputs: number?sopr_age_1m_3m_spent_usd: number?sopr_age_1w_1m: number?sopr_age_1w_1m_created_usd: number?sopr_age_1w_1m_outputs: number?sopr_age_1w_1m_spent_usd: number?sopr_age_1y_2y: number?sopr_age_1y_2y_created_usd: number?sopr_age_1y_2y_outputs: number?sopr_age_1y_2y_spent_usd: number?sopr_age_24h: number?sopr_age_24h_created_usd: number?sopr_age_24h_outputs: number?sopr_age_24h_spent_usd: number?sopr_age_2y_3y: number?sopr_age_2y_3y_created_usd: number?sopr_age_2y_3y_outputs: number?sopr_age_2y_3y_spent_usd: number?sopr_age_3m_6m: number?sopr_age_3m_6m_created_usd: number?sopr_age_3m_6m_outputs: number?sopr_age_3m_6m_spent_usd: number?sopr_age_3y_5y: number?sopr_age_3y_5y_created_usd: number?sopr_age_3y_5y_outputs: number?sopr_age_3y_5y_spent_usd: number?sopr_age_5y_7y: number?sopr_age_5y_7y_created_usd: number?sopr_age_5y_7y_outputs: number?sopr_age_5y_7y_spent_usd: number?sopr_age_6m_1y: number?sopr_age_6m_1y_created_usd: number?sopr_age_6m_1y_outputs: number?sopr_age_6m_1y_spent_usd: number?sopr_age_7y_10y: number?sopr_age_7y_10y_created_usd: number?sopr_age_7y_10y_outputs: number?sopr_age_7y_10y_spent_usd: number?sth_sopr: number?timestamp: integer?sopr_age_5y_plus: number?sopr_age_5y_plus_created_usd: number?sopr_age_5y_plus_outputs: number?sopr_age_5y_plus_spent_usd: number?ledger_index: number?price: number?sopr_age_6m_12m: number?asopr: number?sopr_age_6m_12m_created_usd: number?sopr_age_6m_12m_outputs: number?sopr_age_6m_12m_spent_usd: number?sopr_age_lt_1d: number?sopr_age_lt_1d_created_usd: number?sopr_age_lt_1d_outputs: number?sopr_age_lt_1d_spent_usd: number?

Query parameters

NameTypeDescription
daysintegerNumber of recent calendar days to return.
limitintegerMaximum number of rows to return.
startDatedateInclusive start date in YYYY-MM-DD format.
endDatedateInclusive end date in YYYY-MM-DD format.
formatstringResponse serialization format.
chainstringChain or asset identifier.
dataResolutionstringRequested on-chain data resolution, when the metric advertises it in /api/onchain/manifest. Daily (1d) is the default; block and sub-day resolutions are served from the same metric endpoint.
timeframestringRequested chart timeframe.
sopr-by-basis-bandpro

Classifies spent supply by profit/loss percentage and shows SOPR and volume per band. Deep loss band spikes signal true capitulation at bottoms; extreme profit spikes signal distribution at tops. Reveals whether selling pressure comes from weak hands or true conviction sellers.

Chart Datasets
GET /api/v1/charts/sopr-by-basis-bandTry in Playground

Response fields

adjusted_sopr: number?block_height: number?btc_price: number?date: string?formattedDate: string?sopr: number?sopr_deep_loss: number?sopr_extreme_profit: number?sopr_mild_loss: number?sopr_mild_profit: number?sopr_mod_loss: number?sopr_mod_profit: number?sopr_strong_profit: number?spent_outputs: number?spent_value_usd: number?timestamp: integer?volume_deep_loss: number?volume_extreme_profit: number?volume_mild_loss: number?volume_mild_profit: number?volume_mod_loss: number?volume_mod_profit: number?volume_strong_profit: number?sopr_moderate_loss: number?sopr_moderate_profit: number?volume_moderate_loss: number?volume_moderate_profit: number?ledger_index: number?price: number?realized_pl_deep_loss: number?realized_pl_extreme_profit: number?realized_pl_mild_loss: number?realized_pl_mild_profit: number?realized_pl_moderate_loss: number?realized_pl_moderate_profit: number?realized_pl_strong_profit: number?

Query parameters

NameTypeDescription
daysintegerNumber of recent calendar days to return.
limitintegerMaximum number of rows to return.
startDatedateInclusive start date in YYYY-MM-DD format.
endDatedateInclusive end date in YYYY-MM-DD format.
formatstringResponse serialization format.
chainstringChain or asset identifier.
dataResolutionstringRequested on-chain data resolution, when the metric advertises it in /api/onchain/manifest. Daily (1d) is the default; block and sub-day resolutions are served from the same metric endpoint.
timeframestringRequested chart timeframe.
sopr-zscorepro

Standardized SOPR metric that identifies extreme market conditions by measuring how many standard deviations the current SOPR is from its historical mean. Includes both traditional cumulative and rolling window methods for enhanced analysis.

Chart Datasets
GET /api/v1/charts/sopr-zscoreTry in Playground

Response fields

adjusted_sopr: number?block_height: number?btc_price: number?date: string?formattedDate: string?price: number?sopr: number?sopr_zscore: number?spent_outputs: number?spent_value_usd: number?timestamp: integer?ledger_index: number?market_cap_usd: number?realized_cap_usd: number?sopr_ratio: number?sopr_sma7: number?sopr_z_score: number?z_score: number?

Query parameters

NameTypeDescription
daysintegerNumber of recent calendar days to return.
limitintegerMaximum number of rows to return.
startDatedateInclusive start date in YYYY-MM-DD format.
endDatedateInclusive end date in YYYY-MM-DD format.
formatstringResponse serialization format.
chainstringChain or asset identifier.
dataResolutionstringRequested on-chain data resolution, when the metric advertises it in /api/onchain/manifest. Daily (1d) is the default; block and sub-day resolutions are served from the same metric endpoint.
timeframestringRequested chart timeframe.
sp500-adxpro

S&P 500 price with Wilder’s 14-session Average Directional Index and positive/negative directional indicators. ADX measures trend strength rather than direction, while +DI and -DI show which side currently leads.

Chart Datasets
GET /api/v1/charts/sp500-adxTry in Playground

Response fields

price: number?adx14: number?plusDI14: number?minusDI14: number?

Query parameters

NameTypeDescription
daysintegerNumber of recent calendar days to return.
limitintegerMaximum number of rows to return.
startDatedateInclusive start date in YYYY-MM-DD format.
endDatedateInclusive end date in YYYY-MM-DD format.
formatstringResponse serialization format.
timeframestringRequested chart timeframe.
sp500RangestringS&P 500 analysis range.
sp500AdxPeriodintegerADX period.
sp500AdxThresholdnumberADX trend threshold.
sp500-atrpro

S&P 500 price with Wilder’s 14-session Average True Range divided by the closing price. Expressing ATR as a percentage makes the size of typical daily movement comparable across different index levels and decades.

Chart Datasets
GET /api/v1/charts/sp500-atrTry in Playground

Response fields

price: number?atr14Percent: number?

Query parameters

NameTypeDescription
daysintegerNumber of recent calendar days to return.
limitintegerMaximum number of rows to return.
startDatedateInclusive start date in YYYY-MM-DD format.
endDatedateInclusive end date in YYYY-MM-DD format.
formatstringResponse serialization format.
timeframestringRequested chart timeframe.
sp500RangestringS&P 500 analysis range.
sp500AtrPeriodintegerATR period.
sp500-bollinger-bandspro

S&P 500 price inside 20-day Bollinger Bands set two population standard deviations above and below the moving average. Band expansion shows rising realized variability, while contraction marks quieter price regimes.

Chart Datasets
GET /api/v1/charts/sp500-bollinger-bandsTry in Playground

Response fields

price: number?bollingerUpper: number?bollingerMiddle: number?bollingerLower: number?

Query parameters

NameTypeDescription
daysintegerNumber of recent calendar days to return.
limitintegerMaximum number of rows to return.
startDatedateInclusive start date in YYYY-MM-DD format.
endDatedateInclusive end date in YYYY-MM-DD format.
formatstringResponse serialization format.
timeframestringRequested chart timeframe.
sp500RangestringS&P 500 analysis range.
sp500BollingerPeriodintegerBollinger Band period.
sp500BollingerDeviationnumberBollinger Band standard-deviation multiplier.
sp500-ccipro

S&P 500 price with the 20-session Commodity Channel Index. CCI compares the current typical price with its moving average and normalizes that distance by mean deviation, with +100 and -100 reference levels.

Chart Datasets
GET /api/v1/charts/sp500-cciTry in Playground

Response fields

price: number?cci20: number?

Query parameters

NameTypeDescription
daysintegerNumber of recent calendar days to return.
limitintegerMaximum number of rows to return.
startDatedateInclusive start date in YYYY-MM-DD format.
endDatedateInclusive end date in YYYY-MM-DD format.
formatstringResponse serialization format.
timeframestringRequested chart timeframe.
sp500RangestringS&P 500 analysis range.
sp500CciPeriodintegerCCI period.
sp500CciUppernumberCCI upper threshold.
sp500CciLowernumberCCI lower threshold.
sp500-donchian-channelspro

S&P 500 price with 20-session Donchian Channels. The upper and lower boundaries are the highest high and lowest low in the rolling window, while their midpoint provides a neutral breakout reference.

Chart Datasets
GET /api/v1/charts/sp500-donchian-channelsTry in Playground

Response fields

price: number?donchianUpper20: number?donchianMiddle20: number?donchianLower20: number?

Query parameters

NameTypeDescription
daysintegerNumber of recent calendar days to return.
limitintegerMaximum number of rows to return.
startDatedateInclusive start date in YYYY-MM-DD format.
endDatedateInclusive end date in YYYY-MM-DD format.
formatstringResponse serialization format.
timeframestringRequested chart timeframe.
sp500RangestringS&P 500 analysis range.
sp500DonchianPeriodintegerDonchian Channel period.
sp500-drawdownpro

S&P 500 price with the percentage decline from the running all-time closing high. The full-history calculation remains intact when the visible timeframe changes, so shorter views do not invent a new local peak.

Chart Datasets
GET /api/v1/charts/sp500-drawdownTry in Playground

Response fields

price: number?drawdown: number?

Query parameters

NameTypeDescription
daysintegerNumber of recent calendar days to return.
limitintegerMaximum number of rows to return.
startDatedateInclusive start date in YYYY-MM-DD format.
endDatedateInclusive end date in YYYY-MM-DD format.
formatstringResponse serialization format.
timeframestringRequested chart timeframe.
sp500RangestringS&P 500 analysis range.
sp500-ichimoku-cloudpro

S&P 500 price with the standard 9-session conversion line, 26-session base line, and 26-session-forward leading spans derived from 9, 26, and 52-session price ranges. The leading spans are clipped at the dataset boundary rather than extrapolated.

Chart Datasets
GET /api/v1/charts/sp500-ichimoku-cloudTry in Playground

Response fields

price: number?ichimokuConversion9: number?ichimokuBase26: number?ichimokuLeadingSpanA: number?ichimokuLeadingSpanB: number?

Query parameters

NameTypeDescription
daysintegerNumber of recent calendar days to return.
limitintegerMaximum number of rows to return.
startDatedateInclusive start date in YYYY-MM-DD format.
endDatedateInclusive end date in YYYY-MM-DD format.
formatstringResponse serialization format.
timeframestringRequested chart timeframe.
sp500RangestringS&P 500 analysis range.
sp500IchimokuConversionintegerIchimoku conversion-line period.
sp500IchimokuBaseintegerIchimoku base-line period.
sp500IchimokuSpanintegerIchimoku leading-span period.
sp500IchimokuDisplacementintegerIchimoku displacement period.