{"openapi":"3.1.0","info":{"title":"Crypto Options Gamma Exposure (GEX) API","version":"1.0.0","description":"Where option-dealer hedging flows concentrate, and whether they damp or amplify price moves — computed live from Deribit's public option book, no key, nothing stored. Each open option carries gamma; when dealers are net long gamma they hedge against the move (buy dips, sell rips) and volatility is suppressed, and when they are net short gamma they hedge with the move and volatility is amplified. The gex endpoint aggregates Black-Scholes gamma across every listed expiry, weighted by open interest, into the net dealer gamma exposure (in dollars per 1% move), the call and put gamma split, the zero-gamma flip level — the spot price at which net GEX crosses zero, the boundary between the mean-reverting (positive-gamma) and trending (negative-gamma) regimes — where spot sits relative to it, and the strikes holding the most gamma (the pinning magnets and acceleration zones). The profile endpoint returns GEX by strike, across all expiries or one. The expiries endpoint returns net GEX per listed expiry. This is the dealer-gamma / GEX analytics cut for crypto — distinct from the max-pain / open-interest positioning view, the implied-vol skew surface, the raw option chain and the single-option Black-Scholes pricer in the catalogue. GEX uses the SpotGamma convention (dealers long calls / short puts, r=0) and Black-Scholes gamma from mark IV — a model estimate of positioning, documented as such, not exchange-reported dealer inventory. Currency is BTC, ETH, SOL or XRP.","contact":{"name":"PremiumApi","url":"https://www.oanor.com/by/premiumapi"}},"servers":[{"url":"https://api.oanor.com/gex-api","description":"oanor gateway"}],"tags":[{"name":"Gamma Exposure"},{"name":"Meta"}],"components":{"securitySchemes":{"oanorKey":{"type":"apiKey","in":"header","name":"x-oanor-key","description":"Get your key at https://www.oanor.com/developer/keys"}}},"security":[{"oanorKey":[]}],"paths":{"/v1/expiries":{"get":{"operationId":"get_v1_expiries","tags":["Gamma Exposure"],"summary":"Net GEX per expiry","description":"","parameters":[{"name":"currency","in":"query","required":true,"description":"BTC, ETH, SOL or XRP","schema":{"type":"string"},"example":"BTC"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"count":12,"source":"Deribit","currency":"BTC","expiries":[{"gex":-7922157,"expiry":"12JUN26","contracts":74},{"gex":2764125,"expiry":"13JUN26","contracts":33},{"gex":631626,"expiry":"14JUN26","contracts":30},{"gex":1280263,"expiry":"15JUN26","contracts":27},{"gex":1670266,"expiry":"19JUN26","contracts":54},{"gex":-20794138,"expiry":"26JUN26","contracts":122},{"gex":-70006,"expiry":"3JUL26","contracts":22},{"gex":10937244,"expiry":"31JUL26","contracts":105},{"gex":2267649,"expiry":"28AUG26","contracts":79},{"gex":1507145,"expiry":"25SEP26","contracts":111},{"gex":3646619,"expiry":"25DEC26","contracts":102},{"gex":538652,"expiry":"26MAR27","contracts":86}],"underlying_price":63511.63},"meta":{"timestamp":"2026-06-12T01:41:11.800Z","request_id":"4ba536a9-767d-4417-acaa-00e43216b7c5"},"status":"ok","message":"Expiries retrieved successfully","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/gex":{"get":{"operationId":"get_v1_gex","tags":["Gamma Exposure"],"summary":"Net dealer GEX, regime & gamma flip","description":"","parameters":[{"name":"currency","in":"query","required":true,"description":"BTC, ETH, SOL or XRP","schema":{"type":"string"},"example":"BTC"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"note":"GEX is in USD per 1% move (SpotGamma-style: dealers long calls / short puts; r=0; gamma is Black-Scholes from mark IV). Above the flip net gamma is positive (mean-reverting); below it negative (trending). A model estimate of positioning, not exchange-reported inventory.","source":"Deribit","put_gex":-184762147,"call_gex":181219456,"currency":"BTC","total_gex":-3542691,"gamma_regime":"negative (dealers short gamma — moves amplified)","zero_gamma_flip":63638.95,"spot_vs_flip_pct":-0.2,"underlying_price":63511.63,"top_gamma_strikes":[{"gex":-23525421,"strike":60000},{"gex":10922575,"strike":80000},{"gex":-10312757,"strike":62000},{"gex":-8293590,"strike":64000},{"gex":-7150693,"strike":55000},{"gex":6235055,"strike":70000}]},"meta":{"timestamp":"2026-06-12T01:41:11.976Z","request_id":"92590712-ee6f-4b81-8528-d64d8971012c"},"status":"ok","message":"GEX retrieved successfully","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/profile":{"get":{"operationId":"get_v1_profile","tags":["Gamma Exposure"],"summary":"GEX by strike","description":"","parameters":[{"name":"currency","in":"query","required":true,"description":"BTC, ETH, SOL or XRP","schema":{"type":"string"},"example":"BTC"},{"name":"expiry","in":"query","required":false,"description":"Limit to one Deribit expiry (default all)","schema":{"type":"string"},"example":"26JUN26"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"note":"net dealer GEX (USD per 1% move) by strike; positive strikes pin (suppress vol), negative strikes accelerate. moneyness_pct is the strike relative to spot.","expiry":"26JUN26","source":"Deribit","profile":[{"gex":-6185,"strike":20000,"moneyness_pct":-68.51},{"gex":-15046,"strike":30000,"moneyness_pct":-52.76},{"gex":-149638,"strike":40000,"moneyness_pct":-37.02},{"gex":-493499,"strike":45000,"moneyness_pct":-29.15},{"gex":-1022354,"strike":50000,"moneyness_pct":-21.27},{"gex":-573260,"strike":52000,"moneyness_pct":-18.13},{"gex":-2794361,"strike":55000,"moneyness_pct":-13.4},{"gex":-560346,"strike":57000,"moneyness_pct":-10.25},{"gex":-2247640,"strike":58000,"moneyness_pct":-8.68},{"gex":-995435,"strike":59000,"moneyness_pct":-7.1},{"gex":-10241564,"strike":60000,"moneyness_pct":-5.53},{"gex":-151825,"strike":61000,"moneyness_pct":-3.95},{"gex":-6344951,"strike":62000,"moneyness_pct":-2.38},{"gex":275674,"strike":63000,"moneyness_pct":-0.81},{"gex":-2657527,"strike":64000,"moneyness_pct":0.77},{"gex":-3083037,"strike":65000,"moneyness_pct":2.34},{"gex":-245597,"strike":66000,"moneyness_pct":3.92},{"gex":3317446,"strike":67000,"moneyness_pct":5.49},{"gex":1231942,"strike":68000,"moneyness_pct":7.07},{"gex":357844,"strike":69000,"moneyness_pct":8.64},{"gex":1303629,"strike":70000,"moneyness_pct":10.22},{"gex":6855,"strike":72000,"moneyness_pct":13.37},{"gex":151416,"strike":74000,"moneyness_pct":16.51},{"gex":979594,"strike":75000,"moneyness_pct":18.09},{"gex":-57825,"strike":76000,"moneyness_pct":19.66},{"gex":316795,"strike":78000,"moneyness_pct":22.81},{"gex":831010,"strike":80000,"moneyness_pct":25.96},{"gex":727378,"strike":82000,"moneyness_pct":29.11},{"gex":138258,"strike":84000,"moneyness_pct":32.26},{"gex":126589,"strike":85000,"moneyness_pct":33.83},{"gex":119575,"strike":86000,"moneyness_pct":35.41},{"gex":180449,"strike":88000,"moneyness_pct":38.56},{"gex":329900,"strike":90000,"moneyness_pct":41.71},{"gex":49627,"strike":92000,"moneyness_pct":44.86},{"gex":13226,"strike":94000,"moneyness_pct":48},{"gex":132255,"strike":95000,"moneyness_pct":49.58},{"gex":114756,"strike":100000,"moneyness_pct":57.45},{"gex":58452,"strike":105000,"moneyness_pct":65.32},{"gex":6851,"strike":110000,"moneyness_pct":73.2},{"gex":28356,"strike":115000,"moneyness_pct":81.07},{"gex":13430,"strike":120000,"moneyness_pct":88.94},{"gex":10101,"strike":125000,"moneyness_pct":96.81},{"gex":5616,"strike":130000,"moneyness_pct":104.69},{"gex":3453,"strike":135000,"moneyness_pct":112.56},{"gex":2524,"strike":140000,"moneyness_pct":120.43},{"gex":1987,"strike":145000,"moneyness_pct":128.3},{"gex":7547,"strike":150000,"moneyness_pct":136.18},{"gex":627,"strike":155000,"moneyness_pct":144.05},{"gex":1773,"strike":160000,"moneyness_pct":151.92},{"gex":168,"strike":165000,"moneyness_pct":159.79},{"gex":460,"strike":170000,"moneyness_pct":167.67},{"gex":278,"strike":180000,"moneyness_pct":183.41},{"gex":53,"strike":190000,"moneyness_pct":199.16},{"gex":40,"strike":200000,"moneyness_pct":214.9},{"gex":3,"strike":210000,"moneyness_pct":230.65},{"gex":4,"strike":220000,"moneyness_pct":246.39},{"gex":2,"strike":230000,"moneyness_pct":262.14},{"gex":1,"strike":240000,"moneyness_pct":277.88},{"gex":0,"strike":250000,"moneyness_pct":293.63},{"gex":0,"strike":260000,"moneyness_pct":309.37},{"gex":0,"strike":280000,"moneyness_pct":340.86},{"gex":0,"strike":300000,"moneyness_pct":372.35},{"gex":0,"strike":320000,"moneyness_pct":403.84},{"gex":0,"strike":340000,"moneyness_pct":435.34},{"gex":0,"strike":360000,"moneyness_pct":466.83},{"gex":0,"strike":380000,"moneyness_pct":498.32}],"strikes":66,"currency":"BTC","underlying_price":63511.63},"meta":{"timestamp":"2026-06-12T01:41:12.130Z","request_id":"d6fd4485-2117-4ee9-a07c-f5b9010d2127"},"status":"ok","message":"Profile retrieved successfully","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/meta":{"get":{"operationId":"get_v1_meta","tags":["Meta"],"summary":"Spec","description":"","parameters":[],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"note":"currency is BTC, ETH, SOL or XRP. GEX uses the SpotGamma convention (dealers long calls / short puts, r=0) and Black-Scholes gamma from mark IV — a model estimate of positioning, not exchange-reported dealer inventory. Read fresh per call, nothing cached.","source":"Deribit public API (deribit.com/api/v2/public, live)","service":"gex-api","endpoints":{"GET /v1/gex":"Net dealer GEX, gamma regime, zero-gamma flip and top gamma strikes for a currency (currency=BTC).","GET /v1/meta":"This document.","GET /v1/profile":"GEX by strike across all expiries, or one expiry (currency=BTC, expiry optional).","GET /v1/expiries":"Net GEX per listed expiry (currency=BTC)."},"currencies":["BTC","ETH","SOL","XRP"],"description":"Crypto options dealer gamma exposure (GEX), computed live from Deribit's public option book (no key, nothing stored). gex aggregates Black-Scholes gamma across all expiries, weighted by open interest, into net dealer GEX (USD per 1% move), the zero-gamma flip level (the boundary between the mean-reverting positive-gamma and trending negative-gamma regimes), where spot sits relative to it, and the strikes holding the most gamma. profile returns GEX by strike; expiries returns net GEX per expiry. The dealer-gamma / GEX analytics cut — distinct from max-pain/open-interest, the IV skew surface, the raw option chain and the single-option Black-Scholes pricer.","upstream_status":"ok","btc_option_contracts":845},"meta":{"timestamp":"2026-06-12T01:41:12.286Z","request_id":"7f133ce3-633c-4f3c-a628-c1d65aa9b970"},"status":"ok","message":"Meta","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}}},"x-oanor-pricing":[{"slug":"free","name":"Free","price_cents_month":0,"monthly_call_quota":300,"rps_limit":2,"hard_limit":true},{"slug":"starter","name":"Starter","price_cents_month":1356,"monthly_call_quota":9800,"rps_limit":6,"hard_limit":true},{"slug":"pro","name":"Pro","price_cents_month":3960,"monthly_call_quota":57000,"rps_limit":16,"hard_limit":true},{"slug":"business","name":"Business","price_cents_month":9120,"monthly_call_quota":320000,"rps_limit":40,"hard_limit":true}],"x-oanor-marketplace-url":"https://www.oanor.com/api/gex-api"}