options
implied-volatility
paid

Implied volatility surface for BTC/ETH (Deribit) — $0.03/call

Returns the implied volatility surface for BTC or ETH from Deribit public options data (no auth). Fields: ATM IV (annualized %), IV rank and IV percentile (from Kronos iv_history table, daily cron), term structure (weekly/1m/3m ATM IV) with contango/backwardation/flat shape label, proper 25-delta risk reversal (BS-approximated strikes, put IV − call IV), 10-delta wing IVs, max-pain strike across top-5 expiries, and a vol-regime label (compression/normal/event-risk/expansion). IV rank/percentile return null with iv_history_status:'accumulating' until ≥20 days of history. Falls back to OKX options if Deribit is unreachable. Returns available:false if both fail. 1-hour in-memory cache. $0.03 USDC on Base mainnet via x402. BTC and ETH only.

get/api/v1/options-iv/{asset}

Request

  • Base URL: https://kronossignals.com (the document declares no server; this is the origin it was published from)
  • URL: https://kronossignals.com/api/v1/options-iv/{asset}
  • Auth: none declared

Path parameters

asset'btc' | 'eth' required

Asset slug (lowercase). Only btc and eth are supported (Deribit's most liquid option markets).

Response

Options IV surface returned (payment verified)

availableboolean required
assetstring required
underlying_pricenumber nullable
data_source'deribit' | 'okx' required
atm_ivnumber nullable required

OI-weighted ATM implied volatility, annualized in %.

iv_ranknumber nullable

Where current ATM IV sits within the trailing 1y min–max range (0–100). null while accumulating <20 days of history.

iv_percentilenumber nullable

% of historical days with ATM IV strictly below current. null while accumulating.

iv_rank_notestring

Explains iv_rank/iv_percentile computation or the accumulating status.

iv_history_daysinteger nullable

Number of days of ATM IV history in iv_history table (trailing 1y). null if Supabase unavailable.

term_structure_shape'contango' | 'backwardation' | 'flat' | 'insufficient_data'

Shape of the ATM IV term structure. contango = longer-tenor IV > shorter (normal); backwardation = inverted (front IV elevated, event risk); flat = within ±1.5 vol pts.

skew_25dnumber nullable

25-delta risk reversal = put IV − call IV at BS-approximated 25-delta strikes for the front expiry. Positive = put-side premium (downside hedging demand). Falls back to OTM-band median if approximation fails.

wing_10d_call_ivnumber nullable

IV at the nearest call strike to the BS-approximated 10-delta level (front expiry). null if insufficient data.

wing_10d_put_ivnumber nullable

IV at the nearest put strike to the BS-approximated 10-delta level (front expiry). null if insufficient data.

skew_notestring

Describes how skew_25d was computed, including the strikes used and any approximation caveats.

max_pain_strikenumber nullable

Strike minimising total option-writer payout across top-5 nearest expiries.

vol_regime'compression' | 'normal' | 'event-risk' | 'expansion' required
vol_regime_notestring
realized_volnumber nullable

Realized volatility (annualized %, same basis as atm_iv) from Binance 30d daily close-to-close log returns. null if Binance fetch fails.

vrpnumber nullable

Variance risk premium: atm_iv − realized_vol (annualized percentage points). Positive = options priced above trailing realized vol.

vol_regime_iv_band'LOW' | 'MID' | 'HIGH' | 'insufficient_data'

Static-band heuristic classification of atm_iv level, distinct from vol_regime (term-structure based). See vol_regime_iv_band_note.

vol_regime_iv_band_notestring

Explains the static thresholds used to classify vol_regime_iv_band.

methodology_vrpstring

Explains the unit conversion between atm_iv (Deribit) and the realized-vol estimator used for vrp.

as_ofstring date-time required
disclaimerstring required

Example response

{
  "available": true,
  "asset": "BTC-USD",
  "underlying_price": 61200,
  "data_source": "deribit",
  "atm_iv": 42.8,
  "iv_rank": 58.3,
  "iv_percentile": 61.2,
  "iv_history_days": 45,
  "term_structure": [
    {
      "expiry": "5JUL26",
      "days_to_expiry": 3,
      "atm_iv": 44.2
    }
  ],
  "term_structure_shape": "contango",
  "skew_25d": 3.8,
  "wing_10d_call_iv": 38.5,
  "wing_10d_put_iv": 49.2,
  "max_pain_strike": 60000,
  "vol_regime": "normal",
  "realized_vol": 39.6,
  "vrp": 3.2,
  "vol_regime_iv_band": "MID"
}

Changes

No recorded changes to this operation across all 1 revision of this API.