Skip to main content
GET
/
gex
/
by-strike-enhanced
/
{exchange}
/
{coin}
/
{expiration}
curl "https://api.gammaflip.io/api/v1/gex/by-strike-enhanced/all/BTC/25APR26" \
  -H "X-API-Key: gex_sk_your_key_here"
{
  "data": {
    "strikes": [
      { "strike": 70000, "gex": -12_500_000, "calls_gex": 4_000_000, "puts_gex": -16_500_000 },
      { "strike": 72000, "gex": 45_000_000,  "calls_gex": 50_000_000, "puts_gex": -5_000_000 }
    ],
    "markers": {
      "gamma_flip": 71500,
      "max_gamma": 72000,
      "current_price": 71800
    }
  },
  "meta": {
    "timestamp": "2026-04-14T10:00:00+00:00",
    "exchange": "all",
    "coin": "BTC",
    "expiration": "25APR26",
    "rate_limit": {
      "limit": 500,
      "remaining": 492,
      "reset": "2026-04-15T00:00:00+00:00"
    }
  }
}

What it returns

For a specific expiration, this endpoint returns:
  • GEX per strike — dealer gamma exposure at each strike price
  • Gamma profile curve — total gamma exposure modeled across all price levels (not just listed strikes)
  • Key markers — gamma flip, max gamma strike, major walls
  • Zones — price regions where dealer hedging is expected to accelerate (volatility triggers)
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

{
  "data": {
    "strikes": [
      { "strike": 70000, "gex": 12345, "calls_gex": ..., "puts_gex": ... }
    ],
    "gamma_profile": [
      { "price": 70000, "gamma": 0.042 }
    ],
    "markers": {
      "gamma_flip": 71500,
      "max_gamma": 72000,
      "current_price": 71800
    },
    "zones": [ { "type": "volatility_trigger", "price": 73000 } ],
    "metadata": {
      "basecoin": "BTC",
      "expiration": "25APR26",
      "exchange": "all"
    }
  }
}
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).
curl "https://api.gammaflip.io/api/v1/gex/by-strike-enhanced/all/BTC/25APR26" \
  -H "X-API-Key: gex_sk_your_key_here"
{
  "data": {
    "strikes": [
      { "strike": 70000, "gex": -12_500_000, "calls_gex": 4_000_000, "puts_gex": -16_500_000 },
      { "strike": 72000, "gex": 45_000_000,  "calls_gex": 50_000_000, "puts_gex": -5_000_000 }
    ],
    "markers": {
      "gamma_flip": 71500,
      "max_gamma": 72000,
      "current_price": 71800
    }
  },
  "meta": {
    "timestamp": "2026-04-14T10:00:00+00:00",
    "exchange": "all",
    "coin": "BTC",
    "expiration": "25APR26",
    "rate_limit": {
      "limit": 500,
      "remaining": 492,
      "reset": "2026-04-15T00:00:00+00:00"
    }
  }
}