# Crypto Options API
> Live crypto options-market data as an API, streamed from the Deribit public exchange. For BTC, ETH, SOL and XRP: the full option chain with each contract's mark price, mark implied volatility, open interest, 24-hour volume and underlying price; the nearest at-the-money call and put for a one-call read on how the market prices risk; the spot index price; the historical realised-volatility series with stats; and a market-wide summary of open interest, volume and expiries. Built for options, volatility, quant and trading apps. Distinct from spot-price, funding and on-chain APIs — this is the live options surface.

## 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/cryptooptions-api/..."
```

## Pricing
- **Free** (Free) — 150 calls/Mo, 3 req/s
- **Trader** ($14/Mo) — 8,000 calls/Mo, 8 req/s
- **Pro** ($39/Mo) — 40,000 calls/Mo, 20 req/s
- **Desk** ($95/Mo) — 200,000 calls/Mo, 40 req/s

## Endpoints

### Options

#### `GET /v1/atm` — Nearest at-the-money call & put

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

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

**Response:**
```json
{
    "data": {
        "put": {
            "type": "put",
            "expiry": "9JUN26",
            "strike": 63000,
            "mark_iv": 33.23,
            "currency": "BTC",
            "ask_price": 0.006,
            "bid_price": 0.0043,
            "mid_price": 0.00515,
            "instrument": "BTC-9JUN26-63000-P",
            "mark_price": 0.00506464,
            "volume_24h": 308.2,
            "expiry_date": "2026-06-09T08:00:00.000Z",
            "open_interest": 253.2,
            "underlying_price": 62795.2
        },
        "call": {
            "type": "call",
            "expiry": "9JUN26",
            "strike": 63000,
            "mark_iv": 33.23,
            "currency": "BTC",
            "ask_price": 0.0021,
            "bid_price": 0.0016,
            "mid_price": 0.00185,
            "instrument": "BTC-9JUN26-63000-C",
            "mark_price": 0.0017763,
            "volume_24h": 198.6,
            "expiry_date": "2026-06-09T08:00:00.000Z",
            "open_interest": 178.5,
            "underlying_price": 62795.2
        },
        "currency": "BTC",
        "nearest_expiry": "9JUN26",
        "underlying_price": 62795.2,
        "nearest_expiry_date": "2026-06-09T08:00:00.000Z"
    },
    "meta": {
        "timestamp": "2026-06-09T03:03:35.907Z",
        "request_id": "34ec8803-16bc-4de3-b554-1e76c7532aac"
    },
    "status": "ok",
    "message": "ATM options retrieved successfully",
    "success": true
}
```

#### `GET /v1/chain` — Option chain

**Parameters:**
- `currency` (query, optional, string) — BTC | ETH | SOL | XRP Example: `BTC`
- `type` (query, optional, string) — call | put Example: `put`
- `expiry` (query, optional, string) — Expiry code, e.g. 26JUN26
- `limit` (query, optional, string) — Max 1-500 Example: `50`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/cryptooptions-api/v1/chain?currency=BTC&type=put&limit=50"
```

**Response:**
```json
{
    "data": {
        "type": "put",
        "count": 50,
        "total": 473,
        "expiry": "all",
        "options": [
            {
                "type": "put",
                "expiry": "26JUN26",
                "strike": 20000,
                "mark_iv": 173.63,
                "currency": "BTC",
                "ask_price": 0.0002,
                "bid_price": null,
                "mid_price": null,
                "instrument": "BTC-26JUN26-20000-P",
                "mark_price": 6.997e-5,
                "volume_24h": 0.1,
                "expiry_date": "2026-06-26T08:00:00.000Z",
                "open_interest": 4609,
                "underlying_price": 62847.29
            },
            {
                "type": "put",
                "expiry": "26JUN26",
                "strike": 30000,
                "mark_iv": 124.59,
                "currency": "BTC",
                "ask_price": 0.0002,
                "bid_price": 0.0001,
                "mid_price": 0.00015,
                "instrument": "BTC-26JUN26-30000-P",
                "mark_price": 0.00017555,
                "volume_24h": 299.3,
                "expiry_date": "2026-06-26T08:00:00.000Z",
                "open_interest": 3115.3,
                "underlying_price": 62847.29
            },
            {
                "type": "put",
                "expiry": "25SEP26",
                "strike": 30000,
                "mark_iv": 72.08,
                "currency": "BTC",
                "ask_
…(truncated, see openapi.json for full schema)
```

#### `GET /v1/index` — Spot index price

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

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

**Response:**
```json
{
    "data": {
        "currency": "BTC",
        "index_name": "btc_usd",
        "index_price": 62809.11
    },
    "meta": {
        "timestamp": "2026-06-09T03:03:36.186Z",
        "request_id": "bfdd9dc8-34a0-4578-90c7-da0e73ec6728"
    },
    "status": "ok",
    "message": "Index price retrieved successfully",
    "success": true
}
```

#### `GET /v1/summary` — Options market summary

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

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

**Response:**
```json
{
    "data": {
        "puts": 473,
        "calls": 473,
        "currency": "BTC",
        "expiries": [
            {
                "expiry": "9JUN26",
                "contracts": 54,
                "expiry_date": "2026-06-09T08:00:00.000Z"
            },
            {
                "expiry": "10JUN26",
                "contracts": 46,
                "expiry_date": "2026-06-10T08:00:00.000Z"
            },
            {
                "expiry": "11JUN26",
                "contracts": 44,
                "expiry_date": "2026-06-11T08:00:00.000Z"
            },
            {
                "expiry": "12JUN26",
                "contracts": 74,
                "expiry_date": "2026-06-12T08:00:00.000Z"
            },
            {
                "expiry": "19JUN26",
                "contracts": 58,
                "expiry_date": "2026-06-19T08:00:00.000Z"
            },
            {
                "expiry": "26JUN26",
                "contracts": 130,
                "expiry_date": "2026-06-26T08:00:00.000Z"
            },
            {
                "expiry": "31JUL26",
                "contracts": 114,
                "expiry_date": "2026-07-31T08:00:00.000Z"
            },
            {
                "expiry": "28AUG26",
                "contracts": 98,
                "expiry_date": "2026-08-28T08:00:00.000Z"
            },
            {
                "expiry": "25SEP26",
                "contracts": 116,
                "expiry_date": "2026-09-25T08:00:0
…(truncated, see openapi.json for full schema)
```

### Volatility

#### `GET /v1/volatility` — Historical realised volatility

**Parameters:**
- `currency` (query, optional, string) — BTC | ETH | SOL | XRP Example: `BTC`
- `limit` (query, optional, string) — Recent points 1-200 Example: `24`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/cryptooptions-api/v1/volatility?currency=BTC&limit=24"
```

**Response:**
```json
{
    "data": {
        "points": 384,
        "recent": [
            {
                "at": "2026-06-08T05:00:00.000Z",
                "vol_pct": 52.81
            },
            {
                "at": "2026-06-08T06:00:00.000Z",
                "vol_pct": 52.9
            },
            {
                "at": "2026-06-08T07:00:00.000Z",
                "vol_pct": 52.9
            },
            {
                "at": "2026-06-08T08:00:00.000Z",
                "vol_pct": 52.93
            },
            {
                "at": "2026-06-08T09:00:00.000Z",
                "vol_pct": 52.97
            },
            {
                "at": "2026-06-08T10:00:00.000Z",
                "vol_pct": 52.97
            },
            {
                "at": "2026-06-08T11:00:00.000Z",
                "vol_pct": 53.04
            },
            {
                "at": "2026-06-08T12:00:00.000Z",
                "vol_pct": 53.1
            },
            {
                "at": "2026-06-08T13:00:00.000Z",
                "vol_pct": 53.15
            },
            {
                "at": "2026-06-08T14:00:00.000Z",
                "vol_pct": 53.21
            },
            {
                "at": "2026-06-08T15:00:00.000Z",
                "vol_pct": 53.2
            },
            {
                "at": "2026-06-08T16:00:00.000Z",
                "vol_pct": 53.19
            },
            {
                "at": "2026-06-08T17:00:00.000Z",
                "vol_pct": 53.17
    
…(truncated, see openapi.json for full schema)
```

### Meta

#### `GET /v1/meta` — Service metadata

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

**Response:**
```json
{
    "data": {
        "source": "Deribit v2 public API (live)",
        "service": "cryptooptions-api",
        "endpoints": {
            "GET /v1/atm": "Nearest at-the-money call & put (currency=BTC).",
            "GET /v1/meta": "This document.",
            "GET /v1/chain": "Option chain (currency=BTC, type=call|put, expiry=11JUN26, limit).",
            "GET /v1/index": "Spot index price (currency=BTC).",
            "GET /v1/summary": "Options market summary: OI, volume, expiries (currency=BTC).",
            "GET /v1/volatility": "Historical realised volatility + stats (currency=BTC, limit)."
        },
        "currencies": [
            "BTC",
            "ETH",
            "SOL",
            "XRP"
        ],
        "description": "Live crypto options-market data from Deribit (BTC, ETH, SOL, XRP): full option chain with mark price, mark implied volatility, open interest, 24h volume and underlying; nearest at-the-money call/put; spot index price; historical realised volatility; and a market-wide summary. Live, no key. Distinct from spot-price and funding APIs."
    },
    "meta": {
        "timestamp": "2026-06-09T03:03:36.526Z",
        "request_id": "e82b95aa-512f-44f0-b261-3feaa55bba65"
    },
    "status": "ok",
    "message": "Meta",
    "success": true
}
```


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