ORIA
Option fingerprints
Per-option activity state, carried cycle to cycle. Each option is classified on five dimensions (volume, flow, trade pressure, whale participation, velocity) and compared against its own previous cycle, so a change in behaviour is a field rather than something you have to diff yourself. This is the substrate that makes quiet repositioning visible before it shows up in aggregate open interest. Roughly 2,400 rows per cycle across all six coins. Source: deribit_options_oria_option_fingerprints, ORIA Layer 3.
/v1/oria/fingerprintscoreproalphaQuery Parameters
coinstringrequiredUnderlying asset. Required.
BTCETHSOLinstrument_namestringoptionalFilter to one option by its Deribit name.
BTC-26DEC26-100000-Coption_typestringoptionalFilter: call or put.
callputcohort_namestringoptionalFilter by cohort, e.g. ATM_DTE_30.
ATM_DTE_30changed_onlybooleanoptionalOnly options whose trade behaviour changed bucket this cycle. The cheapest way to ask "what moved". Alpha, since it filters on the change-detection layer.
truefromstringoptionalStart UTC (ISO 8601). Default: latest snapshot.
2026-08-01T00:00:00ZtostringoptionalEnd UTC (ISO 8601). Default: now.
2026-08-02T00:00:00ZlimitintegeroptionalMax rows returned. Default 500. The effective ceiling is your tier row limit, see Tiers and Limits.
5000Response Schema
Fields marked pro require a Pro subscription. Fields marked alpha require Alpha.
| Field | Type | Tier | Description |
|---|---|---|---|
timestamp | datetime | core | ORIA cycle timestamp in UTC, aligned to a 10-minute boundary. |
coin | string | core | Underlying asset. |
instrument_id | integer | core | Internal instrument PK. Joins to /v1/instruments/options. |
instrument_name | string | core | Deribit canonical name, e.g. BTC-26DEC26-100000-C. |
option_type | string | core | Call or put. |
days_to_expiry | integer | core | Days until expiration at this cycle. |
volume_usd | float | core | Rolling 24h traded volume in USD for this option. |
buy_volume_usd | float | core | Buy-aggressor volume in USD. Combo legs excluded, because a combo has no single aggressor direction. |
sell_volume_usd | float | core | Sell-aggressor volume in USD. Combo legs excluded. |
total_trade_volume_usd | float | core | All executed volume including combos. Exceeds buy + sell by the combo share, which is the honest way to show it. |
whale_trade_count | integer | core | Trades at or above $250K. |
large_trade_count | integer | core | Trades between $50K and $250K. |
block_trade_count | integer | core | Deribit block trades: negotiated off the order book, reported to the tape. |
trade_event_count | integer | core | Distinct trade events this cycle. A combo counts once, not once per leg. |
liquidation_count | integer | core | Forced liquidation trades. Near-zero on Deribit by design: portfolio margin rarely forces them. |
moneyness_bucket | string | core | ATM, NEAR_ABOVE, NEAR_BELOW, FAR_OTM_CALL, FAR_OTM_PUT or DEEP_ITM. |
expiration_bucket | string | core | DTE_0, DTE_7, DTE_30, DTE_60, DTE_90, DTE_180 or DTE_365. |
cohort_name | string | core | Moneyness and expiration combined, e.g. ATM_DTE_30. Joins to /v1/greeks/cohort. |
tier_level | integer | core | Liquidity tier: 1 is the top 5% of options by liquidity, 4 the bottom 50%. Use it to weight or discard thin instruments. |
is_expiring | boolean | core | True when days_to_expiry is 1 or less. |
is_near_expiry | boolean | core | True when days_to_expiry is 7 or less. Near-expiry options behave differently enough that most analysis should separate them. |
volume_bucket | string | pro | How active is this option, in absolute terms? See detail ↓ |
previous_volume_bucket | string | core | The same classification one cycle earlier. Supplied so you can see the transition without holding state yourself. |
previous_volume_usd | float | core | Previous cycle volume in USD. |
volume_change_usd | float | core | Absolute change in USD from the previous cycle. |
volume_change_pct | float | core | Percentage change from the previous cycle. NULL when the previous cycle was zero. |
flow_bucket | string | pro | Is capital arriving or leaving this option? See detail ↓ |
buy_pressure_ratio | float | pro | What share of the aggression was buying? See detail ↓ |
trade_pressure_bucket | string | pro | Which way was the aggression leaning? See detail ↓ |
whale_activity_bucket | string | pro | Who was trading this option? See detail ↓ |
trades_per_minute | float | core | Trade events divided by the 10-minute cycle length. |
trade_velocity_bucket | string | pro | How fast was it trading? See detail ↓ |
avg_trade_size_usd | float | core | Mean executed trade size in USD this cycle. |
trade_impact_bucket | string | pro | How large was the typical print relative to the book? See detail ↓ |
avg_execution_slippage | float | core | Mean slippage across this cycle trades. High slippage on high volume means the book could not absorb the flow. |
has_liquidations | boolean | core | True when liquidation_count exceeds zero. |
volume_bucket_changed | boolean | alpha | Did this option cross a volume regime this cycle? See detail ↓ |
trade_pressure_changed | boolean | alpha | Did the aggression flip? See detail ↓ |
whale_activity_changed | boolean | alpha | Did the participant mix change? See detail ↓ |
trade_velocity_changed | boolean | alpha | Did the pace change? See detail ↓ |
trade_impact_changed | boolean | alpha | Did typical trade size change regime? See detail ↓ |
any_trade_bucket_changed | boolean | alpha | Did anything about this option behave differently? See detail ↓ |
fingerprint_string | string | alpha | The full state of this option, as one comparable token. See detail ↓ |
trade_fingerprint_string | string | alpha | The same token, restricted to executed-trade behaviour. See detail ↓ |
Derived Fields
volume_bucketstringprocollapseHow active is this option, in absolute terms?
WHALE, HIGH, MEDIUM, LOW or INACTIVE, from volume_usd. The bucket rather than the number is what change detection compares, so a $2M option drifting to $2.1M is not a change but one crossing into WHALE is.
flow_bucketstringprocollapseIs capital arriving or leaving this option?
SURGE, INFLOW, STABLE, OUTFLOW or DUMP, from volume_change_pct. Direction of capital rather than direction of price.
buy_pressure_ratiofloatprocollapseWhat share of the aggression was buying?
Buy-aggressor volume over total aggressor volume. Above 0.5 means takers were lifting offers more than hitting bids.
Buy pressure
0 to 1. NULL when nothing traded.trade_pressure_bucketstringprocollapseWhich way was the aggression leaning?
AGGRESSIVE_BUYING through AGGRESSIVE_SELLING, from buy_pressure_ratio.
whale_activity_bucketstringprocollapseWho was trading this option?
HIGH_WHALE through RETAIL_ONLY, from the whale, large and block trade counts. The fastest read on whether a move is institutional.
trade_velocity_bucketstringprocollapseHow fast was it trading?
FRENZY through SILENT, from trades_per_minute. Velocity separates one large print from sustained interest.
trade_impact_bucketstringprocollapseHow large was the typical print relative to the book?
Classification from avg_trade_size_usd. Distinguishes many small trades from few large ones at the same total volume.
volume_bucket_changedbooleanalphacollapseDid this option cross a volume regime this cycle?
True when volume_bucket differs from the previous cycle. Crossing a boundary is the event; drifting inside one is not.
trade_pressure_changedbooleanalphacollapseDid the aggression flip?
True when trade_pressure_bucket transitioned. A flip from selling to buying on an option that was quiet is the shape worth looking at.
whale_activity_changedbooleanalphacollapseDid the participant mix change?
True when whale_activity_bucket transitioned. Retail-only turning whale-active on a strike is a positioning signal before it is a volume signal.
trade_velocity_changedbooleanalphacollapseDid the pace change?
True when trade_velocity_bucket transitioned.
trade_impact_changedbooleanalphacollapseDid typical trade size change regime?
True when trade_impact_bucket transitioned. Same volume arriving in larger prints usually means a different participant.
any_trade_bucket_changedbooleanalphacollapseDid anything about this option behave differently?
True when any of the trade-behaviour buckets transitioned. The single field to filter on when scanning for what moved. Equivalent to the changed_only parameter.
fingerprint_stringstringalphacollapseThe full state of this option, as one comparable token.
Every bucket concatenated into a single string. Two cycles with identical fingerprints are behaviourally identical, which makes change detection a string comparison rather than a multi-column diff. This is the value that feeds the triple-hash at /v1/oria/snapshots.
trade_fingerprint_stringstringalphacollapseThe same token, restricted to executed-trade behaviour.
Excludes the volume-state dimensions, so it isolates how the option was traded from how much. Useful when volume is flat but execution character shifts.
Suggested Calculations
Not included in the API response. Compute these client-side from the fields above. Formulas and context provided.
stealth_accumulation_scanobjectclient-sideWhich options are being accumulated quietly?expandWhich options are being accumulated quietly?
Filter to whale_activity_changed with a buy_pressure_ratio above 0.6 and a volume_bucket that did NOT change. That combination is the definition of quiet: institutional participants arriving without moving the option into a higher volume regime, which is what aggregate open interest would need before it showed anything.
Or use the pre-computed endpointalpha
Aggregated to the coin level at /v1/oria/snapshots, where the same behaviour appears as a flow_hash change without a state_hash change.
absorption_checkfloatclient-sideIs the book absorbing this flow or breaking under it?expandIs the book absorbing this flow or breaking under it?
Compare avg_execution_slippage against volume_usd within a tier_level. Options taking large volume at low slippage have a market maker willing to warehouse the risk. The same volume at rising slippage means the other side is stepping away, which usually precedes a repricing.
avg_execution_slippagevolume_usdtier_levelOr use the pre-computed endpointalpha
Book depth and spread metrics per option at /v1/liquidity/options.