API Reference

Endpoint Explorer

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

Reset
1,368 endpoints, catalog 927ed17c749a5e0cPage 4 of 28
lth-stresspro

Identify Long-Term Holder stress periods by analyzing realized price deviations across LTH cohorts (6m-5y). Red vertical bars highlight when the LTH composite rises above +1 standard deviation ratio, indicating LTH capitulation - a rare event that often coincides with generational buying opportunities at major market bottoms.

Chart Datasets
GET /api/v1/charts/lth-stressTry in Playground

Response fields

block_height: number?btc_price: number?date: string?formattedDate: string?lth_composite: number?lth_composite_zscore: number?lth_cost_basis: number?lth_realized_price: number?price: number?realized_price_1y_2y: number?realized_price_2y_3y: number?realized_price_3y_5y: number?realized_price_6m_1y: number?timestamp: integer?ledger_index: number?lth_stress: number?lth_stress_normalized: number?

Query parameters

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

Decomposes Long-Term Holder wealth concentration into 5 exact attribution factors: cohort aging, STH capitulation, LTH spending, LTH P/L, and issuance. Shows why LTH concentration rises in bear markets and falls in bull markets. Toggle between Wealth (realized cap) and Supply (BTC) modes.

Chart Datasets
GET /api/v1/charts/lth-wealth-attributionTry in Playground

Response fields

adjusted_concentration: number?aging_rcap: number?aging_supply_btc: number?block_height: number?btc_price: number?coinbase_btc: number?coinbase_usd: number?cum_f1_aging: number?cum_f2_lth_spending: number?cum_f3_lth_pnl: number?cum_f4_sth_pnl: number?cum_f5_issuance: number?date: string?delta_concentration: number?delta_supply_pct: number?f1_aging: number?f2_lth_spending: number?f3_lth_pnl: number?f4_sth_pnl: number?f5_issuance: number?formattedDate: string?lth_concentration: number?lth_concentration_change_negative: number?lth_concentration_change_positive: number?lth_cost_basis_usd: number?lth_pnl: number?lth_realized_cap: number?lth_spent_btc: number?lth_spent_rcap: number?lth_supply_btc: number?lth_supply_pct: number?lth_wealth_concentration_change: number?lth_wealth_concentration_pct: number?price: number?realized_cap: number?realized_cap_usd: number?residual: number?sf1_aging: number?sf2_lth_spending: number?sf3_issuance: number?sth_concentration: number?sth_pnl: number?sth_supply_pct: number?timestamp: integer?total_supply_btc: number?lth_wealth_concentration: number?ledger_index: number?top10_pct_share: number?

Query parameters

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

Measure the percentage of total realized capital held by Long-Term Holders (LTH). This metric tracks wealth distribution and holder conviction, with high values (>75%) indicating strong holder accumulation and low values (<50%) suggesting distribution phases

Chart Datasets
GET /api/v1/charts/lth-wealth-concentrationTry in Playground

Response fields

adjusted_concentration: number?aging_rcap: number?aging_supply_btc: number?block_height: number?btc_price: number?coinbase_btc: number?coinbase_usd: number?cum_f1_aging: number?cum_f2_lth_spending: number?cum_f3_lth_pnl: number?cum_f4_sth_pnl: number?cum_f5_issuance: number?date: string?delta_concentration: number?delta_supply_pct: number?f1_aging: number?f2_lth_spending: number?f3_lth_pnl: number?f4_sth_pnl: number?f5_issuance: number?formattedDate: string?lth_concentration: number?lth_concentration_change_negative: number?lth_concentration_change_positive: number?lth_cost_basis_usd: number?lth_pnl: number?lth_realized_cap: number?lth_spent_btc: number?lth_spent_rcap: number?lth_supply_btc: number?lth_supply_pct: number?lth_wealth_concentration_change: number?lth_wealth_concentration_pct: number?price: number?realized_cap: number?realized_cap_usd: number?residual: number?sf1_aging: number?sf2_lth_spending: number?sf3_issuance: number?sth_concentration: number?sth_pnl: number?sth_supply_pct: number?timestamp: integer?total_supply_btc: number?lth_wealth_concentration: number?ledger_index: number?top10_pct_share: number?

Query parameters

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

Analyze the rolling correlation between M2 money supply (global liquidity) and cryptocurrency prices. Choose Global (our aggregate of the US, Eurozone, China, Japan and UK, in USD) or any individual country, and combine multiple countries into a custom aggregate. Track liquidity-driven market cycles and capital flow dynamics.

Chart Datasets
GET /api/v1/charts/m2-crypto-correlationTry in Playground

Response fields

crypto_price: number?m2_value: number?correlation: number?correlation_display: number?indicator_display: number?

Query parameters

NameTypeDescription
daysintegerNumber of recent calendar days to return.
limitintegerMaximum number of rows to return.
startDatedateInclusive start date in YYYY-MM-DD format.
endDatedateInclusive end date in YYYY-MM-DD format.
formatstringResponse serialization format.
cryptocurrencystringCryptocurrency symbol or asset identifier.
timeframestringRequested chart timeframe.
m2CorrelationWindowintegerGlobal M2 correlation window in observations.
major-exchange-balancespro

A legacy-continuity exchange balance series. After the historical feed ends, CoinGlass per-venue daily changes are applied to the prior levels with fixed seam offsets, so the chart preserves continuity but is not a raw CoinGlass absolute-balance oracle. It is independent from ChartInspect's evidence-backed entity tracker and the two charts can differ when wallet coverage or venue classification differs.

Chart Datasets
GET /api/v1/charts/major-exchange-balancesTry in Playground

Response fields

coinbase: number?binance: number?bitfinex: number?upbit: number?robinhood: number?kraken: number?okx: number?bybit: number?gemini: number?bitflyer: number?bitstamp: number?crypto_com: number?bitmex: number?bithumb: number?coincheck: number?mt_gox: number?deribit: number?bitget: number?revolut: number?river: number?bitvavo: number?bitgo: number?bitbank: number?gate_io: number?sbi_vc_trade: number?htx: number?maskex: number?kucoin: number?hashkey_exchange: number?binance_us: number?btc_price: number?

Query parameters

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

Total market capitalization broken down by UTXO age band as a stacked area chart. Shows the absolute USD market value of coins in each age cohort (supply in band x current price). Unlike HODL Waves which show supply percentages, this reveals the dollar magnitude of each age group.

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

Response fields

block_height: number?btc_price: number?date: string?formattedDate: string?mcap_10y_plus: number?mcap_1d_1w: number?mcap_1m_3m: number?mcap_1w_1m: number?mcap_1y_2y: number?mcap_24h: number?mcap_2y_3y: number?mcap_3m_6m: number?mcap_3y_5y: number?mcap_5y_7y: number?mcap_6m_12m: number?mcap_7y_10y: number?rcap_10y_plus: number?rcap_1d_1w: number?rcap_1m_3m: number?rcap_1w_1m: number?rcap_1y_2y: number?rcap_24h: number?rcap_2y_3y: number?rcap_3m_6m: number?rcap_3y_5y: number?rcap_5y_7y: number?rcap_6m_12m: number?rcap_7y_10y: number?supply_10y_plus: number?supply_1d_1w: number?supply_1m_3m: number?supply_1w_1m: number?supply_1y_2y: number?supply_24h: number?supply_2y_3y: number?supply_3m_6m: number?supply_3y_5y: number?supply_5y_7y: number?supply_6m_12m: number?supply_7y_10y: number?timestamp: integer?total_mcap: number?total_rcap: number?ledger_index: number?price: number?supply_6m_1y: number?mcap_10y_plus_usd: number?mcap_1d_1w_usd: number?mcap_1m_3m_usd: number?mcap_1w_1m_usd: number?mcap_1y_2y_usd: number?mcap_24h_usd: number?mcap_2y_3y_usd: number?mcap_3m_6m_usd: number?mcap_3y_5y_usd: number?mcap_5y_7y_usd: number?mcap_5y_plus: number?mcap_5y_plus_usd: number?mcap_6m_12m_usd: number?mcap_7y_10y_usd: number?mcap_lt_1d: number?mcap_lt_1d_usd: number?

Query parameters

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

Stacked market-cap shares for Bitcoin, Ether, stablecoins, and other crypto assets over time.

Chart Datasets
GET /api/v1/charts/market-dominanceTry in Playground

Response fields

others_dominance: number?btc_dominance: number?eth_dominance: number?stablecoin_dominance: number?total: number?

Query parameters

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

Compare Bitcoin's market valuation to the total cumulative security budget invested by miners. MCTC helps identify market cycles, with high ratios indicating potential overvaluation and low ratios suggesting accumulation opportunities.

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

Response fields

active_mvrv: number?active_realized_price: number?active_supply_btc: number?aviv_nupl: number?aviv_ratio: number?block_height: number?btc_price: number?circulating_supply_btc: number?cointime_price: number?date: string?formattedDate: string?investor_cap: number?liveliness: number?market_cap: number?mctc: number?mctc_ratio: number?mvrv_ratio: number?nupl: number?price: number?realized_cap: number?supply_in_loss_btc: number?supply_in_profit_btc: number?thermocap: number?thermoprice: number?thermoprice_16x: number?thermoprice_2x: number?thermoprice_32x: number?thermoprice_4x: number?thermoprice_64x: number?thermoprice_6x: number?thermoprice_8x: number?timestamp: integer?true_market_mean_price: number?vaulted_price: number?vaulted_supply_btc: number?vaultedness: number?

Query parameters

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

Median cost basis (50th-percentile acquisition price) of each HODL-wave age cohort over time, overlaid on BTC price. Tracks cohort-level fair value, STH medians hug current price while LTH medians anchor to their cohort's acquisition era, revealing divergence and convergence across cycles.

Chart Datasets
GET /api/v1/charts/median-cost-basis-by-ageTry in Playground

Response fields

block_height: number?btc_price: number?by_age: number?date: string?formattedDate: string?median_band_0: number?median_band_1: number?median_band_10: number?median_band_11: number?median_band_2: number?median_band_3: number?median_band_4: number?median_band_5: number?median_band_6: number?median_band_7: number?median_band_8: number?median_band_9: number?price: number?timestamp: integer?ledger_index: number?median_cost_basis_1d_1w: number?median_cost_basis_1m_3m: number?median_cost_basis_1w_1m: number?median_cost_basis_1y_2y: number?median_cost_basis_2y_3y: number?median_cost_basis_3m_6m: number?median_cost_basis_3y_5y: number?median_cost_basis_5y_plus: number?median_cost_basis_6m_12m: number?median_cost_basis_lt_1d: number?median_cost_basis_usd: number?

Query parameters

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

MVRV using the median cost basis instead of the mean. Resistant to whale skew, below 1 means the majority of supply is underwater, regardless of how large holders are positioned.

Chart Datasets
GET /api/v1/charts/median-mvrvTry in Playground

Response fields

block_height: number?btc_price: number?date: string?formattedDate: string?market_cap_usd: number?median_cost_basis: number?median_mvrv: number?median_realized_price: number?mvrv: number?mvrv_ratio: number?price: number?realized_cap_usd: number?realized_price: number?timestamp: integer?ledger_index: number?breakeven_line: number?

Query parameters

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

The median profit ratio across every spent output, rather than the value-weighted average that standard SOPR reports. Standard SOPR is a ratio of sums, so a handful of very large spends dominate it. The median instead shows what the typical coin movement did, and the 25th/75th percentile band shows the spread of the whole distribution.

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

Response fields

btc_price: number?date: string?formattedDate: string?median_sopr: number?median_sopr_p05: number?median_sopr_p10: number?median_sopr_p25: number?median_sopr_p75: number?median_sopr_p90: number?median_sopr_p95: number?median_sopr_pct_in_profit: number?median_sopr_value_weighted: number?price: number?spent_outputs: number?timestamp: integer?ledger_index: number?block_height: number?adjusted_sopr: number?sopr_sma7: number?

Query parameters

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

Track total daily Bitcoin miner revenue in USD, combining block subsidies and transaction fees. Visualize how miner income correlates with BTC price across market cycles, halving events, and fee market dynamics.

Chart Datasets
GET /api/v1/charts/miner-revenueTry in Playground

Response fields

365d_ma_issuance_usd: number?block_height: number?blocks: number?btc_price: number?coinbase_rewards_btc: number?daily_issuance_usd: number?date: string?formattedDate: string?ma365_revenue: number?mining_revenue_btc: number?mining_revenue_usd: number?price: number?puell_multiple: number?timestamp: integer?total_fees_btc: number?fee_revenue_usd: number?reserve_revenue_usd: number?active_mvrv: number?active_realized_price: number?active_supply_btc: number?aviv_nupl: number?aviv_ratio: number?circulating_supply_btc: number?cointime_price: number?investor_cap: number?liveliness: number?market_cap: number?mvrv_ratio: number?nupl: number?realized_cap: number?supply_in_loss_btc: number?supply_in_profit_btc: number?thermocap: number?true_market_mean_price: number?vaulted_price: number?vaulted_supply_btc: number?vaultedness: number?

Query parameters

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

Monitor Bitcoin mining difficulty adjustments that maintain 10-minute block times. Rising difficulty reflects increased hash rate and miner competition, indicating network strength.

Chart Datasets
GET /api/v1/charts/mining-difficultyTry in Playground

Response fields

avg_fees_per_block: number?block_height: number?blocks: number?btc_price: number?coinbase_rewards_btc: number?daily_issuance_btc: number?date: string?difficulty: number?formattedDate: string?hash_rate: number?last_height: number?price: number?timestamp: integer?total_fees_btc: number?utxos_created: number?utxos_spent: number?

Query parameters

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

View monthly net Bitcoin flows for individual exchanges or all exchanges combined. Analyze inflow/outflow patterns to identify accumulation and distribution trends over time.

Chart Datasets
GET /api/v1/charts/monthly-exchange-flowsTry in Playground

Response fields

year: number?Jan: number?Feb: number?Mar: number?Apr: number?May: number?Jun: number?Jul: number?Aug: number?Sep: number?Oct: number?Nov: number?Dec: number?

Query parameters

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

Bitcoin monthly returns arranged by year and month

Chart Datasets
GET /api/v1/charts/monthly-returns-tableTry in Playground

Response fields

period: number?year: number?month: number?open: number?close: number?returnPct: number?

Query parameters

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

Analyze MicroStrategy (MSTR) stock using Volume Weighted Average Price Ratio (VWAPR) and Market Value to Realized Value (MVRV) metrics to identify market cycles and valuation extremes

Chart Datasets
GET /api/v1/charts/mstr-vwapr-mvrvTry in Playground

Response fields

close: number?vwap155: number?vwapr20: number?mvrv155: number?vwapMvrvZScore155: number?plus13STD: number?minus6STD: number?minus12STD: number?

Query parameters

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

Monitor Bitcoin Market Value to Realized Value (MVRV) ratio alongside realized price and bitcoin price. Statistical bands reveal historical overvaluation and undervaluation zones for market timing

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

Response fields

4year_average: number?4year_minus_1_sigma: number?4year_minus_2_sigma: number?4year_plus_1_sigma: number?4year_plus_2_sigma: number?alltime_average: number?alltime_minus_1_sigma: number?alltime_minus_2_sigma: number?alltime_plus_1_sigma: number?alltime_plus_2_sigma: number?btc_price: number?date: string?formattedDate: string?lth_mvrv: number?market_cap_usd: number?mvrv: number?mvrv_0sigma_price: number?mvrv_minus_1sigma_price: number?mvrv_plus_1sigma_price: number?mvrv_ratio: number?price: number?realized_cap_usd: number?realized_price: number?sth_mvrv: number?timestamp: integer?z_score: number?mvrv_4year_average: number?mvrv_4year_minus_sigma: number?mvrv_4year_plus_sigma: number?mvrv_alltime_average: number?mvrv_alltime_minus_sigma: number?mvrv_alltime_plus_sigma: number?ledger_index: number?block_height: number?mvrv_mean: number?

Query parameters

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

Visualize Bitcoin price overlaid with statistical bands derived from the MVRV (Market Value to Realized Value) ratio to identify extreme market conditions and potential reversal zones based on historical MVRV deviations

Chart Datasets
GET /api/v1/charts/mvrv-bandsTry in Playground

Response fields

block_height: number?btc_price: number?circulating_supply: number?date: string?formattedDate: string?market_cap: number?market_cap_usd: number?mvrv: number?mvrv_4year_average: number?mvrv_4year_minus_1_sigma: number?mvrv_4year_minus_2_sigma: number?mvrv_4year_plus_1_sigma: number?mvrv_4year_plus_2_sigma: number?mvrv_4year_plus_3_sigma: number?mvrv_lower_1sd: number?mvrv_lower_2sd: number?mvrv_mean: number?mvrv_minus_0_5_sigma: number?mvrv_minus_1_5_sigma: number?mvrv_minus_1_sigma: number?mvrv_minus_2_sigma: number?mvrv_plus_0_5_sigma: number?mvrv_plus_1_5_sigma: number?mvrv_plus_1_sigma: number?mvrv_plus_2_sigma: number?mvrv_ratio: number?mvrv_upper_1sd: number?mvrv_upper_2sd: number?price: number?price_at_mean: number?price_at_minus_1_sigma: number?price_at_minus_2_sigma: number?price_at_plus_1_sigma: number?price_at_plus_2_sigma: number?price_mean: number?price_minus_0_5_sigma: number?price_minus_1_5_sigma: number?price_minus_1_sigma: number?price_minus_2_sigma: number?price_plus_0_5_sigma: number?price_plus_1_5_sigma: number?price_plus_1_sigma: number?price_plus_2_sigma: number?realized_cap: number?realized_cap_usd: number?realized_price: number?timestamp: integer?z_score: number?mvrv_minus_half_sigma: number?mvrv_plus_half_sigma: number?ledger_index: number?mvrv_bands: number?mvrv_minus_1sigma: number?mvrv_plus_1sigma: number?mvrv_plus_2sigma: number?price_at_mvrv_mean: number?price_at_mvrv_minus_1sd: number?price_at_mvrv_minus_1sigma: number?price_at_mvrv_minus_2sd: number?price_at_mvrv_minus_half_sigma: number?price_at_mvrv_plus_1sd: number?price_at_mvrv_plus_1sigma: number?price_at_mvrv_plus_2sd: number?price_at_mvrv_plus_2sigma: number?price_at_mvrv_plus_half_sigma: number?price_lower_1sd: number?price_lower_2sd: number?price_mean_band: number?price_upper_1sd: number?price_upper_2sd: number?alltime_average: number?alltime_minus_1_sigma: number?alltime_minus_2_sigma: number?alltime_plus_1_sigma: number?alltime_plus_2_sigma: number?

Query parameters

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

Analyze Bitcoin MVRV ratio momentum by comparing current values against 1-year moving average, with positive/negative momentum indicators to identify major shifts in unrealized profit and optimal entry/exit points

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

Response fields

block_height: number?btc_price: number?date: string?formattedDate: string?market_cap_usd: number?mvrv: number?mvrv_momentum: number?mvrv_momentum_30d: number?mvrv_momentum_90d: number?mvrv_ratio: number?mvrv_sma_30: number?mvrv_sma_365: number?price: number?realized_cap_usd: number?timestamp: integer?z_score: number?ledger_index: number?momentum: number?

Query parameters

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

Monitor Bitcoin Market Value to Realized Value (MVRV) ratio with Z-score normalization to identify extreme overvaluation and undervaluation periods, historically marking major market tops and bottoms

Chart Datasets
GET /api/v1/charts/mvrv-z-scoreTry in Playground

Response fields

block_height: number?btc_price: number?date: string?formattedDate: string?market_cap_usd: number?mvrv: number?mvrv_ratio: number?mvrv_zscore: number?price: number?realized_cap_usd: number?timestamp: integer?z_score: number?mvrv_zscore_rolling: number?mvrv_zscore_smoothed: number?ledger_index: number?mvrv_z_score: number?

Query parameters

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

Measure the acceleration of Bitcoin exchange flows by tracking rate of change in net flow. Reveals whether inflow/outflow activity is accelerating or decelerating, helping identify shifts in market sentiment.

Chart Datasets
GET /api/v1/charts/net-flow-momentumTry in Playground

Response fields

price: number?net_flow: number?net_flow_roc: number?net_flow_momentum_positive: number?net_flow_momentum_negative: number?total_balance: number?

Query parameters

NameTypeDescription
daysintegerNumber of recent calendar days to return.
limitintegerMaximum number of rows to return.
startDatedateInclusive start date in YYYY-MM-DD format.
endDatedateInclusive end date in YYYY-MM-DD format.
formatstringResponse serialization format.
timeframestringRequested chart timeframe.
rateOfChangestringRate-of-change display mode.
unitstringRequested output unit.
smoothingConfigjsonJSON smoothing configuration used by the chart projection.
net-realized-profit-losspro

Net Realized Profit and Loss (NRPL) measures realized profits minus realized losses on Bitcoin transfers, using on-chain cost-basis estimates. The single line shows whether profit or loss dominates in value, with USD and BTC denominations available.

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

Response fields

block_height: number?btc_price: number?daily_realized_loss_btc: number?daily_realized_loss_usd: number?daily_realized_profit_btc: number?daily_realized_profit_usd: number?date: string?formattedDate: string?net_realized_pl: number?net_realized_pl_usd: number?net_rpl: number?net_rpl_sma30: number?price: number?realized_loss_usd: number?realized_profit_usd: number?timestamp: integer?ledger_index: number?net_realized_pl_btc: number?

Query parameters

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

Addresses observed on-chain for the first time during each rolling 24-hour interval, sampled daily.

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

Response fields

date: string?formattedDate: string?new_addresses: number?price: number?timestamp: integer?block_height: number?

Query parameters

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

Daily new P2PKH, P2SH, P2WPKH, P2WSH, and P2TR addresses, separating network growth from migration between legacy, SegWit, and Taproot formats.

Chart Datasets
GET /api/v1/charts/new-addresses-by-typeTry in Playground

Response fields

date: string?formattedDate: string?p2pkh_new_addresses: number?p2sh_new_addresses: number?p2tr_new_addresses: number?p2wpkh_new_addresses: number?p2wsh_new_addresses: number?price: number?timestamp: integer?

Query parameters

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

Bitcoin addresses holding a positive balance at the end of each daily observation.

Chart Datasets
GET /api/v1/charts/non-zero-balance-addressesTry in Playground

Response fields

date: string?formattedDate: string?non_zero_addresses: number?price: number?timestamp: integer?block_height: number?

Query parameters

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

Monitor Bitcoin Net Unrealized Profit and Loss (NUPL), measuring market profit or loss as a percentage of market cap to identify market cycles from capitulation through accumulation to euphoria, with historical accuracy in marking major tops and bottoms

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

Response fields

btc_price: number?date: string?formattedDate: string?lth_nupl: number?market_cap: number?market_cap_btc: number?market_cap_usd: number?market_phase: number?mvrv_ratio: number?nupl: number?price: number?realized_cap: number?realized_cap_btc: number?realized_cap_created: number?realized_cap_created_btc: number?realized_cap_destroyed: number?realized_cap_destroyed_btc: number?realized_cap_net: number?realized_cap_net_btc: number?realized_cap_usd: number?sth_nupl: number?supply_in_loss_btc: number?supply_in_profit_btc: number?timestamp: integer?unrealized_loss_usd: number?unrealized_profit_usd: number?ledger_index: number?block_height: number?

Query parameters

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

Weighted score built from holder-cohort NUPL series and the LTH Profit-to-Volatility Ratio. The chart shows the score with risk phases and color-coded price markers.

Chart Datasets
GET /api/v1/charts/nupl-cohort-riskTry in Playground

Response fields

btc_price: number?date: string?formattedDate: string?lth_nupl: number?market_cap: number?market_cap_btc: number?market_cap_usd: number?market_phase: number?mvrv_ratio: number?nupl: number?price: number?realized_cap: number?realized_cap_btc: number?realized_cap_created: number?realized_cap_created_btc: number?realized_cap_destroyed: number?realized_cap_destroyed_btc: number?realized_cap_net: number?realized_cap_net_btc: number?realized_cap_usd: number?sth_nupl: number?supply_in_loss_btc: number?supply_in_profit_btc: number?timestamp: integer?unrealized_loss_usd: number?unrealized_profit_usd: number?ledger_index: number?block_height: number?

Query parameters

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

Standardized NUPL metric that identifies extreme market conditions by measuring how many standard deviations the current NUPL is from its historical mean. Includes both traditional cumulative and 1-year rolling window methods for enhanced cycle timing.

Chart Datasets
GET /api/v1/charts/nupl-z-scoreTry in Playground

Response fields

btc_price: number?date: string?formattedDate: string?lth_nupl: number?market_cap: number?market_cap_btc: number?market_cap_usd: number?market_phase: number?mvrv_ratio: number?nupl: number?price: number?realized_cap: number?realized_cap_btc: number?realized_cap_created: number?realized_cap_created_btc: number?realized_cap_destroyed: number?realized_cap_destroyed_btc: number?realized_cap_net: number?realized_cap_net_btc: number?realized_cap_usd: number?sth_nupl: number?supply_in_loss_btc: number?supply_in_profit_btc: number?timestamp: integer?unrealized_loss_usd: number?unrealized_profit_usd: number?ledger_index: number?block_height: number?

Query parameters

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

Track when ancient Bitcoin (7+ years old) moves in large quantities. Denominate in USD or BTC with customizable thresholds. Yellow markers flag major spending days, red markers flag extreme events, often signaling moves by the earliest Bitcoin holders.

Chart Datasets
GET /api/v1/charts/og-whale-spendingTry in Playground

Response fields

price: number?og_whale_spent: number?og_whale_spent_btc: number?is_100m_event: number?is_500m_event: number?_unit: number?_minAge: number?

Query parameters

NameTypeDescription
daysintegerNumber of recent calendar days to return.
limitintegerMaximum number of rows to return.
startDatedateInclusive start date in YYYY-MM-DD format.
endDatedateInclusive end date in YYYY-MM-DD format.
formatstringResponse serialization format.
chainstringChain or asset identifier.
dataResolutionstringRequested on-chain data resolution, when the metric advertises it in /api/onchain/manifest. Daily (1d) is the default; block and sub-day resolutions are served from the same metric endpoint.
timeframestringRequested chart timeframe.
unitstringRequested output unit.
btcMajorThresholdnumberMajor Bitcoin-denominated whale-spend threshold.
btcExtremeThresholdnumberExtreme Bitcoin-denominated whale-spend threshold.
usdMajorThresholdnumberMajor USD-denominated whale-spend threshold.
usdExtremeThresholdnumberExtreme USD-denominated whale-spend threshold.
ogWhaleMinAgeintegerMinimum coin age for the OG whale cohort.
onchain-price-levelspro

Display Bitcoin price alongside fundamental onchain price levels including Realized Price, Investor Price, Cointime Price, True Market Mean, and Vaulted Price. Compare current market price to various onchain-derived fair value estimates.

Chart Datasets
GET /api/v1/charts/onchain-price-levelsTry in Playground

Response fields

active_realized_price: number?balanced_price: number?block_height: number?btc_price: number?cvdd: number?date: string?formattedDate: string?investor_price: number?lth_cost_basis: number?lth_upd_plus_2sigma_price: number?mvrv_avg_price: number?mvrv_ratio: number?nupl: number?price: number?realized_price: number?sth_3m_6m_realized_price: number?sth_cost_basis: number?thermoprice_32x: number?timestamp: integer?transferred_price: number?true_market_mean_price: number?vaulted_price: number?ledger_index: number?realized_price_usd: number?spot_price_usd: number?true_market_mean: number?true_market_mean_usd: number?

Query parameters

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

Combines 8 on-chain metrics (NUPL, LTH PVR, Supply P/L, MVRV, MVRV Z-Score, Realized P/L Ratio, MCTC Ratio, Active MVRV) into a single 0 to 1 risk score using percentile ranking. Readings above 0.85 have historically marked cycle tops, while readings below 0.15 have signaled generational buying opportunities. Fully customizable weights let you tune how each metric contributes.

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

Response fields

active_mvrv_pct: number?block_height: number?btc_price: number?date: string?formattedDate: string?mctc_pct: number?mvrv_pct: number?mvrv_zscore_pct: number?nupl_pct: number?pl_ratio_pct: number?price: number?puell_pct: number?pvr_pct: number?risk: number?rpl_ratio_pct: number?supply_pl_pct: number?timestamp: integer?ledger_index: number?onchain_risk_composite: number?

Query parameters

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

OP_RETURN usage on Bitcoin, including fees paid over rolling windows and cumulatively. Protocol-level charts separately classify activity including Runes, Omni, Stacks, and OpenTimestamps.

Chart Datasets
GET /api/v1/charts/op-returnTry in Playground

Response fields

date: string?formattedDate: string?op_return_fees_24h: number?op_return_fees_cumulative: number?price: number?timestamp: integer?

Query parameters

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

Daily OP_RETURN bytes in total and attributed to Runes, text, Omni, and unknown payloads, complementing protocol transaction counts with their actual data footprint.

Chart Datasets
GET /api/v1/charts/op-return-data-volumeTry in Playground

Response fields

date: string?formattedDate: string?omni_bytes: number?price: number?runes_bytes: number?text_bytes: number?timestamp: integer?total_bytes: number?unknown_bytes: number?

Query parameters

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

Daily OP_RETURN transaction counts classified as Runes, Stacks, text, Omni, and unclassified payloads.

Chart Datasets
GET /api/v1/charts/op-return-protocolsTry in Playground

Response fields

date: string?formattedDate: string?omni_tx_count_24h: number?price: number?runes_tx_count_24h: number?stacks_tx_count_24h: number?text_tx_count_24h: number?timestamp: integer?unknown_tx_count_24h: number?

Query parameters

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

Open interest in options as a percentage of open interest in futures, for BTC and ETH. A rising ratio means options positioning is growing relative to directional futures, a structural shift toward hedging and optionality that often accompanies a maturing, more institutional market. BTC runs a much higher options share than ETH.

Chart Datasets
GET /api/v1/charts/options-futures-oi-ratioTry in Playground

Response fields

btc_ratio: number?eth_ratio: number?btc_price: number?

Query parameters

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

Total outstanding Bitcoin options contracts (in BTC) across exchanges, with Deribit the dominant venue. Rising options OI signals growing hedging and speculative positioning around future price. Large OI clustered near an expiry can pin spot toward the max-pain strike. Toggle individual venues in the legend.

Chart Datasets
GET /api/v1/charts/options-open-interestTry in Playground

Response fields

total: number?total_usd: number?Deribit: number?CME: number?OKX: number?Binance: number?Bybit: number?btc_price: number?

Query parameters

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

Options positioning from Deribit, the dominant crypto options venue: the put/call ratio (put open interest divided by call open interest, a defensive-vs-bullish gauge) and max pain (the strike at which the most options expire worthless, which price often gravitates toward into large expiries) overlaid against spot. Switch between BTC and ETH. Sampled daily; expired options cannot be backfilled, so history builds forward.

Chart Datasets
GET /api/v1/charts/options-summaryTry in Playground

Response fields

btc_pc_ratio: number?btc_pc_ratio_volume: number?btc_max_pain: number?btc_total_oi: number?btc_price: number?eth_pc_ratio: number?eth_pc_ratio_volume: number?eth_max_pain: number?eth_total_oi: number?eth_price: number?

Query parameters

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

Daily Bitcoin options trading volume (in USD) across exchanges, Deribit led. Volume spikes mark bursts of hedging and directional speculation, often around macro events, large expiries, or sharp spot moves. Compared against open interest, high volume with rising OI is fresh positioning while high volume with flat OI is churn.

Chart Datasets
GET /api/v1/charts/options-volumeTry in Playground

Response fields

total: number?Deribit: number?CME: number?OKX: number?Binance: number?Bybit: number?btc_price: number?

Query parameters

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

The rolling 24-hour share of newly created outputs using P2PKH, P2SH, native SegWit, and Taproot locking scripts.

Chart Datasets
GET /api/v1/charts/output-type-activityTry in Playground

Response fields

date: string?formattedDate: string?p2pkh_output_share_24h: number?p2sh_output_share_24h: number?p2tr_output_share_24h: number?p2wpkh_output_share_24h: number?p2wsh_output_share_24h: number?price: number?timestamp: integer?block_height: number?

Query parameters

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

The percentage of funded Bitcoin supply held in each locking-script family, normalized from the native V6 UTXO inventory. Tracks the shift from legacy scripts into native SegWit and Taproot while keeping P2SH separate because it can wrap several script types.

Chart Datasets
GET /api/v1/charts/output-type-adoptionTry in Playground

Response fields

btc_price: number?date: string?formattedDate: string?op_return_rcap_usd: number?op_return_supply_btc: number?p2a_rcap_usd: number?p2a_supply_btc: number?p2ms_rcap_usd: number?p2ms_supply_btc: number?p2pk33_rcap_usd: number?p2pk33_supply_btc: number?p2pk65_supply_btc: number?p2pkh_rcap_usd: number?p2pkh_supply_btc: number?p2sh_rcap_usd: number?p2sh_supply_btc: number?p2tr_rcap_usd: number?p2tr_supply_btc: number?p2wpkh_rcap_usd: number?p2wpkh_supply_btc: number?p2wsh_rcap_usd: number?p2wsh_supply_btc: number?timestamp: integer?unknown_rcap_usd: number?unknown_supply_btc: number?empty_rcap_usd: number?empty_supply_btc: number?p2pk65_rcap_usd: number?block_height: number?price: number?

Query parameters

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

Track the Pi Cycle Top indicator, which has historically pinpointed Bitcoin cycle peaks. Due to diminishing returns across cycles, the traditional x2 multiplier crossover may not fire in future cycles. Use the adjustable multiplier to tune sensitivity.

Chart Datasets
GET /api/v1/charts/pi-cycle-topTry in Playground

Response fields

price: number?ma111: number?ma350x2: number?maSpread: number?isCrossover: number?isPotentialTop: number?

Query parameters

NameTypeDescription
daysintegerNumber of recent calendar days to return.
limitintegerMaximum number of rows to return.
startDatedateInclusive start date in YYYY-MM-DD format.
endDatedateInclusive end date in YYYY-MM-DD format.
formatstringResponse serialization format.
cryptocurrencystringCryptocurrency symbol or asset identifier.
timeframestringRequested chart timeframe.
piCycleMultipliernumberMultiplier applied to the Pi Cycle long moving average.
piCycleMultiplierCustomnumberCustom Pi Cycle multiplier.
price-horizonspro

Displays price across four time horizons (Days, Months, Years, Decades), illustrating how short-term volatility transforms into long-term exponential growth. A visual representation of Bitcoin's consistent upward trajectory across different temporal scales.

Chart Datasets
GET /api/v1/charts/price-horizonsTry in Playground

Response fields

crypto_price: number?indicator_value: number?correlation: number?correlation_display: number?indicator_display: number?

Query parameters

NameTypeDescription
daysintegerNumber of recent calendar days to return.
limitintegerMaximum number of rows to return.
startDatedateInclusive start date in YYYY-MM-DD format.
endDatedateInclusive end date in YYYY-MM-DD format.
formatstringResponse serialization format.
cryptocurrencystringCryptocurrency symbol or asset identifier.
timeframestringRequested chart timeframe.
correlationWindowintegerRolling correlation window in observations.
production-costpro

The estimated cost to mine one bitcoin, a widely-watched proxy for miner break-even and a historical price floor, since price rarely holds below the electricity cost for long. Compares four models: the energy-based electricity cost and total production cost (Capriole / Cambridge CBECI), a difficulty regression (Glassnode-style), and the Energy Value fair-value model (Charles Edwards).

Chart Datasets
GET /api/v1/charts/production-costTry in Playground

Response fields

btc_price: number?date: string?efficiency_jth: number?electricity_cost: number?energy_per_btc_kwh: number?energy_value: number?formattedDate: string?marginal_cost: number?price: number?ratio_electricity: number?ratio_energy_value: number?ratio_marginal: number?ratio_regression: number?ratio_thermocap: number?ratio_total: number?regression_price: number?thermocap_price: number?timestamp: integer?total_cost: number?

Query parameters

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

Track the percentage of Bitcoin supply currently in profit or loss. A key on-chain indicator that measures market sentiment, identifies cycle tops and bottoms, and signals potential trend reversals based on unrealized gains across the network

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

Response fields

block_height: number?btc_in_loss: number?btc_in_profit: number?btc_price: number?current_supply: number?date: string?formattedDate: string?percent_btc_in_loss: number?percent_btc_in_profit: number?price: number?supply_in_loss_btc: number?supply_in_loss_pct: number?supply_in_loss_percent: number?supply_in_profit_btc: number?supply_in_profit_pct: number?supply_in_profit_percent: number?timestamp: integer?circulating_supply_btc: number?ledger_index: number?profit_loss: number?abs_loss: number?abs_profit: number?

Query parameters

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

Monitor Bitcoin miner profitability and market cycles through the Puell Multiple. This indicator compares daily mining revenue to its 365-day moving average, helping identify market tops and bottoms based on mining economics.

Chart Datasets
GET /api/v1/charts/puell-multipleTry in Playground

Response fields

365d_ma_issuance_usd: number?block_height: number?blocks: number?btc_price: number?coinbase_rewards_btc: number?daily_issuance_usd: number?date: string?formattedDate: string?ma365_revenue: number?mining_revenue_btc: number?mining_revenue_usd: number?price: number?puell_multiple: number?timestamp: integer?total_fees_btc: number?fee_revenue_usd: number?reserve_revenue_usd: number?active_mvrv: number?active_realized_price: number?active_supply_btc: number?aviv_nupl: number?aviv_ratio: number?circulating_supply_btc: number?cointime_price: number?investor_cap: number?liveliness: number?market_cap: number?mvrv_ratio: number?nupl: number?realized_cap: number?supply_in_loss_btc: number?supply_in_profit_btc: number?thermocap: number?true_market_mean_price: number?vaulted_price: number?vaulted_supply_btc: number?vaultedness: number?

Query parameters

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

HODL waves decomposed by profitability, weighted by realized cap (USD value) instead of coin supply. Shows the dollar magnitude at risk in each holder age cohort, revealing whether the capital trapped underwater is from large old positions or small recent ones. Supports USD, native coin, and percentage denomination modes with STH/LTH filtering. A novel metric not available on any other analytics platform.

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

Response fields

block_height: number?btc_in_loss: number?btc_in_profit: number?btc_price: number?date: string?formattedDate: string?percent_btc_in_loss: number?percent_btc_in_profit: number?rcap_band_0: number?rcap_band_1: number?rcap_band_10: number?rcap_band_11: number?rcap_band_2: number?rcap_band_3: number?rcap_band_4: number?rcap_band_5: number?rcap_band_6: number?rcap_band_7: number?rcap_band_8: number?rcap_band_9: number?rcap_loss_<1d: number?rcap_loss_10y+: number?rcap_loss_1d-1w: number?rcap_loss_1m-3m: number?rcap_loss_1w-1m: number?rcap_loss_1y-2y: number?rcap_loss_2y-3y: number?rcap_loss_3m-6m: number?rcap_loss_3y-5y: number?rcap_loss_5y-7y: number?rcap_loss_6m-1y: number?rcap_loss_7y-10y: number?rcap_profit_<1d: number?rcap_profit_10y+: number?rcap_profit_1d-1w: number?rcap_profit_1m-3m: number?rcap_profit_1w-1m: number?rcap_profit_1y-2y: number?rcap_profit_2y-3y: number?rcap_profit_3m-6m: number?rcap_profit_3y-5y: number?rcap_profit_5y-7y: number?rcap_profit_6m-1y: number?rcap_profit_7y-10y: number?supply_in_loss_btc: number?supply_in_loss_percent: number?supply_in_profit_btc: number?supply_in_profit_percent: number?timestamp: integer?total_realized_cap: number?rcap_loss_1d_1w: number?rcap_loss_1m_3m: number?rcap_loss_1w_1m: number?rcap_loss_1y_2y: number?rcap_loss_2y_3y: number?rcap_loss_3m_6m: number?rcap_loss_3y_5y: number?rcap_loss_5y_plus: number?rcap_loss_6m_12m: number?rcap_loss_lt_1d: number?rcap_profit_1d_1w: number?rcap_profit_1m_3m: number?rcap_profit_1w_1m: number?rcap_profit_1y_2y: number?rcap_profit_2y_3y: number?rcap_profit_3m_6m: number?rcap_profit_3y_5y: number?rcap_profit_5y_plus: number?rcap_profit_6m_12m: number?rcap_profit_lt_1d: number?ledger_index: number?price: number?rcap_loss_10y_plus: number?rcap_loss_24h: number?rcap_loss_5y_7y: number?rcap_loss_7y_10y: number?rcap_profit_10y_plus: number?rcap_profit_24h: number?rcap_profit_5y_7y: number?rcap_profit_7y_10y: number?rcap_loss_6m-12m: number?rcap_loss_< 1d: number?rcap_loss_> 10y: number?rcap_profit_6m-12m: number?rcap_profit_< 1d: number?rcap_profit_> 10y: number?rcap_loss_5y+: number?rcap_profit_5y+: number?rcap_loss_less_than_1d: number?rcap_profit_less_than_1d: number?_hodl_total: number?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?

Query parameters

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

Compare Bitcoin's realized capitalization with market cap, showing the aggregate value of all coins at their last movement vs current market value. Includes 7-day change analysis to identify capital flows and market momentum shifts.

Chart Datasets
GET /api/v1/charts/realized-capTry in Playground

Response fields

btc_price: number?date: string?formattedDate: string?lth_cost_basis_usd: number?lth_realized_cap_usd: number?market_cap: number?market_cap_btc: number?market_cap_usd: number?mvrv_ratio: number?price: number?realized_cap: number?realized_cap_btc: number?realized_cap_change_7d: number?realized_cap_change_7d_abs: number?realized_cap_change_7d_abs_btc: number?realized_cap_change_7d_pct: number?realized_cap_created: number?realized_cap_created_btc: number?realized_cap_destroyed: number?realized_cap_destroyed_btc: number?realized_cap_net: number?realized_cap_net_btc: number?realized_cap_usd: number?realized_price_usd: number?realizedCapUsd: number?sth_cost_basis_usd: number?sth_realized_cap_usd: number?timestamp: integer?ledger_index: number?block_height: number?mvrv: number?nupl: number?sopr: number?supply_btc: number?

Query parameters

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

Measures the percentage decline of Bitcoin's Realized Capitalization from its all-time high. Unlike market cap drawdowns (80-90%), realized cap drawdowns are muted (-14% to -23% at bear bottoms) because it represents actual capital invested in the network.

Chart Datasets
GET /api/v1/charts/realized-cap-drawdownTry in Playground

Response fields

block_height: number?btc_price: number?date: string?formattedDate: string?market_cap_btc: number?market_cap_usd: number?mvrv_ratio: number?price: number?realized_cap: number?realized_cap_ath: number?realized_cap_btc: number?realized_cap_created: number?realized_cap_created_btc: number?realized_cap_destroyed: number?realized_cap_destroyed_btc: number?realized_cap_drawdown_pct: number?realized_cap_net: number?realized_cap_net_btc: number?realized_cap_usd: number?timestamp: integer?ledger_index: number?realized_cap_drawdown: number?

Query parameters

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

Tracks changes in realized loss acceleration (RLA) and realized profit acceleration (RPA). The two series show when realized gains or losses are changing rapidly.

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

Response fields

block_height: number?btc_price: number?daily_realized_loss_btc: number?daily_realized_loss_usd: number?daily_realized_profit_btc: number?daily_realized_profit_usd: number?date: string?formattedDate: string?price: number?raw_rla: number?raw_rpa: number?realized_loss_btc_7d: number?realized_loss_velocity: number?realized_pl_acceleration: number?realized_pl_ratio: number?rla: number?rla_zscore: number?rpa: number?rpa_zscore: number?timestamp: integer?ledger_index: number?acceleration: number?

Query parameters

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

Breaks down daily realized profit and loss into seven bands based on the seller's P&L percentage: from deep loss (>50% loss) through extreme profit (>100% gain). When the deep loss band shows high volume, that signals true capitulation, holders surrendering at massive losses, which historically marks bottoms. When extreme profit spikes, early holders are distributing after 2x+ gains, often preceding cycle tops.

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

Response fields

btc_price: number?date: string?formattedDate: string?rpl_deep_loss: number?rpl_deep_loss_btc: number?rpl_extreme_profit: number?rpl_extreme_profit_btc: number?rpl_mild_loss: number?rpl_mild_loss_btc: number?rpl_mild_profit: number?rpl_mild_profit_btc: number?rpl_moderate_loss: number?rpl_moderate_loss_btc: number?rpl_moderate_profit: number?rpl_moderate_profit_btc: number?rpl_strong_profit: number?rpl_strong_profit_btc: number?timestamp: integer?band_0_net_usd: number?band_10_net_usd: number?band_11_net_usd: number?band_1_net_usd: number?band_2_net_usd: number?band_3_net_usd: number?band_4_net_usd: number?band_5_net_usd: number?band_6_net_usd: number?band_7_net_usd: number?band_8_net_usd: number?band_9_net_usd: number?ledger_index: 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?block_height: number?

Query parameters

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