{"uid":"cap_BJdiMDQzGmTqxVqF47vWa","slug":"laevitas-historical-options-type-skew-ba6ec43f","name":"Laevitas Historical Options Type Skew","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/type/skew/%7Bmarket%7D/%7Bcurrency%7D/%7Btype%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_sw7GjjpwgSgxirYhTxEaq","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 historical implied volatility skew data (call IV, put IV, ATM IV, risk reversal, butterfly, and related Greeks) for a specific crypto options market, currency, and skew type over a date range.","exampleAgentPrompt":"Pull historical options skew data for BTC on Deribit — I want the actual_skew_model type from January 1 2024 to March 31 2024, with daily granularity, page 1 and 30 rows per page.","exampleUseCases":[{"title":"Crypto options volatility skew research","prompt":"Get me the daily call and put implied volatility skew history for ETH on Deribit using the actual_risk_reversal_model type, from July 1 2023 through December 31 2023, showing 50 rows per page starting from page 1."},{"title":"ATM IV and GEX time series for quant model","prompt":"I need historical ATM implied volatility and GEX values for BTC options on a daily granularity from January 1 2023 to June 30 2023 — use the actual_butterfly_model skew type and give me page 1 with 100 rows."},{"title":"Backtesting crypto options skew strategy","prompt":"Fetch the historical options skew data for SOL using the actual_skew_model type from March 1 2024 to May 31 2024 with hourly granularity, page 1, limit 200, so I can backtest a vol skew mean-reversion strategy."}],"resultDescription":"A paginated JSON object with a meta block (total records, items per page, total pages) and an items array. Each item includes a date and nullable fields: call IV (c), put IV (p), ATM IV (atm), expiry ATM IV (iv), derived skew metric (d), legacy GEX, and VEX — all in percentage points or volatility points depending on field.","failureModes":["Missing required 'start' parameter returns a 400 validation error","Invalid market or currency path parameters return a 404 or empty dataset","Date range with no available data returns items array with zero elements","Malformed date string (not ISO or epoch) causes a 400 parse error","Requesting data older than 3 years without sufficient x402 credits or valid API key returns a 402 or 401 error","Invalid granularity string that is not on the known UTC sampling grid may return native granularity silently or an error"],"whenToPreferThis":"Choose this endpoint when you need time-series historical implied volatility skew metrics for crypto options — specifically call/put IV differentials, risk reversals, butterflies, ATM IV, GEX, or VEX — for a specific market and currency. Prefer it over real-time skew endpoints when you need backtesting data, trend analysis, or historical vol surface analytics. It supports flexible date ranges, pagination, and granularity resampling, making it suited for quantitative research workflows.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-10-31T18:42:16.049Z","isFirstParty":false,"canonicalSlug":"laevitas-historical-options-type-skew-ba6ec43f"}