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]
Request
- Base URL: https://tradingstrategies.work
- URL: https://tradingstrategies.work/api/v1/onchain/max-pain/history
- Auth: HTTP bearer
Query parameters
Days back from today. Capped by tier: Pro 365, Power 3650.
Options market. Currently only DERIBIT_BTC.
E27: filter expiries AND open_snapshots to one expiry class (label = highest level; booleans nest). base_rates are computed before this filter.
E27: only finalized expiries with total_contracts >= this.
E27: reduce open_snapshots[] to exactly this expiry (with include_open_snapshots=true).
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.