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,326 endpoints, catalog cdd54e38e7980776Page 1 of 27
a2vrpro

Monitor the ratio between Bitcoin network activity and dormant holdings through A2VR (Activity to Vaulted Ratio), a Cointime Economics metric that measures the balance between network activity and dormant holdings. This metric reveals market phases: high values indicate active redistribution periods, while low values suggest accumulation and HODLing behavior.

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

Response fields

a2vr: number?a2vr_momentum: number?a2vr_momentum_positive: number?a2vr_sma: number?coinblocks_created: number?coinblocks_destroyed: number?cumulative_coinblocks_created: number?cumulative_coinblocks_destroyed: number?formattedDate: string?liveliness: number?price: number?vaultedness: number?btc_price: number?date: string?ledger_index: number?timestamp: integer?block_height: number?active: number?ratio: number?vaulted: 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.
a2vr-momentumpro

Compare Bitcoin's Active to Vaulted Ratio (A2VR) against its moving average to identify momentum shifts in the balance between active and dormant coins. Positive momentum indicates more activity relative to vaulting (distribution), while negative momentum suggests accumulation phases.

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

Response fields

a2vr: number?a2vr_momentum: number?a2vr_momentum_negative: number?a2vr_momentum_positive: number?a2vr_sma: number?a2vr_sma_30: number?a2vr_sma_365: number?coinblocks_created: number?coinblocks_destroyed: number?cumulative_coinblocks_created: number?cumulative_coinblocks_destroyed: number?formattedDate: string?liveliness: number?price: number?vaultedness: number?btc_price: number?date: string?ledger_index: number?timestamp: integer?block_height: 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.
accumulation-indexpro

Tracks whether Bitcoin holder cohorts (Shrimp to Humpback) are accumulating or distributing by analyzing changes in on-chain balance distribution over time. Each cohort is scored individually, then combined into a composite 0-100% signal weighted by market valuation context. Displayed as colored phase dots on the BTC price line, with selectable cohort views. Created by Tristan Colt.

Chart Datasets
GET /api/v1/charts/accumulation-indexTry in Playground

Response fields

btc_price: number?formattedDate: string?overall_score: number?overall_score_amvrv: number?score_100to1kbtc: number?score_100to1kbtc_amvrv: number?score_10to100btc: number?score_10to100btc_amvrv: number?score_1kto10kbtc: number?score_1kto10kbtc_amvrv: number?score_1to10btc: number?score_1to10btc_amvrv: number?score_above10kbtc: number?score_above10kbtc_amvrv: number?score_amvrv_weighted: number?score_lth_weighted: number?score_sopr_filtered: number?score_sub1btc: number?score_sub1btc_amvrv: number?score_wealth_blend: number?date: string?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.
accumulation-wavespro

Stacked area chart showing each Bitcoin holder cohort's normalized accumulation score (Shrimp through Humpback). The total height reflects overall market accumulation strength. At cycle bottoms the stack fills up high, at cycle tops it collapses. Toggle individual cohorts on/off to isolate specific holder groups.

Chart Datasets
GET /api/v1/charts/accumulation-wavesTry in Playground

Response fields

btc_price: number?formattedDate: string?overall_score: number?overall_score_amvrv: number?score_100to1kbtc: number?score_100to1kbtc_amvrv: number?score_10to100btc: number?score_10to100btc_amvrv: number?score_1kto10kbtc: number?score_1kto10kbtc_amvrv: number?score_1to10btc: number?score_1to10btc_amvrv: number?score_above10kbtc: number?score_above10kbtc_amvrv: number?score_amvrv_weighted: number?score_lth_weighted: number?score_sopr_filtered: number?score_sub1btc: number?score_sub1btc_amvrv: number?score_wealth_blend: number?date: string?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.
acddpro

Adjusted Coin Days Destroyed divides CDD by circulating supply, providing a normalized view of long-term holder activity. This adjustment makes the metric comparable across Bitcoin's entire history by accounting for supply growth over time.

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

Response fields

acdd: number?acdd_oscillator: number?acdd_sma90: number?cdd: number?circulating_supply_btc: number?coin_days_destroyed: number?formattedDate: string?supply_adjusted_cdd: number?btc_price: number?date: string?ledger_index: number?price: number?timestamp: integer?block_height: number?adjusted: number?cum_cdd: number?cumulative_value_days_destroyed: number?cumulative_vdd: number?value_days_destroyed: number?vdd: 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.
active-addressespro

Unique addresses that sent or received non-zero value in a confirmed transaction during each UTC day. An address active on both sides is counted once.

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

Response fields

active_addresses: number?formattedDate: string?receiving: number?sending: number?active_addresses_30d_sma: number?active_addresses_7d_sma: number?btc_price: number?date: string?ledger_index: number?price: number?receiving_addresses: number?sending_addresses: number?timestamp: integer?total_addresses: number?active_addresses_proxy_tx_count: number?tx_count: 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.
active-mvrvpro

Compare Bitcoin market value to active realized value focusing on recently moved coins. Shows Active Realized Price as dynamic support/resistance with Active MVRV ratio indicating active holder profitability.

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

Response fields

active_market_cap: number?active_mvrv: number?active_mvrv_0sigma_price: number?active_realized_cap: number?active_realized_price: number?active_supply_btc: number?aviv_nupl: number?aviv_ratio: number?btc_price: number?circulating_supply_btc: number?cointime_price: number?formattedDate: string?investor_cap: number?liveliness: number?market_cap: number?mvrv_ratio: number?nupl: number?price: 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?date: string?ledger_index: number?timestamp: integer?block_height: number?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?lth_mvrv: number?market_cap_usd: number?mvrv: number?realized_cap_usd: number?realized_price: number?sth_mvrv: number?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?mvrv_0sigma_price: number?mvrv_minus_1sigma_price: number?mvrv_plus_1sigma_price: 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.
active-mvrv-normpro

Active MVRV adjusted for network activity using Cointime Economics principles, then normalized over a multi-cycle rolling window to produce a consistent 0-100% cycle indicator. High readings (above 70%) indicate active supply is extremely overvalued relative to recent history, historically aligning with cycle tops. Low readings (below 8%) indicate active supply is near or below cost basis, historically aligning with cycle bottoms.

Chart Datasets
GET /api/v1/charts/active-mvrv-normTry in Playground

Response fields

active_mvrv: number?active_mvrv_norm: number?amvrv_norm: number?amvrv_norm_pct: number?btc_price: number?formattedDate: string?price: number?active_realized_price: number?date: string?ledger_index: number?norm_4year_average: number?norm_4year_minus_sigma: number?norm_4year_plus_sigma: number?norm_alltime_average: number?norm_alltime_minus_sigma: number?norm_alltime_plus_sigma: number?timestamp: integer?block_height: number?active_mvrv_0sigma_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.
active-supply-profit-losspro

Profit and loss distribution of active supply using Cointime Economics. Each coin is weighted by how recently it moved, recently transacted coins contribute more to "active" supply. A coin's activity weight is inversely proportional to its age relative to the average age of all coins. Rising active profit during rallies confirms momentum from recent market participants.

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

Response fields

active_supply: number?active_supply_in_loss: number?active_supply_in_profit: number?btc_in_loss: number?btc_in_profit: number?btc_price: number?formattedDate: string?pct_active_in_loss: number?pct_active_in_profit: number?percent_btc_in_loss: number?percent_btc_in_profit: number?price: number?supply_in_loss_btc: number?supply_in_loss_percent: number?supply_in_profit_btc: number?supply_in_profit_percent: number?active_supply_profit_loss: number?date: string?ledger_index: number?timestamp: integer?block_height: 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.
adaptive-risk-oscillatorpro

Advanced risk metric using autocorrelation, variance decay, entropy, and fractal analysis to create a dynamic oscillator

Chart Datasets
GET /api/v1/charts/adaptive-risk-oscillatorTry in Playground

Response fields

riskLevel: number?

Query parameters

NameTypeDescription
daysintegerNumber of recent calendar days to return.
limitintegerMaximum number of rows to return.
startDatedateInclusive start date in YYYY-MM-DD format.
endDatedateInclusive end date in YYYY-MM-DD format.
formatstringResponse serialization format.
cryptocurrencystringCryptocurrency symbol or asset identifier.
timeframestringRequested chart timeframe.
aroKamaPeriodintegerAdaptive Risk Oscillator KAMA period.
aroFinalEmaPeriodintegerAdaptive Risk Oscillator final EMA period.
aroSigmoidSteepnessnumberAdaptive Risk Oscillator sigmoid steepness.
aroReversalThresholdnumberAdaptive Risk Oscillator reversal threshold.
aroMinRiskForTopsnumberMinimum risk used when identifying tops.
aroMaxRiskForBottomsnumberMaximum risk used when identifying bottoms.
aroTimelapseEnabledbooleanEnable the Adaptive Risk Oscillator historical timelapse.
aroTimelapsePositionnumberAdaptive Risk Oscillator timelapse position.
addr-count-heatmappro

Shows the number of unique addresses at each cost basis price level over time, revealing retail versus whale concentration patterns. A price level with millions of addresses represents strong retail support that is difficult to break, while the same supply held by only a few addresses indicates whale-dominated fragile support. Complements the supply-based cost basis heatmap with a holder-count dimension.

Chart Datasets
GET /api/v1/charts/addr-count-heatmapTry in Playground

Response fields

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

Query parameters

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

Count of distinct holders per cost-basis bucket, restricted to one HODL-wave band. Shows whether a cost-basis cluster represents many small wallets or a handful of whales within that age cohort.

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

Response fields

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

Query parameters

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

Count of distinct LTH holders per cost-basis bucket. Shows population concentration of seasoned holders across historical acquisition prices.

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

Response fields

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

Query parameters

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

Count of distinct STH holders per cost-basis bucket. Reveals the population distribution of fresh demand, how many wallets (not how much BTC) sit at each acquisition price.

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

Response fields

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

Query parameters

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

Rolling 24-hour shares of inputs and outputs tied to reused or respent addresses, measuring address hygiene and on-chain linkability.

Chart Datasets
GET /api/v1/charts/address-reuseTry in Playground

Response fields

block_height: number?date: string?input_respend_percent: number?input_reuse_percent: number?output_respend_percent: number?output_reuse_percent: 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.
adjusted-soprpro

Refined Bitcoin Adjusted Spent Output Profit Ratio (aSOPR) metric that excludes outputs spent within 1 hour of creation, filtering noise from immediate re-spending and providing cleaner signals for market analysis

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

Response fields

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

Query parameters

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

Supply held in finer age bands: 6m to 9m, 9m to 1y, 1y to 18m, and 18m to 2y. These split the broader 6m-1y and 1y-2y cohorts for a more precise view of holder behavior.

Chart Datasets
GET /api/v1/charts/age-cohorts-expandedTry in Playground

Response fields

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.
altcoin-season-indexpro

Track altcoin vs Bitcoin performance cycles by measuring the percentage of top altcoins outperforming Bitcoin over various timeframes. Identifies Bitcoin Season (<25%), Neutral (25-75%), and Altseason (>75%) market conditions with customizable ROI periods and coin universes.

Chart Datasets
GET /api/v1/charts/altcoin-season-indexTry in Playground

Response fields

indexValue: 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.
altseasonRoiPeriodintegerAltcoin-season ROI lookback in days.
altseasonCoinCountintegerNumber of leading assets in the altcoin-season universe.
altseasonDisplayTypestringAltcoin-season visualization mode.
apparent-demandpro

Apparent Demand measures whether new demand is strong enough to absorb ongoing supply from mining and long-term holder distribution. Positive values indicate strong demand absorbing both new issuance and LTH selling. Negative values signal weak demand unable to absorb supply pressure.

Chart Datasets
GET /api/v1/charts/apparent-demandTry in Playground

Response fields

apparent_demand: number?btc_price: number?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?cumulative_investor_cap: number?price: number?block_height: number?date: string?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.
aviv-bandspro

Visualize Bitcoin price overlaid with statistical bands derived from the AVIV (Active Value in Value) ratio to identify extreme market conditions and potential reversal zones based on the relationship between active market cap and cumulative investor capital

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

Response fields

active_mvrv: number?active_realized_price: number?active_supply_btc: number?aviv: number?aviv_lower_1sd: number?aviv_lower_2sd: number?aviv_mean: number?aviv_nupl: number?aviv_ratio: number?aviv_upper_1sd: number?aviv_upper_2sd: number?btc_price: number?circulating_supply_btc: number?cointime_price: number?formattedDate: string?investor_cap: number?liveliness: number?market_cap: number?mvrv_ratio: number?nupl: number?price: number?price_at_aviv_mean: number?price_at_aviv_minus_1_sigma: number?price_at_aviv_minus_2_sigma: number?price_at_aviv_plus_1_sigma: number?price_at_aviv_plus_2_sigma: number?price_mean: number?price_minus_1_sigma: number?price_plus_1_sigma: number?realized_cap: number?supply_in_loss_btc: number?supply_in_profit_btc: number?thermocap: number?true_market_mean: number?true_market_mean_price: number?vaulted_price: number?vaulted_supply_btc: number?vaultedness: number?date: string?ledger_index: number?price_at_aviv_minus_1sigma: number?price_at_aviv_minus_half_sigma: number?price_at_aviv_plus_1sigma: number?price_at_aviv_plus_2sigma: number?price_at_aviv_plus_3sigma: number?price_at_aviv_plus_half_sigma: number?timestamp: integer?block_height: number?active_realized_cap: 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.
aviv-momentumpro

Analyze Bitcoin AVIV ratio momentum by comparing current Active Value in Value against 1-year moving average, with positive/negative momentum indicators to identify shifts in active economic value efficiency and optimal entry/exit points

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

Response fields

active_mvrv: number?active_realized_price: number?active_supply_btc: number?aviv_momentum: number?aviv_nupl: number?aviv_ratio: number?aviv_sma_30: number?aviv_sma_365: number?btc_price: number?circulating_supply_btc: number?cointime_price: number?formattedDate: string?investor_cap: number?liveliness: number?market_cap: number?mvrv_ratio: number?nupl: number?price: 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?date: string?ledger_index: number?timestamp: integer?block_height: number?aviv_ratio_momentum_negative: number?aviv_ratio_momentum_positive: number?aviv_ratio_sma: 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.
aviv-nuplpro

Track the True Market Mean variant of Net Unrealized Profit/Loss (AVIV-NUPL). Measures unrealized profit/loss adjusted for network activity using the Cointime Economics framework. Extreme values often coincide with market extremes.

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

Response fields

active_cap: number?active_realized_price: number?active_supply_btc: number?aviv_nupl: number?aviv_ratio: number?btc_price: number?cumulative_investor_cap: number?formattedDate: string?price: number?date: string?ledger_index: 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.
aviv-z-scorepro

Measure Bitcoin deviation from its active value baseline using statistical normalization. Similar to MVRV Z-Score but focused on active economic value, with color-coded market phases to identify extreme conditions.

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

Response fields

active_mvrv: number?active_realized_price: number?active_supply_btc: number?aviv_nupl: number?aviv_ratio: number?aviv_z_score: number?btc_price: number?circulating_supply_btc: number?cointime_price: number?formattedDate: string?investor_cap: number?liveliness: number?market_cap: number?mvrv_ratio: number?nupl: number?price: number?realized_cap: number?supply_in_loss_btc: number?supply_in_profit_btc: number?thermocap: number?true_market_mean: number?true_market_mean_price: number?vaulted_price: number?vaulted_supply_btc: number?vaultedness: number?date: string?ledger_index: number?timestamp: integer?block_height: number?aviv: number?aviv_all_time_average: number?aviv_lower_band_1: number?aviv_upper_band_2: number?aviv_upper_band_3: number?z_score: number?

Query parameters

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

Track Bitcoin distribution across holder cohorts from Shrimp (<1 BTC) to Humpback (>10K BTC). Reveals wealth concentration, retail adoption, and whale accumulation patterns. Similar to Glassnode's URPD but categorized by balance bands with ocean-themed nicknames.

Chart Datasets
GET /api/v1/charts/balance-distributionTry in Playground

Response fields

addr_count_0_001to0_01btc: number?addr_count_0_01to0_1btc: number?addr_count_0_1to1btc: number?addr_count_100to1kbtc: number?addr_count_10kto100kbtc: number?addr_count_10to100btc: number?addr_count_1kto10kbtc: number?addr_count_1to10btc: number?addr_count_above100kbtc: number?addr_count_above10kbtc: number?addr_count_sub0_001btc: number?addr_count_sub1btc: number?addr_pct_0_001to0_01btc: number?addr_pct_0_01to0_1btc: number?addr_pct_0_1to1btc: number?addr_pct_100to1kbtc: number?addr_pct_10kto100kbtc: number?addr_pct_10to100btc: number?addr_pct_1kto10kbtc: number?addr_pct_1to10btc: number?addr_pct_above100kbtc: number?addr_pct_above10kbtc: number?addr_pct_sub0_001btc: number?addr_pct_sub1btc: number?btc_in_0_001to0_01btc: number?btc_in_0_01to0_1btc: number?btc_in_0_1to1btc: number?btc_in_100to1kbtc: number?btc_in_10kto100kbtc: number?btc_in_10to100btc: number?btc_in_1kto10kbtc: number?btc_in_1to10btc: number?btc_in_above100kbtc: number?btc_in_above10kbtc: number?btc_in_sub0_001btc: number?btc_in_sub1btc: number?btc_pct_0_001to0_01btc: number?btc_pct_0_01to0_1btc: number?btc_pct_0_1to1btc: number?btc_pct_100to1kbtc: number?btc_pct_10kto100kbtc: number?btc_pct_10to100btc: number?btc_pct_1kto10kbtc: number?btc_pct_1to10btc: number?btc_pct_above100kbtc: number?btc_pct_above10kbtc: number?btc_pct_sub0_001btc: number?btc_pct_sub1btc: number?btc_price: number?formattedDate: string?total_addresses: number?total_btc: number?addresses_crab: number?addresses_dolphin: number?addresses_fish: number?addresses_humpback: number?addresses_in_loss: number?addresses_in_profit: number?addresses_megalodon: number?addresses_shark: number?addresses_shrimp: number?addresses_whale: number?crab: number?crab_pct: number?date: string?fish: number?fish_pct: number?humpback: number?humpback_pct: number?ledger_index: number?megalodon: number?megalodon_pct: number?percent_addresses_in_profit: number?plankton: number?plankton_pct: number?price: number?shark: number?shark_pct: number?shrimp: number?shrimp_pct: number?supply_crab: number?supply_dolphin: number?supply_fish: number?supply_humpback: number?supply_megalodon: number?supply_pct_crab: number?supply_pct_dolphin: number?supply_pct_fish: number?supply_pct_humpback: number?supply_pct_megalodon: number?supply_pct_shark: number?supply_pct_shrimp: number?supply_pct_whale: number?supply_shark: number?supply_shrimp: number?supply_whale: number?timestamp: integer?whale: number?whale_pct: number?bands: number?crab_btc: number?fish_btc: number?humpback_btc: number?plankton_btc: number?shark_btc: number?shrimp_btc: number?whale_btc: number?band: 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.
balance-distribution-flowspro

Track net position changes (accumulation/distribution) across different whale tiers from Shrimp to Humpback. Reveals when specific cohorts are buying or selling, providing insights into smart money behavior and retail capitulation. Positive flows indicate accumulation, negative flows indicate distribution.

Chart Datasets
GET /api/v1/charts/balance-distribution-flowsTry in Playground

Response fields

btc_in_100to1kbtc: number?btc_in_10to100btc: number?btc_in_1kto10kbtc: number?btc_in_1to10btc: number?btc_in_above10kbtc: number?btc_in_sub1btc: number?btc_price: number?flow_0_001to0_01btc: number?flow_0_01to0_1btc: number?flow_0_1to1btc: number?flow_100to1kbtc: number?flow_10kto100kbtc: number?flow_10to100btc: number?flow_1kto10kbtc: number?flow_1to10btc: number?flow_above100kbtc: number?flow_above10kbtc: number?flow_sub0_001btc: number?flow_sub1btc: number?formattedDate: string?addr_count_0_001to0_01btc: number?addr_count_0_01to0_1btc: number?addr_count_0_1to1btc: number?addr_count_100to1kbtc: number?addr_count_10kto100kbtc: number?addr_count_10to100btc: number?addr_count_1kto10kbtc: number?addr_count_1to10btc: number?addr_count_above100kbtc: number?addr_count_above10kbtc: number?addr_count_sub0_001btc: number?addr_count_sub1btc: number?addr_pct_0_001to0_01btc: number?addr_pct_0_01to0_1btc: number?addr_pct_0_1to1btc: number?addr_pct_100to1kbtc: number?addr_pct_10kto100kbtc: number?addr_pct_10to100btc: number?addr_pct_1kto10kbtc: number?addr_pct_1to10btc: number?addr_pct_above100kbtc: number?addr_pct_above10kbtc: number?addr_pct_sub0_001btc: number?addr_pct_sub1btc: number?btc_in_0_001to0_01btc: number?btc_in_0_01to0_1btc: number?btc_in_0_1to1btc: number?btc_in_10kto100kbtc: number?btc_in_above100kbtc: number?btc_in_sub0_001btc: number?btc_pct_0_001to0_01btc: number?btc_pct_0_01to0_1btc: number?btc_pct_0_1to1btc: number?btc_pct_100to1kbtc: number?btc_pct_10kto100kbtc: number?btc_pct_10to100btc: number?btc_pct_1kto10kbtc: number?btc_pct_1to10btc: number?btc_pct_above100kbtc: number?btc_pct_above10kbtc: number?btc_pct_sub0_001btc: number?btc_pct_sub1btc: number?total_addresses: number?total_btc: number?addresses_crab: number?addresses_dolphin: number?addresses_fish: number?addresses_humpback: number?addresses_in_loss: number?addresses_in_profit: number?addresses_megalodon: number?addresses_shark: number?addresses_shrimp: number?addresses_whale: number?crab: number?crab_pct: number?date: string?fish: number?fish_pct: number?humpback: number?humpback_pct: number?ledger_index: number?megalodon: number?megalodon_pct: number?percent_addresses_in_profit: number?plankton: number?plankton_pct: number?price: number?shark: number?shark_pct: number?shrimp: number?shrimp_pct: number?supply_crab: number?supply_dolphin: number?supply_fish: number?supply_humpback: number?supply_megalodon: number?supply_pct_crab: number?supply_pct_dolphin: number?supply_pct_fish: number?supply_pct_humpback: number?supply_pct_megalodon: number?supply_pct_shark: number?supply_pct_shrimp: number?supply_pct_whale: number?supply_shark: number?supply_shrimp: number?supply_whale: number?timestamp: integer?whale: number?whale_pct: number?bands: number?crab_btc: number?fish_btc: number?humpback_btc: number?plankton_btc: number?shark_btc: number?shrimp_btc: number?whale_btc: number?band: 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.
balanced-pricepro

Balanced Price, created by David Puell, is Realized Price minus Transferred Price. It measures what holders paid minus what was spent, producing a conservative fair-value floor that has historically marked Bitcoin cycle bottoms and acts as the lower band of the bottoming range.

Chart Datasets
GET /api/v1/charts/balanced-priceTry in Playground

Response fields

balanced_price: number?btc_price: number?formattedDate: string?price: number?realized_price: number?transferred_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.
bedrockpro

Capitulation-implied support ladder. A floor is the lowest price at which the share of supply in loss would still sit inside a historically extreme quantile of that share, calibrated on an expanding window of every prior day and read back against the cost-basis distribution. Levels L10 to L90 are deciles of the supply held at or above the P95 floor.

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

Response fields

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.
bitcoin-cycle-indexpro

Advanced multi-dimensional on-chain cycle indicator that combines valuation stress, profit distribution, network activity, and market maturity with adaptive weighting. Identifies Bitcoin market cycle tops and bottoms with high precision.

Chart Datasets
GET /api/v1/charts/bitcoin-cycle-indexTry in Playground

Response fields

active_mvrv: number?active_realized_price: number?active_supply_btc: number?aviv_nupl: number?aviv_ratio: number?circulating_supply_btc: number?cointime_price: number?cumulative_investor_cap: number?formattedDate: string?investor_cap: number?investor_cap_usd: number?liveliness: number?lth_cost_basis: number?lth_realized_price: number?market_cap: number?market_cap_usd: number?mvrv_ratio: number?nupl: number?price: number?realized_cap: number?realized_cap_usd: number?sth_cost_basis: number?sth_realized_price: number?supply_in_loss_btc: number?supply_in_profit_btc: number?thermocap: number?thermocap_usd: number?true_market_mean_price: number?vaulted_price: number?vaulted_supply_btc: number?vaultedness: number?a2vr: number?active_cap: number?bitcoin_cycle_index: number?block_count: number?blocks: number?btc_in_loss: number?btc_in_profit: number?btc_price: number?coin_days_destroyed: number?coinbase_rewards_btc: number?coinblocks_created: number?coinblocks_destroyed: number?cumulative_coinblocks_created: number?cumulative_coinblocks_destroyed: number?cumulative_value_days_destroyed: number?cumulative_vdd: number?daily_blocks: number?daily_realized_loss_btc: number?daily_realized_loss_usd: number?daily_realized_profit_btc: number?daily_realized_profit_usd: number?fees_btc: number?investor_to_mcap_ratio: number?last_height: number?lth_btc_in_loss: number?lth_btc_in_profit: number?lth_cost_basis_usd: number?lth_mvrv: number?lth_net_position_change: number?lth_percentage: number?lth_realized_cap: number?lth_realized_cap_usd: number?lth_realized_loss_usd: number?lth_realized_profit_usd: number?lth_rpl_ratio: number?lth_sopr: number?lth_supply: number?lth_supply_btc: number?mvrv: number?mvrv_norm: number?net_realized_pl_usd: number?net_rpl: number?nupl_norm: 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?percent_btc_in_loss: number?percent_btc_in_profit: number?realized_cap_created: number?realized_cap_destroyed: number?realized_cap_net: number?realized_price: number?rpl_ratio: number?sopr_norm: number?spent_outputs: number?sth_btc_in_loss: number?sth_btc_in_profit: number?sth_cost_basis_usd: number?sth_mvrv: number?sth_net_position_change: number?sth_percentage: number?sth_realized_cap: number?sth_realized_cap_usd: number?sth_realized_loss_usd: number?sth_realized_profit_usd: number?sth_rpl_ratio: number?sth_sopr: number?sth_supply: number?sth_supply_btc: number?supply_btc: number?supply_in_loss_percent: number?supply_in_profit_percent: number?total_fees_btc: number?true_market_mean: number?tx_count: number?utxos_created: number?utxos_spent: number?value_days_destroyed: number?value_days_destroyed_usd: number?vdd_usd: number?z_score: number?zero_line: number?block_height: number?date: string?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.
bitcoin-etf-aumpro

Total assets under management across all US spot Bitcoin ETFs over time. Rising AUM reflects net capital growth (inflows plus price appreciation) inside the ETF wrapper, a direct measure of institutional adoption since the January 2024 launch.

Chart Datasets
GET /api/v1/charts/bitcoin-etf-aumTry in Playground

Response fields

aum_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.
timeframestringRequested chart timeframe.
bitcoin-valuation-metricspro

Compare different Bitcoin capitalization metrics including Market Cap, Realized Cap, Investor Cap, and Thermocap. Each metric provides unique insights into network valuation from various economic perspectives.

Chart Datasets
GET /api/v1/charts/bitcoin-valuation-metricsTry in Playground

Response fields

btc_price: number?formattedDate: string?market_cap: number?mvrv_ratio: number?nupl: number?price: number?realized_cap: number?thermocap: number?active_cap: number?block_height: number?date: string?investor_cap: 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.
bitcoin-yardstickpro

Evaluate Bitcoin valuation relative to network security using the Bitcoin Yardstick. This metric compares market capitalization to hash rate as a multi-year rolling Z-score, functioning like a P/E ratio for Bitcoin. Low readings indicate undervaluation relative to mining energy expenditure, while high readings suggest overheated markets.

Chart Datasets
GET /api/v1/charts/bitcoin-yardstickTry in Playground

Response fields

formattedDate: string?hash_rate: number?market_cap: number?price: number?raw_yardstick: number?yardstick_zscore: number?block_height: number?btc_price: number?date: string?difficulty: number?market_cap_usd: number?timestamp: integer?yardstick: 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.
bitfinex-margin-long-shortpro

Outstanding BTC margin long and short positions on Bitfinex, a long-running and closely-watched spot-margin sentiment gauge. Bitfinex margin longs are a classic contrarian tell: extreme long crowding has historically preceded squeezes, while large shorts can fuel sharp rallies as they cover. Includes the long/short ratio.

Chart Datasets
GET /api/v1/charts/bitfinex-margin-long-shortTry in Playground

Response fields

long_short_ratio: number?long_qty: number?short_qty: 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.
block-heightpro

Track the Bitcoin blockchain block height over time. Each block represents approximately 10 minutes of network history, with halvings occurring every 210,000 blocks.

Chart Datasets
GET /api/v1/charts/block-heightTry in Playground

Response fields

avg_fees_per_block: number?block_height: number?blocks: number?coinbase_rewards_btc: number?daily_issuance_btc: number?difficulty: number?formattedDate: string?hash_rate: number?last_height: number?total_fees_btc: number?utxos_created: number?utxos_spent: number?btc_price: number?date: string?ledger_index: 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.
block-input-distributionpro

Rolling 24-hour input-count percentiles and mean per block, highlighting UTXO consolidation bursts and changes in transaction complexity.

Chart Datasets
GET /api/v1/charts/block-input-distributionTry in Playground

Response fields

block_height: number?date: string?mean_inputs: number?median_inputs: number?p10_inputs: number?p25_inputs: number?p75_inputs: number?p90_inputs: 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.
block-output-distributionpro

Rolling 24-hour output-count percentiles and mean per block, exposing fan-out, batching, and state-set expansion that transaction totals can hide.

Chart Datasets
GET /api/v1/charts/block-output-distributionTry in Playground

Response fields

block_height: number?date: string?mean_outputs: number?median_outputs: number?p10_outputs: number?p25_outputs: number?p75_outputs: number?p90_outputs: 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.
block-size-distributionpro

Rolling 24-hour P10, P25, median, mean, P75, and P90 block sizes in bytes, exposing whether network load is broad across blocks or concentrated in a few outliers.

Chart Datasets
GET /api/v1/charts/block-size-distributionTry in Playground

Response fields

block_height: number?date: string?mean_bytes: number?median_bytes: number?p10_bytes: number?p25_bytes: number?p75_bytes: number?p90_bytes: 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.
block-space-healthpro

The rolling 24-hour average block interval and share of the four-million weight-unit limit used.

Chart Datasets
GET /api/v1/charts/block-space-healthTry in Playground

Response fields

block_fullness_percent: number?block_height: number?block_interval_seconds: number?date: string?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.
block-transaction-distributionpro

Rolling 24-hour transaction-count percentiles and mean per block, measuring throughput distribution rather than only the daily aggregate.

Chart Datasets
GET /api/v1/charts/block-transaction-distributionTry in Playground

Response fields

block_height: number?date: string?mean_transactions: number?median_transactions: number?p10_transactions: number?p25_transactions: number?p75_transactions: number?p90_transactions: 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.
block-weight-distributionpro

Rolling 24-hour block-weight percentiles in consensus weight units, the witness-adjusted view of how consistently miners fill available block space.

Chart Datasets
GET /api/v1/charts/block-weight-distributionTry in Playground

Response fields

block_height: number?date: string?mean_wu: number?median_wu: number?p10_wu: number?p25_wu: number?p75_wu: number?p90_wu: 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.
borrow-interest-ratepro

The interest rate to borrow BTC for margin trading on Binance, a direct read on the cost of leverage and short demand. When traders rush to borrow BTC to short it, the rate spikes, often marking crowded short positioning that can fuel a squeeze. A collapse back toward baseline can precede relief rallies as shorts cover.

Chart Datasets
GET /api/v1/charts/borrow-interest-rateTry in Playground

Response fields

interest_rate_pct: number?interest_rate: 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.
btc-dominancepro

Track Bitcoin's market capitalization dominance as a percentage of total crypto market cap. High dominance (>70%) indicates a Bitcoin-led market phase, while low dominance (<40%) suggests altcoin season. Historical range: 38-95%.

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

Response fields

value: number?btc_dominance: 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.
bull-market-sopr-drawdownpro

Shows SOPR-based loss pressure for each Bitcoin bull market cycle with toggleable STH/LTH (Short/Long-Term Holder) views, revealing when holders are selling at a loss during different market periods and highlighting capitulation events

Chart Datasets
GET /api/v1/charts/bull-market-sopr-drawdownTry in Playground

Response fields

a2vr: number?active_profitable_circulation: 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?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?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?total_supply_efficiency: number?vaultedness: number?date: string?ledger_index: number?lth_wealth_concentration: number?lth_wealth_concentration_change: number?lth_wealth_concentration_pct: 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.
capital-sentimentpro

Net of greed against pain in dollars per coin. Greed is spot minus the capital-weighted average cost basis of coins in profit, pain is the capital-weighted average cost basis of coins in loss minus spot, each floored at zero and each weighting a cost basis by the dollars invested at it. Reported for all holders and for the 150-day long and short term cohorts.

Chart Datasets
GET /api/v1/charts/capital-sentimentTry in Playground

Response fields

block_height: number?date: string?lth_net_sentiment: number?net_sentiment: number?price: number?sth_net_sentiment: 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.
carry-vs-treasurypro

Compare the 90-day annualized Bitcoin futures basis against the US 2-Year Treasury yield. When the basis trades above Treasuries, the cash-and-carry trade pays market makers to supply leverage and depth to crypto. When Treasuries out-yield the basis (shaded), that incentive disappears. Sustained negative stretches have been rare and have coincided with the deepest drawdowns of the cycle.

Chart Datasets
GET /api/v1/charts/carry-vs-treasuryTry in Playground

Response fields

basis_pct: number?treasury_2y_pct: number?funding_ann_pct: number?spread_bps: 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.
carryAssetstringFutures carry underlying asset.
cb-profit-take-ratepro

Profit Take Rate measures daily realized profit as a percentage of total unrealized profit. Loss Realization Rate measures daily realized loss as a percentage of total unrealized loss. Either rate can rise because more profit or loss is realized, or because its corresponding unrealized pool shrinks. These measure the turnover of each pool, not the share of transactions or holders selling.

Chart Datasets
GET /api/v1/charts/cb-profit-take-rateTry in Playground

Response fields

btc_price: number?profit_take_rate: number?loss_realization_rate: 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.
cddpro

Measure Coin Days Destroyed (CDD) - economic activity weighted by coin age. High CDD spikes indicate long-term holders are moving coins, often coinciding with major market tops or bottoms

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

Response fields

cdd: number?circulating_supply_btc: number?coin_days_destroyed: number?cumulative_value_days_destroyed: number?cumulative_vdd: number?formattedDate: string?vdd_30d_ma: number?vdd_365d_ma: number?vdd_multiple: number?value_days_destroyed: number?value_days_destroyed_usd: number?vdd: number?vdd_calculated: number?vdd_usd: number?btc_price: number?date: string?ledger_index: number?price: number?timestamp: integer?block_height: number?cum_cdd: 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.
cftc-bitcoin-asset-managerspro

Weekly Bitcoin futures exposure held by institutional asset managers, including pension funds, insurers, mutual funds, endowments and institutional portfolio managers. Positions are normalized into BTC and include the entire reportable history.

Chart Datasets
GET /api/v1/charts/cftc-bitcoin-asset-managersTry in Playground

Response fields

asset_manager_net_units: number?asset_manager_long_units: number?asset_manager_short_units: number?asset_manager_net_pct: number?asset_manager_change_net_units: 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.
cftc-bitcoin-dealerspro

Weekly regulated Bitcoin futures positions held by banks, swap dealers, securities dealers and other intermediaries. Dealer exposure often reflects client facilitation and cross-market risk balancing rather than a simple directional forecast.

Chart Datasets
GET /api/v1/charts/cftc-bitcoin-dealersTry in Playground

Response fields

dealer_net_units: number?dealer_long_units: number?dealer_short_units: number?dealer_net_pct: number?dealer_change_net_units: 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.
cftc-bitcoin-leveraged-fundspro

Weekly regulated Bitcoin futures positioning held by leveraged funds, including hedge funds, CTAs and commodity pools. View outright longs, shorts, net BTC-equivalent exposure, weekly changes and net positioning as a share of open interest from the complete available CFTC history.

Chart Datasets
GET /api/v1/charts/cftc-bitcoin-leveraged-fundsTry in Playground

Response fields

leveraged_funds_net_units: number?leveraged_funds_long_units: number?leveraged_funds_short_units: number?leveraged_funds_net_pct: number?leveraged_funds_change_net_units: 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.
cftc-bitcoin-position-concentrationpro

Track how much CME Bitcoin futures open interest is controlled by the largest four and eight reportable traders on the long and short sides. Rising concentration can reveal crowding and liquidity risk without identifying individual firms.

Chart Datasets
GET /api/v1/charts/cftc-bitcoin-position-concentrationTry in Playground

Response fields

conc_net_le_4_tdr_long_all: number?conc_net_le_4_tdr_short_all: number?conc_net_le_8_tdr_long_all: number?conc_net_le_8_tdr_short_all: number?reportable_share_pct: 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.