Crypto never had a single volatility number
Ask "how volatile is crypto right now?" and you'll usually get a shrug. Equity traders have the VIX — one number everyone watches. Crypto never had a clean equivalent, because the data was scattered across hundreds of coins and two different kinds of volatility.
The Crypto Volatility Index (CVI) fixes that. It is a single, volume-weighted measure of how volatile the whole crypto market actually is, paired with the market's expectation of future volatility for BTC and ETH. This post explains what it measures, how realized vs implied volatility differ, and how to pull the whole thing from one API call.
What is the Crypto Volatility Index (CVI)?
The Crypto Volatility Index is the volume-weighted 30-day annualized realized volatility of every liquid coin in the universe — 580+ markets across Binance spot and Hyperliquid perps. Each coin's realized vol (via the Garman-Klass OHLC estimator) is weighted by its mean daily trading notional, so the index reflects where trading actually happens rather than treating a micro-cap the same as Bitcoin.
A single call to /api/v1/volatility/index returns the headline plus a market-wide stress gauge:
cvi_realized_30/cvi_realized_7— the headline index: volume-weighted 30d and 7d annualized realized vol (%).composite_score(0–100) +sentiment— a vol-stress breadth gauge (dormant→calm→normal→elevated→stressed); higher means more of the market sits in a high-vol regime.regime_mix— the share of coins that are compressed, normal, expanding, in a vol shock, or mean-reverting.majors— BTC & ETH realized vs implied vol and the variance risk premium.gross_exposure_multiplier— a 0.5–1.0 scalar a portfolio can multiply gross exposure by as market vol stress rises.
Realized vs implied volatility: what's the difference?
Two numbers describe volatility, and they answer different questions. Realized volatility looks backward at price; implied volatility looks forward from options prices. Getting them confused is the single most common volatility mistake.
| Realized volatility | Implied volatility (DVOL) | |
|---|---|---|
| Source | Price history (OHLC candles) | Options prices (Deribit) |
| Direction | Backward — what already happened | Forward — what's expected next |
| Coverage | Whole universe, 580+ coins | BTC & ETH only (options-liquid) |
| In the API | cvi_realized_30, /volatility/regime | dvol on /volatility/implied |
| Refresh | Every 30 min from klines | Every ~5 min from Deribit |
Crypto only has deep options markets on BTC and ETH, so implied vol — Deribit's DVOL index, the closest thing to a "crypto VIX" — exists only for those two. Every coin has realized vol, which is why the market-wide CVI is a realized-vol index.
The variance risk premium: implied minus realized
The gap between the two is the variance risk premium (VRP): implied − realized. It is one of the most-watched signals in options trading, and the majors block returns it per coin.
- Positive VRP — options price in more vol than has been realized. Option sellers are paid a premium; the tape is calm but well-hedged.
- Negative VRP — realized vol is outrunning what options imply. Something is moving faster than the market expected — often a precursor to deleveraging.
A recent live read: BTC realized ~42%, DVOL ~38% (vrp ~−4); ETH realized ~55%, DVOL ~51% (vrp ~−4). Realized sitting slightly above implied on both majors is a mildly stressed tape — the market is being caught out by moves it didn't price.
How do I get the crypto volatility index from an API?
The market-wide index is open to any valid API key — one call, no options-market plumbing on your side:
curl -H "X-API-Key: cdk_live_yourkey" \
https://cryptodataapi.com/api/v1/volatility/indexThe response, abbreviated:
{
"cvi_realized_30": 121.9,
"cvi_realized_7": 118.4,
"composite_score": 50.0,
"sentiment": "normal",
"universe_size": 582,
"regime_mix": {"compressed": 18.2, "normal": 61.0, "expanding": 9.1,
"vol_shock": 4.3, "mean_reverting": 7.4},
"majors": [
{"symbol": "BTC", "realized_30": 42.5, "implied_dvol": 38.4, "vrp": -4.1},
{"symbol": "ETH", "realized_30": 55.1, "implied_dvol": 51.4, "vrp": -3.8}
]
}Read the premium in Python and act on the sign:
import requests
h = {"X-API-Key": "cdk_live_yourkey"}
idx = requests.get("https://cryptodataapi.com/api/v1/volatility/index", headers=h).json()
print(f"CVI (30d realized): {idx['cvi_realized_30']}% [{idx['sentiment']}]")
for m in idx["majors"]:
tag = "options rich" if (m["vrp"] or 0) > 0 else "realized outrunning implied"
print(f"{m['symbol']}: realized {m['realized_30']}% "
f"implied {m['implied_dvol']}% VRP {m['vrp']} -> {tag}")For the DVOL history series and the ATM implied-vol term structure, call /api/v1/volatility/implied (history and term structure are returned for Pro / Pro Plus keys).
Why the CVI reads higher than Bitcoin's volatility
Notice the CVI (~122%) sits far above Bitcoin's own volatility (~42%). That is not a bug — it is the volume weighting doing its job.
- BTC and ETH are only 2 of 580+ coins. Their vol is low, but so is their share of total market volume once you count the entire alt long tail.
- Mid-cap alts trade with realized vol of 100–200% and, collectively, carry a large slice of market-wide volume — so they pull the index up.
- Stablecoins and pegged tokens are excluded, so a near-zero-vol peg can't drag the index down artificially.
The CVI is deliberately a market-wide reading, not a BTC proxy. When you want a single asset, read its per-coin realized vol, percentile and regime from /api/v1/volatility/regime instead.
When to use the CVI
Three concrete uses for the Crypto Volatility Index in a trading system:
- Position sizing. Multiply gross exposure by
gross_exposure_multiplier— it ramps from ~1.0 in a calm tape toward ~0.5 as market vol stress rises, so risk shrinks automatically when the market heats up. - Variance-risk-premium trades. Watch the sign flip on BTC/ETH
vrp. Persistent positive VRP favors vol-selling; a collapse toward or below zero is a warning to cover. - Regime context. Pair the index with
regime_mix— a low CVI with a risingexpandingshare is the classic "calm before the move" setup.
Track it live on the Crypto Volatility Index page, or pull the daily series with /api/v1/volatility/index/history (Pro) to backtest a strategy against how the whole market's volatility has evolved.



