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

Volatility

Volatility skew

Returns cross-moneyness volatility skew analytics per expiration tenor. One row per (coin, expiration_bucket, timestamp) for 4 tenors: DTE_7, DTE_30, DTE_60, DTE_LONG. Contains the trader-standard skew metrics (25-delta risk reversal, butterfly, put/call skew), deep OTM tail metrics, smile shape analytics, normalized metrics for cross-asset comparison, skew momentum with 1h/24h/6h lookbacks, and regime classifications. These are the numbers every vol desk checks before putting on a trade. Source: ORIA cohort_iv_skew pipeline (v3.3, operational since January 2026).

GET/v1/vol/skewcoreproalpha

Query Parameters

coinstringrequired

Underlying asset. Required.

e.g.BTCETHSOL
expiration_bucketstringoptional

Filter: DTE_7, DTE_30, DTE_60, DTE_LONG. Default: all tenors.

e.g.DTE_7DTE_30
fromstringoptional

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

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

End UTC (ISO 8601). Default: now.

e.g.2026-03-09T00:00:00Z
limitintegeroptional

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

e.g.100

Response Schema

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

FieldTypeTierDescription
timestampdatetimecoreSnapshot time in UTC. Aligned to 10-minute boundary.
coinstringcoreUnderlying asset (BTC, ETH, SOL, XRP, AVAX, TRX).
expiration_bucketstringcoreTenor bucket: DTE_7 (weekly), DTE_30 (monthly), DTE_60 (quarterly), DTE_LONG (> 60 days).
atm_iv_pctfloatcoreATM implied volatility (pct) for this tenor. Liquidity-weighted from the ATM cohort. The anchor for all skew calculations.
atm_option_countintegeralphaNumber of options in the ATM cohort. Low count = less reliable skew.
atm_liquidity_weightfloatalphaTotal liquidity weight at ATM. Higher = more reliable anchor.
near_below_iv_pctfloatcoreNEAR_BELOW cohort IV (~25-delta puts). The put wing anchor.
below_iv_pctfloatcoreBELOW cohort IV (~15-delta puts).
far_below_iv_pctfloatcoreFAR_BELOW cohort IV (~10-delta puts). Deep OTM crash protection.
near_above_iv_pctfloatcoreNEAR_ABOVE cohort IV (~25-delta calls). The call wing anchor.
above_iv_pctfloatcoreABOVE cohort IV (~15-delta calls).
far_above_iv_pctfloatcoreFAR_ABOVE cohort IV (~10-delta calls). Deep OTM upside.
put_skew_25d_pctfloatproHow much are puts costing over ATM? The industry fear gauge.
See detail ↓
call_skew_25d_pctfloatproHow much are calls costing over ATM? Upside demand.
See detail ↓
risk_reversal_25d_pctfloatproDirectional sentiment from the options market. THE skew number.
See detail ↓
butterfly_25d_pctfloatproHow much are the wings worth vs ATM? Tail premium.
See detail ↓
deep_put_skew_pctfloatproCrash protection premium: how expensive are far OTM puts?
See detail ↓
deep_call_skew_pctfloatproMoonshot premium: how expensive are far OTM calls?
See detail ↓
deep_risk_reversal_pctfloatproTail asymmetry: are deep puts or deep calls more expensive?
See detail ↓
deep_butterfly_pctfloatproDeep tail premium over ATM
See detail ↓
put_wing_steepnessfloatproHow steeply does the put wing rise into the tail?
See detail ↓
call_wing_steepnessfloatproHow steeply does the call wing rise?
See detail ↓
smile_asymmetry_pctfloatproIs the smile tilted left (fear) or right (euphoria)?
See detail ↓
smile_convexity_pctfloatproHow curved is the overall smile?
See detail ↓
put_skew_normalizedfloatproPut skew adjusted for vol level: cross-asset comparable
See detail ↓
call_skew_normalizedfloatproCall skew normalized by ATM IV
See detail ↓
risk_reversal_normalizedfloatproRisk reversal normalized: the purest cross-asset sentiment comparison
See detail ↓
butterfly_normalizedfloatproButterfly normalized by ATM IV
See detail ↓
deep_put_skew_normalizedfloatproDeep put skew normalized
See detail ↓
deep_butterfly_normalizedfloatproDeep butterfly normalized
See detail ↓
risk_reversal_change_1h_pctfloatcoreRisk reversal change vs 1 hour ago. Fast-moving directional signal.
risk_reversal_change_24h_pctfloatcoreRisk reversal change vs 24 hours ago. Daily shift.
put_skew_change_1h_pctfloatcorePut skew change vs 1 hour ago.
put_skew_change_24h_pctfloatcorePut skew change vs 24 hours ago.
put_skew_change_6hfloatalpha6-hour put skew change. Medium-term velocity. Feeds into the velocity regime classification.
skew_momentum_directionstringcoreSTEEPENING (put skew increasing), FLATTENING (decreasing), STABLE.
skew_regimestringcoreRisk reversal regime: EXTREME_PUT, HIGH_PUT, MODERATE_PUT, NEUTRAL, MODERATE_CALL, HIGH_CALL, EXTREME_CALL.
tail_premium_regimestringcoreTail premium classification: EXTREME_TAIL, HIGH_TAIL, MODERATE_TAIL, LOW_TAIL.
smile_typestringcoreSmile shape: STEEP_PUT (left-skewed), SYMMETRIC, STEEP_CALL (right-skewed).
total_option_countintegercoreTotal options across all moneyness buckets for this tenor.
data_quality_tierstringcoreCOMPLETE (all buckets have data), PARTIAL, MINIMAL. Only trust skew from COMPLETE tiers.
moneyness_coverage_countintegeralphaHow many of 7 moneyness buckets have data (0-7). Below 5 = skew is unreliable.
avg_liquidity_scorefloatalphaAverage liquidity score across cohorts contributing to this tenor.
has_atm_databooleanalphaTRUE if ATM cohort has data. Without this, all skew is NULL.
has_near_below_databooleanalphaTRUE if NEAR_BELOW (25d put) cohort has data.
has_near_above_databooleanalphaTRUE if NEAR_ABOVE (25d call) cohort has data.
has_far_below_databooleanalphaTRUE if FAR_BELOW (deep OTM put) cohort has data.
has_far_above_databooleanalphaTRUE if FAR_ABOVE (deep OTM call) cohort has data.
tail_body_ratiofloatalphaIs the crash protection buying concentrated or broad?
See detail ↓
tail_body_regimestringalphaTwo stages. Stage one: a ratio above 3.0 is the gate out of NORMAL. Stage two splits the survivors by how concentrated the buying is, into TAIL_EVENT (far-OTM strikes) or BROAD_PANIC (spread across strikes); INSTITUTIONAL_HEDGE is a fourth state and is effectively front-week only. Base rates differ sharply by tenor, measured Jan-Sep 2026 across six coins: TAIL_EVENT fires on 9.7% of DTE_7 cycles but 80.5% / 82.6% / 77.2% at DTE_30 / DTE_60 / DTE_LONG, and BROAD_PANIC on 45.6% of DTE_7 against under 2% everywhere else. Read any label against the base rate of its own bucket. Note that BROAD_PANIC is a stage-two outcome, not a low-ratio one: its observed range is 2.50 to 25.81.
skew_velocity_regimestringalphaPer-tenor velocity: RAPID_STEEPENING (> 3 std in 1h), FAST_STEEPENING (> 2 std in 1h), GRADUAL_STEEPENING (> 2 std in 6h), STABLE, and mirror flattening regimes. Feeds contagion detection on coin_surface.

Derived Fields

FieldTypeTiercollapse all
▶put_skew_25d_pctfloatprocollapse

How much are puts costing over ATM? The industry fear gauge.

25-delta equivalent put skew: NEAR_BELOW IV minus ATM IV. Positive means puts trade at a premium to ATM (crash protection is expensive). This is the number Imran Lakha checks first every morning.

25-delta put skew

put_skew_25d=σNEAR_BELOW−σATM\text{put\_skew\_25d} = \sigma_{\text{NEAR\_BELOW}} - \sigma_{\text{ATM}}
RangeTypically 2-15 pct points for BTC. Spikes to 30+ during crashes.
▶call_skew_25d_pctfloatprocollapse

How much are calls costing over ATM? Upside demand.

NEAR_ABOVE IV minus ATM IV. Usually negative or small (calls trade at discount to ATM). Positive call skew is unusual and signals euphoria or short squeeze expectations.

25-delta call skew

call_skew_25d=σNEAR_ABOVE−σATM\text{call\_skew\_25d} = \sigma_{\text{NEAR\_ABOVE}} - \sigma_{\text{ATM}}
RangeTypically -3 to +3 pct points. Positive is unusual.
▶risk_reversal_25d_pctfloatprocollapse

Directional sentiment from the options market. THE skew number.

Call skew minus put skew. Negative means puts are more expensive than calls (bearish sentiment, crash protection demand dominates). Positive means calls are more expensive (bullish). This is the single most important directional signal from the options market.

Risk reversal (25-delta)

risk_reversal=call_skew_25d−put_skew_25d\text{risk\_reversal} = \text{call\_skew\_25d} - \text{put\_skew\_25d}
RangeTypically -15 to +5 for BTC. Below -10 = HIGH_PUT. Below -20 = EXTREME_PUT.
▶butterfly_25d_pctfloatprocollapse

How much are the wings worth vs ATM? Tail premium.

Average of put and call wing IV minus ATM IV. Measures total demand for both tails (crash protection + moonshot bets). High butterfly = the market expects a big move in either direction. Low butterfly = complacency.

Butterfly spread (25-delta)

butterfly=σNEAR_BELOW+σNEAR_ABOVE2−σATM\text{butterfly} = \frac{\sigma_{\text{NEAR\_BELOW}} + \sigma_{\text{NEAR\_ABOVE}}}{2} - \sigma_{\text{ATM}}
RangeTypically 1-8 pct points. Above 10 = extreme tail demand.
▶deep_put_skew_pctfloatprocollapse

Crash protection premium: how expensive are far OTM puts?

FAR_BELOW IV minus ATM IV. This is the deep tail, beyond 25-delta. Spikes during genuine fear events. When deep_put_skew rises faster than put_skew_25d, institutions are buying specific crash protection (tail_body_ratio > 3 = TAIL_EVENT).

Deep OTM put skew

deep_put_skew=σFAR_BELOW−σATM\text{deep\_put\_skew} = \sigma_{\text{FAR\_BELOW}} - \sigma_{\text{ATM}}
RangeTypically 5-25 pct points. Spikes to 40+ during panics.
▶deep_call_skew_pctfloatprocollapse

Moonshot premium: how expensive are far OTM calls?

FAR_ABOVE IV minus ATM IV. Moonshot premium. Spikes during euphoria or short squeeze fears.

Deep OTM call skew

deep_call_skew=σFAR_ABOVE−σATM\text{deep\_call\_skew} = \sigma_{\text{FAR\_ABOVE}} - \sigma_{\text{ATM}}
▶deep_risk_reversal_pctfloatprocollapse

Tail asymmetry: are deep puts or deep calls more expensive?

Deep call skew minus deep put skew. The extreme tail version of the risk reversal. More volatile than 25d RR, spikes harder during events.

Deep risk reversal

deep_RR=deep_call_skew−deep_put_skew\text{deep\_RR} = \text{deep\_call\_skew} - \text{deep\_put\_skew}
▶deep_butterfly_pctfloatprocollapse

Deep tail premium over ATM

Average of far OTM put and call IV minus ATM. The deep-wing version of the butterfly. High values = market pricing extreme tails on both sides.

Deep butterfly spread

deep_butterfly=σFAR_BELOW+σFAR_ABOVE2−σATM\text{deep\_butterfly} = \frac{\sigma_{\text{FAR\_BELOW}} + \sigma_{\text{FAR\_ABOVE}}}{2} - \sigma_{\text{ATM}}
▶put_wing_steepnessfloatprocollapse

How steeply does the put wing rise into the tail?

FAR_BELOW IV minus NEAR_BELOW IV. Measures how quickly IV accelerates as you go deeper OTM on the put side. Steeper = more crash premium concentrated in far OTM.

Put wing slope

put_wing_steepness=σFAR_BELOW−σNEAR_BELOW\text{put\_wing\_steepness} = \sigma_{\text{FAR\_BELOW}} - \sigma_{\text{NEAR\_BELOW}}
▶call_wing_steepnessfloatprocollapse

How steeply does the call wing rise?

FAR_ABOVE IV minus NEAR_ABOVE IV. The call-side equivalent.

Call wing slope

call_wing_steepness=σFAR_ABOVE−σNEAR_ABOVE\text{call\_wing\_steepness} = \sigma_{\text{FAR\_ABOVE}} - \sigma_{\text{NEAR\_ABOVE}}
▶smile_asymmetry_pctfloatprocollapse

Is the smile tilted left (fear) or right (euphoria)?

FAR_BELOW IV minus FAR_ABOVE IV. Positive = steeper put wing. The overall tilt of the volatility smile.

Smile asymmetry

asymmetry=σFAR_BELOW−σFAR_ABOVE\text{asymmetry} = \sigma_{\text{FAR\_BELOW}} - \sigma_{\text{FAR\_ABOVE}}
RangeTypically 0 to +20 for BTC. Negative is rare.
▶smile_convexity_pctfloatprocollapse

How curved is the overall smile?

Average of butterfly and deep butterfly. Total smile curvature. Higher = more pronounced smile.

Smile convexity

convexity=butterfly_25d+deep_butterfly2\text{convexity} = \frac{\text{butterfly\_25d} + \text{deep\_butterfly}}{2}
▶put_skew_normalizedfloatprocollapse

Put skew adjusted for vol level: cross-asset comparable

Put skew divided by ATM IV. Removes the regime effect: BTC put_skew = 5 at IV = 50 is the same normalized value (0.10) as ETH put_skew = 10 at IV = 100. Compare across coins and across time regardless of absolute vol level. Values above 0.10 indicate elevated fear.

Normalized put skew

put_skew_norm=put_skew_25dσATM\text{put\_skew\_norm} = \frac{\text{put\_skew\_25d}}{\sigma_{\text{ATM}}}
RangeTypically 0.02-0.20. Above 0.10 = elevated fear.
▶call_skew_normalizedfloatprocollapse

Call skew normalized by ATM IV

Call skew divided by ATM IV. Same normalization logic as put skew.

Normalized call skew

call_skew_norm=call_skew_25dσATM\text{call\_skew\_norm} = \frac{\text{call\_skew\_25d}}{\sigma_{\text{ATM}}}
▶risk_reversal_normalizedfloatprocollapse

Risk reversal normalized: the purest cross-asset sentiment comparison

Risk reversal divided by ATM IV. The definitive cross-asset sentiment comparison. Which coin has the most relative fear, controlling for its own vol level?

Normalized risk reversal

RR_norm=risk_reversal_25dσATM\text{RR\_norm} = \frac{\text{risk\_reversal\_25d}}{\sigma_{\text{ATM}}}
▶butterfly_normalizedfloatprocollapse

Butterfly normalized by ATM IV

Wing premium relative to the vol level.

Normalized butterfly

butterfly_norm=butterfly_25dσATM\text{butterfly\_norm} = \frac{\text{butterfly\_25d}}{\sigma_{\text{ATM}}}
▶deep_put_skew_normalizedfloatprocollapse

Deep put skew normalized

Deep OTM put premium relative to vol level.

Normalized deep put skew

deep_put_norm=deep_put_skewσATM\text{deep\_put\_norm} = \frac{\text{deep\_put\_skew}}{\sigma_{\text{ATM}}}
▶deep_butterfly_normalizedfloatprocollapse

Deep butterfly normalized

Deep tail premium relative to vol level.

Normalized deep butterfly

deep_bfly_norm=deep_butterflyσATM\text{deep\_bfly\_norm} = \frac{\text{deep\_butterfly}}{\sigma_{\text{ATM}}}
▶tail_body_ratiofloatalphacollapse

Is the crash protection buying concentrated or broad?

Deep put skew divided by 25-delta put skew. Above 3.0 = someone is specifically buying far OTM puts (tail event signature, often institutional). Below 1.0 = everyone is buying puts at all strikes (broad panic, often retail). The distinction matters: institutional tail buying is a better warning signal.

Tail-to-body ratio

tail_body_ratio=deep_put_skew_pctput_skew_25d_pct\text{tail\_body\_ratio} = \frac{\text{deep\_put\_skew\_pct}}{\text{put\_skew\_25d\_pct}}
RangeThe typical band moves with tenor, so read it against the matching expiry bucket. Mean across 2026: 6.55 at DTE_7, 16.86 at DTE_30, 22.30 at DTE_60, 19.14 at DTE_LONG (medians 6.0 / 13.5 / 15.5 / 13.5). Above 3.0 marks concentrated far-wing buying and is the gate into TAIL_EVENT or BROAD_PANIC; past a month it is cleared by roughly four cycles in five, so rank the ratio within its own expiry bucket rather than against the gate. Near expiry the denominator (put_skew_25d) collapses toward zero and the field returns the -9999 sentinel: filter it before aggregating.

Suggested Calculations

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

FieldTypeInputsexpand all
▶skew_direction_readstringclient-sideIs the market bullish or bearish? Read the skew.expand

Is the market bullish or bearish? Read the skew.

Risk reversal is the single most important number from the options market for directional sentiment. Negative = bearish (put premium dominates, traders are paying for downside protection). Positive = bullish (call premium dominates, traders are paying for upside). Beyond -5 = EXTREME_PUT fear. The skew_regime field classifies this for you, but understanding the raw number matters.

Inputsrisk_reversal_25d_pctskew_regime
▶skew_term_comparisonstringclient-sideIs the fear short-term or long-term? Compare across tenors.expand

Is the fear short-term or long-term? Compare across tenors.

Compare risk_reversal_25d_pct across DTE_7, DTE_30, DTE_60, DTE_LONG. If DTE_7 is deeply negative but DTE_60 is neutral, the market fears a near-term event but not structural damage. If ALL tenors are negative, the fear is structural. Front-loaded fear (DTE_7 >> DTE_60) often resolves at expiry. Back-loaded fear requires a catalyst to resolve.

Inputsrisk_reversal_25d_pctexpiration_bucket
▶butterfly_as_event_barometerfloatclient-sideHow much are traders paying for tail protection?expand

How much are traders paying for tail protection?

The butterfly measures wing demand vs body. Compare butterfly_25d_pct across tenors. High butterfly at DTE_7 = event hedging (specific date). High butterfly at DTE_LONG = structural tail fear. When butterfly spikes at one tenor but not others, there is likely a known event (FOMC, OPEX, CPI) near that expiry.

Inputsbutterfly_25d_pctexpiration_bucket
▶smile_shape_analysisstringclient-sideWhat shape is the volatility smile and what does it mean?expand

What shape is the volatility smile and what does it mean?

STEEP_PUT = left-skewed, crash fear. SYMMETRIC = balanced tail demand. STEEP_CALL = right-skewed, euphoria or short squeeze risk. The steepness numbers tell you how convex each wing is. Steep put wing + flat call wing = classic crash protection bid. Both wings steep = straddle-like demand for any large move.

Inputsput_wing_steepnesscall_wing_steepnesssmile_asymmetry_pctsmile_type
▶normalized_cross_coin_skewfloatclient-sideWhich coin has the most skew relative to its own vol level?expand

Which coin has the most skew relative to its own vol level?

Compare risk_reversal_normalized across coins. Raw put_skew = 5 in BTC (IV = 50) is the same implied fear as put_skew = 10 in ETH (IV = 100). Normalized skew removes the vol level and reveals pure relative sentiment. A coin with outsized normalized skew vs its peers is where the hedging demand is concentrated.

Inputsrisk_reversal_normalizedput_skew_normalizedcoin
▶velocity_contagion_screenstringclient-sideIs skew steepening across all tenors simultaneously?expand

Is skew steepening across all tenors simultaneously?

When skew_velocity_regime shows RAPID_STEEPENING or FAST_STEEPENING across 3+ tenors simultaneously, this is skew contagion: fear is spreading from front to back. This is the setup for a vol event. Single-tenor steepening is often noise or event-specific.

Inputsskew_velocity_regimeexpiration_bucket

Or use the pre-computed endpointalpha

Pre-computed as skew_contagion_score on /v1/vol/surface (coming soon).

▶tail_body_regime_alertstringclient-sideIs the crash protection buying concentrated or broad?expand

Is the crash protection buying concentrated or broad?

TAIL_EVENT (ratio > 3.0) means someone is specifically buying far OTM puts: targeted crash protection, often institutional. BROAD_PANIC (ratio < 1.0) means everyone is buying puts at all strikes: retail panic. Institutional tail buying is a better signal because they usually know something. Combine with tail_premium_regime: EXTREME_TAIL + TAIL_EVENT = highest conviction warning.

Inputstail_body_ratiotail_body_regimetail_premium_regime

Bi-weekly notes on crypto options and volatility, written for people who trade and study the market.

We use your email to send this newsletter and nothing else. Unsubscribe any time; each email carries a one-click link.

CayøLargo

Crypto options analytics platform: 37 Greeks, volatility surface intelligence, GEX gamma pinning, and flow analysis for BTC, ETH, SOL, XRP, AVAX, TRX. Updated every 10 minutes* from Deribit.

* - optimised data processing of 2500+ options every 10 min

Built by HAlcyon WAters

Halcyon Waters sp. z o.o. (LLC)

pl. Solny 2/3, 50-060 Wrocław, Poland

KRS: 0001245653, NIP: 8971973382

REGON: 54494305100000

© 2026 Halcyon Waters. All rights reserved.

Deribit today. Onchain options via Derive and Thalex ingesting now, cross-venue Greeks next • Supporting BTC, ETH, SOL, XRP, AVAX, TRX options, futures, perpetuals, spot rates

Risk Disclaimer: Cryptocurrency options trading involves substantial risk and may not be suitable for all investors. Past performance does not guarantee future results. This platform provides analytical tools for informational purposes only and should not be considered as financial advice. Please consult with a qualified financial advisor before making investment decisions.