Implied Volatility
ATM volatility, term structure, implied move size, 25-delta skew and IV versus realized volatility. BTC/ETH volatility-index history adds context. What options price for the size of a move — not its direction.
What it does
Crypto options implied volatility: DVOL index with 1y percentile, ATM IV term structure (7/30/90d) and inversion, 25-delta risk reversal and butterfly per expiry, 30d IV vs realized volatility, spot–vol correlation, 24h/7d skew and term changes, and the implied 1σ move for 1/7/30 days — how fast a move options price, not its direction. Pass several underlyings ("BTC,ETH") to compare.
Parameters
| Name | Type | Description |
|---|---|---|
currencyrequiredpath | string | Underlying symbol or comma-separated list (max 4), e.g. "BTC" or "BTC,ETH". |
Call it
One API key works for MCP, REST and WebSocket; each call uses one unit. Agents without an account can pay per call with x402.
curl "https://mcp.f1ow.com/v1/options/volatility/BTC" \
-H "Authorization: Bearer $F1OW_API_KEY"{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "options_volatility",
"arguments": {
"currency": "BTC"
}
}
}const res = await fetch("https://mcp.f1ow.com/v1/options/volatility/BTC", {
headers: { Authorization: `Bearer ${process.env.F1OW_API_KEY}` },
});
const data = await res.json(); // the tool's result as JSON, typed in the OpenAPI spec
console.log(data);import os, requests
res = requests.get(
"https://mcp.f1ow.com/v1/options/volatility/BTC",
headers={"Authorization": f"Bearer {os.environ['F1OW_API_KEY']}"},
)
data = res.json() # the tool's result as JSON, typed in the OpenAPI spec
print(data)// wss://mcp.f1ow.com/v1/ws — subprotocol "jsonrpc-2.0", Authorization: Bearer <key>
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "options_volatility",
"arguments": {
"currency": "BTC"
}
}
}
// Or push a fresh result whenever it changes (minimum interval 15 s)
{
"jsonrpc": "2.0",
"id": 2,
"method": "subscriptions/subscribe",
"params": {
"name": "options_volatility",
"arguments": {
"currency": "BTC"
},
"intervalSeconds": 60
}
}# No account: the first call answers 402 with a PAYMENT-REQUIRED challenge;
# an x402 client pays it in USDC on Base and retries.
curl "https://mcp.f1ow.com/x402/v1/options/volatility/BTC"Sample response
A real response captured 2026-11-13. Interactive is the tool's MCP App rendering it, as Claude, ChatGPT and other MCP Apps hosts show it; here it is read-only. JSON is what REST and WebSocket return, and the structuredContent of an MCP call (trimmed for length), with generatedAt for freshness. Text is the report an MCP client hands to a model.
=== BTC options volatility — Deribit ===
Observed 2026-11-13T08:05:16Z (25s ago) | spot index $68625.86
DVOL (reported 30d implied index): 39.2 | vs prior day -0.8 | 38th percentile of 367 daily closes
ATM IV, constant maturity (calculated): 7d 38.9 | 30d 37.9 | 90d 39.3 → term FLAT (7d−30d +1.0 pts)
25Δ risk reversal 30d (calculated, call IV − put IV): -4.1 pts → PUTS OVER CALLS
30d realized (calculated, daily closes): 36.0 → IV premium (30d IV − realized) +2.0 pts
Implied 1σ move (speed the market prices, not direction): 1d ±$1340.24 (±2.0%, front IV) | 7d ±$3701.02 (±5.4%) | 30d ±$7461.54 (±10.9%)
Spot–vol correlation 90d (calculated, daily DVOL change vs log return): +0.18
Changes (stored hourly snapshots): n/a yet
Per expiry (ATM IV | 25Δ RR | 25Δ fly):
15 Nov 2026 2.0d fwd $68622.40 ATM 37.3 | RR -6.9 | fly +0.7
16 Nov 2026 3.0d fwd $68627.07 ATM 36.0 | RR -5.5 | fly +0.9
17 Nov 2026 4.0d fwd $68634.64 ATM 38.6 | RR -4.9 | fly +0.5
20 Nov 2026 7.0d fwd $68670.30 ATM 38.9 | RR -5.3 | fly +0.7
27 Nov 2026 14.0d fwd $68764.16 ATM 37.6 | RR -5.2 | fly +0.4
4 Dec 2026 21.0d fwd $68826.94 ATM 37.2 | RR -4.2 | fly +0.7
25 Dec 2026 42.0d fwd $69032.72 ATM 38.4 | RR -4.0 | fly +0.8
29 Jan 2027 77.0d fwd $69404.18 ATM 39.0 | RR -3.9 | fly +0.8
26 Mar 2027 133.0d fwd $70015.13 ATM 39.8 | RR -3.5 | fly +0.9
25 Jun 2027 224.0d fwd $71007.39 ATM 40.2 | RR -2.5 | fly +0.8
Positioning and pricing, not direction: put/call ratios, skew and max pain do not predict price, and aggregate OI cannot show dealer gamma, who is long or short, or pinning. Max pain is a theoretical calculation.{
"caveat": "Positioning and pricing, not direction: put/call ratios, skew and max pain do not predict price, and aggregate OI cannot show dealer gamma, who is long or short, or pinning. Max pain is a theoretical calculation.",
"reads": [
{
"atmIv": {
"d30": 37.9250638590136,
"d7": 38.9431753506621,
"d90": 39.2867546169742,
"source": "calculated"
},
"changes": [],
"dvol": {
"at": "2026-11-13T00:00:00Z",
"changeVsPriorDay": -0.840000000000003,
"days": 367,
"percentile": 38.0108991825613,
"source": "reported",
"value": 39.23
},
"expiries": [
{
"atmIv": 37.3112471223181,
"butterfly25": 0.731392513546965,
"days": 1.99615429398148,
"expiry": "2026-11-15T08:00:00Z",
"forwardUsd": 68622.4,
"riskReversal25": -6.85588547243289
},
{
"atmIv": 36.0167155269591,
"butterfly25": 0.905839276842123,
"days": 2.99615429398148,
"expiry": "2026-11-16T08:00:00Z",
"forwardUsd": 68627.07,
"riskReversal25": -5.47453702828677
},
{
"atmIv": 38.5788987608621,
"butterfly25": 0.458165640004495,
"days": 3.99615429398148,
"expiry": "2026-11-17T08:00:00Z",
"forwardUsd": 68634.6425,
"riskReversal25": -4.86940292993656
},
{
"atmIv": 38.9446513215503,
"butterfly25": 0.656100437715786,
"days": 6.99615429398148,
"expiry": "2026-11-20T08:00:00Z",
"forwardUsd": 68670.3,
"riskReversal25": -5.30908746486656
},
{
"atmIv": 37.5770034274295,
"butterfly25": 0.437361134222506,
"days": 13.9961542939815,
"expiry": "2026-11-27T08:00:00Z",
"forwardUsd": 68764.16,
"riskReversal25": -5.19406395577422
},
{
"atmIv": 37.2297708474289,
"butterfly25": 0.664317130408243,
"days": 20.9961542939815,
"expiry": "2026-12-04T08:00:00Z",
"forwardUsd": 68826.94,
"riskReversal25": -4.20658631115766
},
"… 5 more"
],
"impliedMovePct": [
{
"days": 1,
"extrapolated": true,
"pct": 1.95295993254966
},
{
"days": 7,
"extrapolated": false,
"pct": 5.39304380590935
},
{
"days": 30,
"extrapolated": false,
"pct": 10.8727778786336
}
],
"indexPriceUsd": 68625.86,
"meta": {
"ageSeconds": 25,
"observedAt": "2026-11-13T08:05:16Z",
"provider": "Deribit",
"underlying": "BTC"
},
"notes": [],
"realized30d": 35.9570037879743,
"riskReversal25At30d": -4.13282585233276,
"skewState": "PUTS OVER CALLS",
"spotVolCorrelation90d": 0.176970695802054,
"termSlope7dMinus30d": 1.01811149164851,
"termState": "FLAT",
"volPremium": 1.96806007103923
}
],
"unavailable": [],
"generatedAt": "2026-11-13T08:05:16Z"
}Related tools
options_chainCalls and puts by strike and expiry: quotes, mark implied volatility, open interest and volume. Reported data is separated from calculated metrics, with coverage and thin-market caveats.
options_positioningPut/call open interest, strike and expiry concentrations, expiring notional, theoretical max pain and recent option trades. One venue; aggregate open interest does not reveal who is long or short, and max pain is not a forecast.
options_gammaModeled gamma exposure, walls, flip levels and an options regime, with price, time and volatility what-ifs. Dealer hedge ladders depend on an explicit positioning scenario — theoretical sensitivity, not observed dealer orders.
options_probabilityRisk-neutral expiry probabilities above or below a price or inside a range, plus implied 68% and 90% ranges. Derived from options forwards and volatility, with smile adjustment where quoted — not calibrated real-world forecasts.
Call Implied Volatility from your agent
Sign in, get an API key and make your first call in under a minute. No card required.
For agents: this page as Markdown · all docs
Options Chain
Calls and puts by strike and expiry: quotes, mark implied volatility, open interest and volume. Reported data is separated from calculated metrics, with coverage and thin-market caveats.
Options Positioning
Put/call open interest, strike and expiry concentrations, expiring notional, theoretical max pain and recent option trades. One venue; aggregate open interest does not reveal who is long or short, and max pain is not a forecast.