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,328 endpoints, catalog 61bb246b161538a6Page 2 of 27
cftc-bitcoin-positioning-by-traderpro

Compare dealers, institutional asset managers, leveraged funds and other large reportable traders using net Bitcoin futures positions normalized as a percentage of open interest. Highlights disagreements between institutional and hedge-fund positioning across the complete regulated history.

Chart Datasets
GET /api/v1/charts/cftc-bitcoin-positioning-by-traderTry in Playground

Response fields

dealer_net_pct: number?asset_manager_net_pct: number?leveraged_funds_net_pct: number?other_reportables_net_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.
cftc-bitcoin-positioning-percentilepro

Place current dealer, asset-manager, leveraged-fund and other-reportable Bitcoin futures positioning in historical context. Percentiles are calculated from net positioning as a percentage of open interest across all available benchmark history.

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

Response fields

asset_manager_positioning_percentile: number?leveraged_funds_positioning_percentile: number?dealer_positioning_percentile: number?other_reportables_positioning_percentile: 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.
circulating-supplypro

Visualize Bitcoin's total circulating supply alongside active and vaulted (hodled) supply dynamics. Track how coins flow between active circulation and long-term storage, revealing market participant behavior and accumulation patterns over time.

Chart Datasets
GET /api/v1/charts/circulating-supplyTry in Playground

Response fields

active_millions: number?active_supply_btc: number?circulating_supply_btc: number?formattedDate: string?liveliness: number?liveliness_percent: number?supply_millions: number?vaulted_millions: number?vaulted_supply_btc: number?vaultedness: number?vaultedness_percent: number?btc_price: number?circulating_supply: number?date: string?ledger_index: number?price: number?timestamp: integer?block_height: number?float_millions: number?float_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.
cohort-by-typepro

Bitcoin supply grouped by the locking script of every funded output, showing the migration from legacy P2PK and P2PKH into SegWit and Taproot. Values come directly from the V6 UTXO state. OP_RETURN is excluded because it is provably unspendable rather than circulating supply.

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

Response fields

btc_price: number?empty_rcap_usd: number?empty_supply_btc: number?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_rcap_usd: 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?unknown_rcap_usd: number?unknown_supply_btc: number?block_height: 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.
cohort-profit-losspro

Analyze Cohort Supply P/L - Bitcoin supply distribution by holder cohort (STH/LTH) and profitability status. This stacked area chart reveals market participant behavior, accumulation patterns, and potential trend changes by tracking how different holder groups are positioned.

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

Response fields

btc_price: number?formattedDate: string?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_usd: number?lth_realized_loss_usd: number?lth_realized_profit_usd: number?lth_sopr: number?lth_supply_btc: 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?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_usd: number?sth_realized_loss_usd: number?sth_realized_profit_usd: number?sth_sopr: number?sth_supply_btc: number?date: string?ledger_index: number?sth_lth: number?timestamp: integer?block_height: number?lth_cost_basis: number?lth_realized_cap: number?sth_cost_basis: number?sth_realized_cap: number?lth_supply: number?sth_supply: 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.
coinbase-rewardspro

Monitor Coinbase Block Rewards - block rewards paid to miners for successfully mining Bitcoin blocks. Primary source of new Bitcoin issuance, decreasing by half at each halving event according to the protocol.

Chart Datasets
GET /api/v1/charts/coinbase-rewardsTry in Playground

Response fields

avg_fees_per_block: number?blocks: number?btc_price: number?coinbase_rewards_btc: number?daily_issuance_btc: number?difficulty: number?formattedDate: string?hash_rate: number?last_height: number?mining_revenue_usd: number?total_fees_btc: number?utxos_created: number?utxos_spent: number?coinbase_rewards_usd: 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.
coinblocks-createdpro

Track coinblocks created - the accumulation of Bitcoin holding time across the network. Higher values indicate Bitcoin holders are keeping coins stationary for longer periods, suggesting network maturity and store-of-value adoption.

Chart Datasets
GET /api/v1/charts/coinblocks-createdTry in Playground

Response fields

coinblocks_created: number?coinblocks_destroyed: number?cumulative_coinblocks_created: number?cumulative_coinblocks_destroyed: number?formattedDate: string?liveliness: number?vaultedness: number?btc_price: number?date: string?ledger_index: number?price: number?timestamp: integer?block_height: number?cumulative: 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.
coinblocks-destroyedpro

Monitor coinblocks destroyed when Bitcoin is spent after dormancy periods. Spikes indicate long-term holders are selling or moving Bitcoin, often correlating with market volatility and significant price movements.

Chart Datasets
GET /api/v1/charts/coinblocks-destroyedTry in Playground

Response fields

coinblocks_created: number?coinblocks_destroyed: number?cumulative_coinblocks_created: number?cumulative_coinblocks_destroyed: number?formattedDate: string?liveliness: number?vaultedness: number?btc_price: number?date: string?ledger_index: number?price: number?timestamp: integer?block_height: number?cumulative: 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.
coinflowpro

Per-age-band survival model of Bitcoin supply across 23 UTXO age bands. Each band gets a hazard rate, its cumulative transfer volume over its cumulative coindays created, which is integrated forward and turned into a mobility of 1 - exp(-exposure). Coinflow cap is the mobility-weighted sum of per-band realized cap, and coinflow price is that cap divided by the mobility-weighted supply, split at 150 days into long and short term holders.

Chart Datasets
GET /api/v1/charts/coinflowTry 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.
cointime-economicspro

Cointime economics measures the network in coin-blocks. Liveliness is cumulative coinblocks destroyed over cumulative coinblocks created and vaultedness is its complement; dormancy is coindays destroyed over transfer volume across 1w, 1m and 1y. Active and vaulted prices divide the realized price by those two ratios, true market mean is realized cap minus cumulative subsidy value over active supply, and cointime price is cumulative destroyed value over coinblocks stored.

Chart Datasets
GET /api/v1/charts/cointime-economicsTry in Playground

Response fields

active_cap: number?active_price: number?block_height: number?coinblocks_created: number?coinblocks_destroyed: number?coinblocks_stored: number?cointime_price: number?date: string?dormancy_1m: number?dormancy_1w: number?dormancy_1y: number?investor_cap: number?liveliness: number?price: number?thermo_cap: number?timestamp: integer?true_market_mean: number?vaulted_cap: number?vaulted_price: 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.
cointime-nvtpro

Cointime NVT measures the market value of Active Supply relative to on-chain economic throughput. Uses the formula (Price x Active Supply) / (Price x CBD) 90DMA.

Chart Datasets
GET /api/v1/charts/cointime-nvtTry in Playground

Response fields

coinblocks_created: number?coinblocks_destroyed: number?cumulative_coinblocks_created: number?cumulative_coinblocks_destroyed: number?formattedDate: string?liveliness: number?vaultedness: number?btc_price: number?date: string?ledger_index: number?price: number?timestamp: integer?block_height: number?cumulative: 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.
cointime-rvtpro

Cointime RVT measures the cointime-adjusted realized value of Active Supply relative to on-chain economic throughput. Uses the formula (Cointime Price x Active Supply) / (Price x CBD) 90DMA.

Chart Datasets
GET /api/v1/charts/cointime-rvtTry in Playground

Response fields

coinblocks_created: number?coinblocks_destroyed: number?cumulative_coinblocks_created: number?cumulative_coinblocks_destroyed: number?formattedDate: string?liveliness: number?vaultedness: number?btc_price: number?date: string?ledger_index: number?price: number?timestamp: integer?block_height: number?cumulative: 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.
combined-vwap-mvrvpro

Multi-asset Z-Score indicator that aggregates VWAP MVRV Z-Scores across top cryptocurrencies to show overall market valuation extremes. Uses statistical normalization to identify overbought/oversold conditions with customizable market cap tiers and weighted/average scoring methods.

Chart Datasets
GET /api/v1/charts/combined-vwap-mvrvTry in Playground

Response fields

weightedZScore: 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.
composite-momentumpro

Combines multiple on-chain momentum indicators into composite metrics: Binary Consensus (% of indicators bullish) and Weighted Momentum Score. Features adjustable weights per indicator and heatmap visualization showing individual indicator signals.

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

Response fields

asopr: number?btc_price: number?formattedDate: string?mctc_ratio: number?mvrv: number?nupl: number?price: number?puell_multiple: number?realized_pl_ratio: number?rhodl: number?sopr: number?sth_mvrv: number?supply_in_profit: number?composite_momentum: number?date: string?ledger_index: number?timestamp: integer?block_height: number?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.
cost-basis-concentrationpro

Measures how clustered or dispersed the cost basis distribution is using the Gini coefficient. High concentration means most supply is clustered at similar price levels, the market is fragile because a single price move puts many holders in the same profit/loss position simultaneously, triggering cascading sell pressure. Low concentration indicates dispersed cost bases across many price levels, a more resilient market structure that can absorb price moves without systemic reactions.

Chart Datasets
GET /api/v1/charts/cost-basis-concentrationTry in Playground

Response fields

btc_price: number?formattedDate: string?gini_coefficient: number?price: number?concentration_index: number?date: string?ledger_index: number?timestamp: integer?block_height: number?gini_change_negative: number?gini_change_positive: 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.
cost-basis-convergencepro

Tracks when STH Cost Basis, LTH Cost Basis, and Market Realized Price converge within 5-10%, historically marking generational market bottoms. When all holder cohorts align at similar cost basis, it indicates extreme market equilibrium and exceptional accumulation opportunities.

Chart Datasets
GET /api/v1/charts/cost-basis-convergenceTry in Playground

Response fields

btc_price: number?cooled_band: number?cooled_half_band: number?formattedDate: string?heated_band: number?heated_half_band: number?over_heated_band: number?price: number?rolling_std: number?rolling_std_14d: number?rolling_std_30d: number?sth_cost_basis: number?sth_cost_basis_usd: number?sth_supply_btc: number?z_score: 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.
cost-basis-distribution-by-agepro

Address-weighted Cost Basis Distribution split by HODL-wave age cohort. Each address bucketed by its weighted-average cost basis within the selected age band, lets you see fresh-buyer vs vintage-holder cost bases independently.

Chart Datasets
GET /api/v1/charts/cost-basis-distribution-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.
cost-basis-heatmappro

Visualize cost basis distribution across different price levels over time, revealing accumulation and distribution patterns through an intuitive heatmap display.

Chart Datasets
GET /api/v1/charts/cost-basis-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.
cost-basis-heatmap-by-agepro

UTXO-weighted Unspent Realized Price Distribution split by HODL-wave age cohort. Pick a band (1d-1w through 10y+) to see where exactly that vintage of holders acquired their BTC.

Chart Datasets
GET /api/v1/charts/cost-basis-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.
cost-basis-heatmap-lthpro

Address-weighted Cost Basis Distribution restricted to Long-Term Holder supply (coins ≥155 days). Each address bucketed by its weighted-average cost basis across its LTH UTXOs, reveals where seasoned-holder conviction sits price-wise, and where distribution may be underway.

Chart Datasets
GET /api/v1/charts/cost-basis-heatmap-lthTry 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.
cost-basis-heatmap-sthpro

Address-weighted Cost Basis Distribution restricted to Short-Term Holder supply (coins <155 days old). Each address bucketed by its weighted-average cost basis across its STH UTXOs, reveals where fresh demand has its average buy-in and is likely to defend or capitulate.

Chart Datasets
GET /api/v1/charts/cost-basis-heatmap-sthTry 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.
cost-basis-quantilespro

Percentile lines (p5-p95) of supply cost basis overlaid on price. Dense clusters indicate strong support/resistance. When price is below the median (p50), majority of supply is underwater.

Chart Datasets
GET /api/v1/charts/cost-basis-quantilesTry in Playground

Response fields

btc_price: number?formattedDate: string?iqr: number?p10: number?p25: number?p5: number?p50: number?p75: number?p90: number?p95: number?date: string?ledger_index: number?price: number?timestamp: integer?block_height: number?median: 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.
cost-basis-rainbowpro

The full cost basis distribution of the circulating supply, drawn as 19 quantile bands from the 5th to the 95th percentile. Each band is a price range in which that slice of the supply was acquired, so you can see at a glance where spot sits relative to what the market actually paid.

Chart Datasets
GET /api/v1/charts/cost-basis-rainbowTry in Playground

Response fields

btc_price: number?date: string?formattedDate: string?ledger_index: number?price: number?q10: number?q10_weighted: number?q15: number?q15_weighted: number?q20: number?q20_weighted: number?q25: number?q25_weighted: number?q30: number?q30_weighted: number?q35: number?q35_weighted: number?q40: number?q40_weighted: number?q45: number?q45_weighted: number?q5: number?q50: number?q50_weighted: number?q55: number?q55_weighted: number?q5_weighted: number?q60: number?q60_weighted: number?q65: number?q65_weighted: number?q70: number?q70_weighted: number?q75: number?q75_weighted: number?q80: number?q80_weighted: number?q85: number?q85_weighted: number?q90: number?q90_weighted: number?q95: number?q95_weighted: 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.
crypto-market-risk-indicatorpro

Aggregate risk levels from top cryptocurrencies into a single market risk indicator with color-coded visualization

Chart Datasets
GET /api/v1/charts/crypto-market-risk-indicatorTry in Playground

Response fields

weightedRisk: 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.
crypto-riskpro

Monitor cryptocurrency market risk indicators and volatility

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

Response fields

price: number?riskLevel: number?

Query parameters

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

Track cumulative realized profit taken by Long-Term Holders (LTH) across different Bitcoin bull market cycles. Each colored area represents a specific cycle, showing when LTHs distributed by selling coins held for 155+ days. The LTH Realized Cap (%) line shows the proportion of total realized cap held by LTHs. Peaks often coincide with market tops.

Chart Datasets
GET /api/v1/charts/cumulative-lth-profitTry in Playground

Response fields

btc_price: number?cycle1_realized_profit: number?formattedDate: string?cum_lth_net: number?cum_lth_realized_loss: number?cum_lth_realized_profit: number?price: number?cumulative_lth_loss: number?cumulative_lth_net: number?cumulative_lth_profit: number?date: string?ledger_index: number?lth_realized_profit_usd: 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.
cvdpro

Running cumulative sum of spot taker buy volume minus sell volume. A rising CVD shows sustained net aggressive buying; a falling CVD shows net aggressive selling. Divergence between CVD and price (price up while CVD flat or falling) often warns that a move lacks genuine order-flow backing.

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

Response fields

cumulative_cvd: number?daily_delta: 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.
cvdd-bandspro

CVDD Bands show the Cumulative Value Days Destroyed at multiple multipliers (1x-13x), creating dynamic support and resistance zones. Lower bands indicate deep value accumulation zones while higher bands signal overvaluation and potential cycle tops.

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

Response fields

btc_price: number?cvdd: number?cvdd_13x: number?cvdd_2x: number?cvdd_3x: number?cvdd_5x: number?cvdd_8x: number?formattedDate: string?price: number?date: string?ledger_index: number?timestamp: integer?block_height: number?cvdd_x05: number?cvdd_x2: number?cvdd_x3: number?lower: number?mean: number?upper: 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.
daily-blockspro

Track Daily Blocks Mined - the number of Bitcoin blocks mined per day. Target is 144 blocks (10-minute average), but fluctuates with hash rate changes and mining variance until difficulty adjusts.

Chart Datasets
GET /api/v1/charts/daily-blocksTry in Playground

Response fields

avg_fees_per_block: 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?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.
daily-issuancepro

Track Daily Bitcoin Issuance - daily Bitcoin creation through block rewards. Shows the predictable, decreasing issuance schedule with clear halving events that reduce new supply by 50% approximately every 4 years.

Chart Datasets
GET /api/v1/charts/daily-issuanceTry in Playground

Response fields

avg_fees_per_block: number?blocks: number?coinbase_rewards_btc: number?daily_issuance_btc: number?difficulty: number?formattedDate: string?hash_rate: number?issuance_btc: number?issuance_usd: number?last_height: number?mining_revenue_usd: number?price: number?total_fees_btc: number?utxos_created: number?utxos_spent: number?total_burned_eth: number?btc_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.
defi-capital-turnoverpro

Daily decentralized-exchange volume divided by total DeFi value locked. It measures how actively the ecosystem uses its deposited capital instead of looking only at how much capital is parked. Rising turnover means trading activity is expanding faster than TVL, while falling turnover can signal idle liquidity or cooling demand. Data from DeFi Llama, daily.

Chart Datasets
GET /api/v1/charts/defi-capital-turnoverTry in Playground

Response fields

dex_turnover: 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.
defi-derivatives-volumepro

Daily volume for two on-chain venues beyond plain spot DEXs. DEX-aggregator volume is the dollar value routed through venues like 1inch, CowSwap, and Jupiter, which split a trade across many liquidity sources for the best price, capturing sophisticated execution-sensitive flow. Options volume is the daily notional traded on decentralized options protocols, thinner and spikier, climbing around volatility events as traders hedge or speculate. Both are summed across all chains and best read smoothed. Data from DeFi Llama, daily.

Chart Datasets
GET /api/v1/charts/defi-derivatives-volumeTry in Playground

Response fields

aggregator_volume: number?options_volume: 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.
defi-fees-revenuepro

DeFi's fundamentals: total fees are the dollars users pay to use protocols each day (swap fees, borrow interest), and revenue is the share that accrues to the protocols and their token holders rather than to liquidity providers. Growing, durable fees signal genuine product-market fit, real economic activity rather than just deposited capital. Watch the revenue-to-fees ratio for how much value the protocols themselves capture. Data from DeFi Llama, daily.

Chart Datasets
GET /api/v1/charts/defi-fees-revenueTry in Playground

Response fields

fees: number?revenue: 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.
defi-holder-revenuepro

Daily revenue distributed to token holders compared with total protocol revenue across DeFi. Holder revenue captures the portion of economic activity that reaches token owners through buybacks, burns, or direct distributions. A widening gap between protocol and holder revenue shows that protocol usage is not necessarily translating into token-holder value. Data from DeFi Llama, daily.

Chart Datasets
GET /api/v1/charts/defi-holder-revenueTry in Playground

Response fields

holders_revenue: number?revenue: 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.
defi-leverage-ratiopro

DeFi derivatives open interest divided by total DeFi value locked. It normalizes outstanding leverage by the capital base supporting the ecosystem, making leverage regimes comparable through bull and bear markets. A rising ratio means derivatives exposure is growing faster than locked capital and can signal greater liquidation sensitivity. Data from DeFi Llama, daily.

Chart Datasets
GET /api/v1/charts/defi-leverage-ratioTry in Playground

Response fields

open_interest_tvl_ratio: number?

Query parameters

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

The dollar value of outstanding positions across decentralized derivatives protocols tracked by DeFi Llama. Rising open interest shows more leverage and risk being carried on-chain, while a sharp contraction often marks liquidations or traders closing risk. This complements centralized-exchange open interest by isolating DeFi venues. Data from DeFi Llama, daily.

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

Response fields

open_interest: 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.
defi-options-premiumpro

Options premium volume divided by options notional volume across decentralized options protocols. The ratio is a compact read on how much traders are paying for convexity relative to the exposure traded. Higher readings can accompany expensive volatility, event risk, or demand for protection. Data from DeFi Llama, daily.

Chart Datasets
GET /api/v1/charts/defi-options-premiumTry in Playground

Response fields

options_premium_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.
cryptocurrencystringCryptocurrency symbol or asset identifier.
timeframestringRequested chart timeframe.
defi-real-yieldpro

Real yield is the annualized protocol revenue earned per dollar of value locked in DeFi: daily revenue scaled to a year, divided by total TVL. It answers how hard the capital sitting in DeFi is actually working, productive activity versus idle parked liquidity. Rising real yield means DeFi is generating more income relative to deposits; a high TVL with thin real yield suggests capital chasing incentives rather than productive use. The healthiest expansions grow both TVL and real yield together. Data from DeFi Llama, daily.

Chart Datasets
GET /api/v1/charts/defi-real-yieldTry in Playground

Response fields

real_yield: number?fee_yield: 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.
defi-stablecoin-yieldspro

A TVL-weighted yield index built from a fixed basket of large stablecoin products, with the underlying pool APYs available for comparison. The basket includes sUSDS, Syrup USDC, sUSDe, Aave V3 USDT, and Jupiter Lend USDC. A fixed basket avoids historical survivorship drift, while TVL weighting keeps tiny high-APY pools from dominating the index. Data from DeFi Llama, daily.

Chart Datasets
GET /api/v1/charts/defi-stablecoin-yieldsTry in Playground

Response fields

stablecoin_yield_index: number?yield_susds_apy: number?yield_syrup_usdc_apy: number?yield_susde_apy: number?yield_aave_usdt_apy: number?yield_jupiter_usdc_apy: 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.
defi-tvlpro

Total Value Locked (TVL) is the sum of all assets deposited across every DeFi protocol DeFi Llama tracks, the headline gauge of how much capital is at work on-chain. It grew from a few hundred million dollars in early 2020 to over $180 billion at the 2021 peak, then contracted through the 2022 to 2023 deleveraging. Rising TVL alongside price is a risk-on signal; TVL falling while price holds can flag capital quietly leaving the ecosystem. Data from DeFi Llama, daily.

Chart Datasets
GET /api/v1/charts/defi-tvlTry in Playground

Response fields

tvl_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.
defi-tvl-by-chainpro

Each major chain's share of total DeFi value locked over time. Tracks the chain wars: Ethereum's long dominance, the rise of Solana and the Layer 2s (Base, Arbitrum), and BSC and Tron. Shown as TVL by chain or as a dominance percentage, it reveals where on-chain capital is concentrating and which ecosystems are gaining or losing ground. Data from DeFi Llama, daily.

Chart Datasets
GET /api/v1/charts/defi-tvl-by-chainTry in Playground

Response fields

ethereum_dominance: number?solana_dominance: number?bsc_dominance: number?base_dominance: number?arbitrum_dominance: number?tron_dominance: number?bitcoin_dominance: number?hyperliquid_dominance: number?polygon_dominance: number?avalanche_dominance: number?sui_dominance: number?optimism_dominance: number?monad_dominance: number?others_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.
derivatives-riskpro

A 0-100 risk score based on funding-rate extremes, open-interest momentum, open interest relative to market cap, and funding volatility. The displayed bands are low (0-30), medium (30-70), and high (70-100) risk.

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

Response fields

derivatives_risk: number?funding_rate: number?open_interest_total: 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.
dex-aggregator-sharepro

The percentage of decentralized-exchange volume routed through aggregators such as 1inch, CoW Swap, and Jupiter. Aggregators search across venues for better execution, so a rising share signals more sophisticated routing and stronger competition among liquidity sources. It is calculated as aggregator volume divided by total DEX volume. Data from DeFi Llama, daily.

Chart Datasets
GET /api/v1/charts/dex-aggregator-shareTry in Playground

Response fields

aggregator_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.
cryptocurrencystringCryptocurrency symbol or asset identifier.
timeframestringRequested chart timeframe.
dex-volumepro

The daily dollar value traded on decentralized exchanges (Uniswap, Curve, and others) across all chains, a proxy for on-chain spot-market activity and speculation. Rising volume signals active markets and risk appetite, and it spikes around volatility and major market events. Best read smoothed, since daily volume is noisy. Data from DeFi Llama, daily.

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

Response fields

dex_volume: 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.
dominance-oscillatorpro

Momentum (value minus 365-day average) and z-score of any dominance series: BTC, ETH, stablecoins, others, USDT, or USDC. Switch series and mode in-chart. A stretched BTC.D z-score marks Bitcoin-season extremes; a high USDT.D z-score flags risk-off dry-powder buildup. Daily since 2013, calculated by ChartInspect.

Chart Datasets
GET /api/v1/charts/dominance-oscillatorTry in Playground

Response fields

value: number?momentum: number?zscore: 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.
cryptocurrencystringCryptocurrency symbol or asset identifier.
timeframestringRequested chart timeframe.
dominance-weighted-mvrvpro

Bitcoin's MVRV (market price divided by aggregate realized price / cost basis) multiplied by BTC market dominance. It answers a single question no plain valuation metric does: is Bitcoin stretched above its cost basis WHILE also soaking up market share? Cycle tops are most dangerous when both are true, high MVRV plus rising dominance (capital rotating defensively into BTC). Bottoms show the mirror image: BTC cheap versus cost basis while capital has fled to alts, dragging dominance down. Unlike dividing realized price by dominance (which has no clean economic meaning), multiplying two ratios keeps the output unitless and comparable across history. Daily since April 2013, joined from on-chain realized-price data and ChartInspect's own daily dominance pipeline.

Chart Datasets
GET /api/v1/charts/dominance-weighted-mvrvTry in Playground

Response fields

dw_mvrv: 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.
dust-output-activitypro

Daily transactions containing dust outputs under a policy-aware classification, surfacing spam, probing, and uneconomic output bursts.

Chart Datasets
GET /api/v1/charts/dust-output-activityTry 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.
dvol-indexpro

Deribit's DVOL index, the crypto market's closest equivalent to the VIX: the annualised 30-day implied volatility priced into BTC and ETH options. High DVOL means traders are paying up for protection and bracing for large moves; low DVOL signals complacency near range extremes. Daily since March 2021, sourced keylessly from Deribit.

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

Response fields

btc_dvol: number?eth_dvol: 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.
cryptocurrencystringCryptocurrency symbol or asset identifier.
timeframestringRequested chart timeframe.
dxy-crypto-correlationpro

Analyze the rolling correlation between various economic indicators (DXY, Fed Funds, Treasury yields, Real Rates, Yield Curve) and cryptocurrency prices. Select from multiple indicators to track monetary policy impact and identify regime shifts driven by economic changes.

Chart Datasets
GET /api/v1/charts/dxy-crypto-correlationTry 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.
etf-cost-basispro

Track the flow-weighted average entry price for Bitcoin held by ETF issuers. Compare current price to institutional cost basis to identify support/resistance levels and gauge unrealized P&L for ETF holders.

Chart Datasets
GET /api/v1/charts/etf-cost-basisTry in Playground

Response fields

cost_basis_all: number?total_balance_all: 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.
issuerstringETF issuer filter.
excludedIssuersstringComma-separated ETF issuer identifiers to exclude.