Trades
Option trades
Returns executed option trades from Deribit's public trade tape. Each row is one trade with the aggressor direction (buy = lifted ask, sell = hit bid), implied volatility at execution, USD-normalized value, size classification (MICRO through WHALE), combo and block trade flags for institutional flow detection, liquidation markers for capitulation events, and execution slippage. This is the raw signal that feeds our taker-flow corrected GEX and ORIA fingerprint systems. Direction is THE key field missing from order book snapshots.
/v1/trades/optionsproalphaQuery Parameters
coinstringrequiredUnderlying asset. Required.
BTCETHSOLdirectionstringoptionalFilter: buy or sell.
buysellsize_bucketstringoptionalFilter: WHALE, LARGE, MEDIUM, SMALL, MICRO.
WHALELARGEinstrument_idintegeroptionalFilter by instrument_id (integer PK).
4812blocks_onlybooleanoptionalOnly block (institutional) trades.
truecombos_onlybooleanoptionalOnly combo (spread/straddle) legs.
truefromstringoptionalStart UTC (ISO 8601). Default: last 24h.
2026-03-09T00:00:00ZtostringoptionalEnd UTC (ISO 8601). Default: now.
2026-03-10T00:00:00ZlimitintegeroptionalMax rows returned. Default 100, max 5000.
500Response Schema
Fields marked pro require a Pro subscription. Fields marked alpha require Alpha.
| Field | Type | Tier | Description |
|---|---|---|---|
trade_id | string | pro | Globally unique trade identifier from Deribit. |
trade_seq | integer | alpha | Sequential trade number within currency. Useful for ordering within batch and detecting data gaps. |
coin | string | pro | Underlying asset (BTC, ETH, SOL, XRP, AVAX, TRX). |
instrument_id | integer | pro | Internal instrument PK. Join with /v1/instruments/options. |
instrument_name | string | pro | Deribit canonical name, e.g. BTC-28MAR26-80000-C. |
trade_timestamp | datetime | pro | Actual execution time from Deribit (millisecond precision). Use for trade velocity and sub-10min analysis. |
cycle_timestamp | datetime | pro | ORIA cycle timestamp (aligned to 10-min grid). Use for joining with ORIA pipeline tables and partition pruning. |
direction | string | pro | Trade aggressor: buy = buyer lifted the ask, sell = seller hit the bid. THE key signal for directional analysis. Not available from order book snapshots. |
amount | float | pro | Number of contracts traded (native crypto units). |
price | float | pro | Execution price (in base currency for inverse, USD for linear). |
iv | float | pro | Implied volatility at time of trade. Key for IV momentum analysis: rising IV on buy = chase flow. |
index_price | float | pro | Spot price at time of trade. |
mark_price | float | pro | Mark (theoretical fair) price at trade time. For execution quality analysis. |
tick_direction | integer | alpha | Price tick direction: 0=down, 1=up, 2=unchanged-down, 3=unchanged-up. |
liquidation | string | alpha | Liquidation flag: NULL (normal trade), M (maker liquidated), T (taker liquidated), MT (both). Clusters of liquidations = capitulation event. |
block_trade_id | string | alpha | Non-null = institutional block trade negotiated OTC and settled on Deribit. More reliable whale signal than size alone. |
combo_id | string | alpha | Combo definition name (e.g. BTC-CALL-SPREAD-25JAN). Encodes the strategy structure. The most underappreciated field in Deribit public data. |
combo_trade_id | string | alpha | Links legs of the same combo execution. GROUP BY combo_trade_id to reconstruct multi-leg trades. |
is_combo_leg | boolean | alpha | TRUE if this trade is a combo leg. Exclude from directional analysis (opposing legs cancel). Count combos as 1 event for velocity. |
trade_value_usd | float | pro | Trade value normalized to USD See detail ↓ |
trade_size_bucket | string | pro | Size classification: WHALE through MICRO See detail ↓ |
execution_slippage_pct | float | alpha | Execution quality: premium or discount vs mark price See detail ↓ |
Derived Fields
trade_value_usdfloatprocollapseTrade value normalized to USD
USD value of the trade: amount * index_price * contract_size. Contract multipliers vary by coin: BTC=1, ETH=1, SOL=10, AVAX=100, XRP=1000, TRX=10000. Computed at insert time by the Lambda. Required for cross-coin volume comparison and USD-based whale thresholds.
USD normalization
trade_size_bucketstringprocollapseSize classification: WHALE through MICRO
USD-based trade size classification. WHALE: >= $250K (institutional). LARGE: >= $50K (significant). MEDIUM: >= $10K (active trader). SMALL: >= $1K (retail). MICRO: < $1K (noise). Generated column in PostgreSQL. These thresholds feed into ORIA fingerprint generation.
USD-based size thresholds
WHALE, LARGE, MEDIUM, SMALL, MICROexecution_slippage_pctfloatalphacollapseExecution quality: premium or discount vs mark price
How far the execution price deviated from the theoretical fair value. Positive = paid premium over mark (aggressive buyer, urgent entry). Negative = got discount (desperate seller, forced exit). Large negative slippage during liquidation events is a capitulation signal.
Execution slippage
Typically -0.05 to +0.05. Extremes during liquidation cascades.Suggested Calculations
Not included in the API response. Compute these client-side from the fields above. Formulas and context provided.
simple_buy_sell_countstringclient-sideThe simplest signal: are there more buys or sells?expandThe simplest signal: are there more buys or sells?
Count trades where direction = buy vs direction = sell. More buys = someone is lifting asks (aggressive demand). More sells = someone is hitting bids (aggressive supply). This is the most basic tape reading technique. It works because Deribit labels the aggressor, not just the trade side. In a balanced market, the count is roughly 50/50. Sustained imbalance above 60/40 precedes moves.
directiontrade_count_per_minutefloatclient-sideHow active is the options market right now?expandHow active is the options market right now?
Count trades per minute over your time window. Crypto options are much less liquid than spot: 5-10 trades per minute is normal for BTC options, 1-2 for altcoins. Sudden acceleration to 30+ trades per minute means something is happening (news, liquidation cascade, large order being executed in clips). Compare to your historical baseline.
trade_timestampinstrument_concentrationstringclient-sideWhich specific options are getting all the attention?expandWhich specific options are getting all the attention?
Group trades by instrument_name, sum amounts. If 80 pct of activity is in one strike/expiry, the market is making a very specific bet. The instrument name encodes strike and expiry (e.g. BTC-28MAR26-90000-C = BTC $90K call expiring Mar 28). Parse it to understand what people are betting on.
instrument_nameamountbuy_pressure_ratiofloatclient-sideDirectional sentiment weighted by USD volumeexpandDirectional sentiment weighted by USD volume
Sum buy USD volume / total USD volume. Above 0.65 = AGGRESSIVE_BUYING. Below 0.35 = AGGRESSIVE_SELLING. Between 0.45 and 0.55 = NEUTRAL. Dollar-weighting matters because one $500K whale buy cancels out fifty $1K retail sells. The raw trade count gives equal weight to a $100 trade and a $500K trade.
directiontrade_value_usdDollar-weighted buy pressure
0 to 1. Above 0.65 = aggressive buying. Below 0.35 = aggressive selling.iv_on_trade_analysisstringclient-sideAre buyers paying up for vol or getting it cheap?expandAre buyers paying up for vol or getting it cheap?
Compare average IV on buy trades vs sell trades. If buy-side IV is higher, buyers are chasing (willing to pay premium IV). If sell-side IV is higher, sellers are capitulating at poor prices. The spread between buy-IV and sell-IV is a microstructure signal for vol direction.
ivdirectiontrade_value_usdwhale_flow_directionstringclient-sideAre whales buying or selling? Institutional flow direction.expandAre whales buying or selling? Institutional flow direction.
Filter to WHALE + LARGE buckets and block trades, then compute buy pressure. Institutional flow direction often diverges from retail (the "smart money" signal). Combine with combo_id parsing to detect specific strategies (bull call spreads, protective puts, risk reversals).
trade_size_bucketblock_trade_iddirectiontrade_value_usdOr use the pre-computed endpointalpha
Pre-computed with combo strategy parsing, block/screen split, flow migration, and short-vol crowding detection at /v1/flow/intelligence (coming soon).
liquidation_detectionstringclient-sideDetect forced liquidation cascadesexpandDetect forced liquidation cascades
Filter for liquidation IS NOT NULL trades. Large slippage on liquidation trades = desperate exit. Clusters of 3+ liquidations within 10 minutes = cascade event. This is the purest capitulation signal in crypto options: someone was forced out, not choosing to exit.
liquidationtrade_value_usdexecution_slippage_pct