Skip to main content
GET

What it returns

For a specific expiration, this endpoint returns:
  • GEX per strike — call, put, net, and total dealer gamma exposure at each listed strike
  • Key markers — gamma flip point, max pain, largest positive/negative GEX strikes (walls), max-volatility and max-stability price levels, spot reference, and aggregate totals
  • Asymmetry metrics — upside vs. downside GEX imbalance and bias direction
  • Metadata — current price, strike range, timestamp, exchange/coin/expiration
This is the most detailed GEX endpoint — it’s what powers the “GEX by Strike” chart on gammaflip.io.

Path parameters

exchange
string
required
Exchange name: bybit, deribit, okx, or all.
coin
string
required
Base coin symbol (uppercase).
expiration
string
required
Expiration date in DDMMMYY format (e.g., 25APR26), or TOTAL to combine all expirations into a single view.

Response shape

Field guide

  • gex_data — parallel arrays; index i across all arrays refers to the same strike. total_gex = call_gex - put_gex aggregated on dealers’ side.
  • flip_points — price level(s) where net dealer GEX crosses zero. Above the flip, dealer hedging is positive-gamma (stabilising); below, it’s negative-gamma (amplifying).
  • absolute_max / positive_max / negative_max — ranked lists of the largest absolute, positive, and negative GEX strikes. These are the “walls” where hedging flows concentrate.
  • stability_point — strike with the highest positive net GEX (strongest pinning effect).
  • volatility_point — strike with the most negative net GEX (biggest move-amplifier).
  • asymmetry — imbalance between upside and downside dealer exposure; bias is a qualitative read (bullish / bearish / neutral).
TOTAL aggregates all expirations for the given coin. Useful for getting an “all-positioning” view; individual expiration views are more precise for timing-specific trades.

Errors

400 invalid_exchange
error
Exchange not recognized.
404 no_data
error
No data for this coin/exchange/expiration combination. Common cause: the expiration doesn’t exist on that exchange (use /expirations/ first).