{"uid":"cap_9cSmxZ_dSC-S1i6fednqf","slug":"laevitas-historical-options-iv-rv-24d39236","name":"Laevitas Historical Options IV/RV","description":"Professional market data API for crypto derivatives, spot markets, prediction markets, Hyperliquid HyperCore data, proprietary volatility surfaces, and analytics.\n\n## Authentication\n\nUse an API key for authenticated REST requests:\n\n```http\nX-API-Key: your-api-key-here\n```\n\nData and history endpoints also accept x402 without an API key: 1, 5 or 10 credits ($0.001 each) for data up to 1 year, 1–3 years or older.\n\n**Subscriptions with USDC:** Premium and Enterprise can be purchased on Base or Solana for a month, a quarter, six months or a year. Access is prepaid, with no automatic renewal. [Buy a subscription](https://v3.laevitas.ch/profile/subscription/wallet) or read the [USDC subscription guide](/x402#subscriptions).\n\nThe subscription belongs to your signed-in Laevitas account; wallet sign-in does not require an email. Enterprise users generate an API key in V3 after activation. Plan and billing-period limits still apply. Subscription purchases are separate from API credit bundles.\n\nFor Claude MCP, add `https://apiv2.laevitas.ch/api/v1/mcp`, select **Sign in now → Register automatically**\nwith no custom headers, and authorize with your API key on the Laevitas page.\nDo not enter a client ID or secret manually. All OAuth clients require PKCE S256.\nConnection guide: [MCP setup](/mcp). CIMD / published client identity is not supported.\n\n| Resource | Path |\n| --- | --- |\n| OpenAPI JSON | `GET /openapi.json` |\n| x402 discovery | `GET /.well-known/x402` |\n| Changelog | `GET /api/v1/changelog` |\n| WebSocket docs | `GET /websocket` |\n\n## REST Surfaces\n\n| Surface | Examples |\n| --- | --- |\n| Instruments | Cross-market contract reference data |\n| Futures | OHLCVT, trades, tickers, orderbook, liquidations, carry |\n| Perpetuals | OHLCVT, trades, funding, open interest, orderbook, liquidations |\n| Options | OHLCVT, trades, Greeks, volatility, flow, dealer GEX |\n| Options Backtests | Strategy templates, asynchronous submission, status, combined results, cancellation |\n| Vol Surface | Proprietary surface snapshots, slices, strikes, term structure, risk |\n| Spot | OHLCVT, ticker, trades, volume, L2 orderbook, snapshots |\n| Predictions | Polymarket instruments, categories, trades, ticker history |\n| Hyperliquid - HyperCore | Node-derived fills, liquidations, positions, funding, TWAPs, resting orders, L2 books |\n| Analytics | Realized volatility and derived metrics |\n\n## Pagination\n\nBacktests are asynchronous jobs, not paginated market-data queries. Start with\n`GET /api/v1/options/backtests/strategies`, submit with `POST /api/v1/options/backtests`,\nthen poll `/{id}` and retrieve `/{id}/result`. These responses have no data/meta wrapper.\n\nPaginated endpoints return the cursor at `meta.next_cursor`. Pass that value back as the `cursor` query parameter to fetch the next page.\n\n## WebSocket Streaming\n\nReal-time streams are documented at `/websocket`.\n\n| Data | Channel pattern |\n| --- | --- |\n| Trades | `trades.{market}.{exchange}.{instrument}` |\n| OHLC ticker | `ohlc.ticker.{market}.{exchange}.{instrument}.{timeframe}` |\n| OHLCVT | `ohlc.vt.{market}.{exchange}.{instrument}.{timeframe}` |\n\nVariables: `market` is one of `perpetuals`, `futures`, `options`, or `spot`; `timeframe` is one of `1m`, `5m`, `15m`, `1h`, `4h`, or `1d`.\n\n## Quick Start\n\n```bash\ncurl \"https://apiv2.laevitas.ch/api/v1/futures/ohlcvt?exchange=deribit&instrument_name=BTC-PERPETUAL\" \\\n  -H \"X-API-Key: your-api-key-here\"\n```","url":"https://apiv2.laevitas.ch/api/v1/historical/options/iv_rv/%7Bmarket%7D/%7Bcurrency%7D?utm_source=zero.xyz","method":"POST","headers":{},"bodySchema":{"type":"object","required":["start"],"properties":{"end":{"type":"string","description":"Date-only includes the whole UTC day. Omitted end is end of tomorrow in UTC."},"page":{"type":"integer","description":"Omitted queries page 1 but omits meta.page, as in v1."},"limit":{"type":"integer","description":"Omitted queries 10 rows but uses divisor 1 for meta.total_pages, as in v1."},"start":{"type":"string","description":"Legacy ISO/date-only or 10/13-digit epoch."},"granularity":{"type":"string","description":"Known UTC sampling grid; omitted or -- means native."}}},"responseSchema":{"type":"object","required":["meta","items"],"properties":{"meta":{"type":"object","required":["total","items","total_pages"],"properties":{"page":{"type":"integer","maximum":9007199254740991,"minimum":0,"exclusiveMinimum":true},"items":{"type":"integer","maximum":9007199254740991,"minimum":0},"total":{"type":"integer","maximum":9007199254740991,"minimum":0},"total_pages":{"type":"integer","maximum":9007199254740991,"minimum":0}},"additionalProperties":false},"items":{"type":"array","items":{"type":"object","required":["date"],"properties":{"c":{"type":"number","nullable":true,"description":"Call implied volatility operand at the selected delta, percentage points, published to four decimals. Not call quantity."},"d":{"type":"number","nullable":true,"description":"Selected derived metric. actual_skew_model: round((p - c) / atm * 100, 2) from served operands in binary floating point, a percentage ratio. actual_risk_reversal_model / actual_butterfly_model: retained model result in volatility points, NOT that normalized ratio."},"p":{"type":"number","nullable":true,"description":"Put implied volatility operand at the selected delta, percentage points, published to four decimals. Not put quantity."},"iv":{"type":"number","nullable":true,"description":"Expiry ATM IV: implied volatility of the strike nearest the underlying price (index price when absent) among the options of the selected expiry, percentage points, four decimals."},"atm":{"type":"number","nullable":true,"description":"ATM implied volatility operand, percentage points, published to four decimals. Not a price."},"gex":{"type":"number","nullable":true,"description":"Legacy signed sum of gamma * underlying_price * open_interest; puts negative, calls positive. No extra 1%-move or squared-price scaling; not interchangeable with modern GEX."},"vex":{"type":"number","nullable":true,"description":"Legacy signed vanna-style exposure term, including its 0.01 and /1000 scales. Not ordinary option vega or USD open interest; see the field guide formula."},"date":{"type":"integer","maximum":9007199254740991,"minimum":0,"description":"Source observation time in Unix milliseconds, UTC. Most series are oldest first; gamma_bands is newest first. Resolution selects a time grid, not an average."},"dvol":{"type":"number","nullable":true,"description":"Retained Deribit volatility-index level, in volatility percentage points. Not the ATM-IV series or the legacy VIX estimator."},"index":{"type":"number","nullable":true,"description":"Reference asset/index price in quote-price units, not a volatility value."},"gex_plus":{"type":"number","nullable":true,"description":"Arithmetic sum gex + vex under this legacy convention, not an independently calibrated exposure."},"index_price":{"type":"number","nullable":true,"description":"Retained average spot-index reference price in quote-price units, not a GEX value."}},"description":"date is Unix milliseconds; surface keys are tenor days; IV/RV has iv_7..iv_365 and rv_7..rv_365; DVOL has dvol and index. Actual volatility has atm,c,p,d; absent tenor fields in actual RR/butterfly are omitted, not zero/null. GEX has gex,vex,gex_plus,index_price. Expiry ATM IV has iv. Gamma bands have vwap,price,u1_4,u1_2,u1,u2,l1_4,l1_2,l1,l2, newest first. VIX has 15,30,90,180,index (no 60-day value), oldest first. Null withdrawals are explicit.","additionalProperties":{"type":"number","nullable":true,"description":"Series-dependent field: numeric keys are target tenor days, not prices or row numbers. IV/RV keys encode tenor/lookback days. See the series-specific field guide; YIELD and SLOPE are not IV levels."}}}},"additionalProperties":false},"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.1","displayCostAsset":"USDC","priceDynamic":false,"priceHint":null,"priceStatus":"priced","priceSource":"probe","requiresHandshake":false,"reviewCount":0,"rating":{"score":"0.00","successRate":"0.00","reviews":0,"stars":null,"state":"unrated"},"availabilityStatus":"unknown","priceObserved":null,"sessionDeposit":null,"pricing":{"kind":"static","summary":"$0.1/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.1","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.1","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_8SelSgs3EA-CPNXxxJKBr","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.1","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Returns paginated historical implied volatility (IV) and realized volatility (RV) time-series data for crypto options by market and currency over a specified date range.","exampleAgentPrompt":"Pull me the historical implied volatility vs realized volatility data for BTC options on Deribit from January 1, 2024 to June 30, 2024, using daily granularity, page 1 with 50 rows.","exampleUseCases":[{"title":"BTC vol regime research","prompt":"Get me daily ATM implied volatility history for BTC options on Deribit from January 1, 2023 through December 31, 2023 — I want to study how vol behaved across the full year, page 1, 100 rows."},{"title":"ETH skew and risk reversal trend","prompt":"Pull the historical put and call IV data for ETH options on Deribit from March 1, 2024 to May 31, 2024 with daily granularity so I can track how the skew and risk reversal evolved over that period."},{"title":"IV vs RV spread analysis for algo strategy","prompt":"Fetch the historical implied volatility and realized volatility time series for BTC on Deribit from July 1, 2023 to September 30, 2023 at daily granularity, 50 rows per page — I'm building a vol arbitrage signal and need the raw IV/RV spread numbers."}],"resultDescription":"A paginated JSON object with a meta block (total items, total pages, page number) and an items array where each row contains a date plus nullable volatility fields: ATM IV, call IV at delta, put IV at delta, derived skew/risk-reversal/butterfly metrics, and legacy GEX/VEX exposures — all in percentage points or volatility points as documented.","failureModes":["Missing required 'start' parameter returns a validation error","Invalid market or currency path parameters return 404 or empty result set","Date range exceeding plan limits may require additional credits or return 402 payment required","Granularity string not matching a known UTC sampling grid falls back to native resolution","Page or limit values out of range may return empty items arrays","Expired or invalid API key returns 401 unauthorized","Insufficient credits for historical range beyond 1 year returns 402"],"whenToPreferThis":"Use this endpoint when you need historical time-series data on implied volatility, realized volatility, skew, risk reversal, butterfly, GEX, or VEX for crypto options on a specific market and currency. It is the right choice for backtesting vol strategies, studying vol regimes, or analyzing IV/RV spreads over custom date ranges. Prefer this over real-time snapshot endpoints when your use case requires multi-day or multi-year historical depth with pagination support.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-10-31T18:42:10.372Z","isFirstParty":false,"canonicalSlug":"laevitas-historical-options-iv-rv-24d39236"}