Skip to main content
GET
GEX by strike
Gamma exposure aggregated by strike. Filter by ?expiry=all|0dte|<token> and by strike window (strike_min/max, moneyness_min/max, spot_window_pct). Default positioning=flow. See Positioning.

Venues

Optional ?exchanges= CSV filters the multi-venue OI roll-up. Allowed IDs: deribit, bybit, okx, binance, derive, thalex, delta_india, delta. Responses include available_exchanges with the full chain set so clients can render stable filter chips even when a venue contributed zero OI on this cycle. Underlying OI is coin-unit across venues. Venue coverage.

See also

What is GEX?

Flow vs std

GEX levels

Flow by strike

Authorizations

X-API-Key
string
header
required

Your BackQuant API key (same key as v1)

Headers

X-API-Key
string | null

Query Parameters

symbol
enum<string>
default:BTCUSDT

Trading symbol: BTCUSDT, ETHUSDT, SOLUSDT, or HYPEUSDT.

Available options:
BTCUSDT,
ETHUSDT,
SOLUSDT,
HYPEUSDT
exchanges
string | null

Comma-separated venue filter, e.g. deribit,bybit. Restricts the response to those venues' contribution, recomputed from the per-venue breakdown - it is a re-aggregation, not a post-hoc scaling. Unknown names are ignored; an all-invalid filter returns every venue rather than nothing. Venues: deribit, bybit, okx, binance, derive, thalex, delta_india, delta. A venue with no contracts on the surface contributes zero - use GET /v2/status to tell that apart from a venue that is switched off.

expiry
string
default:all

Which expiry to include: all for every expiry, 0dte for today's expiry only, or a specific date (YYYY-MM-DD) or Deribit token (28MAR25).

strike_min
number | null

Absolute lower strike bound

Required range: x >= 0
strike_max
number | null

Absolute upper strike bound

Required range: x >= 0
moneyness_min
number | null

Strike/spot lower bound (e.g. 0.9)

Required range: 0 <= x <= 10
moneyness_max
number | null

Strike/spot upper bound (e.g. 1.1)

Required range: 0 <= x <= 10
spot_window_pct
number | null

Symmetric strike window in % around spot (e.g. 5 for ±5%)

Required range: 0 <= x <= 200
positioning
string
default:flow

Dealer positioning model. flow (default) is BackQuant's measured dealer model, available for BTC/ETH; it falls back to std when it cannot be produced for a symbol. std is the textbook convention (call:+OI / put:-OI). The response reports which model actually ran in meta.extra.positioning.

as_of
string | null

ISO-8601 instant to answer as of, e.g. 2026-08-20T14:30:00Z. Omit for the current value. Resolves to the nearest chain snapshot AT OR BEFORE the requested time (never after, which would be look-ahead bias); the snapshot actually used and the lag are reported in meta.extra.as_of. Under positioning=flow the dealer flow map is rebuilt from the tape as it stood at that instant, so a given timestamp always returns the same numbers. Bounded by your plan's history window.

Response

Successful Response

data
GexStrikeProfileData · object
required
meta
V2Meta · object
required

The meta block returned alongside every v2 response.

Every field after version/timestamp is optional because endpoints attach different combinations - e.g. /v2/status skips symbol, the chain endpoint sets extra.filter_hash, etc. Listing them here means SDKs get a typed accessor for each instead of a generic meta: dict.

success
boolean
default:true