/api/sd/oi
GETTersedia

Open interest untuk satu koin

Lapisan data mandiri: open interest untuk satu koin (per bursa / kontrak, dengan flag kualitas)

GET/api/sd/oi

Permintaan

Parameter kueri

NamaTipeWajibDefaultNilai yang diizinkanDeskripsi
coinstringWajib——Simbol koin; 400 jika tidak ada. Alias: `base`. Contoh: BTC

Contoh permintaan

curl -s "https://www.coinboss.com/api/sd/oi?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 }`.
coinstring—Simbol koin, huruf besar (misalnya BTC).
nownumbermsWaktu server saat respons disusun.
total_usdnumberUSDOpen interest di semua bursa dan kontrak yang disertakan, sebagaimana dilaporkan masing-masing bursa (nosional USD).
n_exchangesnumber—Jumlah bursa dalam total.
n_contractsnumber—Jumlah kontrak dalam total.
asofnumbermsWaktu pembaruan terbaru di antara baris yang disertakan.
total_usd_single_adjustednumberUSD`total_usd` dengan angka bursa yang melaporkan kedua sisi (`double_sided.exchanges`) dibagi dua, sehingga setiap bursa dihitung satu sisi.
double_sidedobject—Bursa yang diketahui memublikasikan open interest long + short sebagai satu angka.
double_sided.exchangesarray—Bursa.
double_sided.exchanges[]string—Bursa.
double_sided.oi_usdnumberUSDOpen interest yang dilaporkan bursa-bursa tersebut sebelum dibagi dua.
by_kindobject—Pembagian menurut linear / inverse.
by_kind.linear_usdnumberUSDOpen interest kontrak linear (margin dan penyelesaiannya dalam stablecoin atau USD).
by_kind.inverse_usdnumberUSDOpen interest kontrak inverse (bermargin koin), dikonversi ke USD pada harga kontrak.
by_marginobject—Pembagian menurut mata uang margin.
by_margin.othernumberUSDMata uang margin lainnya (misalnya bursa dengan penyelesaian USD seperti CME).
by_margin.usdtnumberUSDKontrak bermargin USDT.
by_margin.usdcnumberUSDKontrak bermargin USDC. bisa tidak ada
by_margin.coinnumberUSDKontrak bermargin koin. bisa tidak ada
by_contract_typeobject—Pembagian menurut perpetual / berjangka.
by_contract_type.perpetual_usdnumberUSDKontrak perpetual.
by_contract_type.delivery_usdnumberUSDKontrak berjangka dengan jatuh tempo (kontrak delivery).
changeobject—Perubahan open interest selama 1h / 4h / 24h, dihitung pada himpunan kontrak yang sama di kedua ujung. kunci dinamis: h1,h4,h24
change.{*}object—Perubahan selama periode yang dinyatakan.
change.{*}.pctnumber%Perubahan persentase antara `prev` dan `cur`.
change.{*}.curnumberUSDJumlah saat ini atas kontrak yang dicocokkan.
change.{*}.prevnumberUSDJumlah atas kontrak yang sama pada `prev_ts`.
change.{*}.n_matchednumber—Kontrak (atau bursa) yang ada di kedua ujung.
change.{*}.n_totalnumber—Kontrak (atau bursa) yang ada saat ini.
change.{*}.matched_share_pctnumber%Pangsa open interest saat ini yang tercakup oleh himpunan yang dicocokkan. bisa tidak ada
change.{*}.prev_tsnumbermsWaktu snapshot baseline.
change.{*}.span_minnumberminJarak aktual antara baseline dan saat ini.
change.{*}.basisstring—Deret snapshot yang menjadi asal baseline.
change.{*}.frozen_excludedobject—Baris yang tidak disertakan dalam perubahan karena nilainya tidak bergerak di antara kedua snapshot (sumber tidak diperbarui). bisa tidak ada
change.{*}.frozen_excluded.n_baselinenumber—Item dalam snapshot baseline. bisa tidak ada
change.{*}.frozen_excluded.n_currentnumber—Item dalam snapshot saat ini. bisa tidak ada
change.{*}.frozen_excluded.cur_usdnumberUSDNilai saat ini. bisa tidak ada
change.{*}.frozen_excluded.prev_usdnumberUSDNilai baseline. bisa tidak ada
by_exchangearray—Rincian per bursa.
by_exchange[]object—Rincian per bursa.
by_exchange[].exchangestring—ID bursa, huruf kecil (misalnya `binance`).
by_exchange[].oi_usdnumberUSDOpen interest dalam nosional USD.
by_exchange[].share_pctnumber%Pangsa dari total.
by_exchange[].n_contractsnumber—Jumlah kontrak.
by_exchange[].linear_usdnumberUSDKontrak linear.
by_exchange[].inverse_usdnumberUSDKontrak inverse (bermargin koin).
by_exchange[].perpetual_usdnumberUSDKontrak perpetual.
by_exchange[].delivery_usdnumberUSDKontrak berjangka.
by_exchange[].oi_sidestring—`double` jika bursa melaporkan kedua sisi dalam satu angka, `single` jika melaporkan satu sisi, `unstated` jika bursa tidak mendokumentasikannya.
by_exchange[].oi_usd_single_adjustednumber|nullUSDEkuivalen satu sisi; null jika konvensi sisinya tidak dinyatakan.
by_exchange[].updated_atnumbermsWaktu baris ini terakhir diperbarui.
by_exchange[].age_snumbersJumlah detik sejak baris ini terakhir diperbarui.
by_exchange[].is_staleboolean—true jika baris lebih lama daripada jendela kesegaran; baris usang tidak dipakai dalam total.
contractsarray—Baris per kontrak.
contracts[]object—Baris per kontrak.
contracts[].exchangestring—ID bursa, huruf kecil (misalnya `binance`).
contracts[].symbolstring—Simbol instrumen yang dinormalkan oleh CoinBoss (misalnya BTCUSDT).
contracts[].native_symbolstring|null—Simbol persis seperti yang ditulis bursa.
contracts[].oi_usdnumberUSDOpen interest dalam nosional USD.
contracts[].oi_sidestring—`double`, `single`, atau `unstated`: apakah bursa melaporkan kedua sisi open interest dalam satu angka.
contracts[].oi_usd_singlenumber|nullUSDEkuivalen satu sisi dari `oi_usd`; null jika konvensi sisinya tidak dinyatakan.
contracts[].marginstring—Kelas mata uang margin: `usdt`, `usdc`, `coin`, atau `other`.
contracts[].kindstring—`linear` atau `inverse`.
contracts[].contract_typestring—`perpetual` atau `delivery`.
contracts[].expiry_tsnumber|nullmsJatuh tempo kontrak berjangka; null untuk kontrak perpetual atau jika tidak dipublikasikan.
contracts[].margin_basisstring—Cara kelas margin ditentukan (dari spesifikasi kontrak atau default bursa).
contracts[].updated_atnumbermsWaktu baris ini terakhir diperbarui.
contracts[].age_snumbersJumlah detik sejak baris ini terakhir diperbarui.
contracts[].is_staleboolean—true jika baris lebih lama daripada jendela kesegaran; baris usang tidak dipakai dalam total.
contracts[].collectorstring—Kolektor internal yang menghasilkan baris ini.
contracts[].included_sincenumber|nullmsWaktu kontrak ini masuk ke dalam total; null untuk himpunan dasar.
coverageobject—Apa yang termasuk dan tidak termasuk dalam angka di atas. Bandingkan ini terlebih dahulu sebelum membandingkan total dengan sumber lain.
coverage.included_exchangesarray—Bursa yang datanya disertakan dalam total.
coverage.included_exchanges[]string—Bursa yang disertakan dalam total.
coverage.pendingarray—Kontrak yang dikumpulkan tetapi belum disertakan dalam total (misalnya selama riwayat 25 jamnya sendiri masih terbentuk). Dicantumkan beserta nilainya saat ini agar celahnya terlihat.
coverage.pending[]object—Item yang dikumpulkan tetapi belum disertakan.
coverage.pending[].exchangestring—ID bursa, huruf kecil (misalnya `binance`).
coverage.pending[].symbolstring—Simbol instrumen yang dinormalkan oleh CoinBoss (misalnya BTCUSDT).
coverage.pending[].native_symbolstring—Simbol persis seperti yang ditulis bursa.
coverage.pending[].marginstring—Kelas mata uang margin.
coverage.pending[].contract_typestring—`perpetual` atau `delivery`.
coverage.pending[].oi_usdnumberUSDOpen interest dalam nosional USD.
coverage.pending[].age_snumbersJumlah detik sejak baris ini terakhir diperbarui.
coverage.pending[].reasonstring—Kode alasan.
coverage.pending[].detailstring|null—Detail.
coverage.pending_usdnumber|nullUSDJumlah kontrak yang masih tertunda, bukan bagian dari `total_usd`.
coverage.stale_excludedarray—Baris yang tidak disertakan karena pembaruan terakhirnya berada di luar jendela layak pakai. kosong pada sampel yang dipakai untuk menghasilkan tabel ini
coverage.unavailablearray—Pasangan bursa / kontrak yang tidak dapat disertakan, masing-masing dengan alasannya. Tidak pernah dihitung sebagai 0.
coverage.unavailable[]object—Item yang datanya tidak tersedia, beserta alasannya. Tidak pernah dilaporkan sebagai 0.
coverage.unavailable[].exchangestring—ID bursa, huruf kecil (misalnya `binance`).
coverage.unavailable[].symbolstring—Simbol instrumen yang dinormalkan oleh CoinBoss (misalnya BTCUSDT).
coverage.unavailable[].native_symbolstring—Simbol persis seperti yang ditulis bursa.
coverage.unavailable[].marginstring—Kelas mata uang margin.
coverage.unavailable[].contract_typestring—`perpetual` atau `delivery`.
coverage.unavailable[].reasonstring—Kode alasan.
coverage.unavailable[].detailstring—Detail.
methodobject—Pernyataan teks biasa tentang rumus yang dipakai untuk respons ini.
method.totalstring—Total.
method.usdstringUSDNilai.
method.change_h1_h4string—Definisi teks biasa untuk perubahan open interest 1h dan 4h: setiap kontrak dibandingkan dengan snapshot-nya sendiri yang paling dekat dengan awal jendela.
method.change_h24string—Definisi teks biasa untuk perubahan open interest 24h: pemasangan dalam bursa yang sama terhadap snapshot per jam yang paling dekat dengan 24 jam lalu, baseline beku dikecualikan.
method.oi_sidestring—`double`, `single`, atau `unstated`: apakah bursa melaporkan kedua sisi open interest dalam satu angka.

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

Contoh respons

/api/sd/oi?coin=BTC · Respons nyata yang direkam 2026-11-13 03:47:33 UTC. Array dan map yang panjang dipersingkat untuk tampilan: change berisi 3 item; contracts berisi 95 item; by_exchange berisi 22 item; coverage.included_exchanges berisi 22 item.

  • {
    • "success": true,
    • "coin": "BTC",
    • "now": 1794541653497,
    • "total_usd": 49284318924.62,
    • "n_exchanges": 22,
    • "n_contracts": 95,
    • "asof": 1794541631000,
    • "total_usd_single_adjusted": 43980052422.29001,
    • "double_sided": {
      • "exchanges": [ … 2 ],
      • "oi_usd": 10608533004.66
      },
    • "by_kind": {
      • "linear_usd": 44435283132.62,
      • "inverse_usd": 4849035792
      },
    • "by_margin": {
      • "other": 8260651511.359999,
      • "usdt": 31133298153.259995,
      • "usdc": 5041333468,
      • "coin": 4849035792
      },
    • "by_contract_type": {
      • "perpetual_usd": 41099498305.57,
      • "delivery_usd": 8184820619.05
      },
    • "change": {
      • "h1": { … 9 },
      • "h4": { … 9 }
      },
    • "by_exchange": [
      • { … 13 },
      • { … 13 }
      ],
    • "contracts": [
      • { … 16 },
      • { … 16 }
      ],
    • "coverage": {
      • "included_exchanges": [ … 8 ],
      • "pending": [],
      • "pending_usd": null,
      • "stale_excluded": [ … 2 ],
      • "unavailable": [ … 1 ]
      },
    • "method": {
      • "total": "SUM(oi_usd) over fresh contracts (non-CME updated within 3h; CME within 120h)",
      • "usd": "linear: contracts × contract_size × mark/last price; inverse: contracts × contract_face_value_usd (or coin amount × price)",
      • "change_h1_h4": "same-contract pairing vs own snapshot nearest to now−W (15-minute snapshots, hourly fallback)",
      • "change_h24": "same-exchange pairing vs hourly snapshot nearest to now−24h (site-wide convention); contracts whose baseline snapshot is a frozen carry-over (identical to the c…",
      • "oi_side": "as disclosed by each exchange; double = exchange API itself reports open interest as twice the single-sided figure"
      }
    }

Sampel terverifikasi

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

ParameterHTTPLatensiHasil
coin=ETH20034 msLolos
coin=SOL20023 msLolos
coin=ARKM20020 msLolos
—4002 msLolos mengembalikan error yang diharapkan

Diperiksa 2026-11-13 03:27:39 UTC

Detail

Autentikasi
Tidak ada. Endpoint publik.
Batas permintaan
1200 permintaan per menit per IP
Cache server
20s
Mikro-cache edge
10s
Frekuensi pembaruan
setiap 60 s untuk sebagian besar bursa (ditulis bersama ticker; 50 teratas binance dan okx memiliki job khusus 60 s); penyapuan penuh binance / bingx / aster / gate / htx setiap 5 min; kontrak bermargin koin / USDC / berjangka setiap 120 s (dipromosikan ke tabel bersama setiap 5 min); cme sekali per hari perdagangan (04:10 UTC); snapshot tingkat kontrak 15 menit untuk perubahan jendela pendek
Jendela
snapshot terbaru (baris dalam 3 h terakhir, cme 120 h; flag is_stale setelah 15 min, cme 36 h); perubahan selama 1 h / 4 h (snapshot 15 menit) dan 24 h (arsip per jam)
Sumber data
Open interest yang di-polling oleh kolektor internal dari API REST publik 22 bursa derivatif (mis. binance, okx, bybit, gate, bitget, hyperliquid) ditambah laporan harian resmi volume/open interest CME.
Cakupan bursa
23 sumber dengan baris segar (22 bursa + cme); semua jenis kontrak (linear USDT / USDC / USD, inverse bermargin koin, perpetual dan berjangka); bybit dan gate melaporkan open interest dua sisi sebagaimana diungkapkan bursa; baris yang lebih lama dari 3 h (cme: 120 h) dikecualikan; blok coverage mencantumkan bursa yang disertakan, tertunda (menunggu 25 h riwayat sendiri), dikecualikan karena usang, dan tidak tersedia
Satuan
open interest in USD notional; total_usd_single_adjusted halves venues that report double-sided OI; changes in percent
Metode
total_usd = SUM(oi_usd) over fresh contracts (multiplier contracts folded); breakdowns by kind / margin / contract type; h1 / h4 change by same-contract pairing against 15-minute snapshots (+/- 10 min, fallback hourly archive) and only when >= 50% of OI is matched; h24 change by same-exchange pairing against the hourly bucket nearest now - 24 h
Stempel waktu
Milidetik epoch Unix (UTC) kecuali deskripsi kolom menyatakan lain
Format respons
json
Stabilitas
Stabil
Tersedia sejak
2026-11-11

Status langsung

TersediaDiperiksa 2026-11-13 03:47:33 UTCHTTP 20035 msSkema sesuaiTitik data terbaru berusia 22s

Ketersediaan, 30 hari terakhir

100% dari 409 pemeriksaan lolos

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

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/oiTersedia
Parameter

string — Coin symbol; 400 when missing. Alias: `base`.

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