# Implied Volatility & Max Pain (Crypto Options)

> Implied Volatility & Max Pain (Crypto Options) is a paid API for AI agents from derivs.duoleads.com, paid per call via x402, $0.003/call, status unknown (last checked 2026-10-15).

Returns implied volatility, max pain, put/call OI ratios, skew, and per-strike greeks for BTC/ETH/SOL options across Deribit, Bybit, and OKX, by expiry date.

## Facts

- Endpoint: GET https://derivs.duoleads.com/v1/options?utm_source=zero.xyz
- Price: $0.003/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-15
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/implied-volatility-max-pain-crypto-options-935805e9
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_jJeaO1VqFWFebYKvaijAq

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability implied-volatility-max-pain-crypto-options-935805e9
```

Example prompt: What's the current implied volatility and max pain strike for BTC options expiring on 2025-01-31, across Deribit, Bybit, and OKX?

## When to prefer this

Use this endpoint when you need crypto options-specific analytics: implied volatility levels, max pain, put/call ratios, or 25-delta skew across multiple centralized venues simultaneously. Prefer this over generic market data APIs when you need cross-venue options comparison (Deribit, Bybit, OKX) or want a full expiry term structure in one call. Not suitable for spot prices, perp funding rates, or equity/FX options.

## Known failure modes

- Missing required 'coin' query parameter returns a validation error
- Options data only reliably available for BTC and ETH; other coins may return empty expiries
- Expiry date not matching any listed contract returns empty results
- Stale flag may be true if venue data is delayed
- Payment failure (x402) if USDC balance on Base is insufficient

## How this service works

Perp funding rates, open interest, futures basis, implied volatility, liquidations, order book depth and a perp screener for crypto perpetual futures across 8 exchanges (Bybit, Hyperliquid, dYdX, Gate, Kraken, Bitfinex, Deribit, OKX), paid per call over x402 with USDC on Base. No account, no API key.

## Output

A JSON object containing: the coin, the DVOL index value with 24h range and change, and an array of expiries each with per-venue data including ATM IV (as a fraction), max pain strike in USD, open interest in coins, put/call OI ratio, 25-delta skew details (put IV, call IV, risk reversal), the venue's forward/underlying price, and optionally a per-strike options chain with greeks when a specific expiry date is requested.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method"
   ],
   "properties": {
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "GET"
     ],
     "type": "string"
    },
    "queryParams": {
     "type": "object",
     "required": [
      "coin"
     ],
     "properties": {
      "coin": {
       "type": "string",
       "maxLength": 32,
       "minLength": 1,
       "description": "Underlying coin: BTC, ETH, SOL ... (options exist mainly for BTC and ETH)."
      },
      "expiry": {
       "type": "string",
       "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
       "description": "Optional expiry date YYYY-MM-DD (UTC): only that expiry, plus its chain per strike with the venues' greeks. Default: the 6 nearest expiries, no chain."
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object"
    }
   }
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "coin": "BTC",
  "colo": null,
  "dvol": {
   "time": "2026-10-14T22:00:00Z",
   "as_of": "2026-10-14T23:00:00Z",
   "value": 39.13,
   "venue": "deribit",
   "low_24h": 37.75,
   "high_24h": 39.3,
   "change_24h": 0.96
  },
  "as_of": "2026-10-14T23:00:00Z",
  "units": {
   "iv": "implied volatility as a fraction (0.45 = 45 %), annualised",
   "dvol": "Deribit volatility index, annualised percent",
   "skew": "put IV - call IV at 25 delta (fraction)",
   "greeks": "as published by the venue (Bybit, OKX); Deribit publishes none in bulk",
   "max_pain": "strike (USD) where option holders' intrinsic value at expiry is smallest",
   "oi_coins": "coins",
   "underlying": "USD per coin (the venue's underlying / forward price)",
   "put_call_oi_ratio": "put open interest / call open interest"
  },
  "expiries": [
   {
    "expiry": "2026-10-15T08:00:00Z",
    "venues": [
     {
      "as_of": "2026-10-14T23:00:00Z",
      "stale": false,
      "venue": "deribit",
      "atm_iv": 0.390797,
      "strikes": 28,
      "max_pain": 83500,
      "oi_coins": 3102.7,
      "skew_25d": null,
      "underlying": 81562.84,
      "put_call_oi_ratio": 1.42436
     },
     {
      "as_of": "2026-10-14T23:00:00Z",
      "stale": false,
      "venue": "bybit",
      "atm_iv": 0.390494,
      "strikes": 28,
      "max_pain": 82500,
      "oi_coins": 2832.08,
      "skew_25d": {
       "skew": 0.0289,
       "put_iv": 0.4155,
       "call_iv": 0.3866,
       "put_delta": -0.274783,
       "call_delta": 0.27996,
       "risk_reversal": -0.0289
      },
      "underlying": 81646.3838,
      "put_call_oi_ratio": 0.765449
     },
     {
      "as_of": "2026-10-14T23:00:00Z",
      "stale": false,
      "venue": "okx",
      "atm_iv": 0.386518,
      "strikes": 27,
      "max_pain": null,
      "oi_coins": null,
      "skew_25d": {
       "skew": 0.00777776,
       "put_iv": 0.40066,
       "call_iv": 0.392882,
       "put_delta": -0.27447,
       "call_delta": 0.201432,
       "risk_reversal": -0.00777776
      },
      "underlying": 81622.81366,
      "put_call_oi_ratio": null
     }
    ],
    "days_to_expiry": 0.375
   },
   {
    "expiry": "2026-10-16T08:00:00Z",
    "venues": [
     {
      "as_of": "2026-10-14T23:00:00Z",
      "stale": false,
      "venue": "deribit",
      "atm_iv": 0.387452,
      "strikes": 26,
      "max_pain": 83000,
      "oi_coins": 17322.2,
      "skew_25d": null,
      "underlying": 81582.3,
      "put_call_oi_ratio"
… (truncated)
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/implied-volatility-max-pain-crypto-options-935805e9/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from derivs.duoleads.com](https://www.zero.xyz/host/derivs.duoleads.com/llms.txt)
