CayøLargo
← Back to siteAPI ReferencePricingChangelog
v1.0Swagger ↗

ORIA

Activity snapshots

One row per coin per cycle: a full census of the options book, plus triple-hash change detection over it. Every option is fingerprinted (see /v1/oria/fingerprints), then three independent hashes are computed over the whole book: state (what each option is doing), flow (where capital is moving) and structure (how concentrated the cohorts are). Comparing each hash to the previous cycle turns "something changed" into a field, and which combination changed tells you what kind of change it was. Six rows per cycle, so the entire history is cheap to pull. Source: deribit_options_oria_activity_snapshots, ORIA Layer 5.

GET/v1/oria/snapshotscoreproalpha

Query Parameters

coinstringrequired

Underlying asset. Required.

e.g.BTCETHSOL
patternstringoptional

Filter by change_pattern, e.g. FR for stealth accumulation. Alpha, since it filters on the change-detection layer.

e.g.FRSFRSF
changed_onlybooleanoptional

Only cycles where at least one hash changed. Note this currently keeps 99.9% of cycles: see change_pattern for why. Kept because it will discriminate again if the hash sensitivity is retuned.

e.g.true
fromstringoptional

Start UTC (ISO 8601). Default: latest snapshot.

e.g.2026-08-01T00:00:00Z
tostringoptional

End UTC (ISO 8601). Default: now.

e.g.2026-08-07T00:00:00Z
limitintegeroptional

Max rows returned. Default 500. The effective ceiling is your tier row limit, see Tiers and Limits.

e.g.1000

Response Schema

Fields marked pro require a Pro subscription. Fields marked alpha require Alpha.

FieldTypeTierDescription
timestampdatetimecoreORIA cycle timestamp in UTC, aligned to a 10-minute boundary.
coinstringcoreUnderlying asset. One row per coin per cycle.
total_optionsintegercoreOptions tracked this cycle.
active_optionsintegercoreOptions with any volume this cycle.
call_optionsintegercoreCalls tracked.
put_optionsintegercorePuts tracked.
no_trades_optionsintegercoreOptions with no executed trades this cycle.
whale_volume_optionsintegercoreOptions in the WHALE volume bucket.
high_volume_optionsintegercoreOptions in the HIGH volume bucket.
medium_volume_optionsintegercoreOptions in the MEDIUM volume bucket.
low_volume_optionsintegercoreOptions in the LOW volume bucket.
total_volume_usdfloatcoreTotal traded volume across the book, USD.
call_volume_usdfloatcoreCall volume, USD.
put_volume_usdfloatcorePut volume, USD.
buy_volume_usdfloatcoreBuy-aggressor volume, USD.
sell_volume_usdfloatcoreSell-aggressor volume, USD.
total_whale_volume_usdfloatcoreVolume from trades at or above $250K, USD.
gross_inflow_usdfloatcoreSum of positive volume changes across options, USD.
gross_outflow_usdfloatcoreSum of negative volume changes, USD, as a positive number.
call_inflow_usdfloatcoreGross inflow into calls, USD.
call_outflow_usdfloatcoreGross outflow from calls, USD.
put_inflow_usdfloatcoreGross inflow into puts, USD.
put_outflow_usdfloatcoreGross outflow from puts, USD.
flow_options_countintegercoreOptions whose volume changed enough to be classified into a flow bucket.
total_cohortsintegercoreCohorts in the 7 moneyness x 4 expiry grid carrying data this cycle.
call_put_ratiofloatproCall volume against put volume
See detail ↓
net_flow_usdfloatproNet capital direction this cycle
See detail ↓
flow_balance_ratiofloatproHow one-sided was the flow?
See detail ↓
whale_volume_pctfloatproHow much of the tape was institutional?
See detail ↓
bullish_volume_pctfloatproShare of volume in bullish positioning
See detail ↓
bearish_volume_pctfloatproShare of volume in bearish positioning
See detail ↓
overall_positioningstringproWhere is the book leaning?
See detail ↓
overall_flow_directionstringproWhich way is capital moving?
See detail ↓
overall_execution_skewstringproWhich side was aggressing?
See detail ↓
aggressive_buying_optionsintegercoreOptions classified AGGRESSIVE_BUYING.
moderate_buying_optionsintegercoreOptions classified MODERATE_BUYING.
neutral_pressure_optionsintegercoreOptions with balanced aggressor flow.
moderate_selling_optionsintegercoreOptions classified MODERATE_SELLING.
aggressive_selling_optionsintegercoreOptions classified AGGRESSIVE_SELLING.
high_whale_optionsintegercoreOptions with heavy whale participation.
moderate_whale_optionsintegercoreOptions with moderate whale participation.
surge_countintegercoreOptions in the SURGE flow bucket.
inflow_countintegercoreOptions in the INFLOW flow bucket.
outflow_countintegercoreOptions in the OUTFLOW flow bucket.
dump_countintegercoreOptions in the DUMP flow bucket.
highly_concentrated_cohortsintegercoreCohorts where volume sits in very few instruments, by HHI.
moderately_concentrated_cohortsintegercoreCohorts with moderate HHI concentration.
competitive_cohortsintegercoreCohorts with volume spread across many instruments.
dispersed_cohortsintegercoreCohorts with no concentration at all.
monopoly_cohortsintegercoreCohorts where a single instrument dominates.
oligopoly_cohortsintegercoreCohorts dominated by a handful of instruments.
balanced_cohortsintegercoreCohorts with balanced instrument participation.
fragmented_cohortsintegercoreCohorts with highly fragmented participation.
extreme_bullish_cohortsintegercoreCohorts positioned extremely bullish.
bullish_cohortsintegercoreCohorts positioned bullish.
neutral_cohortsintegercoreCohorts with no directional lean.
bearish_cohortsintegercoreCohorts positioned bearish.
extreme_bearish_cohortsintegercoreCohorts positioned extremely bearish.
strong_inflow_cohortsintegercoreCohorts taking strong capital inflow.
inflow_cohortsintegercoreCohorts taking inflow.
balanced_flow_cohortsintegercoreCohorts with balanced flow.
outflow_cohortsintegercoreCohorts losing capital.
strong_outflow_cohortsintegercoreCohorts losing capital strongly.
strong_buy_cohortsintegercoreCohorts with strong buy-side aggression.
mild_buy_cohortsintegercoreCohorts with mild buy-side aggression.
neutral_trade_cohortsintegercoreCohorts with balanced aggression.
mild_sell_cohortsintegercoreCohorts with mild sell-side aggression.
strong_sell_cohortsintegercoreCohorts with strong sell-side aggression.
no_data_cohortsintegercoreCohorts with no executed trades this cycle.
high_whale_cohortsintegercoreCohorts with heavy whale participation.
moderate_whale_cohortsintegercoreCohorts with moderate whale participation.
low_whale_cohortsintegercoreCohorts with light whale participation.
no_whale_cohortsintegercoreCohorts with no whale trades.
state_hashstringalphaWhat every option is doing, as one value.
See detail ↓
flow_hashstringalphaWhere capital is moving, as one value.
See detail ↓
structure_hashstringalphaHow concentrated the book is, as one value.
See detail ↓
previous_state_hashstringalphaThe previous cycle state_hash, supplied so you do not have to hold state.
previous_flow_hashstringalphaThe previous cycle flow_hash.
previous_structure_hashstringalphaThe previous cycle structure_hash.
state_changedbooleanalphastate_hash differs from the previous cycle. NULL-safe: two consecutive quiet cycles read as unchanged, not changed.
flow_changedbooleanalphaflow_hash differs from the previous cycle.
structure_changedbooleanalphastructure_hash differs from the previous cycle.
any_changebooleanalphaAny of the three hashes moved. True on 99.9% of cycles as measured over the last six months, because state_hash is saturated. See change_pattern.
change_patternstringalphaWhich combination of hashes moved, and therefore what kind of change it was.
See detail ↓
changed_cohorts_countintegeralphaCohorts whose classification changed this cycle.
changed_cohort_namesarrayalphaWhich cohorts changed, by name. Turns a count into somewhere to look.
top_flow_instrumentsjsonalphaThe instruments carrying the largest flow this cycle, with their USD amounts. The bridge from a coin-level reading to specific options.
contradictory_cohortsjsonalphaWhere is the book disagreeing with itself?
See detail ↓
contradictory_countintegeralphaHow many cohorts are contradictory this cycle.
positioning_outlier_cohortsjsonalphaCohorts whose positioning deviates most from the book.
positioning_outlier_countintegeralphaHow many positioning outliers.
execution_outlier_cohortsjsonalphaCohorts whose execution skew deviates most from the book.
execution_outlier_countintegeralphaHow many execution outliers.
whale_outlier_cohortsjsonalphaCohorts with anomalous whale concentration.
whale_outlier_countintegeralphaHow many whale outliers.
flow_outlier_cohortsjsonalphaCohorts with anomalous flow relative to the book.
flow_outlier_countintegeralphaHow many flow outliers.
max_positioning_deviationstringalphaThe largest positioning deviation observed this cycle.
max_positioning_cohortstringalphaThe cohort carrying that deviation.
max_whale_volume_pctfloatalphaThe highest whale volume share in any single cohort.
max_whale_cohortstringalphaThe cohort carrying that whale share.
call_flow_bias_7dfloatalphaSeven-day rolling bias in call flow. Smooths a single cycle into a stance.
put_flow_bias_7dfloatalphaSeven-day rolling bias in put flow.
flow_bias_divergencefloatalphaAre calls and puts telling the same story over the week?
See detail ↓
flow_bias_regimestringalphaClassification of the 7-day bias divergence into a regime label.

Derived Fields

FieldTypeTiercollapse all
call_put_ratiofloatprocollapse

Call volume against put volume

Call USD volume divided by put USD volume for the whole book.

Call/put volume ratio

VcallVput\frac{V_{\text{call}}}{V_{\text{put}}}
RangeAbove 1 is call-heavy.
net_flow_usdfloatprocollapse

Net capital direction this cycle

Gross inflow minus gross outflow, USD. Positive means capital arrived on net.

flow_balance_ratiofloatprocollapse

How one-sided was the flow?

Inflow as a share of total flow. Near 0.5 the book churned; away from it, capital moved in one direction.

Range0 to 1.
whale_volume_pctfloatprocollapse

How much of the tape was institutional?

Whale volume as a percentage of total volume. The single fastest read on who was trading.

bullish_volume_pctfloatprocollapse

Share of volume in bullish positioning

Percentage of volume in cohorts classified bullish.

bearish_volume_pctfloatprocollapse

Share of volume in bearish positioning

Percentage of volume in cohorts classified bearish.

overall_positioningstringprocollapse

Where is the book leaning?

Book-level positioning classification, from the bullish and bearish volume shares.

overall_flow_directionstringprocollapse

Which way is capital moving?

Book-level flow classification, from net_flow_usd and flow_balance_ratio.

overall_execution_skewstringprocollapse

Which side was aggressing?

Book-level execution classification, from buy and sell aggressor volume.

state_hashstringalphacollapse

What every option is doing, as one value.

Hash over the volume-state fingerprint of every option in the book. It moves when any option crosses a volume regime. CURRENTLY SATURATED: with roughly 400 options in the book and volume measured on a rolling window, at least one crosses a bucket boundary on almost every cycle, so this hash changed on 99.8% of cycles over the last six months and produced 427 distinct values across 427 consecutive BTC cycles. It is doing what it was built to do; the book is simply never still enough for the answer to be no. Use flow_hash for a signal that discriminates, and read state_hash as a fingerprint of the exact book state rather than as a change indicator.

flow_hashstringalphacollapse

Where capital is moving, as one value.

Hash over the flow classification of every option. It moves when capital shifts between instruments, including when the instruments involved stay in the same volume bucket. That independence from state_hash is what makes quiet repositioning detectable.

structure_hashstringalphacollapse

How concentrated the book is, as one value.

Hash over per-cohort concentration (HHI). It moves when volume redistributes between instruments inside a cohort, which is invisible in any coin-level aggregate.

change_patternstringalphacollapse

Which combination of hashes moved, and therefore what kind of change it was.

One of NONE, S, F, R, SF, SR, FR, SFR, where S is state, F is flow and R is structure. READ THE MEASURED DISTRIBUTION BEFORE BUILDING ON THIS, because it is not evenly spread. Over the 30 days to 2026-08-07: SFR 56.9%, SR 37.2%, S 5.5%, R 0.1%, NONE 0.1%, FR 0.04% (10 cycles), SF 0.03%, F absent. The reason is that state_hash currently moves on 99.8% of cycles, so any pattern requiring state to be UNCHANGED is rare by construction. That includes FR, the stealth-accumulation shape, which fired 816 times in January 2026 and roughly 15 times a month since. Treat flow_changed as the informative signal here (it moves on about 58% of cycles and has been stable at that level throughout), and treat state_changed as close to always-on. We are documenting this rather than quietly shipping a saturated indicator.

Change pattern encoding

pattern={SFRall threeFRflow and structureNONEotherwise\text{pattern} = \begin{cases} \text{SFR} & \text{all three} \\ \text{FR} & \text{flow and structure} \\ \text{NONE} & \text{otherwise} \end{cases}
contradictory_cohortsjsonalphacollapse

Where is the book disagreeing with itself?

Cohorts whose positioning and execution point in opposite directions: bullish positioning being sold into, or bearish positioning being bought. Disagreement inside one book is usually where the interesting trade is.

flow_bias_divergencefloatalphacollapse

Are calls and puts telling the same story over the week?

Call bias minus put bias. Near zero the two wings agree. A widening divergence means one wing is being accumulated while the other is not, which is a directional stance building over days rather than a single cycle reading.

Suggested Calculations

Not included in the API response. Compute these client-side from the fields above. Formulas and context provided.

FieldTypeInputsexpand all
flow_only_repositioningobjectclient-sideThe version of the stealth signal that actually fires.expand

The version of the stealth signal that actually fires.

The documented route to stealth accumulation is change_pattern = FR, but that requires state_changed to be false and state is currently almost always true, so FR fires around 10 times a month across all six coins. Build on flow_changed instead: take cycles where flow_changed is true, net_flow_usd is meaningfully one-sided, and whale_volume_pct sits above its own recent median. That selects roughly 58% of cycles before the volume and whale filters, which is a population you can actually work with, and it isolates the same thing FR was reaching for: capital moving with institutional participation. Then read top_flow_instruments to see which options carried it.

Inputsflow_changednet_flow_usdwhale_volume_pcttop_flow_instruments

Or use the pre-computed endpointalpha

Drill into the named instruments at /v1/oria/fingerprints, where whale_activity_changed is per-option and does not suffer the same saturation.

persistent_flowintegerclient-sideConviction, measured as repetition.expand

Conviction, measured as repetition.

Count consecutive cycles with the same overall_flow_direction and meaningful net_flow_usd. Three or more in a row was the more reliable of the two signals found in validation, ahead of any single-cycle pattern. One cycle is noise; a sequence is somebody working an order.

Inputsoverall_flow_directionnet_flow_usd