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:

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 volatilityImplied volatility (DVOL)
SourcePrice history (OHLC candles)Options prices (Deribit)
DirectionBackward — what already happenedForward — what's expected next
CoverageWhole universe, 580+ coinsBTC & ETH only (options-liquid)
In the APIcvi_realized_30, /volatility/regimedvol on /volatility/implied
RefreshEvery 30 min from klinesEvery ~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.

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/index

The 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.

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:

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.