API Reference
Endpoint Explorer
Search the complete live catalog, including exact response fields, typed parameters, Pro tiers, chain coverage, and supported legacy paths.
927ed17c749a5e0cPage 5 of 28realized-pl-deviationproTrack 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
realized-pl-deviationproTrack 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
GET /api/v1/charts/realized-pl-deviationTry in PlaygroundResponse 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
| Name | Type | Description |
|---|---|---|
days | integer | Number of recent calendar days to return. |
limit | integer | Maximum number of rows to return. |
startDate | date | Inclusive start date in YYYY-MM-DD format. |
endDate | date | Inclusive end date in YYYY-MM-DD format. |
format | string | Response serialization format. |
chain | string | Chain or asset identifier. |
dataResolution | string | Requested 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. |
timeframe | string | Requested chart timeframe. |
realized-pl-deviation-momentumproTrack 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
realized-pl-deviation-momentumproTrack 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
GET /api/v1/charts/realized-pl-deviation-momentumTry in PlaygroundResponse 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
| Name | Type | Description |
|---|---|---|
days | integer | Number of recent calendar days to return. |
limit | integer | Maximum number of rows to return. |
startDate | date | Inclusive start date in YYYY-MM-DD format. |
endDate | date | Inclusive end date in YYYY-MM-DD format. |
format | string | Response serialization format. |
chain | string | Chain or asset identifier. |
dataResolution | string | Requested 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. |
timeframe | string | Requested chart timeframe. |
realized-pl-heatmapproMaps 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
realized-pl-heatmapproMaps 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).
GET /api/v1/charts/realized-pl-heatmapTry in PlaygroundResponse fields
btc_price: number?buckets: number?date: string?formattedDate: string?timestamp: integer?block_height: number?price: number?bucket_prices: number?scale: number?Query parameters
| Name | Type | Description |
|---|---|---|
days | integer | Number of recent calendar days to return. |
limit | integer | Maximum number of rows to return. |
startDate | date | Inclusive start date in YYYY-MM-DD format. |
endDate | date | Inclusive end date in YYYY-MM-DD format. |
format | string | Response serialization format. |
chain | string | Chain or asset identifier. |
dataResolution | string | Requested 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. |
timeframe | string | Requested chart timeframe. |
realized-pl-heatmap-by-ageproDaily 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
realized-pl-heatmap-by-ageproDaily 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.
GET /api/v1/charts/realized-pl-heatmap-by-ageTry in PlaygroundResponse 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
| Name | Type | Description |
|---|---|---|
days | integer | Number of recent calendar days to return. |
limit | integer | Maximum number of rows to return. |
startDate | date | Inclusive start date in YYYY-MM-DD format. |
endDate | date | Inclusive end date in YYYY-MM-DD format. |
format | string | Response serialization format. |
chain | string | Chain or asset identifier. |
dataResolution | string | Requested 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. |
timeframe | string | Requested chart timeframe. |
realized-pl-heatmap-lthproDaily 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
realized-pl-heatmap-lthproDaily 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.
GET /api/v1/charts/realized-pl-heatmap-lthTry in PlaygroundResponse fields
btc_price: number?buckets: number?date: string?formattedDate: string?timestamp: integer?block_height: number?price: number?bucket_prices: number?scale: number?Query parameters
| Name | Type | Description |
|---|---|---|
days | integer | Number of recent calendar days to return. |
limit | integer | Maximum number of rows to return. |
startDate | date | Inclusive start date in YYYY-MM-DD format. |
endDate | date | Inclusive end date in YYYY-MM-DD format. |
format | string | Response serialization format. |
chain | string | Chain or asset identifier. |
dataResolution | string | Requested 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. |
timeframe | string | Requested chart timeframe. |
realized-pl-heatmap-sthproDaily 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
realized-pl-heatmap-sthproDaily 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.
GET /api/v1/charts/realized-pl-heatmap-sthTry in PlaygroundResponse fields
btc_price: number?buckets: number?date: string?formattedDate: string?timestamp: integer?block_height: number?price: number?bucket_prices: number?scale: number?Query parameters
| Name | Type | Description |
|---|---|---|
days | integer | Number of recent calendar days to return. |
limit | integer | Maximum number of rows to return. |
startDate | date | Inclusive start date in YYYY-MM-DD format. |
endDate | date | Inclusive end date in YYYY-MM-DD format. |
format | string | Response serialization format. |
chain | string | Chain or asset identifier. |
dataResolution | string | Requested 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. |
timeframe | string | Requested chart timeframe. |
realized-pl-ratioproRatio 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
realized-pl-ratioproRatio 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.
GET /api/v1/charts/realized-pl-ratioTry in PlaygroundResponse 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
| Name | Type | Description |
|---|---|---|
days | integer | Number of recent calendar days to return. |
limit | integer | Maximum number of rows to return. |
startDate | date | Inclusive start date in YYYY-MM-DD format. |
endDate | date | Inclusive end date in YYYY-MM-DD format. |
format | string | Response serialization format. |
chain | string | Chain or asset identifier. |
dataResolution | string | Requested 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. |
timeframe | string | Requested chart timeframe. |
realized-pl-sharpe-ratioproMeasures 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
realized-pl-sharpe-ratioproMeasures 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.
GET /api/v1/charts/realized-pl-sharpe-ratioTry in PlaygroundResponse 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
| Name | Type | Description |
|---|---|---|
days | integer | Number of recent calendar days to return. |
limit | integer | Maximum number of rows to return. |
startDate | date | Inclusive start date in YYYY-MM-DD format. |
endDate | date | Inclusive end date in YYYY-MM-DD format. |
format | string | Response serialization format. |
chain | string | Chain or asset identifier. |
dataResolution | string | Requested 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. |
timeframe | string | Requested chart timeframe. |
realized-price-streakproTracks 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
realized-price-streakproTracks 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.
GET /api/v1/charts/realized-price-streakTry in PlaygroundResponse 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
| Name | Type | Description |
|---|---|---|
days | integer | Number of recent calendar days to return. |
limit | integer | Maximum number of rows to return. |
startDate | date | Inclusive start date in YYYY-MM-DD format. |
endDate | date | Inclusive end date in YYYY-MM-DD format. |
format | string | Response serialization format. |
chain | string | Chain or asset identifier. |
dataResolution | string | Requested 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. |
timeframe | string | Requested chart timeframe. |
realized-profit-by-ageproAnalyze 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
realized-profit-by-ageproAnalyze 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.
GET /api/v1/charts/realized-profit-by-ageTry in PlaygroundResponse 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
| Name | Type | Description |
|---|---|---|
days | integer | Number of recent calendar days to return. |
limit | integer | Maximum number of rows to return. |
startDate | date | Inclusive start date in YYYY-MM-DD format. |
endDate | date | Inclusive end date in YYYY-MM-DD format. |
format | string | Response serialization format. |
chain | string | Chain or asset identifier. |
dataResolution | string | Requested 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. |
timeframe | string | Requested chart timeframe. |
realized-profit-lossproTrack 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
realized-profit-lossproTrack 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.
GET /api/v1/charts/realized-profit-lossTry in PlaygroundResponse 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
| Name | Type | Description |
|---|---|---|
days | integer | Number of recent calendar days to return. |
limit | integer | Maximum number of rows to return. |
startDate | date | Inclusive start date in YYYY-MM-DD format. |
endDate | date | Inclusive end date in YYYY-MM-DD format. |
format | string | Response serialization format. |
chain | string | Chain or asset identifier. |
dataResolution | string | Requested 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. |
timeframe | string | Requested chart timeframe. |
receiving-addressesproUnique addresses that received non-zero Bitcoin outputs in confirmed transactions during each UTC day.
Chart Datasets
receiving-addressesproUnique addresses that received non-zero Bitcoin outputs in confirmed transactions during each UTC day.
GET /api/v1/charts/receiving-addressesTry in PlaygroundResponse fields
block_height: number?btc_price: number?date: string?formattedDate: string?price: number?receiving_addresses: number?timestamp: integer?Query parameters
| Name | Type | Description |
|---|---|---|
days | integer | Number of recent calendar days to return. |
limit | integer | Maximum number of rows to return. |
startDate | date | Inclusive start date in YYYY-MM-DD format. |
endDate | date | Inclusive end date in YYYY-MM-DD format. |
format | string | Response serialization format. |
chain | string | Chain or asset identifier. |
dataResolution | string | Requested 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. |
timeframe | string | Requested chart timeframe. |
reddit-activityproGenuine 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
reddit-activityproGenuine 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.
GET /api/v1/charts/reddit-activityTry in PlaygroundResponse 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
| Name | Type | Description |
|---|---|---|
days | integer | Number of recent calendar days to return. |
limit | integer | Maximum number of rows to return. |
startDate | date | Inclusive start date in YYYY-MM-DD format. |
endDate | date | Inclusive end date in YYYY-MM-DD format. |
format | string | Response serialization format. |
chain | string | Chain or asset identifier. |
dataResolution | string | Requested 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. |
timeframe | string | Requested chart timeframe. |
reddit-community-sizeproSource-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
reddit-community-sizeproSource-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.
GET /api/v1/charts/reddit-community-sizeTry in PlaygroundResponse 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
| Name | Type | Description |
|---|---|---|
days | integer | Number of recent calendar days to return. |
limit | integer | Maximum number of rows to return. |
startDate | date | Inclusive start date in YYYY-MM-DD format. |
endDate | date | Inclusive end date in YYYY-MM-DD format. |
format | string | Response serialization format. |
chain | string | Chain or asset identifier. |
dataResolution | string | Requested 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. |
timeframe | string | Requested chart timeframe. |
reddit-discussion-heatproA 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
reddit-discussion-heatproA 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.
GET /api/v1/charts/reddit-discussion-heatTry in PlaygroundResponse 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
| Name | Type | Description |
|---|---|---|
days | integer | Number of recent calendar days to return. |
limit | integer | Maximum number of rows to return. |
startDate | date | Inclusive start date in YYYY-MM-DD format. |
endDate | date | Inclusive end date in YYYY-MM-DD format. |
format | string | Response serialization format. |
chain | string | Chain or asset identifier. |
dataResolution | string | Requested 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. |
timeframe | string | Requested chart timeframe. |
relative-lth-sth-realized-plproCompare 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
relative-lth-sth-realized-plproCompare 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.
GET /api/v1/charts/relative-lth-sth-realized-plTry in PlaygroundResponse 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
| Name | Type | Description |
|---|---|---|
days | integer | Number of recent calendar days to return. |
limit | integer | Maximum number of rows to return. |
startDate | date | Inclusive start date in YYYY-MM-DD format. |
endDate | date | Inclusive end date in YYYY-MM-DD format. |
format | string | Response serialization format. |
chain | string | Chain or asset identifier. |
dataResolution | string | Requested 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. |
timeframe | string | Requested chart timeframe. |
relative-realized-plproTrack 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
relative-realized-plproTrack 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.
GET /api/v1/charts/relative-realized-plTry in PlaygroundResponse 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
| Name | Type | Description |
|---|---|---|
days | integer | Number of recent calendar days to return. |
limit | integer | Maximum number of rows to return. |
startDate | date | Inclusive start date in YYYY-MM-DD format. |
endDate | date | Inclusive end date in YYYY-MM-DD format. |
format | string | Response serialization format. |
chain | string | Chain or asset identifier. |
dataResolution | string | Requested 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. |
timeframe | string | Requested chart timeframe. |
relative-strengthproCompare the relative strength and performance between two cryptocurrencies on a logarithmic scale to identify outperformance trends
Chart Datasets
relative-strengthproCompare the relative strength and performance between two cryptocurrencies on a logarithmic scale to identify outperformance trends
GET /api/v1/charts/relative-strengthTry in PlaygroundResponse fields
baseAsset: number?quoteAsset: number?basePrice: number?quotePrice: number?ratio: number?Query parameters
| Name | Type | Description |
|---|---|---|
days | integer | Number of recent calendar days to return. |
limit | integer | Maximum number of rows to return. |
startDate | date | Inclusive start date in YYYY-MM-DD format. |
endDate | date | Inclusive end date in YYYY-MM-DD format. |
format | string | Response serialization format. |
cryptocurrency | string | Cryptocurrency symbol or asset identifier. |
timeframe | string | Requested chart timeframe. |
quoteAsset | string | Quote currency or asset. |
relative-unrealized-plproTrack 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
relative-unrealized-plproTrack 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.
GET /api/v1/charts/relative-unrealized-plTry in PlaygroundResponse 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
| Name | Type | Description |
|---|---|---|
days | integer | Number of recent calendar days to return. |
limit | integer | Maximum number of rows to return. |
startDate | date | Inclusive start date in YYYY-MM-DD format. |
endDate | date | Inclusive end date in YYYY-MM-DD format. |
format | string | Response serialization format. |
chain | string | Chain or asset identifier. |
dataResolution | string | Requested 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. |
timeframe | string | Requested chart timeframe. |
relative-unrealized-pl-by-ageproShows 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
relative-unrealized-pl-by-ageproShows 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.
GET /api/v1/charts/relative-unrealized-pl-by-ageTry in PlaygroundResponse 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
| Name | Type | Description |
|---|---|---|
days | integer | Number of recent calendar days to return. |
limit | integer | Maximum number of rows to return. |
startDate | date | Inclusive start date in YYYY-MM-DD format. |
endDate | date | Inclusive end date in YYYY-MM-DD format. |
format | string | Response serialization format. |
chain | string | Chain or asset identifier. |
dataResolution | string | Requested 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. |
timeframe | string | Requested chart timeframe. |
relative-unrealized-pl-by-cohortproDecomposes 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
relative-unrealized-pl-by-cohortproDecomposes 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.
GET /api/v1/charts/relative-unrealized-pl-by-cohortTry in PlaygroundResponse 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
| Name | Type | Description |
|---|---|---|
days | integer | Number of recent calendar days to return. |
limit | integer | Maximum number of rows to return. |
startDate | date | Inclusive start date in YYYY-MM-DD format. |
endDate | date | Inclusive end date in YYYY-MM-DD format. |
format | string | Response serialization format. |
chain | string | Chain or asset identifier. |
dataResolution | string | Requested 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. |
timeframe | string | Requested chart timeframe. |
reserve-riskproTrack 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
reserve-riskproTrack 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
GET /api/v1/charts/reserve-riskTry in PlaygroundResponse 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
| Name | Type | Description |
|---|---|---|
days | integer | Number of recent calendar days to return. |
limit | integer | Maximum number of rows to return. |
startDate | date | Inclusive start date in YYYY-MM-DD format. |
endDate | date | Inclusive end date in YYYY-MM-DD format. |
format | string | Response serialization format. |
chain | string | Chain or asset identifier. |
dataResolution | string | Requested 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. |
timeframe | string | Requested chart timeframe. |
reserve-risk-adjustedproEnhanced 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
reserve-risk-adjustedproEnhanced 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
GET /api/v1/charts/reserve-risk-adjustedTry in PlaygroundResponse 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
| Name | Type | Description |
|---|---|---|
days | integer | Number of recent calendar days to return. |
limit | integer | Maximum number of rows to return. |
startDate | date | Inclusive start date in YYYY-MM-DD format. |
endDate | date | Inclusive end date in YYYY-MM-DD format. |
format | string | Response serialization format. |
chain | string | Chain or asset identifier. |
dataResolution | string | Requested 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. |
timeframe | string | Requested chart timeframe. |
revived-supply-by-ageproTrack 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
revived-supply-by-ageproTrack 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.
GET /api/v1/charts/revived-supply-by-ageTry in PlaygroundResponse 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
| Name | Type | Description |
|---|---|---|
days | integer | Number of recent calendar days to return. |
limit | integer | Maximum number of rows to return. |
startDate | date | Inclusive start date in YYYY-MM-DD format. |
endDate | date | Inclusive end date in YYYY-MM-DD format. |
format | string | Response serialization format. |
chain | string | Chain or asset identifier. |
dataResolution | string | Requested 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. |
timeframe | string | Requested chart timeframe. |
rhodlproThe 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
rhodlproThe 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.
GET /api/v1/charts/rhodlTry in PlaygroundResponse 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
| Name | Type | Description |
|---|---|---|
days | integer | Number of recent calendar days to return. |
limit | integer | Maximum number of rows to return. |
startDate | date | Inclusive start date in YYYY-MM-DD format. |
endDate | date | Inclusive end date in YYYY-MM-DD format. |
format | string | Response serialization format. |
chain | string | Chain or asset identifier. |
dataResolution | string | Requested 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. |
timeframe | string | Requested chart timeframe. |
rhodl-momentumproRHODL 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
rhodl-momentumproRHODL 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.
GET /api/v1/charts/rhodl-momentumTry in PlaygroundResponse 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
| Name | Type | Description |
|---|---|---|
days | integer | Number of recent calendar days to return. |
limit | integer | Maximum number of rows to return. |
startDate | date | Inclusive start date in YYYY-MM-DD format. |
endDate | date | Inclusive end date in YYYY-MM-DD format. |
format | string | Response serialization format. |
chain | string | Chain or asset identifier. |
dataResolution | string | Requested 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. |
timeframe | string | Requested chart timeframe. |
risk-valuesproAnalyze cryptocurrency risk values with traditional line charts showing price and risk levels on dual axes
Chart Datasets
risk-valuesproAnalyze cryptocurrency risk values with traditional line charts showing price and risk levels on dual axes
GET /api/v1/charts/risk-valuesTry in PlaygroundResponse fields
price: number?riskLevel: number?Query parameters
| Name | Type | Description |
|---|---|---|
days | integer | Number of recent calendar days to return. |
limit | integer | Maximum number of rows to return. |
startDate | date | Inclusive start date in YYYY-MM-DD format. |
endDate | date | Inclusive end date in YYYY-MM-DD format. |
format | string | Response serialization format. |
cryptocurrency | string | Cryptocurrency symbol or asset identifier. |
timeframe | string | Requested chart timeframe. |
sell-side-pressureproSOPR-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
sell-side-pressureproSOPR-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.
GET /api/v1/charts/sell-side-pressureTry in PlaygroundResponse 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
| Name | Type | Description |
|---|---|---|
days | integer | Number of recent calendar days to return. |
limit | integer | Maximum number of rows to return. |
startDate | date | Inclusive start date in YYYY-MM-DD format. |
endDate | date | Inclusive end date in YYYY-MM-DD format. |
format | string | Response serialization format. |
chain | string | Chain or asset identifier. |
dataResolution | string | Requested 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. |
timeframe | string | Requested chart timeframe. |
sell-side-risk-ratioproQuantifies 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
sell-side-risk-ratioproQuantifies 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.
GET /api/v1/charts/sell-side-risk-ratioTry in PlaygroundResponse 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
| Name | Type | Description |
|---|---|---|
days | integer | Number of recent calendar days to return. |
limit | integer | Maximum number of rows to return. |
startDate | date | Inclusive start date in YYYY-MM-DD format. |
endDate | date | Inclusive end date in YYYY-MM-DD format. |
format | string | Response serialization format. |
chain | string | Chain or asset identifier. |
dataResolution | string | Requested 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. |
timeframe | string | Requested chart timeframe. |
seller-exhaustion-constantproARK 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
seller-exhaustion-constantproARK 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.
GET /api/v1/charts/seller-exhaustion-constantTry in PlaygroundResponse 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
| Name | Type | Description |
|---|---|---|
days | integer | Number of recent calendar days to return. |
limit | integer | Maximum number of rows to return. |
startDate | date | Inclusive start date in YYYY-MM-DD format. |
endDate | date | Inclusive end date in YYYY-MM-DD format. |
format | string | Response serialization format. |
chain | string | Chain or asset identifier. |
dataResolution | string | Requested 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. |
timeframe | string | Requested chart timeframe. |
seller-median-cbproFor 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
seller-median-cbproFor 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.
GET /api/v1/charts/seller-median-cbTry in PlaygroundResponse fields
btc_price: number?buckets: number?date: string?formattedDate: string?timestamp: integer?block_height: number?price: number?bucket_prices: number?scale: number?Query parameters
| Name | Type | Description |
|---|---|---|
days | integer | Number of recent calendar days to return. |
limit | integer | Maximum number of rows to return. |
startDate | date | Inclusive start date in YYYY-MM-DD format. |
endDate | date | Inclusive end date in YYYY-MM-DD format. |
format | string | Response serialization format. |
chain | string | Chain or asset identifier. |
dataResolution | string | Requested 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. |
timeframe | string | Requested chart timeframe. |
sending-addressesproUnique addresses that spent non-zero Bitcoin outputs in confirmed transactions during each UTC day.
Chart Datasets
sending-addressesproUnique addresses that spent non-zero Bitcoin outputs in confirmed transactions during each UTC day.
GET /api/v1/charts/sending-addressesTry in PlaygroundResponse fields
block_height: number?btc_price: number?date: string?formattedDate: string?price: number?sending_addresses: number?timestamp: integer?Query parameters
| Name | Type | Description |
|---|---|---|
days | integer | Number of recent calendar days to return. |
limit | integer | Maximum number of rows to return. |
startDate | date | Inclusive start date in YYYY-MM-DD format. |
endDate | date | Inclusive end date in YYYY-MM-DD format. |
format | string | Response serialization format. |
chain | string | Chain or asset identifier. |
dataResolution | string | Requested 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. |
timeframe | string | Requested chart timeframe. |
sighash-usageproDaily transaction counts using SIGHASH_ALL, DEFAULT, SINGLE, NONE, and ANYONECANPAY, exposing signature-policy composition and rare signing modes.
Chart Datasets
sighash-usageproDaily transaction counts using SIGHASH_ALL, DEFAULT, SINGLE, NONE, and ANYONECANPAY, exposing signature-policy composition and rare signing modes.
GET /api/v1/charts/sighash-usageTry in PlaygroundResponse 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
| Name | Type | Description |
|---|---|---|
days | integer | Number of recent calendar days to return. |
limit | integer | Maximum number of rows to return. |
startDate | date | Inclusive start date in YYYY-MM-DD format. |
endDate | date | Inclusive end date in YYYY-MM-DD format. |
format | string | Response serialization format. |
chain | string | Chain or asset identifier. |
dataResolution | string | Requested 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. |
timeframe | string | Requested chart timeframe. |
slrv-ratioproDavid 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
slrv-ratioproDavid 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.
GET /api/v1/charts/slrv-ratioTry in PlaygroundResponse 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
| Name | Type | Description |
|---|---|---|
days | integer | Number of recent calendar days to return. |
limit | integer | Maximum number of rows to return. |
startDate | date | Inclusive start date in YYYY-MM-DD format. |
endDate | date | Inclusive end date in YYYY-MM-DD format. |
format | string | Response serialization format. |
chain | string | Chain or asset identifier. |
dataResolution | string | Requested 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. |
timeframe | string | Requested chart timeframe. |
solana-etf-flowsproDaily 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
solana-etf-flowsproDaily 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.
GET /api/v1/charts/solana-etf-flowsTry in PlaygroundResponse fields
flow_usd: number?asset_price: number?Query parameters
| Name | Type | Description |
|---|---|---|
days | integer | Number of recent calendar days to return. |
limit | integer | Maximum number of rows to return. |
startDate | date | Inclusive start date in YYYY-MM-DD format. |
endDate | date | Inclusive end date in YYYY-MM-DD format. |
format | string | Response serialization format. |
timeframe | string | Requested chart timeframe. |
sopd-heatmapproShows 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
sopd-heatmapproShows 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.
GET /api/v1/charts/sopd-heatmapTry in PlaygroundResponse fields
btc_price: number?buckets: number?date: string?formattedDate: string?timestamp: integer?block_height: number?price: number?bucket_prices: number?scale: number?Query parameters
| Name | Type | Description |
|---|---|---|
days | integer | Number of recent calendar days to return. |
limit | integer | Maximum number of rows to return. |
startDate | date | Inclusive start date in YYYY-MM-DD format. |
endDate | date | Inclusive end date in YYYY-MM-DD format. |
format | string | Response serialization format. |
chain | string | Chain or asset identifier. |
dataResolution | string | Requested 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. |
timeframe | string | Requested chart timeframe. |
sopd-heatmap-by-ageproDaily 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
sopd-heatmap-by-ageproDaily 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.
GET /api/v1/charts/sopd-heatmap-by-ageTry in PlaygroundResponse 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
| Name | Type | Description |
|---|---|---|
days | integer | Number of recent calendar days to return. |
limit | integer | Maximum number of rows to return. |
startDate | date | Inclusive start date in YYYY-MM-DD format. |
endDate | date | Inclusive end date in YYYY-MM-DD format. |
format | string | Response serialization format. |
chain | string | Chain or asset identifier. |
dataResolution | string | Requested 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. |
timeframe | string | Requested chart timeframe. |
sopd-heatmap-lthproDaily 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
sopd-heatmap-lthproDaily spent output flow restricted to Long-Term Holder spends. Clusters at deep-discount price bands signal vintage coins distributing, classic late-cycle signature.
GET /api/v1/charts/sopd-heatmap-lthTry in PlaygroundResponse fields
btc_price: number?buckets: number?date: string?formattedDate: string?timestamp: integer?block_height: number?price: number?bucket_prices: number?scale: number?Query parameters
| Name | Type | Description |
|---|---|---|
days | integer | Number of recent calendar days to return. |
limit | integer | Maximum number of rows to return. |
startDate | date | Inclusive start date in YYYY-MM-DD format. |
endDate | date | Inclusive end date in YYYY-MM-DD format. |
format | string | Response serialization format. |
chain | string | Chain or asset identifier. |
dataResolution | string | Requested 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. |
timeframe | string | Requested chart timeframe. |
sopd-heatmap-sthproDaily 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
sopd-heatmap-sthproDaily 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.
GET /api/v1/charts/sopd-heatmap-sthTry in PlaygroundResponse fields
btc_price: number?buckets: number?date: string?formattedDate: string?timestamp: integer?block_height: number?price: number?bucket_prices: number?scale: number?Query parameters
| Name | Type | Description |
|---|---|---|
days | integer | Number of recent calendar days to return. |
limit | integer | Maximum number of rows to return. |
startDate | date | Inclusive start date in YYYY-MM-DD format. |
endDate | date | Inclusive end date in YYYY-MM-DD format. |
format | string | Response serialization format. |
chain | string | Chain or asset identifier. |
dataResolution | string | Requested 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. |
timeframe | string | Requested chart timeframe. |
soprproTrack 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
soprproTrack 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.
GET /api/v1/charts/soprTry in PlaygroundResponse 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
| Name | Type | Description |
|---|---|---|
days | integer | Number of recent calendar days to return. |
limit | integer | Maximum number of rows to return. |
startDate | date | Inclusive start date in YYYY-MM-DD format. |
endDate | date | Inclusive end date in YYYY-MM-DD format. |
format | string | Response serialization format. |
chain | string | Chain or asset identifier. |
dataResolution | string | Requested 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. |
timeframe | string | Requested chart timeframe. |
sopr-by-ageproAnalyze 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
sopr-by-ageproAnalyze 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.
GET /api/v1/charts/sopr-by-ageTry in PlaygroundResponse 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
| Name | Type | Description |
|---|---|---|
days | integer | Number of recent calendar days to return. |
limit | integer | Maximum number of rows to return. |
startDate | date | Inclusive start date in YYYY-MM-DD format. |
endDate | date | Inclusive end date in YYYY-MM-DD format. |
format | string | Response serialization format. |
chain | string | Chain or asset identifier. |
dataResolution | string | Requested 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. |
timeframe | string | Requested chart timeframe. |
sopr-by-basis-bandproClassifies 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
sopr-by-basis-bandproClassifies 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.
GET /api/v1/charts/sopr-by-basis-bandTry in PlaygroundResponse 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
| Name | Type | Description |
|---|---|---|
days | integer | Number of recent calendar days to return. |
limit | integer | Maximum number of rows to return. |
startDate | date | Inclusive start date in YYYY-MM-DD format. |
endDate | date | Inclusive end date in YYYY-MM-DD format. |
format | string | Response serialization format. |
chain | string | Chain or asset identifier. |
dataResolution | string | Requested 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. |
timeframe | string | Requested chart timeframe. |
sopr-zscoreproStandardized 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
sopr-zscoreproStandardized 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.
GET /api/v1/charts/sopr-zscoreTry in PlaygroundResponse 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
| Name | Type | Description |
|---|---|---|
days | integer | Number of recent calendar days to return. |
limit | integer | Maximum number of rows to return. |
startDate | date | Inclusive start date in YYYY-MM-DD format. |
endDate | date | Inclusive end date in YYYY-MM-DD format. |
format | string | Response serialization format. |
chain | string | Chain or asset identifier. |
dataResolution | string | Requested 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. |
timeframe | string | Requested chart timeframe. |
sp500-adxproS&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
sp500-adxproS&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.
GET /api/v1/charts/sp500-adxTry in PlaygroundResponse fields
price: number?adx14: number?plusDI14: number?minusDI14: number?Query parameters
| Name | Type | Description |
|---|---|---|
days | integer | Number of recent calendar days to return. |
limit | integer | Maximum number of rows to return. |
startDate | date | Inclusive start date in YYYY-MM-DD format. |
endDate | date | Inclusive end date in YYYY-MM-DD format. |
format | string | Response serialization format. |
timeframe | string | Requested chart timeframe. |
sp500Range | string | S&P 500 analysis range. |
sp500AdxPeriod | integer | ADX period. |
sp500AdxThreshold | number | ADX trend threshold. |
sp500-atrproS&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
sp500-atrproS&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.
GET /api/v1/charts/sp500-atrTry in PlaygroundResponse fields
price: number?atr14Percent: number?Query parameters
| Name | Type | Description |
|---|---|---|
days | integer | Number of recent calendar days to return. |
limit | integer | Maximum number of rows to return. |
startDate | date | Inclusive start date in YYYY-MM-DD format. |
endDate | date | Inclusive end date in YYYY-MM-DD format. |
format | string | Response serialization format. |
timeframe | string | Requested chart timeframe. |
sp500Range | string | S&P 500 analysis range. |
sp500AtrPeriod | integer | ATR period. |
sp500-bollinger-bandsproS&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
sp500-bollinger-bandsproS&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.
GET /api/v1/charts/sp500-bollinger-bandsTry in PlaygroundResponse fields
price: number?bollingerUpper: number?bollingerMiddle: number?bollingerLower: number?Query parameters
| Name | Type | Description |
|---|---|---|
days | integer | Number of recent calendar days to return. |
limit | integer | Maximum number of rows to return. |
startDate | date | Inclusive start date in YYYY-MM-DD format. |
endDate | date | Inclusive end date in YYYY-MM-DD format. |
format | string | Response serialization format. |
timeframe | string | Requested chart timeframe. |
sp500Range | string | S&P 500 analysis range. |
sp500BollingerPeriod | integer | Bollinger Band period. |
sp500BollingerDeviation | number | Bollinger Band standard-deviation multiplier. |
sp500-cciproS&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
sp500-cciproS&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.
GET /api/v1/charts/sp500-cciTry in PlaygroundResponse fields
price: number?cci20: number?Query parameters
| Name | Type | Description |
|---|---|---|
days | integer | Number of recent calendar days to return. |
limit | integer | Maximum number of rows to return. |
startDate | date | Inclusive start date in YYYY-MM-DD format. |
endDate | date | Inclusive end date in YYYY-MM-DD format. |
format | string | Response serialization format. |
timeframe | string | Requested chart timeframe. |
sp500Range | string | S&P 500 analysis range. |
sp500CciPeriod | integer | CCI period. |
sp500CciUpper | number | CCI upper threshold. |
sp500CciLower | number | CCI lower threshold. |
sp500-donchian-channelsproS&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
sp500-donchian-channelsproS&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.
GET /api/v1/charts/sp500-donchian-channelsTry in PlaygroundResponse fields
price: number?donchianUpper20: number?donchianMiddle20: number?donchianLower20: number?Query parameters
| Name | Type | Description |
|---|---|---|
days | integer | Number of recent calendar days to return. |
limit | integer | Maximum number of rows to return. |
startDate | date | Inclusive start date in YYYY-MM-DD format. |
endDate | date | Inclusive end date in YYYY-MM-DD format. |
format | string | Response serialization format. |
timeframe | string | Requested chart timeframe. |
sp500Range | string | S&P 500 analysis range. |
sp500DonchianPeriod | integer | Donchian Channel period. |
sp500-drawdownproS&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
sp500-drawdownproS&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.
GET /api/v1/charts/sp500-drawdownTry in PlaygroundResponse fields
price: number?drawdown: number?Query parameters
| Name | Type | Description |
|---|---|---|
days | integer | Number of recent calendar days to return. |
limit | integer | Maximum number of rows to return. |
startDate | date | Inclusive start date in YYYY-MM-DD format. |
endDate | date | Inclusive end date in YYYY-MM-DD format. |
format | string | Response serialization format. |
timeframe | string | Requested chart timeframe. |
sp500Range | string | S&P 500 analysis range. |
sp500-ichimoku-cloudproS&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
sp500-ichimoku-cloudproS&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.
GET /api/v1/charts/sp500-ichimoku-cloudTry in PlaygroundResponse fields
price: number?ichimokuConversion9: number?ichimokuBase26: number?ichimokuLeadingSpanA: number?ichimokuLeadingSpanB: number?Query parameters
| Name | Type | Description |
|---|---|---|
days | integer | Number of recent calendar days to return. |
limit | integer | Maximum number of rows to return. |
startDate | date | Inclusive start date in YYYY-MM-DD format. |
endDate | date | Inclusive end date in YYYY-MM-DD format. |
format | string | Response serialization format. |
timeframe | string | Requested chart timeframe. |
sp500Range | string | S&P 500 analysis range. |
sp500IchimokuConversion | integer | Ichimoku conversion-line period. |
sp500IchimokuBase | integer | Ichimoku base-line period. |
sp500IchimokuSpan | integer | Ichimoku leading-span period. |
sp500IchimokuDisplacement | integer | Ichimoku displacement period. |