{"openapi":"3.1.0","info":{"title":"Crypto Options IV Skew & Term Structure API","version":"1.0.0","description":"The shape of the crypto implied-volatility surface, computed live from Deribit's public option book — no key, nothing stored. A single at-the-money number hides what the options market is really saying. The skew endpoint returns, for a currency (BTC, ETH, SOL, XRP) and expiry, the ATM implied vol, the implied vols of an out-of-the-money put and call at a chosen moneyness, the risk reversal (call IV minus put IV — positive means calls are bid and upside is favoured, negative means puts are bid and the market is paying up for downside protection) and the butterfly (the average of the wings minus ATM — how convex the smile is). The termstructure endpoint returns the ATM implied vol for every listed expiry, so you see whether near-dated vol sits above far-dated (backwardation, stress) or below (contango, the calm default). The smile endpoint returns the full implied-vol-by-strike curve for one expiry — the classic volatility smile. This is the volatility-surface analytics cut for crypto — distinct from the raw per-contract option chain, the max-pain / open-interest positioning view, the realised-volatility series and the US-equity put/call APIs in the catalogue. Currency is BTC, ETH, SOL or XRP; expiry is a Deribit code like 26JUN26 (omit for the nearest).","contact":{"name":"PremiumApi","url":"https://www.oanor.com/by/premiumapi"}},"servers":[{"url":"https://api.oanor.com/optionsskew-api","description":"oanor gateway"}],"tags":[{"name":"IV Surface"},{"name":"Meta"}],"components":{"securitySchemes":{"oanorKey":{"type":"apiKey","in":"header","name":"x-oanor-key","description":"Get your key at https://www.oanor.com/developer/keys"}}},"security":[{"oanorKey":[]}],"paths":{"/v1/skew":{"get":{"operationId":"get_v1_skew","tags":["IV Surface"],"summary":"IV skew: risk reversal & butterfly","description":"","parameters":[{"name":"currency","in":"query","required":true,"description":"BTC, ETH, SOL or XRP","schema":{"type":"string"},"example":"BTC"},{"name":"expiry","in":"query","required":false,"description":"Deribit expiry code (default nearest)","schema":{"type":"string"},"example":"26JUN26"},{"name":"moneyness","in":"query","required":false,"description":"Percent OTM for the wings (default 10)","schema":{"type":"string"},"example":"10"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"note":"IV is mark implied vol in percent. risk_reversal = OTM call IV − OTM put IV at ±moneyness% of spot (fixed-moneyness proxy): negative means the market pays more for downside puts. butterfly = average wing IV − ATM IV.","atm_iv":41.45,"expiry":"26JUN26","source":"Deribit","currency":"BTC","butterfly":3.63,"atm_strike":64000,"otm_put_iv":49.65,"otm_call_iv":40.52,"moneyness_pct":10,"risk_reversal":-9.13,"otm_put_strike":57000,"skew_sentiment":"puts bid (downside hedging)","otm_call_strike":70000,"underlying_price":63511.63},"meta":{"timestamp":"2026-06-12T01:41:12.532Z","request_id":"beb403fa-161e-46a8-bdfc-4b2947798cbb"},"status":"ok","message":"Skew retrieved successfully","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/smile":{"get":{"operationId":"get_v1_smile","tags":["IV Surface"],"summary":"Full IV-by-strike curve","description":"","parameters":[{"name":"currency","in":"query","required":true,"description":"BTC, ETH, SOL or XRP","schema":{"type":"string"},"example":"BTC"},{"name":"expiry","in":"query","required":false,"description":"Deribit expiry code","schema":{"type":"string"},"example":"26JUN26"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"note":"mark implied vol (percent) by strike for the expiry; moneyness_pct > 0 is an out-of-the-money call strike, < 0 an OTM put strike. The U-shape is the volatility smile.","smile":[{"put_iv":173.21,"strike":20000,"call_iv":173.21,"moneyness_pct":-68.51},{"put_iv":120.13,"strike":30000,"call_iv":120.13,"moneyness_pct":-52.76},{"put_iv":90.93,"strike":40000,"call_iv":90.93,"moneyness_pct":-37.02},{"put_iv":78.55,"strike":45000,"call_iv":78.55,"moneyness_pct":-29.15},{"put_iv":64.35,"strike":50000,"call_iv":64.35,"moneyness_pct":-21.27},{"put_iv":59.56,"strike":52000,"call_iv":59.56,"moneyness_pct":-18.13},{"put_iv":53.39,"strike":55000,"call_iv":53.39,"moneyness_pct":-13.4},{"put_iv":49.65,"strike":57000,"call_iv":49.65,"moneyness_pct":-10.25},{"put_iv":47.99,"strike":58000,"call_iv":47.99,"moneyness_pct":-8.68},{"put_iv":46.64,"strike":59000,"call_iv":46.64,"moneyness_pct":-7.1},{"put_iv":45.32,"strike":60000,"call_iv":45.32,"moneyness_pct":-5.53},{"put_iv":44.13,"strike":61000,"call_iv":44.13,"moneyness_pct":-3.95},{"put_iv":43.04,"strike":62000,"call_iv":43.04,"moneyness_pct":-2.38},{"put_iv":42.15,"strike":63000,"call_iv":42.15,"moneyness_pct":-0.81},{"put_iv":41.45,"strike":64000,"call_iv":41.45,"moneyness_pct":0.77},{"put_iv":40.97,"strike":65000,"call_iv":40.97,"moneyness_pct":2.34},{"put_iv":40.52,"strike":66000,"call_iv":40.52,"moneyness_pct":3.92},{"put_iv":40.17,"strike":67000,"call_iv":40.17,"moneyness_pct":5.49},{"put_iv":40.19,"strike":68000,"call_iv":40.19,"moneyness_pct":7.07},{"put_iv":40.33,"strike":69000,"call_iv":40.33,"moneyness_pct":8.64},{"put_iv":40.52,"strike":70000,"call_iv":40.52,"moneyness_pct":10.22},{"put_iv":41.59,"strike":72000,"call_iv":41.59,"moneyness_pct":13.37},{"put_iv":43.67,"strike":74000,"call_iv":43.67,"moneyness_pct":16.51},{"put_iv":44.86,"strike":75000,"call_iv":44.86,"moneyness_pct":18.09},{"put_iv":46.05,"strike":76000,"call_iv":46.05,"moneyness_pct":19.66},{"put_iv":48.83,"strike":78000,"call_iv":48.83,"moneyness_pct":22.81},{"put_iv":51.97,"strike":80000,"call_iv":51.97,"moneyness_pct":25.96},{"put_iv":55.47,"strike":82000,"call_iv":55.47,"moneyness_pct":29.11},{"put_iv":59.06,"strike":84000,"call_iv":59.06,"moneyness_pct":32.26},{"put_iv":61.2,"strike":85000,"call_iv":61.2,"moneyness_pct":33.83},{"put_iv":61.91,"strike":86000,"call_iv":61.91,"moneyness_pct":35.41},{"put_iv":64.81,"strike":88000,"call_iv":64.81,"moneyness_pct":38.56},{"put_iv":68.66,"strike":90000,"call_iv":68.66,"moneyness_pct":41.71},{"put_iv":70.05,"strike":92000,"call_iv":70.05,"moneyness_pct":44.86},{"put_iv":73.58,"strike":94000,"call_iv":73.58,"moneyness_pct":48},{"put_iv":73.67,"strike":95000,"call_iv":73.67,"moneyness_pct":49.58},{"put_iv":81.85,"strike":100000,"call_iv":81.85,"moneyness_pct":57.45},{"put_iv":89.51,"strike":105000,"call_iv":89.51,"moneyness_pct":65.32},{"put_iv":91.8,"strike":110000,"call_iv":91.8,"moneyness_pct":73.2},{"put_iv":95.53,"strike":115000,"call_iv":95.53,"moneyness_pct":81.07},{"put_iv":95.74,"strike":120000,"call_iv":95.74,"moneyness_pct":88.94},{"put_iv":100.59,"strike":125000,"call_iv":100.59,"moneyness_pct":96.81},{"put_iv":103.99,"strike":130000,"call_iv":103.99,"moneyness_pct":104.69},{"put_iv":108.85,"strike":135000,"call_iv":108.85,"moneyness_pct":112.56},{"put_iv":113.48,"strike":140000,"call_iv":113.48,"moneyness_pct":120.43},{"put_iv":117.95,"strike":145000,"call_iv":117.95,"moneyness_pct":128.3},{"put_iv":122.22,"strike":150000,"call_iv":122.22,"moneyness_pct":136.18},{"put_iv":125.22,"strike":155000,"call_iv":125.22,"moneyness_pct":144.05},{"put_iv":125.23,"strike":160000,"call_iv":125.23,"moneyness_pct":151.92},{"put_iv":125.23,"strike":165000,"call_iv":125.23,"moneyness_pct":159.79},{"put_iv":125.23,"strike":170000,"call_iv":125.23,"moneyness_pct":167.67},{"put_iv":125.23,"strike":180000,"call_iv":125.23,"moneyness_pct":183.41},{"put_iv":125.23,"strike":190000,"call_iv":125.23,"moneyness_pct":199.16},{"put_iv":125.23,"strike":200000,"call_iv":125.23,"moneyness_pct":214.9},{"put_iv":125.23,"strike":210000,"call_iv":125.23,"moneyness_pct":230.65},{"put_iv":125.23,"strike":220000,"call_iv":125.23,"moneyness_pct":246.39},{"put_iv":125.23,"strike":230000,"call_iv":125.23,"moneyness_pct":262.14},{"put_iv":125.23,"strike":240000,"call_iv":125.23,"moneyness_pct":277.88},{"put_iv":125.23,"strike":250000,"call_iv":125.23,"moneyness_pct":293.63},{"put_iv":125.23,"strike":260000,"call_iv":125.23,"moneyness_pct":309.37},{"put_iv":125.23,"strike":280000,"call_iv":125.23,"moneyness_pct":340.86},{"put_iv":125.23,"strike":300000,"call_iv":125.23,"moneyness_pct":372.35},{"put_iv":125.23,"strike":320000,"call_iv":125.23,"moneyness_pct":403.84},{"put_iv":125.23,"strike":340000,"call_iv":125.23,"moneyness_pct":435.34},{"put_iv":125.23,"strike":360000,"call_iv":125.23,"moneyness_pct":466.83},{"put_iv":125.23,"strike":380000,"call_iv":125.23,"moneyness_pct":498.32}],"expiry":"26JUN26","source":"Deribit","strikes":66,"currency":"BTC","underlying_price":63511.63},"meta":{"timestamp":"2026-06-12T01:41:12.690Z","request_id":"11dd213f-b347-44aa-9220-a931bd6005ec"},"status":"ok","message":"Smile retrieved successfully","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/termstructure":{"get":{"operationId":"get_v1_termstructure","tags":["IV Surface"],"summary":"ATM IV per expiry (contango/backwardation)","description":"","parameters":[{"name":"currency","in":"query","required":true,"description":"BTC, ETH, SOL or XRP","schema":{"type":"string"},"example":"BTC"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"note":"atm_iv is the at-the-money mark implied vol per expiry. Backwardation (near > far) typically signals near-term stress; contango is the calm default.","term":[{"atm_iv":32.43,"expiry":"12JUN26","strikes":80},{"atm_iv":40.92,"expiry":"13JUN26","strikes":48},{"atm_iv":34.34,"expiry":"14JUN26","strikes":46},{"atm_iv":35.27,"expiry":"15JUN26","strikes":44},{"atm_iv":41.45,"expiry":"19JUN26","strikes":60},{"atm_iv":41.45,"expiry":"26JUN26","strikes":132},{"atm_iv":41.27,"expiry":"3JUL26","strikes":26},{"atm_iv":41.4,"expiry":"31JUL26","strikes":114},{"atm_iv":41.78,"expiry":"28AUG26","strikes":98},{"atm_iv":42.22,"expiry":"25SEP26","strikes":120},{"atm_iv":44.4,"expiry":"25DEC26","strikes":114},{"atm_iv":45.19,"expiry":"26MAR27","strikes":102}],"count":12,"source":"Deribit","currency":"BTC","structure":"contango (far-dated vol higher)","underlying_price":63511.63},"meta":{"timestamp":"2026-06-12T01:41:12.838Z","request_id":"9f863e6a-4e21-4f6b-8252-de828769a058"},"status":"ok","message":"Term structure retrieved successfully","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/meta":{"get":{"operationId":"get_v1_meta","tags":["Meta"],"summary":"Spec","description":"","parameters":[],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"note":"currency is BTC, ETH, SOL or XRP. expiry is a Deribit code (e.g. 26JUN26) from /v1/termstructure; omit for the nearest expiry. moneyness (skew) is the percent OTM for the wings (default 10). IV is mark implied vol in percent. Read fresh per call, nothing cached.","source":"Deribit public API (deribit.com/api/v2/public, live)","service":"optionsskew-api","endpoints":{"GET /v1/meta":"This document.","GET /v1/skew":"ATM IV, risk reversal and butterfly for a currency+expiry (currency=BTC, expiry=26JUN26, moneyness=10).","GET /v1/smile":"Full implied-vol-by-strike curve for an expiry (currency=BTC, expiry=26JUN26).","GET /v1/termstructure":"ATM IV for every listed expiry — contango vs backwardation (currency=BTC)."},"currencies":["BTC","ETH","SOL","XRP"],"description":"Crypto options implied-volatility skew and term structure, computed live from Deribit's public option book (no key, nothing stored). skew returns ATM IV, OTM put/call IV, the risk reversal (call IV − put IV; negative = the market pays up for downside) and the butterfly for a currency+expiry. termstructure returns ATM IV for every expiry (contango vs backwardation). smile returns the full IV-by-strike curve for an expiry. The volatility-surface analytics cut — distinct from the raw option chain, max-pain/open-interest, realised-volatility and US-equity put/call APIs.","upstream_status":"ok","btc_option_contracts":984},"meta":{"timestamp":"2026-06-12T01:41:12.972Z","request_id":"96c9d188-3811-4ab5-8d9a-6b4dee9a7c65"},"status":"ok","message":"Meta","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}}},"x-oanor-pricing":[{"slug":"free","name":"Free","price_cents_month":0,"monthly_call_quota":350,"rps_limit":2,"hard_limit":true},{"slug":"starter","name":"Starter","price_cents_month":1294,"monthly_call_quota":10500,"rps_limit":6,"hard_limit":true},{"slug":"pro","name":"Pro","price_cents_month":3888,"monthly_call_quota":62000,"rps_limit":16,"hard_limit":true},{"slug":"business","name":"Business","price_cents_month":8930,"monthly_call_quota":330000,"rps_limit":40,"hard_limit":true}],"x-oanor-marketplace-url":"https://www.oanor.com/api/optionsskew-api"}