/api/sd/options/expiries
GETTerdegradasiSTALE

Opsi per jatuh tempo

Satu baris per tanggal jatuh tempo: open interest, volume, rasio put/call, max pain, IV ATM, dan skew, untuk semua bursa atau satu bursa.

GET/api/sd/options/expiries
Terdegradasi. Endpoint melaporkan kualitas data STALE

Permintaan

Parameter kueri

NamaTipeWajibDefaultNilai yang diizinkanDeskripsi
coinstringWajib——Simbol koin, tidak peka huruf besar/kecil (misalnya `BTC`). Nilai yang tidak diisi atau salah format mengembalikan 400. Contoh: BTC
exchangestringOpsionalallall, deribit, binance, bybit, okx, gate, coincallSatu bursa, atau `all` untuk agregat lintas bursa.

Contoh permintaan

curl -s "https://www.coinboss.com/api/sd/options/expiries?coin=BTC"

Kolom respons

Tabel kolom dihasilkan dari respons nyata, sehingga memuat persis apa yang dikembalikan endpoint. Path memakai a[] untuk item array dan {*} untuk objek yang kuncinya berupa nama dinamis seperti koin atau bursa.

KolomTipeSatuanDeskripsi
successboolean—true jika permintaan berhasil. Jika gagal, body-nya adalah `{ success: false, code, error, request_id }`.
schemastring—ID skema respons ini. ID hanya berubah jika kolom yang sudah ada berubah makna atau tipe.
nownumbermsWaktu server saat respons disusun.
coinstring—Simbol koin (huruf besar).
exchangestring—ID bursa (huruf kecil).
n_expiriesnumber—Jumlah tanggal jatuh tempo yang disertakan.
n_contractsnumber—Jumlah kontrak opsi yang disertakan.
oi_usdnumberUSDOpen interest sebagai nosional USD: kuantitas koin × harga indeks spot. Satu sisi.
call_oi_usdnumberUSDOpen interest call, nosional USD.
put_oi_usdnumberUSDOpen interest put, nosional USD.
oi_coinnumbercoinOpen interest dalam unit koin dasar.
call_oi_coinnumbercoinOpen interest call dalam unit koin dasar.
put_oi_coinnumbercoinOpen interest put dalam unit koin dasar.
vol_usd_24hnumberUSDVolume nosional 24h: kuantitas koin yang diperdagangkan × harga indeks spot saat ini. Bukan nilai transaksi premi.
call_vol_usd_24hnumberUSDVolume nosional 24h call.
put_vol_usd_24hnumberUSDVolume nosional 24h put.
vol_coin_24hnumbercoinKuantitas yang diperdagangkan dalam 24h, dalam unit koin dasar.
call_vol_coin_24hnumbercoinKuantitas call yang diperdagangkan dalam 24h, dalam koin.
put_vol_coin_24hnumbercoinKuantitas put yang diperdagangkan dalam 24h, dalam koin.
vol_premium_usd_24hnumberUSDNilai transaksi premi 24h (harga opsi × kuantitas) jika bursa memublikasikannya; `null` jika tidak. Tidak pernah dijumlahkan ke volume nosional.
pcr_oinumberratioOpen interest put ÷ open interest call, dalam unit koin; `null` jika sisi call bernilai 0.
pcr_volnumberratioVolume 24h put ÷ volume 24h call, dalam unit koin; `null` jika sisi call bernilai 0.
atm_iv_30dnumber%IV ATM yang diinterpolasi secara linear ke tenor tetap 30 hari; `null` jika 30 hari tidak diapit oleh dua jatuh tempo.
expiriesarray—Satu baris per tanggal jatuh tempo.
expiries[]object—Satu baris per tanggal jatuh tempo.
expiries[].expirystring—Tanggal jatuh tempo (UTC), `YYYY-MM-DD`, atau `all`.
expiries[].expiry_tsnumbermsWaktu jatuh tempo.
expiries[].days_leftnumberdaysJumlah hari hingga jatuh tempo.
expiries[].exchangesarray—Bursa yang termasuk dalam baris ini.
expiries[].exchanges[]string—Bursa yang termasuk dalam baris ini.
expiries[].n_contractsnumber—Jumlah kontrak opsi yang disertakan.
expiries[].oi_usdnumberUSDOpen interest sebagai nosional USD: kuantitas koin × harga indeks spot. Satu sisi.
expiries[].call_oi_usdnumberUSDOpen interest call, nosional USD.
expiries[].put_oi_usdnumberUSDOpen interest put, nosional USD.
expiries[].oi_coinnumbercoinOpen interest dalam unit koin dasar.
expiries[].call_oi_coinnumbercoinOpen interest call dalam unit koin dasar.
expiries[].put_oi_coinnumbercoinOpen interest put dalam unit koin dasar.
expiries[].vol_usd_24hnumberUSDVolume nosional 24h: kuantitas koin yang diperdagangkan × harga indeks spot saat ini. Bukan nilai transaksi premi.
expiries[].call_vol_usd_24hnumberUSDVolume nosional 24h call.
expiries[].put_vol_usd_24hnumberUSDVolume nosional 24h put.
expiries[].vol_coin_24hnumbercoinKuantitas yang diperdagangkan dalam 24h, dalam unit koin dasar.
expiries[].call_vol_coin_24hnumbercoinKuantitas call yang diperdagangkan dalam 24h, dalam koin.
expiries[].put_vol_coin_24hnumbercoinKuantitas put yang diperdagangkan dalam 24h, dalam koin.
expiries[].vol_premium_usd_24hnumber|nullUSDNilai transaksi premi 24h (harga opsi × kuantitas) jika bursa memublikasikannya; `null` jika tidak. Tidak pernah dijumlahkan ke volume nosional.
expiries[].pcr_oinumberratioOpen interest put ÷ open interest call, dalam unit koin; `null` jika sisi call bernilai 0.
expiries[].pcr_volnumberratioVolume 24h put ÷ volume 24h call, dalam unit koin; `null` jika sisi call bernilai 0.
expiries[].oi_share_pctnumber%Pangsa dari total open interest (nosional USD) pada pilihan tersebut.
expiries[].max_painnumberUSDStrike dengan total pembayaran kepada pemegang opsi saat jatuh tempo yang paling kecil.
expiries[].max_pain_usdnumberUSDTotal pembayaran kepada pemegang opsi jika jatuh tempo diselesaikan pada strike max pain.
expiries[].atm_ivnumber%Volatilitas tersirat at-the-money: rata-rata IV mark pada strike yang paling dekat dengan harga forward.
expiries[].atm_strikenumberUSDStrike yang paling dekat dengan harga forward, dipakai untuk IV ATM.
expiries[].skew_25dnumber|nullpercentage pointsIV put dengan delta paling dekat ke −0.25 dikurangi IV call dengan delta paling dekat ke +0.25. Hanya delta yang dipublikasikan bursa.
expiries[].skew_exchangesarray—Bursa yang deltanya tersedia untuk skew.
expiries[].skew_exchanges[]string—Bursa yang deltanya tersedia untuk skew.
expiries[].index_pricenumberUSDHarga indeks spot yang dipakai untuk konversi ke USD (dalam agregat: median harga indeks milik masing-masing bursa).
expiries[].underlying_pricenumber|nullUSDHarga forward / aset dasar yang dipublikasikan bursa untuk jatuh tempo ini.
expiries[].by_exchange_ivarray—IV ATM jatuh tempo ini per bursa.
expiries[].by_exchange_iv[]object—IV ATM jatuh tempo ini per bursa.
expiries[].by_exchange_iv[].exchangestring—ID bursa (huruf kecil).
expiries[].by_exchange_iv[].atm_ivnumber%Volatilitas tersirat at-the-money: rata-rata IV mark pada strike yang paling dekat dengan harga forward.
expiries[].by_exchange_iv[].atm_strikenumberUSDStrike yang paling dekat dengan harga forward, dipakai untuk IV ATM.
expiries[].by_exchange_iv[].ref_pricenumberUSDHarga forward yang menjadi acuan pemilihan strike ATM bursa.
expiries[].by_exchange_iv[].skew_25dnumber|nullpercentage pointsIV put dengan delta paling dekat ke −0.25 dikurangi IV call dengan delta paling dekat ke +0.25. Hanya delta yang dipublikasikan bursa.
expiries[].by_exchange_iv[].oi_usdnumberUSDOpen interest sebagai nosional USD: kuantitas koin × harga indeks spot. Satu sisi.
coverageobject—Apa yang termasuk dan tidak termasuk dalam angka-angka ini. Bandingkan ini terlebih dahulu sebelum membandingkan total dengan sumber lain.
coverage.included_exchangesarray—Sumber yang data segarnya disertakan.
coverage.included_exchanges[]string—Sumber yang data segarnya disertakan.
coverage.unavailablearray—Sumber yang tidak dapat disertakan, masing-masing dengan alasannya. Sumber tersebut tidak pernah dihitung sebagai 0.
coverage.unavailable[]object—Sumber yang tidak dapat disertakan, masing-masing dengan alasannya. Sumber tersebut tidak pernah dihitung sebagai 0.
coverage.unavailable[].exchangestring—ID bursa (huruf kecil).
coverage.unavailable[].reasonstring—Kode alasan yang dapat dibaca mesin.
coverage.unavailable[].detailstring—Penjelasan alasan yang dapat dibaca manusia.
coverage.stale_excludedarray—Baris yang tidak dimasukkan karena pembaruan terakhirnya berada di luar jendela kesegaran. kosong pada sampel yang dipakai untuk menghasilkan tabel ini
coverage.field_gapsarray—Kolom yang tidak dipublikasikan suatu bursa; nilainya `null` untuk bursa tersebut.
coverage.field_gaps[]object—Kolom yang tidak dipublikasikan suatu bursa; nilainya `null` untuk bursa tersebut.
coverage.field_gaps[].exchangestring—ID bursa (huruf kecil).
coverage.field_gaps[].fieldsarray—Nama kolom yang tidak ada.
coverage.field_gaps[].fields[]string—Nama kolom yang tidak ada.
coverage.field_gaps[].kindstring—Keluarga kontrak: `inverse` (penyelesaian dalam koin) atau `linear` (penyelesaian dalam stablecoin).
methodobject—Pernyataan teks biasa tentang rumus yang dipakai untuk respons ini, satu entri per kolom.
method.oi_usdstring—Catatan rumus untuk `oi_usd`, teks biasa.
method.vol_usd_24hstring—Catatan rumus untuk `vol_usd_24h`, teks biasa.
method.vol_premium_usd_24hstring—Catatan rumus untuk `vol_premium_usd_24h`, teks biasa.
method.pcr_oistring—Catatan rumus untuk `pcr_oi`, teks biasa.
method.pcr_volstring—Catatan rumus untuk `pcr_vol`, teks biasa.
method.max_painstring—Catatan rumus untuk `max_pain`, teks biasa.
method.atm_ivstring—Catatan rumus untuk `atm_iv`, teks biasa.
method.atm_iv_30dstring—Catatan rumus untuk `atm_iv_30d`, teks biasa.
method.skew_25dstring—Catatan rumus untuk `skew_25d`, teks biasa.
method.expirystring—Catatan rumus untuk `expiry`, teks biasa.
method.oi_share_pctstring—Catatan rumus untuk `oi_share_pct`, teks biasa.
metaobject—Silsilah data dan kesegaran respons ini.
meta.schemastring—ID skema respons ini. ID hanya berubah jika kolom yang sudah ada berubah makna atau tipe.
meta.sourcearray—Endpoint publik hulu tempat data dikumpulkan.
meta.source[]object—Endpoint publik hulu tempat data dikumpulkan.
meta.source[].exchangestring—ID bursa (huruf kecil).
meta.source[].endpointstring—Endpoint publik sumber yang dibaca kolektor (ditampilkan sebagai silsilah data; klien tidak pernah memanggilnya).
meta.observed_atnumbermsStempel waktu yang diberikan sumber untuk data tersebut.
meta.received_atnumbermsWaktu kolektor CoinBoss menerima data.
meta.fetched_atnumbermsWaktu respons ini disusun.
meta.windowstring—Jendela waktu yang dicakup angka-angka ini.
meta.qualitystring—FRESH, PARTIAL, STALE, BROKEN, atau UNAVAILABLE, dinilai dari stempel waktu data dan cakupan.
meta.is_staleboolean—True jika data lebih lama dari jendela kesegarannya.
meta.cache_ttl_snumbersMasa hidup cache respons ini.
meta.fallbackstring—Apa yang dikembalikan endpoint ketika kolektor atau sumber gagal.

Dihasilkan 2026-11-11 23:00 UTC dari 3 respons nyata.

Contoh respons

/api/sd/options/expiries?coin=BTC · Respons nyata yang direkam 2026-11-13 03:58:20 UTC. Array dan map yang panjang dipersingkat untuk tampilan: expiries berisi 12 item; meta.source berisi 6 item; coverage.field_gaps berisi 4 item; coverage.unavailable berisi 12 item; coverage.stale_included berisi 6 item; expiries[].by_exchange_iv berisi 6 item.

  • {
    • "success": true,
    • "schema": "coinboss.sd.options/1",
    • "now": 1794542300391,
    • "coin": "BTC",
    • "exchange": "all",
    • "n_expiries": 12,
    • "n_contracts": 5792,
    • "oi_usd": 32670143083.84,
    • "call_oi_usd": 18276964561.96,
    • "put_oi_usd": 14393178521.88,
    • "oi_coin": 457419.65,
    • "call_oi_coin": 255899.54,
    • "put_oi_coin": 201520.11,
    • "vol_usd_24h": 4295495191.7,
    • "call_vol_usd_24h": 2031780368.24,
    • "put_vol_usd_24h": 2263714823.46,
    • "vol_coin_24h": 60122.56,
    • "call_vol_coin_24h": 28436.77,
    • "put_vol_coin_24h": 31685.79,
    • "vol_premium_usd_24h": 34033631.12,
    • "pcr_oi": 0.7875,
    • "pcr_vol": 1.1143,
    • "atm_iv_30d": 37.2,
    • "expiries": [
      • { … 30 },
      • { … 30 }
      ],
    • "coverage": {
      • "included_exchanges": [ … 6 ],
      • "unavailable": [ … 2 ],
      • "stale_excluded": [],
      • "field_gaps": [ … 2 ],
      • "stale_included": [ … 2 ]
      },
    • "method": {
      • "oi_usd": "sum over contracts of oi_coin x that exchange's spot index price (USDT/USDC treated 1:1 as USD); oi_coin is open interest in units of the underlying coin after …",
      • "vol_usd_24h": "NOTIONAL 24h volume = sum of vol_coin (24h traded quantity in underlying coin) x the exchange's CURRENT spot index price; not premium turnover. Binance statisti…",
      • "vol_premium_usd_24h": "PREMIUM turnover (option price x quantity) as reported by the exchange: Deribit volume_usd, Binance amount, Gate sum(|size| x multiplier x price) from the 24h t…",
      • "pcr_oi": "put open interest / call open interest, both in underlying-coin units; null when call side is 0 or missing",
      • "pcr_vol": "put 24h volume / call 24h volume, both in underlying-coin units; null when call side is 0 or missing",
      • "max_pain": "per expiry: settlement price S among strikes with OI>0 minimizing pain_usd(S) = sum_calls oi_coin x max(S-K,0) + sum_puts oi_coin x max(K-S,0); ties take the lo…",
      • "atm_iv": "per exchange and expiry: reference price F = median of the exchange-published forward/underlying price of that expiry (the exchange index price where no forward…",
      • "atm_iv_30d": "30-day constant-maturity ATM IV: linear interpolation in days between the two expiries bracketing 30 days; null when 30 days is not bracketed",
      • "skew_25d": "IV(put with delta closest to -0.25, within +-0.10) - IV(call with delta closest to +0.25, within +-0.10), in percentage points, using exchange-published deltas …",
      • "expiry": "UTC date of the expiry timestamp (all integrated exchanges expire at 08:00 UTC); contracts from different exchanges with the same UTC expiry date are merged",
      • "oi_share_pct": "expiry oi_usd / total oi_usd of this response x 100"
      },
    • "meta": {
      • "schema": "coinboss.sd.options/1",
      • "source": [ … 2 ],
      • "observed_at": 1794522472654,
      • "received_at": 1794522473814,
      • "fetched_at": 1794542300391,
      • "window": "latest",
      • "quality": "STALE",
      • "is_stale": true,
      • "cache_ttl_s": 60,
      • "fallback": "on collector failure the last stored rows are served: an exchange whose newest batch is older than 25 min (collector cycle is 10 min) is excluded from totals (l…"
      }
    }

Sampel terverifikasi

Selain contoh di atas, probe memanggil endpoint ini dengan parameter berikut dan memeriksa skemanya setiap kali.

ParameterHTTPLatensiHasil
coin=ETH&exchange=deribit20046 msLolos STALE
coin=SOL20022 msLolos STALE
coin=BTC&exchange=nope4001 msLolos mengembalikan error yang diharapkan

Diperiksa 2026-11-13 03:58:20 UTC

Detail

Autentikasi
Tidak ada. Endpoint publik.
Batas permintaan
1200 permintaan per menit per IP
Cache server
60s
Mikro-cache edge
10s
Frekuensi pembaruan
Putaran kolektor setiap 10 menit; sebuah bursa dianggap segar selama 25 menit setelah putaran terakhirnya yang berhasil.
Jendela
Snapshot terbaru per jatuh tempo; kolom volume mencakup 24 jam terakhir.
Sumber data
Endpoint opsi REST publik milik Deribit, Binance, Bybit, OKX, Gate, dan Coincall, dikumpulkan dan disimpan oleh CoinBoss (sd_opt_latest, sd_opt_summary_hourly). Tidak ada agregator pihak ketiga yang terlibat.
Cakupan bursa
Enam bursa opsi. Koin yang tidak memiliki opsi tercatat di bursa yang dipilih mengembalikan HTTP 200 dengan kolom null, `meta.quality = "UNAVAILABLE"`, dan alasannya di `coverage.unavailable`. Bursa tanpa feed opsi publik juga tercantum di sana.
Pengurutan
Tanggal jatuh tempo, menaik.
Satuan
USD notional = contracts × contract size × spot index price of the venue. `*_coin` fields are in units of the underlying coin. Implied volatility is in percent (55 = 55 %). `vol_premium_usd_24h` is premium turnover, reported separately and never added to notional volume.
Metode
Contracts of different venues are grouped by UTC expiry date. Max pain and ATM IV are computed per expiry; `oi_share_pct` is the share of that expiry in the total open interest of the selection.
Stempel waktu
Milidetik epoch Unix (UTC) kecuali deskripsi kolom menyatakan lain
Format respons
json
Stabilitas
Stabil
Tersedia sejak
2026-11-11

Status langsung

TerdegradasiDiperiksa 2026-11-13 03:58:20 UTCHTTP 20061 msSkema sesuaiTitik data terbaru berusia 5.5h

Endpoint melaporkan kualitas data STALE

Ketersediaan, 30 hari terakhir

100% dari 407 pemeriksaan lolos

Pergeseran skema yang terdeteksi oleh probe terakhir
  • Dikembalikan tetapi tidak didokumentasikan: coverage.stale_included, coverage.stale_included[], coverage.stale_included[].exchange, coverage.stale_included[].age_s

Error

Panggilan yang gagal memiliki satu bentuk yang sama di semua endpoint. Daftar lengkapnya ada di halaman error. Error dan batas permintaan →

KodeHTTPArtiTindakan
INVALID_PARAM400Parameter wajib tidak ada atau suatu nilai tidak diterima. `param` menyebutkan nama parameternya jika diketahui.Jangan mengulang tanpa perubahan; perbaiki permintaannya.
UNAUTHORIZED401Header `CB-API-KEY` dikirim tetapi kuncinya tidak dikenal atau sudah dicabut. Data publik tidak memerlukan kunci — hapus header tersebut atau gunakan kunci yang valid.Jangan mengulang tanpa perubahan.
FORBIDDEN403Rute ini bukan bagian dari API publik (internal atau khusus akun).Jangan mengulang.
NOT_FOUND404Rute tidak dikenal, atau koin / bursa / dana yang diminta tidak ada.Jangan mengulang; periksa path dan pengenal terhadap katalog.
RATE_LIMITED429Jumlah permintaan melebihi batas per menit. `Retry-After` memberikan jumlah detik untuk menunggu.Tunggu selama `Retry-After`, lalu ulangi dengan backoff.
INTERNAL500Error server yang tidak terduga. Pesannya sengaja dibuat generik; sertakan `request_id` saat melaporkannya.Ulangi sekali setelah beberapa detik; laporkan beserta ID permintaan jika masih terjadi.
UPSTREAM_FAILED503Sumber data di balik endpoint ini tidak menjawab tepat waktu. Tidak ada angka usang atau angka pengganti yang dikembalikan sebagai gantinya.Ulangi dengan backoff; periksa halaman status.
UNAVAILABLE501 / 503Dataset untuk sementara belum siap (cache sedang diisi) atau endpoint belum memiliki sumber publik yang sah.Ulangi nanti; katalog menandai endpoint yang memang tidak tersedia secara desain.
REQUEST_FAILED200Beberapa endpoint lama menjawab HTTP 200 dengan `success: false`. Selalu periksa `success`, bukan hanya status HTTP.Bergantung pada pesannya; perlakukan sebagai permintaan yang gagal.

Coba

GET/api/sd/options/expiriesTerdegradasi
Parameter

string — Coin symbol, case-insensitive (for example `BTC`). Missing or malformed values return 400.

string · default all — One venue, or `all` for the cross-venue aggregate.

URL permintaanhttps://www.coinboss.com/api/sd/options/expiries?coin=BTC
Pilih endpoint lalu tekan “Kirim permintaan”. Respons, header, dan waktu tempuhnya akan muncul di sini.