On-Chain

Deribit BTC Max Pain — historical expiries

History of finalized Deribit BTC options expiries in one call — a complete base rate, not a page. Each row: expiry_date, max_pain_strike, spot_at_expiry, %-diff, put_call_ratio, notional, total_contracts here is the open interest at the LAST daily snapshot BEFORE expiry -- the same measurement as open_interest_contracts on upcoming expiries, only observed at a different time. contracts_as_of names the snapshot the contracts came from -- equal to expiry_date in all 64 measured rows, so contracts and settlement price are same-day; the field makes a future gap visible. is_quarterly, is_monthly (the latter two corrected 2026-07-30 — they previously marked a 7-day window rather than the last-Friday expiry). spot_at_expiry = Deribit delivery price (30-min index TWAP before 08:00 UTC); rows before 2026-08-31 were recomputed from that series (they had carried the BTCUSDT daily close), so base rates computed before that date differ. Days capped by tier: Pro 365d, Power 3650d. [API Pro tier]

get/api/v1/onchain/max-pain/history

Request

  • Base URL: https://tradingstrategies.work
  • URL: https://tradingstrategies.work/api/v1/onchain/max-pain/history
  • Auth: HTTP bearer

Query parameters

daysinteger

Days back from today. Capped by tier: Pro 365, Power 3650.

market'DERIBIT_BTC'

Options market. Currently only DERIBIT_BTC.

expiry_type'daily' | 'weekly' | 'monthly' | 'quarterly'

E27: filter expiries AND open_snapshots to one expiry class (label = highest level; booleans nest). base_rates are computed before this filter.

min_contractsinteger

E27: only finalized expiries with total_contracts >= this.

snapshot_expiry_datestring date

E27: reduce open_snapshots[] to exactly this expiry (with include_open_snapshots=true).

include_open_snapshotsboolean

Adds open_snapshots[] + open_snapshot_coverage.

Response

Historical max-pain expiry records + mandatory base_rates per expiry class (n, median |diff|, shares within 1%/2%, max, sample_adequate at n>=30 — present even at n=0) + filters block.

Changes

No recorded changes to this operation across all 1 revision of this API.