Gamma & Hedge Scenarios
Modeled gamma exposure, walls, flip levels and an options regime, with price, time and volatility what-ifs. Dealer hedge ladders depend on an explicit positioning scenario — theoretical sensitivity, not observed dealer orders.
What it does
Crypto options gamma exposure (modeled): gross and dealer-signed GEX in USD per 1% move, by strike and expiry, gamma walls, modeled gamma flip levels, options-derived price levels (call/put OI walls, gamma concentrations, max pain, high-sensitivity zones) and a rule-based options regime (positive/negative modeled gamma, near flip, expiry concentration, elevated/compressed vol), with perp funding/OI/liquidations/order book as a separate evidence block. What-ifs: hedging=true adds theoretical dealer hedge ladders (spot ±0.5–5%, charm 1–24h and through the next expiry, vanna ±1/2/5 vol points); target_price / horizon_hours / iv_change reprice the same frozen contracts (GEX, dealer delta, hedge, flips and walls before vs after). Signed numbers depend on an explicit dealer-positioning scenario; modeled, not observed orders.
Parameters
| Name | Type | Description |
|---|---|---|
currencyrequiredpath | string | Underlying symbol, e.g. "BTC". |
scenarioquery | string | Assumed dealer positioning (public OI can't show it). Default calls_long_puts_short: dealers long calls, short puts.calls_long_puts_shortshort_alllong_all |
hedgingquery | boolean | Add theoretical dealer hedge ladders (price, charm, vanna). Implied by any what-if parameter. |
price_change_pctquery | number | Extra custom spot move for the hedge ladder, percent (e.g. -3). |
target_pricequery | number | What-if: underlying price to reprice at. |
horizon_hoursquery | number | What-if: hours to advance (0–2160). Contracts expiring in between drop out. |
iv_changequery | number | What-if: absolute IV shift in vol points (e.g. -2). |
expiryquery | string | What-if/hedging scope: only this expiry ("next", "2026-11-27" or "27NOV26"). Default all. |
Call it
One API key works for MCP, REST and WebSocket; each call uses one unit. Agents without an account can pay per call with x402.
curl "https://mcp.f1ow.com/v1/options/gamma/BTC" \
-H "Authorization: Bearer $F1OW_API_KEY"{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "options_gamma",
"arguments": {
"currency": "BTC"
}
}
}const res = await fetch("https://mcp.f1ow.com/v1/options/gamma/BTC", {
headers: { Authorization: `Bearer ${process.env.F1OW_API_KEY}` },
});
const data = await res.json(); // the tool's result as JSON, typed in the OpenAPI spec
console.log(data);import os, requests
res = requests.get(
"https://mcp.f1ow.com/v1/options/gamma/BTC",
headers={"Authorization": f"Bearer {os.environ['F1OW_API_KEY']}"},
)
data = res.json() # the tool's result as JSON, typed in the OpenAPI spec
print(data)// wss://mcp.f1ow.com/v1/ws — subprotocol "jsonrpc-2.0", Authorization: Bearer <key>
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "options_gamma",
"arguments": {
"currency": "BTC"
}
}
}
// Or push a fresh result whenever it changes (minimum interval 15 s)
{
"jsonrpc": "2.0",
"id": 2,
"method": "subscriptions/subscribe",
"params": {
"name": "options_gamma",
"arguments": {
"currency": "BTC"
},
"intervalSeconds": 60
}
}# No account: the first call answers 402 with a PAYMENT-REQUIRED challenge;
# an x402 client pays it in USDC on Base and retries.
curl "https://mcp.f1ow.com/x402/v1/options/gamma/BTC"Sample response
A real response captured 2026-11-13. Interactive is the tool's MCP App rendering it, as Claude, ChatGPT and other MCP Apps hosts show it; here it is read-only. JSON is what REST and WebSocket return, and the structuredContent of an MCP call (trimmed for length), with generatedAt for freshness. Text is the report an MCP client hands to a model.
=== BTC options gamma (modeled) — Deribit ===
Observed 2026-11-13T08:05:16Z (26s ago) | spot index $68625.86
Model: Black-76 on each expiry's Deribit forward, r = 0, calendar time; inverse (coin-settled) options hedge the premium-adjusted delta Δ − V/F, linear (USDC) the plain delta; spot moves keep each forward's basis; IV shifts are absolute vol points, sticky strike; open interest frozen as listed.
Dealer positioning assumed: dealers long calls, short puts (customers sell calls, buy puts) (calls_long_puts_short). Not observed.
GEX, USD of hedge per 1% move: gross $329.8M | calls $76.4M | puts $252.8M (long-option magnitudes, no positioning assumption)
Modeled signed GEX -$176.4M/1% → NEGATIVE MODELED GAMMA | repriced at spot −1%: -$177.1M/1%, +1%: -$173.4M/1%
Concentration: top 5 strikes hold 42% of gross; 6% of OI notional expires within 7 days
Gamma flip (modeled, spot repriced over ±30%): $76832.51 (+12.0%)
Other scenarios: short_all signed -$329.2M/1%, flip none between $48038.10 and $89213.62 | long_all signed +$329.2M/1%, flip none between $48038.10 and $89213.62
Gamma walls (modeled; exposure values, not support/resistance):
+ $88000.00 (+28.2%) signed +$2.7M/1%, gross $3.6M, 1.6x neighbours
+ $90000.00 (+31.1%) signed +$2.4M/1%, gross $4.5M, 3.5x neighbours
+ $86000.00 (+25.3%) signed +$2.1M/1%, gross $3.6M, 1.0x neighbours
− $70000.00 (+2.0%) signed -$35.3M/1%, gross $44.1M, 5.9x neighbours
− $72000.00 (+4.9%) signed -$23.4M/1%, gross $30.0M, 5.8x neighbours
− $69000.00 (+0.5%) signed -$20.1M/1%, gross $20.4M, 1.3x neighbours
largest absolute: $70000.00 $44.1M, $72000.00 $30.0M, $80000.00 $21.7M
By expiry (gross / modeled signed, per 1%):
20 Nov 2026 $34.7M / -$23.7M/1%
27 Nov 2026 $117.1M / -$93.8M/1%
25 Dec 2026 $113.1M / -$33.8M/1%
29 Jan 2027 $8.2M / -$3.0M/1%
26 Mar 2027 $31.3M / -$8.8M/1%
25 Jun 2027 $9.2M / -$2.2M/1%
Options levels (nearest first; reference points, not guaranteed support or resistance):
$69000.00 (+0.5%) negative modeled gamma: -$20.1M USD per 1% move (modeled)
$70000.00 (+2.0%) put OI wall: $773.0M USD OI notional (all expiries)
$70000.00 (+2.0%) negative modeled gamma: -$35.3M USD per 1% move (modeled)
$72000.00 (+4.9%) negative modeled gamma: -$23.4M USD per 1% move (modeled)
$72500.00 (+5.6%) max pain (theoretical): $49.0M USD OI notional of that expiry, expiry 16 Nov 2026
$73500.00 (+7.1%) max pain (theoretical): $160.9M USD OI notional of that expiry, expiry 14 Nov 2026
$73500.00 (+7.1%) max pain (theoretical): $76.7M USD OI notional of that expiry, expiry 15 Nov 2026
$74287.49 (+8.3%) high gamma sensitivity (modeled): $20.1M per 1% move: change in signed GEX per 1% move of spot
$76832.51 (+12.0%) gamma flip (modeled)
$60000.00 (-12.6%) put OI wall: $887.5M USD OI notional (all expiries)
$80000.00 (+16.6%) call OI wall: $873.0M USD OI notional (all expiries)
$86000.00 (+25.3%) positive modeled gamma: +$2.1M USD per 1% move (modeled)
$88000.00 (+28.2%) positive modeled gamma: +$2.7M USD per 1% move (modeled)
$90000.00 (+31.1%) call OI wall: $859.1M USD OI notional (all expiries)
$90000.00 (+31.1%) positive modeled gamma: +$2.4M USD per 1% move (modeled)
Options regime: NEGATIVE MODELED GAMMA
evidence: modeled signed GEX -$176.4M vs gross $329.8M per 1% move (-53% net)
evidence: modeled gamma flip(s) at 76833 (+12.0%)
evidence: 6% of OI notional expires within 7 days
evidence: DVOL at the 38th percentile of its year
evidence: 30d realized vol at the 35th percentile of its history
rule: |signed| < 10% of gross → NEAR-NEUTRAL; otherwise the sign of signed GEX
rule: a modeled flip within 1% of spot → NEAR GAMMA FLIP
rule: >= 25% of OI notional expiring within 7 days → HIGH EXPIRY CONCENTRATION
rule: DVOL >= 75th pct → ELEVATED VOL; DVOL and realized <= 25th pct → VOL COMPRESSION
Positive modeled gamma does not guarantee range-bound trading, nor negative gamma a trend.
Stored snapshot 24h ago: none yet (hourly, in memory since server start; never reconstructed).
Cross-market (perp data; separate evidence, not used in the options labels):
perp funding +0.0002% per funding interval (market merge; funding_current gives the per-hour rate) | perp OI $2.56B | 24h price -6.80% | 24h liquidations $918.6M
order book (Hyperliquid): imbalance -30.2%, spread 0.1 bps
Data quality: 1572 listed instruments; 1045 priced (100% of live OI has mark IV and forward), 0 with OI unpriced; 0 within 1h of expiry left out of gamma; observed 2026-11-13T08:05:16Z
Modeled dealer hedging is not observed dealer trading: public open interest does not show who holds what, so every signed number rests on the stated positioning assumption. Options positioning alone does not establish the future direction of the underlying.{
"byExpiry": [
{
"expiry": "2026-11-14T08:00:00Z",
"grossUsd": 5745211.11448767,
"signedUsd": -4921743.49801488
},
{
"expiry": "2026-11-15T08:00:00Z",
"grossUsd": 2641721.45862925,
"signedUsd": -1978051.30666821
},
{
"expiry": "2026-11-16T08:00:00Z",
"grossUsd": 3250669.77639335,
"signedUsd": -2266597.2393263
},
{
"expiry": "2026-11-20T08:00:00Z",
"grossUsd": 34678959.3481711,
"signedUsd": -23665523.9283983
},
{
"expiry": "2026-11-27T08:00:00Z",
"grossUsd": 117082596.614853,
"signedUsd": -93814532.9790289
},
{
"expiry": "2026-12-04T08:00:00Z",
"grossUsd": 560839.363061613,
"signedUsd": -244175.714783567
},
"… 5 more"
],
"byStrike": [
{
"callUsd": -45835.6923099011,
"grossUsd": 2739790.48112173,
"putUsd": 2693310.85563195,
"signedUsd": -2739146.54794185,
"strike": 50000
},
{
"callUsd": -1266.47873781372,
"grossUsd": 472872.235777945,
"putUsd": 470769.691588953,
"signedUsd": -472036.170326767,
"strike": 52000
},
{
"callUsd": 716.779449313166,
"grossUsd": 1242875.68903756,
"putUsd": 1242158.90958825,
"signedUsd": -1241442.13013893,
"strike": 54000
},
{
"callUsd": 26377.2406761568,
"grossUsd": 3495009.39586134,
"putUsd": 3468632.15518518,
"signedUsd": -3442254.91450903,
"strike": 55000
},
{
"callUsd": 10978.4100110965,
"grossUsd": 692376.289621929,
"putUsd": 681397.879610832,
"signedUsd": -670419.469599736,
"strike": 56000
},
{
"callUsd": 19075.7688217783,
"grossUsd": 5124120.80711162,
"putUsd": 5105045.03828984,
"signedUsd": -5085969.26946806,
"strike": 58000
},
"… 38 more"
],
"caveat": "Modeled dealer hedging is not observed dealer trading: public open interest does not show who holds what, so every signed number rests on the stated positioning assumption. Options positioning alone does not establish the future direction of the underlying.",
"crossMarket": {
"bookImbalancePct": -30.2052668337543,
"fundingRatePctPerInterval": 0.000163375,
"liquidations24hUsd": 918621983.506613,
"perpOpenInterestUsd": 2560109472.4656,
"priceChange24hPct": -6.79676,
"source": "perp market merge + order book; separate evidence"
},
"dataQuality": {
"instruments": 1572,
"linearOnly": false,
"nearExpiryExcluded": 0,
"priced": 1045,
"pricedOiSharePct": 100,
"unpricedWithOi": 0,
"warnings": []
},
"flip": {
"crossings": [
76832.5074174907
],
"gridHigh": 89213.618,
"gridLow": 48038.102
},
"gex": {
"callUsdPer1Pct": 76420730.1355919,
"expiring7dSharePct": 5.74947126342374,
"gammaState": "NEGATIVE MODELED GAMMA",
"grossUsdPer1Pct": 329834819.687822,
"putUsdPer1Pct": 252795109.767778,
"signedAtSpotDown1Pct": -177082689.764935,
"signedAtSpotUp1Pct": -173438033.900716,
"signedUsdPer1PctModeled": -176374379.632186,
"top5StrikeSharePct": 41.6392747844804
},
"levels": [
{
"basis": "dealers long calls, short puts (customers sell calls, buy puts)",
"distancePct": 0.545188067588515,
"kind": "negative modeled gamma",
"price": 69000,
"unit": "USD per 1% move (modeled)",
"value": -20133790.8573949
},
{
"basis": "reported OI",
"distancePct": 2.00236470624922,
"kind": "put OI wall",
"price": 70000,
"unit": "USD OI notional (all expiries)",
"value": 772996196.9712
},
{
"basis": "dealers long calls, short puts (customers sell calls, buy puts)",
"distancePct": 2.00236470624922,
"kind": "negative modeled gamma",
"price": 70000,
"unit": "USD per 1% move (modeled)",
"value": -35292762.0273651
},
{
"basis": "dealers long calls, short puts (customers sell calls, buy puts)",
"distancePct": 4.91671798357062,
"kind": "negative modeled gamma",
"price": 72000,
"unit": "USD per 1% move (modeled)",
"value": -23391347.8962148
},
{
"basis": "minimum aggregate holder payout; not a pinning forecast",
"distancePct": 5.64530630290098,
"expiry": "2026-11-16T08:00:00Z",
"kind": "max pain (theoretical)",
"price": 72500,
"unit": "USD OI notional of that expiry",
"value": 49035235.7458
},
{
"basis": "minimum aggregate holder payout; not a pinning forecast",
"distancePct": 7.10248294156168,
"expiry": "2026-11-14T08:00:00Z",
"kind": "max pain (theoretical)",
"price": 73500,
"unit": "USD OI notional of that expiry",
"value": 160904308.9076
},
"… 11 more"
],
"meta": {
"ageSeconds": 26,
"observedAt": "2026-11-13T08:05:16Z",
"provider": "Deribit",
"underlying": "BTC"
},
"model": "Model: Black-76 on each expiry's Deribit forward, r = 0, calendar time; inverse (coin-settled) options hedge the premium-adjusted delta Δ − V/F, linear (USDC) the plain delta; spot moves keep each forward's basis; IV shifts are absolute vol points, sticky strike; open interest frozen as listed.",
"regime": {
"evidence": [
"modeled signed GEX -$176.4M vs gross $329.8M per 1% move (-53% net)",
"modeled gamma flip(s) at 76833 (+12.0%)",
"6% of OI notional expires within 7 days",
"DVOL at the 38th percentile of its year",
"30d realized vol at the 35th percentile of its history"
],
"labels": [
"NEGATIVE MODELED GAMMA"
],
"thresholds": [
"|signed| < 10% of gross → NEAR-NEUTRAL; otherwise the sign of signed GEX",
"a modeled flip within 1% of spot → NEAR GAMMA FLIP",
">= 25% of OI notional expiring within 7 days → HIGH EXPIRY CONCENTRATION",
"DVOL >= 75th pct → ELEVATED VOL; DVOL and realized <= 25th pct → VOL COMPRESSION"
]
},
"scenario": {
"code": "calls_long_puts_short",
"description": "dealers long calls, short puts (customers sell calls, buy puts)",
"observed": false
},
"scenarios": [
{
"flip": {
"crossings": [
76832.5074174907
],
"gridHigh": 89213.618,
"gridLow": 48038.102
},
"scenario": "calls_long_puts_short",
"signedUsdPer1Pct": -176374379.632186
},
{
"flip": {
"crossings": [],
"gridHigh": 89213.618,
"gridLow": 48038.102
},
"scenario": "short_all",
"signedUsdPer1Pct": -329215839.90337
},
{
"flip": {
"crossings": [],
"gridHigh": 89213.618,
"gridLow": 48038.102
},
"scenario": "long_all",
"signedUsdPer1Pct": 329215839.90337
}
],
"spotUsd": 68625.86,
"units": {
"gex": "USD of underlying hedge per 1% move (Γ·OI·S²·1%)"
},
"walls": {
"absolute": [
{
"distancePct": 2.00236470624922,
"grossUsdPer1Pct": 44100531.2800692,
"relativeStrength": 5.88730330039195,
"signedUsdPer1Pct": -35292762.0273651,
"strike": 70000
},
{
"distancePct": 4.91671798357062,
"grossUsdPer1Pct": 29998973.673253,
"relativeStrength": 5.75744680486799,
"signedUsdPer1Pct": -23391347.8962148,
"strike": 72000
},
{
"distancePct": 16.5741310928562,
"grossUsdPer1Pct": 21713476.4900203,
"relativeStrength": 3.95728820300141,
"signedUsdPer1Pct": 1374766.55961709,
"strike": 80000
}
],
"negative": [
{
"distancePct": 2.00236470624922,
"grossUsdPer1Pct": 44100531.2800692,
"relativeStrength": 5.88730330039195,
"signedUsdPer1Pct": -35292762.0273651,
"strike": 70000
},
{
"distancePct": 4.91671798357062,
"grossUsdPer1Pct": 29998973.673253,
"relativeStrength": 5.75744680486799,
"signedUsdPer1Pct": -23391347.8962148,
"strike": 72000
},
{
"distancePct": 0.545188067588515,
"grossUsdPer1Pct": 20356797.9951389,
"relativeStrength": 1.28259549709592,
"signedUsdPer1Pct": -20133790.8573949,
"strike": 69000
}
],
"positive": [
{
"distancePct": 28.2315442021419,
"grossUsdPer1Pct": 3613217.33563622,
"relativeStrength": 1.63803296670264,
"signedUsdPer1Pct": 2744083.52955642,
"strike": 88000
},
{
"distancePct": 31.1458974794633,
"grossUsdPer1Pct": 4540620.51693711,
"relativeStrength": 3.54479995285406,
"signedUsdPer1Pct": 2449205.93722321,
"strike": 90000
},
{
"distancePct": 25.3171909248205,
"grossUsdPer1Pct": 3611861.15721698,
"relativeStrength": 1.0197940319368,
"signedUsdPer1Pct": 2128985.76635552,
"strike": 86000
}
]
},
"generatedAt": "2026-11-13T08:05:16Z"
}Related tools
options_chainCalls and puts by strike and expiry: quotes, mark implied volatility, open interest and volume. Reported data is separated from calculated metrics, with coverage and thin-market caveats.
options_volatilityATM volatility, term structure, implied move size, 25-delta skew and IV versus realized volatility. BTC/ETH volatility-index history adds context. What options price for the size of a move — not its direction.
options_positioningPut/call open interest, strike and expiry concentrations, expiring notional, theoretical max pain and recent option trades. One venue; aggregate open interest does not reveal who is long or short, and max pain is not a forecast.
options_probabilityRisk-neutral expiry probabilities above or below a price or inside a range, plus implied 68% and 90% ranges. Derived from options forwards and volatility, with smile adjustment where quoted — not calibrated real-world forecasts.
Call Gamma & Hedge Scenarios from your agent
Sign in, get an API key and make your first call in under a minute. No card required.
For agents: this page as Markdown · all docs
Options Positioning
Put/call open interest, strike and expiry concentrations, expiring notional, theoretical max pain and recent option trades. One venue; aggregate open interest does not reveal who is long or short, and max pain is not a forecast.
Options-Implied Odds
Risk-neutral expiry probabilities above or below a price or inside a range, plus implied 68% and 90% ranges. Derived from options forwards and volatility, with smile adjustment where quoted — not calibrated real-world forecasts.