TradePortfolio
DocsATM History

ATM History

Dev

GET /options/atm-history


Historical at-the-money implied volatility for BTC, ETH, HYPE, SOL, ZEC, XRP, DOGE, or BNB on a supported exchange — one data point per hour and expiry, showing the IV of the option with the closest strike to the underlying price at that time. Use it to chart how the options market's volatility expectations have evolved, compare IV across term structures, or backtest options strategies.

Authentication

Requires Dev tier or higher. Dev: up to 30 days (range=30d). Pro and Team: full stored history. Supported pairs: BTC/ETH on Deribit, Binance, Bybit, OKX, and Derive; HYPE on Deribit/Derive; SOL/XRP on Deribit/Binance/Bybit/Derive; DOGE on Binance/Bybit; BNB on Binance; ZEC on Derive.

Parameters

Query parameters

NameTypeRequiredDescription
symbolstringBTC, ETH, HYPE, SOL, ZEC, XRP, DOGE, or BNB. Supported venues vary by symbol. Defaults to BTC.
exchangestringderibit, binance, bybit, okx, or derive.
rangestringDay lookback such as 7d, 30d, 90d, or a larger Nd window for Pro/Team. Defaults to 30d. Legacy days is accepted until July 21, 2026.

Tier behavior

  • Dev: Maximum 30d.
  • Pro/Team: Full stored historical lookback.

Example request

bash
curl -H "X-Api-Key: lk_live_your_key_here" \
  "https://api.loris.tools/options/atm-history?symbol=BTC&exchange=deribit&range=7d"

Example response

json
{
  "symbol": "BTC",
  "exchange": "deribit",
  "range": "7d",
  "days": 7,
  "count": 1680,
  "unit": "iv",
  "resolution": "1h",
  "data": [
    {
      "timestamp": "2026-06-01T00:00:00Z",
      "hour": "2026-06-01T00:00:00Z",
      "expiry": "2026-06-27T08:00:00Z",
      "underlying_price": 69800.00,
      "strike": 70000,
      "iv": 0.718
    },
    {
      "timestamp": "2026-06-01T01:00:00Z",
      "hour": "2026-06-01T01:00:00Z",
      "expiry": "2026-06-27T08:00:00Z",
      "underlying_price": 70200.00,
      "strike": 70000,
      "iv": 0.712
    }
  ]
}

Errors

  • 400 invalid range.
  • 403 range exceeds your tier's limit. Dev: 30d max.

For authentication errors (401) and rate limit responses (429), see Errors.

Related