Dealer Hedge Flow API
Dealer Hedge Flow API, opsiyon dealer'larının Deribit BTC opsiyonlarında nasıl konumlandığını ve fiyat hareket ederse hedge işlemlerinin ne yapacağını döndürür: her fiyat seviyesi için dealer'ların o seviyeye giden yolda delta-hedge'li kalmak için kaç ABD doları tutarında BTC alacağı ya da satacağı ve bu akışın hareketi güçlendirip güçlendirmediği ya da sönümleyip sönümlemediği. Ayrıca net gamma maruziyetini (GEX), zero gamma seviyesini ve birkaç eski opsiyon istatistiğini de döndürür. Her saat yeni bir anlık görüntü hesaplanır.
Dealer pozisyonlarının nasıl yeniden oluşturulduğu, formüller ve varsayımlar için bkz.: Dealer Hedge Flow Metodolojisi.
Dealer Hedge Flow, dealer konumlanmasına dair betimleyici bir modeldir; bir fiyat hedefi veya alım-satım sinyali değildir.
Uç Noktalar
| Yöntem | Yol | Açıklama |
|---|---|---|
GET | /v1/options/gex | Günlük seri: gün başına bir satır (00:00 UTC anlık görüntüsü) |
GET | /v1/options/gex/hourly | Her saatlik anlık görüntü (Pro) |
GET | /v1/options/gex/profile | Tek bir anlık görüntü için fiyata göre hedge akışı (varsayılan: en sonuncusu) |
GET | /v1/options/gex/heatmap | Isı haritası için zaman × fiyat etki matrisi |
Temel URL: https://api.blocklens.co. Tüm yanıtlar {"success": true, "data": …} zarfı içinde JSON formatındadır:
seriler için data bir satır listesidir (yanında count, access ve message bulunur), /profile ve /heatmap
için ise access içeren bir nesnedir. Hatalar {"success": false, "message": {…}, "timestamp": "…"} biçimini
kullanır (bkz. Hatalar).
Kimlik Doğrulama
Tüm istekler bir API anahtarı gerektirir:
Authorization: Bearer YOUR_API_KEY
API anahtarları için Kimlik Doğrulama, hangi planların API erişimi içerdiği ve istek limitleri için Hız Limitleri ve Abonelik Seviyeleri sayfalarına bakın.
İşaretler ve birimler
- Tüm tutarlar USD cinsindendir. GEX değerleri (
net_gex,gex[],strikes[].call_gex/put_gex) %1'lik hareket başına USD'dir; hedge akışı ve etki, mevcut fiyattan seviyeye kadar tüm hareket için USD'dir. hedge_flow> 0 — dealer'lar seviyeye giden yolda BTC alır; < 0 — satarlar.impact=hedge_flow× sign(seviye − spot): > 0 — güçlendirme (akış hareketi daha ileri taşır), < 0 — sönümleme (harekete karşı koyar).net_gex> 0 — dealer'lar net long gamma'dır (sönümleme rejimi); < 0 — net short gamma (güçlendirme rejimi).spot, anlık görüntünün BTC endeks fiyatıdır; seviyeler bu fiyatın ±%30'u içinde, sabit $500'lük bir ızgarada yer alır.zero_gamma,spotdeğerinin ±%50'si içinde aranır; bu nedenle seviye ızgarasının dışında kalabilir. GEX eğrisi orada tek işarette kalıyorsanullolur.
Abonelik planları ve geçmiş
Plan kuralları yalnızca Lab arayüzünde değil, doğrudan API düzeyinde uygulanır:
| Free | Pro, Enterprise | |
|---|---|---|
/v1/options/gex (günlük) | son 30 gün | 2026-03-16'dan bu yana tüm geçmiş |
/v1/options/gex/hourly | — (403) | evet |
/v1/options/gex/profile | yalnızca en son anlık görüntü, strikes olmadan | herhangi bir anlık görüntü, strikes ile |
/v1/options/gex/heatmap | resolution=1d, son 30 gün | 1h, 6h, 1d, tüm geçmiş |
Her yanıt bir access bloğu içerir:
"access": {"tier": "free", "grade": 0, "full_history": false, "history_from": "2026-09-24",
"resolutions": ["1d"], "profile_history": false, "strikes": false, "hourly": false,
"required_grade": 1, "clipped": false}
history_from— çağıranın görebileceği ilk gün (tam geçmiş içinnull).resolutions,profile_history,strikes,hourly— çağıranın planının neye izin verdiği.clipped— günlük seri veya ısı haritası içinhistory_fromöncesindeki günler istendiğinde ve bunlar kesildiğindetrue. Bu iki uç nokta bu nedenle hiçbir zaman 403 döndürmez: izin verilen kısmı döndürürler./profileüzerinden geçmiş bir anlık görüntü (en sonuncusu dışında herhangi biri),/hourlyve6h/1hısı haritası Free planda 403 döndürür (bkz. Hatalar).
Anlık görüntüler ve zaman
- Deribit BTC opsiyon tablosunun saatte bir anlık görüntüsü, tam saatten birkaç saniye sonra alınır. Geçmiş 2026-03-16'da başlar; 2026-06-08 … 2026-07-07 eksiktir (veri toplama kesintisi) ve tablonun eksik olduğu tek tek saatler atlanır. Veriler her saat yaklaşık :20 UTC'de yenilenir.
- Zamanlar UTC, ISO 8601 biçimindedir. Anlık görüntü zamanları, anlık görüntüde varsa mikrosaniye içerir
(
"2026-10-24T09:00:02.418731Z"): birts/times[]değerini/profile?ts=parametresine değiştirmeden geri verirseniz tam olarak o anlık görüntü seçilir. Kesirli saniye içermeyen birts, o saniye içindeki herhangi bir anlık görüntüyle eşleşir. - Bir gün (günlük seri,
/profile?date=,1dısı haritası), o günün 00:00 UTC anlık görüntüsüdür — 00:00 eksikse günün ilk anlık görüntüsü. 08:00 UTC'deki günlük vadeden uzakta olduğu için bir günün satırı, yayınlandıktan sonra değişmez.
GET /v1/options/gex
Günlük seri, en yeniden eskiye.
| Parametre | Varsayılan | Açıklama |
|---|---|---|
from_date | izin verilen ilk gün | YYYY-MM-DD (UTC); plan penceresinden önceyse → kesilir, access.clipped = true |
to_date | en son gün | YYYY-MM-DD (UTC, dahil) |
limit | 100 | Gün sayısı (1–10.000), en yeniden eskiye |
fields | tümü | Virgülle ayrılmış alan adları (date her zaman korunur) |
curl -H "Authorization: Bearer YOUR_API_KEY" \
"https://api.blocklens.co/v1/options/gex?from_date=2026-10-01&fields=btc_price,net_gex,zero_gamma,flow_up5,flow_dn5"
{
"success": true,
"data": [
{"date": "2026-10-23", "snapshot_ts": "2026-10-23T00:00:02Z", "btc_price": 80712.4,
"legacy_total_gex": 30112000.0, "legacy_call_gex": 41870000.0, "legacy_put_gex": -11758000.0,
"top_support_strike": 80000.0, "top_support_gex": 9120000.0,
"top_resist_strike": 76000.0, "top_resist_gex": -3410000.0, "legacy_flip_point": 80551.2,
"pc_ratio_oi": 0.62, "pc_ratio_vol_24h": 0.81, "max_pain": 82000.0, "max_pain_expiry": "24OCT26",
"hedge_snapshot_ts": "2026-10-23T00:00:02Z", "spot": 80712.4, "net_gex": 35700000.0, "zero_gamma": 59300.0,
"flow_up5": -219000000.0, "flow_dn5": 288000000.0, "flow_up10": -402000000.0, "flow_dn10": 515000000.0}
],
"count": 1,
"access": {"tier": "pro", "grade": 1, "full_history": true, "history_from": null, "resolutions": ["1h", "6h", "1d"],
"profile_history": true, "strikes": true, "hourly": true, "required_grade": 1, "clipped": false},
"message": "Options GEX and dealer hedge flow, daily (Deribit BTC)"
}
| Alan | Anlamı |
|---|---|
date | UTC günü |
hedge_snapshot_ts, spot | Hedge akışı alanları için kullanılan günün anlık görüntüsü ve onun BTC endeks fiyatı |
net_gex | spot fiyatında net dealer GEX'i, Black-Scholes, %1'lik hareket başına USD — yayınlanan net GEX |
zero_gamma | Yeniden hesaplanan GEX eğrisinin spot değerine en yakın işaret değişimi (±%50); yoksa null |
flow_up5, flow_dn5, flow_up10, flow_dn10 | Fiyat spot değerinden +%5 / −%5 / +%10 / −%10 hareket ederse USD cinsinden hedge akışı; tam olarak spot × 1,05 / 0,95 / 1,10 / 0,90 noktalarında |
snapshot_ts, btc_price | Eski alanların anlık görüntüsü ve onun BTC fiyatı |
top_support_strike, top_support_gex | GEX'i en büyük pozitif olan strike (Deribit gamması; |GEX| değeri $1.000'in altındaki strike'lar dahil edilmez) |
top_resist_strike, top_resist_gex | GEX'i en negatif olan strike (aynı kurallar) |
pc_ratio_oi, pc_ratio_vol_24h | Açık faize ve 24 saatlik hacme göre put/call oranı |
max_pain, max_pain_expiry | En yakın vadenin max pain strike'ı ve o vade |
legacy_total_gex, legacy_call_gex, legacy_put_gex | Deribit'in yayınladığı gamma üzerinden GEX (1e-5'e yuvarlanmış — Black-Scholes'a göre sapmalı); net_gex kullanın |
legacy_flip_point | Fiyatı çevreleyen iki strike arasındaki strike GEX'i işaret değişimi — bir gamma flip değildir; zero_gamma kullanın |
Günlük net_gex, zero_gamma, flow_* ve top_*_strike sütunları aynı zamanda /v1/metrics ve MCP aracı
get_metric üzerinden erişilebilen katalog metrikleridir (options_*, kategori options).
GET /v1/options/gex/hourly
Her saatlik anlık görüntü, en yeniden eskiye (Pro). Günlük seriyle aynı alanlar, date yerine timestamp (anlık
görüntü zamanı) ile anahtarlanır; aynı anlık görüntünün eski değerleri ve hedge akışı değerleri tek bir satırı paylaşır.
| Parametre | Varsayılan | Açıklama |
|---|---|---|
from_date, to_date | — | YYYY-MM-DD (UTC, to_date dahil) |
limit | 168 | Anlık görüntü sayısı (1–10.000); varsayılan bir haftadır |
fields | tümü | Virgülle ayrılmış alan adları (timestamp her zaman korunur) |
curl -H "Authorization: Bearer YOUR_API_KEY" \
"https://api.blocklens.co/v1/options/gex/hourly?limit=24&fields=spot,net_gex,zero_gamma"
GET /v1/options/gex/profile
Tek bir anlık görüntü için fiyata göre hedge akışı.
| Parametre | Varsayılan | Açıklama |
|---|---|---|
ts | en son | Anlık görüntü zamanı (ISO 8601, ofset yoksa UTC): bu zamana eşit veya ondan önceki en son anlık görüntü. date ile birlikte kullanılamaz |
date | — | YYYY-MM-DD (UTC): o günün 00:00 UTC anlık görüntüsü (günün ilki). ts ile birlikte kullanılamaz |
Free kullanıcılar yalnızca en son anlık görüntüyü alır: ts / date göndermeyin (en son anlık görüntüye karşılık
gelen bir ts / date da kabul edilir).
curl -H "Authorization: Bearer YOUR_API_KEY" https://api.blocklens.co/v1/options/gex/profile
{
"success": true,
"data": {
"ts": "2026-10-24T09:00:02Z", "spot": 80712.4, "step": 500.0,
"levels": [80000.0, 80500.0, 81000.0, 81500.0],
"hedge_flow": [21400000.0, 4900000.0, -6800000.0, -27300000.0],
"impact": [-21400000.0, -4900000.0, -6800000.0, -27300000.0],
"gex": [36900000.0, 35900000.0, 35200000.0, 34100000.0],
"net_gex": 35700000.0, "zero_gamma": 59300.0, "flips": [59300.0],
"flow": {"up5": -219000000.0, "dn5": 288000000.0, "up10": -402000000.0, "dn10": 515000000.0},
"max_amplify_level": null, "max_dampen_level": 74000.0, "method_version": 1,
"legacy": {"flip_point": 80551.2, "top_support_strike": 80000.0, "top_resist_strike": 76000.0,
"total_gex": 30112000.0},
"strikes": [{"strike": 80000.0, "call_gex": 6200000.0, "put_gex": 2920000.0}],
"access": {"tier": "pro", "grade": 1, "full_history": true, "history_from": null, "resolutions": ["1h", "6h", "1d"],
"profile_history": true, "strikes": true, "hourly": true, "required_grade": 1, "clipped": false}
}
}
Örnek kısaltılmıştır: gerçek bir profilde yaklaşık yüz seviye bulunur.
| Alan | Anlamı |
|---|---|
ts, spot | Anlık görüntü zamanı ve BTC endeks fiyatı |
step, levels | Izgara adımı ($500) ve spot değerinin ±%30'u içindeki fiyat seviyeleri, artan sırada |
hedge_flow[i] | Fiyat spot değerinden levels[i] seviyesine giderse dealer'ların işlem yapacağı USD tutarı (> 0 alım, < 0 satış) |
impact[i] | Hareketin yönüyle işaretlenmiş hedge_flow[i] (> 0 güçlendirme, < 0 sönümleme) |
gex[i] | Fiyat levels[i] seviyesindeymiş gibi yeniden hesaplanan net dealer GEX'i, %1 başına USD |
net_gex | spot fiyatındaki GEX |
zero_gamma, flips | spot değerinin ±%50'si içinde, GEX eğrisinin spot değerine en yakın işaret değişimi ve tüm işaret değişimleri, artan sırada (yoksa null / []) |
flow | Tam olarak spot × 1,05 / 0,95 / 1,10 / 0,90 noktalarında hedge akışı (up5, dn5, up10, dn10) |
max_amplify_level, max_dampen_level | Marjinal güçlendirme / sönümleme akışı en büyük olan $500'lük bant (yoksa null) |
method_version | Hesaplama yönteminin sürümü |
legacy | Aynı anlık görüntünün eski değerleri (Deribit gamması): flip_point, top_support_strike, top_resist_strike, total_gex |
strikes | Vadeler üzerinden toplanmış, call ve put olarak ayrılmış strike bazlı net GEX (Pro; Free planda null) |
hedge_flow fiyat yolu boyunca kümülatiftir: iki seviye arasındaki bir bandı okumak için farkı alın; asla birkaç
seviyenin toplamını almayın.
GET /v1/options/gex/heatmap
| Parametre | Varsayılan | Açıklama |
|---|---|---|
resolution | 1d | 1d, 6h veya 1h (Pro): her aralık için bir anlık görüntü — ilki (1d = 00:00 UTC anlık görüntüsü) |
from | 1d: tüm geçmiş; 6h: son 180 gün; 1h: son 30 gün | ISO tarih veya tarih-saat (UTC). Plan penceresinden önceyse → kesilir, access.clipped = true |
to | şimdi | ISO tarih (dahil) veya tarih-saat (hariç) |
price_min, price_max | tüm seviyeler | Fiyat aralığını kırpar, USD (sonlu, ≥ 0, price_min < price_max) |
from / to, resolution değerinin tam aralıklarına dışa doğru yuvarlanır.
curl -H "Authorization: Bearer YOUR_API_KEY" \
"https://api.blocklens.co/v1/options/gex/heatmap?resolution=6h&from=2026-09-01"
{
"success": true,
"data": {
"resolution": "1d", "times": ["2026-10-22T00:00:01Z", "2026-10-23T00:00:02Z"], "step": 500.0,
"levels": [80000.0, 80500.0, 81000.0],
"matrix": [[-18200000, null, -5100000], [-21400000, -4900000, -6800000]],
"overlays": {"price": [80310.0, 80712.4], "zero_gamma": [null, 59300.0]},
"scale": {"p98": 310000000, "max": 612000000},
"access": {"tier": "pro", "grade": 1, "full_history": true, "history_from": null, "resolutions": ["1h", "6h", "1d"],
"profile_history": true, "strikes": true, "hourly": true, "required_grade": 1, "clipped": false}
}
}
matrix[t][l]—times[t]anlık görüntüsü içinlevels[l]seviyesindeki tam sayı USD cinsinden etki (> 0 güçlendirme, < 0 sönümleme). O anlık görüntünün kendi ±%30 aralığının dışında veya ızgarasındaki bir boşluktanull.timesgerçek anlık görüntü zamanlarıdır, artan sırada; veri boşluklarının çevresinde aralıklar düzensizdir (boş satır yoktur).levels— döndürülen tüm anlık görüntüleri kapsayan ortak bir $500'lük ızgara.overlays.price— her satırınspotdeğeri;overlays.zero_gamma— onun zero gamma seviyesi (olmadığı yerdenull). Zero gamma seviyesilevelsdışında kalabilir: çizgiyi çizerken kırpın.scale— |etki| değerinin 98. yüzdelik dilimi ve maksimumu; renk ölçeğinip98değerinde sınırlayın.
Limitler ve yanıt boyutu
resolution=1histek başına en fazla 90 günü kapsar (aksi halde 400 — daha uzun aralıklar için6hveya1dkullanın).- Bir ısı haritası isteği en fazla 2.000.000 hücre (anlık görüntü × seviye) kapsayabilir; daha büyük istekler 400
döndürür — daha kaba bir çözünürlük, daha kısa bir dönem veya
price_min/price_maxkullanın. - Tam saatlik geçmiş, sıkıştırılmamış JSON olarak yaklaşık 10 MB'tır. Yanıtlar aktarım sırasında gzip ile sıkıştırılır.
İlk görünüm için
1dveya6hya da kısa bir1hpenceresi kullanın. - API anahtarı başına istek limitleri: Hız Limitleri ve Abonelik Seviyeleri.
Güncellemeler ve önbellekleme
- Bizim tarafımızda her saat yeni bir anlık görüntü hesaplanır ve yaklaşık :20 UTC'de yayınlanır; o zamana kadar bir önceki saat en sonuncusudur.
- Yanıtlar sunucuda önbelleğe alınır ve yeni veri geldiğinde yenilenir.
- Aynı URL farklı planlar için farklı veri döndürdüğünden yanıtlar
Cache-Control: private, max-age=600veVary: Authorizationbaşlıklarıyla gönderilir — paylaşılan önbelleklerde asla saklanmazlar.
Hatalar
Hatalar {"success": false, "message": {…}, "timestamp": "…"} zarfı içinde gelir; tablo message alanını gösterir.
| Durum | Ne zaman | message |
|---|---|---|
| 400 | Hatalı bir tarih veya zaman, from_date öncesinde bir to_date, hem ts hem date, bilinmeyen resolution, sonlu olmayan veya negatif price_min / price_max ya da price_min >= price_max, seviyelerle örtüşmeyen bir aralık, 1h ile 90 günden fazlası, 2.000.000 hücreyi aşan bir ısı haritası | {"error": "Invalid parameter", "message": "resolution must be one of 1h, 6h, 1d"} |
| 401 | Eksik veya geçersiz API anahtarı | |
| 403 | Free: /profile üzerinden geçmiş bir anlık görüntü, /hourly, 6h / 1h ısı haritası | {"error": "Insufficient tier", "message": "Profiles of past snapshots requires Pro", "required_grade": 1, "current_tier": "free", "current_grade": 0, "history_from": "2026-09-24", "upgrade_url": "https://blocklens.co/pricing"} |
| 404 | İstenen gün veya zaman için anlık görüntü yok ya da istenen aralıkta veri yok | {"error": "Not found", "message": "no profile on 2026-06-20"} |
| 429 | Hız limiti aşıldı | Bkz. Hız Limitleri ve Abonelik Seviyeleri |