API Reference
Endpoint Explorer
Search the complete live catalog, including exact response fields, typed parameters, Pro tiers, chain coverage, and supported legacy paths.
61bb246b161538a6Page 2 of 27cftc-bitcoin-positioning-by-traderproCompare 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
cftc-bitcoin-positioning-by-traderproCompare 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.
GET /api/v1/charts/cftc-bitcoin-positioning-by-traderTry in PlaygroundResponse 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
| Name | Type | Description |
|---|---|---|
days | integer | Number of recent calendar days to return. |
limit | integer | Maximum number of rows to return. |
startDate | date | Inclusive start date in YYYY-MM-DD format. |
endDate | date | Inclusive end date in YYYY-MM-DD format. |
format | string | Response serialization format. |
timeframe | string | Requested chart timeframe. |
cftc-bitcoin-positioning-percentileproPlace 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
cftc-bitcoin-positioning-percentileproPlace 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.
GET /api/v1/charts/cftc-bitcoin-positioning-percentileTry in PlaygroundResponse 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
| Name | Type | Description |
|---|---|---|
days | integer | Number of recent calendar days to return. |
limit | integer | Maximum number of rows to return. |
startDate | date | Inclusive start date in YYYY-MM-DD format. |
endDate | date | Inclusive end date in YYYY-MM-DD format. |
format | string | Response serialization format. |
timeframe | string | Requested chart timeframe. |
circulating-supplyproVisualize 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
circulating-supplyproVisualize 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.
GET /api/v1/charts/circulating-supplyTry in PlaygroundResponse 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
| Name | Type | Description |
|---|---|---|
days | integer | Number of recent calendar days to return. |
limit | integer | Maximum number of rows to return. |
startDate | date | Inclusive start date in YYYY-MM-DD format. |
endDate | date | Inclusive end date in YYYY-MM-DD format. |
format | string | Response serialization format. |
chain | string | Chain or asset identifier. |
dataResolution | string | Requested on-chain data resolution, when the metric advertises it in /api/onchain/manifest. Daily (1d) is the default; block and sub-day resolutions are served from the same metric endpoint. |
timeframe | string | Requested chart timeframe. |
cohort-by-typeproBitcoin 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
cohort-by-typeproBitcoin 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.
GET /api/v1/charts/cohort-by-typeTry in PlaygroundResponse 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
| Name | Type | Description |
|---|---|---|
days | integer | Number of recent calendar days to return. |
limit | integer | Maximum number of rows to return. |
startDate | date | Inclusive start date in YYYY-MM-DD format. |
endDate | date | Inclusive end date in YYYY-MM-DD format. |
format | string | Response serialization format. |
chain | string | Chain or asset identifier. |
dataResolution | string | Requested on-chain data resolution, when the metric advertises it in /api/onchain/manifest. Daily (1d) is the default; block and sub-day resolutions are served from the same metric endpoint. |
timeframe | string | Requested chart timeframe. |
cohort-profit-lossproAnalyze 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
cohort-profit-lossproAnalyze 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.
GET /api/v1/charts/cohort-profit-lossTry in PlaygroundResponse 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
| Name | Type | Description |
|---|---|---|
days | integer | Number of recent calendar days to return. |
limit | integer | Maximum number of rows to return. |
startDate | date | Inclusive start date in YYYY-MM-DD format. |
endDate | date | Inclusive end date in YYYY-MM-DD format. |
format | string | Response serialization format. |
chain | string | Chain or asset identifier. |
dataResolution | string | Requested on-chain data resolution, when the metric advertises it in /api/onchain/manifest. Daily (1d) is the default; block and sub-day resolutions are served from the same metric endpoint. |
timeframe | string | Requested chart timeframe. |
coinbase-rewardsproMonitor 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
coinbase-rewardsproMonitor 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.
GET /api/v1/charts/coinbase-rewardsTry in PlaygroundResponse 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
| Name | Type | Description |
|---|---|---|
days | integer | Number of recent calendar days to return. |
limit | integer | Maximum number of rows to return. |
startDate | date | Inclusive start date in YYYY-MM-DD format. |
endDate | date | Inclusive end date in YYYY-MM-DD format. |
format | string | Response serialization format. |
chain | string | Chain or asset identifier. |
dataResolution | string | Requested on-chain data resolution, when the metric advertises it in /api/onchain/manifest. Daily (1d) is the default; block and sub-day resolutions are served from the same metric endpoint. |
timeframe | string | Requested chart timeframe. |
coinblocks-createdproTrack 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
coinblocks-createdproTrack 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.
GET /api/v1/charts/coinblocks-createdTry in PlaygroundResponse 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
| Name | Type | Description |
|---|---|---|
days | integer | Number of recent calendar days to return. |
limit | integer | Maximum number of rows to return. |
startDate | date | Inclusive start date in YYYY-MM-DD format. |
endDate | date | Inclusive end date in YYYY-MM-DD format. |
format | string | Response serialization format. |
chain | string | Chain or asset identifier. |
dataResolution | string | Requested on-chain data resolution, when the metric advertises it in /api/onchain/manifest. Daily (1d) is the default; block and sub-day resolutions are served from the same metric endpoint. |
timeframe | string | Requested chart timeframe. |
coinblocks-destroyedproMonitor 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
coinblocks-destroyedproMonitor 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.
GET /api/v1/charts/coinblocks-destroyedTry in PlaygroundResponse 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
| Name | Type | Description |
|---|---|---|
days | integer | Number of recent calendar days to return. |
limit | integer | Maximum number of rows to return. |
startDate | date | Inclusive start date in YYYY-MM-DD format. |
endDate | date | Inclusive end date in YYYY-MM-DD format. |
format | string | Response serialization format. |
chain | string | Chain or asset identifier. |
dataResolution | string | Requested on-chain data resolution, when the metric advertises it in /api/onchain/manifest. Daily (1d) is the default; block and sub-day resolutions are served from the same metric endpoint. |
timeframe | string | Requested chart timeframe. |
coinflowproPer-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
coinflowproPer-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.
GET /api/v1/charts/coinflowTry in PlaygroundResponse fields
Query parameters
| Name | Type | Description |
|---|---|---|
days | integer | Number of recent calendar days to return. |
limit | integer | Maximum number of rows to return. |
startDate | date | Inclusive start date in YYYY-MM-DD format. |
endDate | date | Inclusive end date in YYYY-MM-DD format. |
format | string | Response serialization format. |
chain | string | Chain or asset identifier. |
dataResolution | string | Requested on-chain data resolution, when the metric advertises it in /api/onchain/manifest. Daily (1d) is the default; block and sub-day resolutions are served from the same metric endpoint. |
timeframe | string | Requested chart timeframe. |
cointime-economicsproCointime 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
cointime-economicsproCointime 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.
GET /api/v1/charts/cointime-economicsTry in PlaygroundResponse 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
| Name | Type | Description |
|---|---|---|
days | integer | Number of recent calendar days to return. |
limit | integer | Maximum number of rows to return. |
startDate | date | Inclusive start date in YYYY-MM-DD format. |
endDate | date | Inclusive end date in YYYY-MM-DD format. |
format | string | Response serialization format. |
chain | string | Chain or asset identifier. |
dataResolution | string | Requested on-chain data resolution, when the metric advertises it in /api/onchain/manifest. Daily (1d) is the default; block and sub-day resolutions are served from the same metric endpoint. |
timeframe | string | Requested chart timeframe. |
cointime-nvtproCointime 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
cointime-nvtproCointime 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.
GET /api/v1/charts/cointime-nvtTry in PlaygroundResponse 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
| Name | Type | Description |
|---|---|---|
days | integer | Number of recent calendar days to return. |
limit | integer | Maximum number of rows to return. |
startDate | date | Inclusive start date in YYYY-MM-DD format. |
endDate | date | Inclusive end date in YYYY-MM-DD format. |
format | string | Response serialization format. |
chain | string | Chain or asset identifier. |
dataResolution | string | Requested on-chain data resolution, when the metric advertises it in /api/onchain/manifest. Daily (1d) is the default; block and sub-day resolutions are served from the same metric endpoint. |
timeframe | string | Requested chart timeframe. |
cointime-rvtproCointime 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
cointime-rvtproCointime 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.
GET /api/v1/charts/cointime-rvtTry in PlaygroundResponse 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
| Name | Type | Description |
|---|---|---|
days | integer | Number of recent calendar days to return. |
limit | integer | Maximum number of rows to return. |
startDate | date | Inclusive start date in YYYY-MM-DD format. |
endDate | date | Inclusive end date in YYYY-MM-DD format. |
format | string | Response serialization format. |
chain | string | Chain or asset identifier. |
dataResolution | string | Requested on-chain data resolution, when the metric advertises it in /api/onchain/manifest. Daily (1d) is the default; block and sub-day resolutions are served from the same metric endpoint. |
timeframe | string | Requested chart timeframe. |
combined-vwap-mvrvproMulti-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
combined-vwap-mvrvproMulti-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.
GET /api/v1/charts/combined-vwap-mvrvTry in PlaygroundResponse fields
weightedZScore: number?Query parameters
| Name | Type | Description |
|---|---|---|
days | integer | Number of recent calendar days to return. |
limit | integer | Maximum number of rows to return. |
startDate | date | Inclusive start date in YYYY-MM-DD format. |
endDate | date | Inclusive end date in YYYY-MM-DD format. |
format | string | Response serialization format. |
timeframe | string | Requested chart timeframe. |
composite-momentumproCombines 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
composite-momentumproCombines 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.
GET /api/v1/charts/composite-momentumTry in PlaygroundResponse 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
| Name | Type | Description |
|---|---|---|
days | integer | Number of recent calendar days to return. |
limit | integer | Maximum number of rows to return. |
startDate | date | Inclusive start date in YYYY-MM-DD format. |
endDate | date | Inclusive end date in YYYY-MM-DD format. |
format | string | Response serialization format. |
chain | string | Chain or asset identifier. |
dataResolution | string | Requested on-chain data resolution, when the metric advertises it in /api/onchain/manifest. Daily (1d) is the default; block and sub-day resolutions are served from the same metric endpoint. |
timeframe | string | Requested chart timeframe. |
cost-basis-concentrationproMeasures 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
cost-basis-concentrationproMeasures 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.
GET /api/v1/charts/cost-basis-concentrationTry in PlaygroundResponse 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
| Name | Type | Description |
|---|---|---|
days | integer | Number of recent calendar days to return. |
limit | integer | Maximum number of rows to return. |
startDate | date | Inclusive start date in YYYY-MM-DD format. |
endDate | date | Inclusive end date in YYYY-MM-DD format. |
format | string | Response serialization format. |
chain | string | Chain or asset identifier. |
dataResolution | string | Requested on-chain data resolution, when the metric advertises it in /api/onchain/manifest. Daily (1d) is the default; block and sub-day resolutions are served from the same metric endpoint. |
timeframe | string | Requested chart timeframe. |
cost-basis-convergenceproTracks 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
cost-basis-convergenceproTracks 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.
GET /api/v1/charts/cost-basis-convergenceTry in PlaygroundResponse 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
| Name | Type | Description |
|---|---|---|
days | integer | Number of recent calendar days to return. |
limit | integer | Maximum number of rows to return. |
startDate | date | Inclusive start date in YYYY-MM-DD format. |
endDate | date | Inclusive end date in YYYY-MM-DD format. |
format | string | Response serialization format. |
chain | string | Chain or asset identifier. |
dataResolution | string | Requested on-chain data resolution, when the metric advertises it in /api/onchain/manifest. Daily (1d) is the default; block and sub-day resolutions are served from the same metric endpoint. |
timeframe | string | Requested chart timeframe. |
cost-basis-distribution-by-ageproAddress-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
cost-basis-distribution-by-ageproAddress-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.
GET /api/v1/charts/cost-basis-distribution-by-ageTry in PlaygroundResponse 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
| Name | Type | Description |
|---|---|---|
days | integer | Number of recent calendar days to return. |
limit | integer | Maximum number of rows to return. |
startDate | date | Inclusive start date in YYYY-MM-DD format. |
endDate | date | Inclusive end date in YYYY-MM-DD format. |
format | string | Response serialization format. |
chain | string | Chain or asset identifier. |
dataResolution | string | Requested on-chain data resolution, when the metric advertises it in /api/onchain/manifest. Daily (1d) is the default; block and sub-day resolutions are served from the same metric endpoint. |
timeframe | string | Requested chart timeframe. |
cost-basis-heatmapproVisualize cost basis distribution across different price levels over time, revealing accumulation and distribution patterns through an intuitive heatmap display.
Chart Datasets
cost-basis-heatmapproVisualize cost basis distribution across different price levels over time, revealing accumulation and distribution patterns through an intuitive heatmap display.
GET /api/v1/charts/cost-basis-heatmapTry in PlaygroundResponse fields
btc_price: number?buckets: number?formattedDate: string?date: string?timestamp: integer?block_height: number?price: number?bucket_prices: number?scale: number?Query parameters
| Name | Type | Description |
|---|---|---|
days | integer | Number of recent calendar days to return. |
limit | integer | Maximum number of rows to return. |
startDate | date | Inclusive start date in YYYY-MM-DD format. |
endDate | date | Inclusive end date in YYYY-MM-DD format. |
format | string | Response serialization format. |
chain | string | Chain or asset identifier. |
dataResolution | string | Requested on-chain data resolution, when the metric advertises it in /api/onchain/manifest. Daily (1d) is the default; block and sub-day resolutions are served from the same metric endpoint. |
timeframe | string | Requested chart timeframe. |
cost-basis-heatmap-by-ageproUTXO-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
cost-basis-heatmap-by-ageproUTXO-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.
GET /api/v1/charts/cost-basis-heatmap-by-ageTry in PlaygroundResponse 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
| Name | Type | Description |
|---|---|---|
days | integer | Number of recent calendar days to return. |
limit | integer | Maximum number of rows to return. |
startDate | date | Inclusive start date in YYYY-MM-DD format. |
endDate | date | Inclusive end date in YYYY-MM-DD format. |
format | string | Response serialization format. |
chain | string | Chain or asset identifier. |
dataResolution | string | Requested on-chain data resolution, when the metric advertises it in /api/onchain/manifest. Daily (1d) is the default; block and sub-day resolutions are served from the same metric endpoint. |
timeframe | string | Requested chart timeframe. |
cost-basis-heatmap-lthproAddress-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
cost-basis-heatmap-lthproAddress-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.
GET /api/v1/charts/cost-basis-heatmap-lthTry in PlaygroundResponse fields
btc_price: number?buckets: number?formattedDate: string?date: string?timestamp: integer?block_height: number?price: number?bucket_prices: number?scale: number?Query parameters
| Name | Type | Description |
|---|---|---|
days | integer | Number of recent calendar days to return. |
limit | integer | Maximum number of rows to return. |
startDate | date | Inclusive start date in YYYY-MM-DD format. |
endDate | date | Inclusive end date in YYYY-MM-DD format. |
format | string | Response serialization format. |
chain | string | Chain or asset identifier. |
dataResolution | string | Requested on-chain data resolution, when the metric advertises it in /api/onchain/manifest. Daily (1d) is the default; block and sub-day resolutions are served from the same metric endpoint. |
timeframe | string | Requested chart timeframe. |
cost-basis-heatmap-sthproAddress-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
cost-basis-heatmap-sthproAddress-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.
GET /api/v1/charts/cost-basis-heatmap-sthTry in PlaygroundResponse fields
btc_price: number?buckets: number?formattedDate: string?date: string?timestamp: integer?block_height: number?price: number?bucket_prices: number?scale: number?Query parameters
| Name | Type | Description |
|---|---|---|
days | integer | Number of recent calendar days to return. |
limit | integer | Maximum number of rows to return. |
startDate | date | Inclusive start date in YYYY-MM-DD format. |
endDate | date | Inclusive end date in YYYY-MM-DD format. |
format | string | Response serialization format. |
chain | string | Chain or asset identifier. |
dataResolution | string | Requested on-chain data resolution, when the metric advertises it in /api/onchain/manifest. Daily (1d) is the default; block and sub-day resolutions are served from the same metric endpoint. |
timeframe | string | Requested chart timeframe. |
cost-basis-quantilesproPercentile 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
cost-basis-quantilesproPercentile 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.
GET /api/v1/charts/cost-basis-quantilesTry in PlaygroundResponse 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
| Name | Type | Description |
|---|---|---|
days | integer | Number of recent calendar days to return. |
limit | integer | Maximum number of rows to return. |
startDate | date | Inclusive start date in YYYY-MM-DD format. |
endDate | date | Inclusive end date in YYYY-MM-DD format. |
format | string | Response serialization format. |
chain | string | Chain or asset identifier. |
dataResolution | string | Requested on-chain data resolution, when the metric advertises it in /api/onchain/manifest. Daily (1d) is the default; block and sub-day resolutions are served from the same metric endpoint. |
timeframe | string | Requested chart timeframe. |
cost-basis-rainbowproThe 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
cost-basis-rainbowproThe 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.
GET /api/v1/charts/cost-basis-rainbowTry in PlaygroundResponse 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
| Name | Type | Description |
|---|---|---|
days | integer | Number of recent calendar days to return. |
limit | integer | Maximum number of rows to return. |
startDate | date | Inclusive start date in YYYY-MM-DD format. |
endDate | date | Inclusive end date in YYYY-MM-DD format. |
format | string | Response serialization format. |
chain | string | Chain or asset identifier. |
dataResolution | string | Requested on-chain data resolution, when the metric advertises it in /api/onchain/manifest. Daily (1d) is the default; block and sub-day resolutions are served from the same metric endpoint. |
timeframe | string | Requested chart timeframe. |
crypto-market-risk-indicatorproAggregate risk levels from top cryptocurrencies into a single market risk indicator with color-coded visualization
Chart Datasets
crypto-market-risk-indicatorproAggregate risk levels from top cryptocurrencies into a single market risk indicator with color-coded visualization
GET /api/v1/charts/crypto-market-risk-indicatorTry in PlaygroundResponse fields
weightedRisk: number?Query parameters
| Name | Type | Description |
|---|---|---|
days | integer | Number of recent calendar days to return. |
limit | integer | Maximum number of rows to return. |
startDate | date | Inclusive start date in YYYY-MM-DD format. |
endDate | date | Inclusive end date in YYYY-MM-DD format. |
format | string | Response serialization format. |
cryptocurrency | string | Cryptocurrency symbol or asset identifier. |
timeframe | string | Requested chart timeframe. |
crypto-riskproMonitor cryptocurrency market risk indicators and volatility
Chart Datasets
crypto-riskproMonitor cryptocurrency market risk indicators and volatility
GET /api/v1/charts/crypto-riskTry in PlaygroundResponse fields
price: number?riskLevel: number?Query parameters
| Name | Type | Description |
|---|---|---|
days | integer | Number of recent calendar days to return. |
limit | integer | Maximum number of rows to return. |
startDate | date | Inclusive start date in YYYY-MM-DD format. |
endDate | date | Inclusive end date in YYYY-MM-DD format. |
format | string | Response serialization format. |
cryptocurrency | string | Cryptocurrency symbol or asset identifier. |
timeframe | string | Requested chart timeframe. |
cumulative-lth-profitproTrack 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
cumulative-lth-profitproTrack 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.
GET /api/v1/charts/cumulative-lth-profitTry in PlaygroundResponse 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
| Name | Type | Description |
|---|---|---|
days | integer | Number of recent calendar days to return. |
limit | integer | Maximum number of rows to return. |
startDate | date | Inclusive start date in YYYY-MM-DD format. |
endDate | date | Inclusive end date in YYYY-MM-DD format. |
format | string | Response serialization format. |
chain | string | Chain or asset identifier. |
dataResolution | string | Requested on-chain data resolution, when the metric advertises it in /api/onchain/manifest. Daily (1d) is the default; block and sub-day resolutions are served from the same metric endpoint. |
timeframe | string | Requested chart timeframe. |
cvdproRunning 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
cvdproRunning 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.
GET /api/v1/charts/cvdTry in PlaygroundResponse fields
cumulative_cvd: number?daily_delta: number?btc_price: number?Query parameters
| Name | Type | Description |
|---|---|---|
days | integer | Number of recent calendar days to return. |
limit | integer | Maximum number of rows to return. |
startDate | date | Inclusive start date in YYYY-MM-DD format. |
endDate | date | Inclusive end date in YYYY-MM-DD format. |
format | string | Response serialization format. |
timeframe | string | Requested chart timeframe. |
cvdd-bandsproCVDD 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
cvdd-bandsproCVDD 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.
GET /api/v1/charts/cvdd-bandsTry in PlaygroundResponse 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
| Name | Type | Description |
|---|---|---|
days | integer | Number of recent calendar days to return. |
limit | integer | Maximum number of rows to return. |
startDate | date | Inclusive start date in YYYY-MM-DD format. |
endDate | date | Inclusive end date in YYYY-MM-DD format. |
format | string | Response serialization format. |
chain | string | Chain or asset identifier. |
dataResolution | string | Requested on-chain data resolution, when the metric advertises it in /api/onchain/manifest. Daily (1d) is the default; block and sub-day resolutions are served from the same metric endpoint. |
timeframe | string | Requested chart timeframe. |
daily-blocksproTrack 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
daily-blocksproTrack 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.
GET /api/v1/charts/daily-blocksTry in PlaygroundResponse 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
| Name | Type | Description |
|---|---|---|
days | integer | Number of recent calendar days to return. |
limit | integer | Maximum number of rows to return. |
startDate | date | Inclusive start date in YYYY-MM-DD format. |
endDate | date | Inclusive end date in YYYY-MM-DD format. |
format | string | Response serialization format. |
chain | string | Chain or asset identifier. |
dataResolution | string | Requested on-chain data resolution, when the metric advertises it in /api/onchain/manifest. Daily (1d) is the default; block and sub-day resolutions are served from the same metric endpoint. |
timeframe | string | Requested chart timeframe. |
daily-issuanceproTrack 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
daily-issuanceproTrack 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.
GET /api/v1/charts/daily-issuanceTry in PlaygroundResponse 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
| Name | Type | Description |
|---|---|---|
days | integer | Number of recent calendar days to return. |
limit | integer | Maximum number of rows to return. |
startDate | date | Inclusive start date in YYYY-MM-DD format. |
endDate | date | Inclusive end date in YYYY-MM-DD format. |
format | string | Response serialization format. |
chain | string | Chain or asset identifier. |
dataResolution | string | Requested on-chain data resolution, when the metric advertises it in /api/onchain/manifest. Daily (1d) is the default; block and sub-day resolutions are served from the same metric endpoint. |
timeframe | string | Requested chart timeframe. |
defi-capital-turnoverproDaily 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
defi-capital-turnoverproDaily 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.
GET /api/v1/charts/defi-capital-turnoverTry in PlaygroundResponse fields
dex_turnover: number?Query parameters
| Name | Type | Description |
|---|---|---|
days | integer | Number of recent calendar days to return. |
limit | integer | Maximum number of rows to return. |
startDate | date | Inclusive start date in YYYY-MM-DD format. |
endDate | date | Inclusive end date in YYYY-MM-DD format. |
format | string | Response serialization format. |
cryptocurrency | string | Cryptocurrency symbol or asset identifier. |
timeframe | string | Requested chart timeframe. |
defi-derivatives-volumeproDaily 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
defi-derivatives-volumeproDaily 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.
GET /api/v1/charts/defi-derivatives-volumeTry in PlaygroundResponse fields
aggregator_volume: number?options_volume: number?Query parameters
| Name | Type | Description |
|---|---|---|
days | integer | Number of recent calendar days to return. |
limit | integer | Maximum number of rows to return. |
startDate | date | Inclusive start date in YYYY-MM-DD format. |
endDate | date | Inclusive end date in YYYY-MM-DD format. |
format | string | Response serialization format. |
cryptocurrency | string | Cryptocurrency symbol or asset identifier. |
timeframe | string | Requested chart timeframe. |
defi-fees-revenueproDeFi'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
defi-fees-revenueproDeFi'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.
GET /api/v1/charts/defi-fees-revenueTry in PlaygroundResponse fields
fees: number?revenue: number?Query parameters
| Name | Type | Description |
|---|---|---|
days | integer | Number of recent calendar days to return. |
limit | integer | Maximum number of rows to return. |
startDate | date | Inclusive start date in YYYY-MM-DD format. |
endDate | date | Inclusive end date in YYYY-MM-DD format. |
format | string | Response serialization format. |
cryptocurrency | string | Cryptocurrency symbol or asset identifier. |
timeframe | string | Requested chart timeframe. |
defi-holder-revenueproDaily 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
defi-holder-revenueproDaily 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.
GET /api/v1/charts/defi-holder-revenueTry in PlaygroundResponse fields
holders_revenue: number?revenue: number?Query parameters
| Name | Type | Description |
|---|---|---|
days | integer | Number of recent calendar days to return. |
limit | integer | Maximum number of rows to return. |
startDate | date | Inclusive start date in YYYY-MM-DD format. |
endDate | date | Inclusive end date in YYYY-MM-DD format. |
format | string | Response serialization format. |
cryptocurrency | string | Cryptocurrency symbol or asset identifier. |
timeframe | string | Requested chart timeframe. |
defi-leverage-ratioproDeFi 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
defi-leverage-ratioproDeFi 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.
GET /api/v1/charts/defi-leverage-ratioTry in PlaygroundResponse fields
open_interest_tvl_ratio: number?Query parameters
| Name | Type | Description |
|---|---|---|
days | integer | Number of recent calendar days to return. |
limit | integer | Maximum number of rows to return. |
startDate | date | Inclusive start date in YYYY-MM-DD format. |
endDate | date | Inclusive end date in YYYY-MM-DD format. |
format | string | Response serialization format. |
cryptocurrency | string | Cryptocurrency symbol or asset identifier. |
timeframe | string | Requested chart timeframe. |
defi-open-interestproThe 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
defi-open-interestproThe 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.
GET /api/v1/charts/defi-open-interestTry in PlaygroundResponse fields
open_interest: number?Query parameters
| Name | Type | Description |
|---|---|---|
days | integer | Number of recent calendar days to return. |
limit | integer | Maximum number of rows to return. |
startDate | date | Inclusive start date in YYYY-MM-DD format. |
endDate | date | Inclusive end date in YYYY-MM-DD format. |
format | string | Response serialization format. |
cryptocurrency | string | Cryptocurrency symbol or asset identifier. |
timeframe | string | Requested chart timeframe. |
defi-options-premiumproOptions 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
defi-options-premiumproOptions 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.
GET /api/v1/charts/defi-options-premiumTry in PlaygroundResponse fields
options_premium_rate: number?Query parameters
| Name | Type | Description |
|---|---|---|
days | integer | Number of recent calendar days to return. |
limit | integer | Maximum number of rows to return. |
startDate | date | Inclusive start date in YYYY-MM-DD format. |
endDate | date | Inclusive end date in YYYY-MM-DD format. |
format | string | Response serialization format. |
cryptocurrency | string | Cryptocurrency symbol or asset identifier. |
timeframe | string | Requested chart timeframe. |
defi-real-yieldproReal 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
defi-real-yieldproReal 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.
GET /api/v1/charts/defi-real-yieldTry in PlaygroundResponse fields
real_yield: number?fee_yield: number?Query parameters
| Name | Type | Description |
|---|---|---|
days | integer | Number of recent calendar days to return. |
limit | integer | Maximum number of rows to return. |
startDate | date | Inclusive start date in YYYY-MM-DD format. |
endDate | date | Inclusive end date in YYYY-MM-DD format. |
format | string | Response serialization format. |
cryptocurrency | string | Cryptocurrency symbol or asset identifier. |
timeframe | string | Requested chart timeframe. |
defi-stablecoin-yieldsproA 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
defi-stablecoin-yieldsproA 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.
GET /api/v1/charts/defi-stablecoin-yieldsTry in PlaygroundResponse 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
| Name | Type | Description |
|---|---|---|
days | integer | Number of recent calendar days to return. |
limit | integer | Maximum number of rows to return. |
startDate | date | Inclusive start date in YYYY-MM-DD format. |
endDate | date | Inclusive end date in YYYY-MM-DD format. |
format | string | Response serialization format. |
cryptocurrency | string | Cryptocurrency symbol or asset identifier. |
timeframe | string | Requested chart timeframe. |
defi-tvlproTotal 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
defi-tvlproTotal 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.
GET /api/v1/charts/defi-tvlTry in PlaygroundResponse fields
tvl_total: number?Query parameters
| Name | Type | Description |
|---|---|---|
days | integer | Number of recent calendar days to return. |
limit | integer | Maximum number of rows to return. |
startDate | date | Inclusive start date in YYYY-MM-DD format. |
endDate | date | Inclusive end date in YYYY-MM-DD format. |
format | string | Response serialization format. |
cryptocurrency | string | Cryptocurrency symbol or asset identifier. |
timeframe | string | Requested chart timeframe. |
defi-tvl-by-chainproEach 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
defi-tvl-by-chainproEach 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.
GET /api/v1/charts/defi-tvl-by-chainTry in PlaygroundResponse 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
| Name | Type | Description |
|---|---|---|
days | integer | Number of recent calendar days to return. |
limit | integer | Maximum number of rows to return. |
startDate | date | Inclusive start date in YYYY-MM-DD format. |
endDate | date | Inclusive end date in YYYY-MM-DD format. |
format | string | Response serialization format. |
cryptocurrency | string | Cryptocurrency symbol or asset identifier. |
timeframe | string | Requested chart timeframe. |
derivatives-riskproA 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
derivatives-riskproA 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.
GET /api/v1/charts/derivatives-riskTry in PlaygroundResponse fields
derivatives_risk: number?funding_rate: number?open_interest_total: number?btc_price: number?Query parameters
| Name | Type | Description |
|---|---|---|
days | integer | Number of recent calendar days to return. |
limit | integer | Maximum number of rows to return. |
startDate | date | Inclusive start date in YYYY-MM-DD format. |
endDate | date | Inclusive end date in YYYY-MM-DD format. |
format | string | Response serialization format. |
timeframe | string | Requested chart timeframe. |
dex-aggregator-shareproThe 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
dex-aggregator-shareproThe 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.
GET /api/v1/charts/dex-aggregator-shareTry in PlaygroundResponse fields
aggregator_share: number?Query parameters
| Name | Type | Description |
|---|---|---|
days | integer | Number of recent calendar days to return. |
limit | integer | Maximum number of rows to return. |
startDate | date | Inclusive start date in YYYY-MM-DD format. |
endDate | date | Inclusive end date in YYYY-MM-DD format. |
format | string | Response serialization format. |
cryptocurrency | string | Cryptocurrency symbol or asset identifier. |
timeframe | string | Requested chart timeframe. |
dex-volumeproThe 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
dex-volumeproThe 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.
GET /api/v1/charts/dex-volumeTry in PlaygroundResponse fields
dex_volume: number?Query parameters
| Name | Type | Description |
|---|---|---|
days | integer | Number of recent calendar days to return. |
limit | integer | Maximum number of rows to return. |
startDate | date | Inclusive start date in YYYY-MM-DD format. |
endDate | date | Inclusive end date in YYYY-MM-DD format. |
format | string | Response serialization format. |
cryptocurrency | string | Cryptocurrency symbol or asset identifier. |
timeframe | string | Requested chart timeframe. |
dominance-oscillatorproMomentum (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
dominance-oscillatorproMomentum (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.
GET /api/v1/charts/dominance-oscillatorTry in PlaygroundResponse fields
value: number?momentum: number?zscore: number?btc_price: number?Query parameters
| Name | Type | Description |
|---|---|---|
days | integer | Number of recent calendar days to return. |
limit | integer | Maximum number of rows to return. |
startDate | date | Inclusive start date in YYYY-MM-DD format. |
endDate | date | Inclusive end date in YYYY-MM-DD format. |
format | string | Response serialization format. |
cryptocurrency | string | Cryptocurrency symbol or asset identifier. |
timeframe | string | Requested chart timeframe. |
dominance-weighted-mvrvproBitcoin'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
dominance-weighted-mvrvproBitcoin'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.
GET /api/v1/charts/dominance-weighted-mvrvTry in PlaygroundResponse fields
dw_mvrv: number?Query parameters
| Name | Type | Description |
|---|---|---|
days | integer | Number of recent calendar days to return. |
limit | integer | Maximum number of rows to return. |
startDate | date | Inclusive start date in YYYY-MM-DD format. |
endDate | date | Inclusive end date in YYYY-MM-DD format. |
format | string | Response serialization format. |
cryptocurrency | string | Cryptocurrency symbol or asset identifier. |
timeframe | string | Requested chart timeframe. |
dust-output-activityproDaily transactions containing dust outputs under a policy-aware classification, surfacing spam, probing, and uneconomic output bursts.
Chart Datasets
dust-output-activityproDaily transactions containing dust outputs under a policy-aware classification, surfacing spam, probing, and uneconomic output bursts.
GET /api/v1/charts/dust-output-activityTry in PlaygroundResponse fields
Query parameters
| Name | Type | Description |
|---|---|---|
days | integer | Number of recent calendar days to return. |
limit | integer | Maximum number of rows to return. |
startDate | date | Inclusive start date in YYYY-MM-DD format. |
endDate | date | Inclusive end date in YYYY-MM-DD format. |
format | string | Response serialization format. |
chain | string | Chain or asset identifier. |
dataResolution | string | Requested on-chain data resolution, when the metric advertises it in /api/onchain/manifest. Daily (1d) is the default; block and sub-day resolutions are served from the same metric endpoint. |
timeframe | string | Requested chart timeframe. |
dvol-indexproDeribit'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
dvol-indexproDeribit'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.
GET /api/v1/charts/dvol-indexTry in PlaygroundResponse fields
btc_dvol: number?eth_dvol: number?btc_price: number?Query parameters
| Name | Type | Description |
|---|---|---|
days | integer | Number of recent calendar days to return. |
limit | integer | Maximum number of rows to return. |
startDate | date | Inclusive start date in YYYY-MM-DD format. |
endDate | date | Inclusive end date in YYYY-MM-DD format. |
format | string | Response serialization format. |
cryptocurrency | string | Cryptocurrency symbol or asset identifier. |
timeframe | string | Requested chart timeframe. |
dxy-crypto-correlationproAnalyze 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
dxy-crypto-correlationproAnalyze 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.
GET /api/v1/charts/dxy-crypto-correlationTry in PlaygroundResponse fields
crypto_price: number?indicator_value: number?correlation: number?correlation_display: number?indicator_display: number?Query parameters
| Name | Type | Description |
|---|---|---|
days | integer | Number of recent calendar days to return. |
limit | integer | Maximum number of rows to return. |
startDate | date | Inclusive start date in YYYY-MM-DD format. |
endDate | date | Inclusive end date in YYYY-MM-DD format. |
format | string | Response serialization format. |
cryptocurrency | string | Cryptocurrency symbol or asset identifier. |
timeframe | string | Requested chart timeframe. |
correlationWindow | integer | Rolling correlation window in observations. |
etf-cost-basisproTrack 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
etf-cost-basisproTrack 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.
GET /api/v1/charts/etf-cost-basisTry in PlaygroundResponse fields
cost_basis_all: number?total_balance_all: number?btc_price: number?Query parameters
| Name | Type | Description |
|---|---|---|
days | integer | Number of recent calendar days to return. |
limit | integer | Maximum number of rows to return. |
startDate | date | Inclusive start date in YYYY-MM-DD format. |
endDate | date | Inclusive end date in YYYY-MM-DD format. |
format | string | Response serialization format. |
timeframe | string | Requested chart timeframe. |
issuer | string | ETF issuer filter. |
excludedIssuers | string | Comma-separated ETF issuer identifiers to exclude. |