# Crypto Options IV Skew & Term Structure API
> 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).

## Authentication
All requests require your oanor API key in the `x-oanor-key` header. Get one at https://www.oanor.com/developer/keys.

```bash
curl -H "x-oanor-key: oanor_live_…" "https://api.oanor.com/optionsskew-api/..."
```

## Pricing
- **Free** (Free) — 350 calls/Mo, 2 req/s
- **Starter** ($13/Mo) — 10,500 calls/Mo, 6 req/s
- **Pro** ($39/Mo) — 62,000 calls/Mo, 16 req/s
- **Business** ($89/Mo) — 330,000 calls/Mo, 40 req/s

## Endpoints

### IV Surface

#### `GET /v1/skew` — IV skew: risk reversal & butterfly

**Parameters:**
- `currency` (query, required, string) — BTC, ETH, SOL or XRP Example: `BTC`
- `expiry` (query, optional, string) — Deribit expiry code (default nearest) Example: `26JUN26`
- `moneyness` (query, optional, string) — Percent OTM for the wings (default 10) Example: `10`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/optionsskew-api/v1/skew?currency=BTC&expiry=26JUN26&moneyness=10"
```

**Response:**
```json
{
    "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
}
```

#### `GET /v1/smile` — Full IV-by-strike curve

**Parameters:**
- `currency` (query, required, string) — BTC, ETH, SOL or XRP Example: `BTC`
- `expiry` (query, optional, string) — Deribit expiry code Example: `26JUN26`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/optionsskew-api/v1/smile?currency=BTC&expiry=26JUN26"
```

**Response:**
```json
{
    "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,
             
…(truncated, see openapi.json for full schema)
```

#### `GET /v1/termstructure` — ATM IV per expiry (contango/backwardation)

**Parameters:**
- `currency` (query, required, string) — BTC, ETH, SOL or XRP Example: `BTC`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/optionsskew-api/v1/termstructure?currency=BTC"
```

**Response:**
```json
{
    "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
            },
       
…(truncated, see openapi.json for full schema)
```

### Meta

#### `GET /v1/meta` — Spec

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/optionsskew-api/v1/meta"
```

**Response:**
```json
{
    "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/o
…(truncated, see openapi.json for full schema)
```


---
Marketplace page: https://www.oanor.com/api/optionsskew-api
OpenAPI spec: https://www.oanor.com/api/optionsskew-api/openapi.json
