Open interest untuk satu koin
Lapisan data mandiri: open interest untuk satu koin (per bursa / kontrak, dengan flag kualitas)
/api/sd/oiPermintaan
Parameter kueri
| Nama | Tipe | Wajib | Default | Nilai yang diizinkan | Deskripsi |
|---|---|---|---|---|---|
| coin | string | Wajib | — | — | 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.
| Kolom | Tipe | Satuan | Deskripsi |
|---|---|---|---|
| success | boolean | — | true jika permintaan berhasil. Jika gagal, body-nya adalah `{ success: false, code, error, request_id }`. |
| coin | string | — | Simbol koin, huruf besar (misalnya BTC). |
| now | number | ms | Waktu server saat respons disusun. |
| total_usd | number | USD | Open interest di semua bursa dan kontrak yang disertakan, sebagaimana dilaporkan masing-masing bursa (nosional USD). |
| n_exchanges | number | — | Jumlah bursa dalam total. |
| n_contracts | number | — | Jumlah kontrak dalam total. |
| asof | number | ms | Waktu pembaruan terbaru di antara baris yang disertakan. |
| total_usd_single_adjusted | number | USD | `total_usd` dengan angka bursa yang melaporkan kedua sisi (`double_sided.exchanges`) dibagi dua, sehingga setiap bursa dihitung satu sisi. |
| double_sided | object | — | Bursa yang diketahui memublikasikan open interest long + short sebagai satu angka. |
| double_sided.exchanges | array | — | Bursa. |
| double_sided.exchanges[] | string | — | Bursa. |
| double_sided.oi_usd | number | USD | Open interest yang dilaporkan bursa-bursa tersebut sebelum dibagi dua. |
| by_kind | object | — | Pembagian menurut linear / inverse. |
| by_kind.linear_usd | number | USD | Open interest kontrak linear (margin dan penyelesaiannya dalam stablecoin atau USD). |
| by_kind.inverse_usd | number | USD | Open interest kontrak inverse (bermargin koin), dikonversi ke USD pada harga kontrak. |
| by_margin | object | — | Pembagian menurut mata uang margin. |
| by_margin.other | number | USD | Mata uang margin lainnya (misalnya bursa dengan penyelesaian USD seperti CME). |
| by_margin.usdt | number | USD | Kontrak bermargin USDT. |
| by_margin.usdc | number | USD | Kontrak bermargin USDC. bisa tidak ada |
| by_margin.coin | number | USD | Kontrak bermargin koin. bisa tidak ada |
| by_contract_type | object | — | Pembagian menurut perpetual / berjangka. |
| by_contract_type.perpetual_usd | number | USD | Kontrak perpetual. |
| by_contract_type.delivery_usd | number | USD | Kontrak berjangka dengan jatuh tempo (kontrak delivery). |
| change | object | — | 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.{*}.pct | number | % | Perubahan persentase antara `prev` dan `cur`. |
| change.{*}.cur | number | USD | Jumlah saat ini atas kontrak yang dicocokkan. |
| change.{*}.prev | number | USD | Jumlah atas kontrak yang sama pada `prev_ts`. |
| change.{*}.n_matched | number | — | Kontrak (atau bursa) yang ada di kedua ujung. |
| change.{*}.n_total | number | — | Kontrak (atau bursa) yang ada saat ini. |
| change.{*}.matched_share_pct | number | % | Pangsa open interest saat ini yang tercakup oleh himpunan yang dicocokkan. bisa tidak ada |
| change.{*}.prev_ts | number | ms | Waktu snapshot baseline. |
| change.{*}.span_min | number | min | Jarak aktual antara baseline dan saat ini. |
| change.{*}.basis | string | — | Deret snapshot yang menjadi asal baseline. |
| change.{*}.frozen_excluded | object | — | Baris yang tidak disertakan dalam perubahan karena nilainya tidak bergerak di antara kedua snapshot (sumber tidak diperbarui). bisa tidak ada |
| change.{*}.frozen_excluded.n_baseline | number | — | Item dalam snapshot baseline. bisa tidak ada |
| change.{*}.frozen_excluded.n_current | number | — | Item dalam snapshot saat ini. bisa tidak ada |
| change.{*}.frozen_excluded.cur_usd | number | USD | Nilai saat ini. bisa tidak ada |
| change.{*}.frozen_excluded.prev_usd | number | USD | Nilai baseline. bisa tidak ada |
| by_exchange | array | — | Rincian per bursa. |
| by_exchange[] | object | — | Rincian per bursa. |
| by_exchange[].exchange | string | — | ID bursa, huruf kecil (misalnya `binance`). |
| by_exchange[].oi_usd | number | USD | Open interest dalam nosional USD. |
| by_exchange[].share_pct | number | % | Pangsa dari total. |
| by_exchange[].n_contracts | number | — | Jumlah kontrak. |
| by_exchange[].linear_usd | number | USD | Kontrak linear. |
| by_exchange[].inverse_usd | number | USD | Kontrak inverse (bermargin koin). |
| by_exchange[].perpetual_usd | number | USD | Kontrak perpetual. |
| by_exchange[].delivery_usd | number | USD | Kontrak berjangka. |
| by_exchange[].oi_side | string | — | `double` jika bursa melaporkan kedua sisi dalam satu angka, `single` jika melaporkan satu sisi, `unstated` jika bursa tidak mendokumentasikannya. |
| by_exchange[].oi_usd_single_adjusted | number|null | USD | Ekuivalen satu sisi; null jika konvensi sisinya tidak dinyatakan. |
| by_exchange[].updated_at | number | ms | Waktu baris ini terakhir diperbarui. |
| by_exchange[].age_s | number | s | Jumlah detik sejak baris ini terakhir diperbarui. |
| by_exchange[].is_stale | boolean | — | true jika baris lebih lama daripada jendela kesegaran; baris usang tidak dipakai dalam total. |
| contracts | array | — | Baris per kontrak. |
| contracts[] | object | — | Baris per kontrak. |
| contracts[].exchange | string | — | ID bursa, huruf kecil (misalnya `binance`). |
| contracts[].symbol | string | — | Simbol instrumen yang dinormalkan oleh CoinBoss (misalnya BTCUSDT). |
| contracts[].native_symbol | string|null | — | Simbol persis seperti yang ditulis bursa. |
| contracts[].oi_usd | number | USD | Open interest dalam nosional USD. |
| contracts[].oi_side | string | — | `double`, `single`, atau `unstated`: apakah bursa melaporkan kedua sisi open interest dalam satu angka. |
| contracts[].oi_usd_single | number|null | USD | Ekuivalen satu sisi dari `oi_usd`; null jika konvensi sisinya tidak dinyatakan. |
| contracts[].margin | string | — | Kelas mata uang margin: `usdt`, `usdc`, `coin`, atau `other`. |
| contracts[].kind | string | — | `linear` atau `inverse`. |
| contracts[].contract_type | string | — | `perpetual` atau `delivery`. |
| contracts[].expiry_ts | number|null | ms | Jatuh tempo kontrak berjangka; null untuk kontrak perpetual atau jika tidak dipublikasikan. |
| contracts[].margin_basis | string | — | Cara kelas margin ditentukan (dari spesifikasi kontrak atau default bursa). |
| contracts[].updated_at | number | ms | Waktu baris ini terakhir diperbarui. |
| contracts[].age_s | number | s | Jumlah detik sejak baris ini terakhir diperbarui. |
| contracts[].is_stale | boolean | — | true jika baris lebih lama daripada jendela kesegaran; baris usang tidak dipakai dalam total. |
| contracts[].collector | string | — | Kolektor internal yang menghasilkan baris ini. |
| contracts[].included_since | number|null | ms | Waktu kontrak ini masuk ke dalam total; null untuk himpunan dasar. |
| coverage | object | — | Apa yang termasuk dan tidak termasuk dalam angka di atas. Bandingkan ini terlebih dahulu sebelum membandingkan total dengan sumber lain. |
| coverage.included_exchanges | array | — | Bursa yang datanya disertakan dalam total. |
| coverage.included_exchanges[] | string | — | Bursa yang disertakan dalam total. |
| coverage.pending | array | — | 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[].exchange | string | — | ID bursa, huruf kecil (misalnya `binance`). |
| coverage.pending[].symbol | string | — | Simbol instrumen yang dinormalkan oleh CoinBoss (misalnya BTCUSDT). |
| coverage.pending[].native_symbol | string | — | Simbol persis seperti yang ditulis bursa. |
| coverage.pending[].margin | string | — | Kelas mata uang margin. |
| coverage.pending[].contract_type | string | — | `perpetual` atau `delivery`. |
| coverage.pending[].oi_usd | number | USD | Open interest dalam nosional USD. |
| coverage.pending[].age_s | number | s | Jumlah detik sejak baris ini terakhir diperbarui. |
| coverage.pending[].reason | string | — | Kode alasan. |
| coverage.pending[].detail | string|null | — | Detail. |
| coverage.pending_usd | number|null | USD | Jumlah kontrak yang masih tertunda, bukan bagian dari `total_usd`. |
| coverage.stale_excluded | array | — | Baris yang tidak disertakan karena pembaruan terakhirnya berada di luar jendela layak pakai. kosong pada sampel yang dipakai untuk menghasilkan tabel ini |
| coverage.unavailable | array | — | 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[].exchange | string | — | ID bursa, huruf kecil (misalnya `binance`). |
| coverage.unavailable[].symbol | string | — | Simbol instrumen yang dinormalkan oleh CoinBoss (misalnya BTCUSDT). |
| coverage.unavailable[].native_symbol | string | — | Simbol persis seperti yang ditulis bursa. |
| coverage.unavailable[].margin | string | — | Kelas mata uang margin. |
| coverage.unavailable[].contract_type | string | — | `perpetual` atau `delivery`. |
| coverage.unavailable[].reason | string | — | Kode alasan. |
| coverage.unavailable[].detail | string | — | Detail. |
| method | object | — | Pernyataan teks biasa tentang rumus yang dipakai untuk respons ini. |
| method.total | string | — | Total. |
| method.usd | string | USD | Nilai. |
| method.change_h1_h4 | string | — | 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_h24 | string | — | 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_side | string | — | `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"
- "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"
- "h4"
- "by_exchange"
- "contracts"
- "coverage"
- "included_exchanges"
- "pending"
- "pending_usd"null
- "stale_excluded"
- "unavailable"
- "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.
| Parameter | HTTP | Latensi | Hasil |
|---|---|---|---|
| coin=ETH | 200 | 34 ms | Lolos |
| coin=SOL | 200 | 23 ms | Lolos |
| coin=ARKM | 200 | 20 ms | Lolos |
| — | 400 | 2 ms | Lolos 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
Ketersediaan, 30 hari terakhir
100% dari 409 pemeriksaan lolos
- 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 →
| Kode | HTTP | Arti | Tindakan |
|---|---|---|---|
| INVALID_PARAM | 400 | Parameter wajib tidak ada atau suatu nilai tidak diterima. `param` menyebutkan nama parameternya jika diketahui. | Jangan mengulang tanpa perubahan; perbaiki permintaannya. |
| UNAUTHORIZED | 401 | Header `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. |
| FORBIDDEN | 403 | Rute ini bukan bagian dari API publik (internal atau khusus akun). | Jangan mengulang. |
| NOT_FOUND | 404 | Rute tidak dikenal, atau koin / bursa / dana yang diminta tidak ada. | Jangan mengulang; periksa path dan pengenal terhadap katalog. |
| RATE_LIMITED | 429 | Jumlah permintaan melebihi batas per menit. `Retry-After` memberikan jumlah detik untuk menunggu. | Tunggu selama `Retry-After`, lalu ulangi dengan backoff. |
| INTERNAL | 500 | Error 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_FAILED | 503 | Sumber 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. |
| UNAVAILABLE | 501 / 503 | Dataset 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_FAILED | 200 | Beberapa endpoint lama menjawab HTTP 200 dengan `success: false`. Selalu periksa `success`, bukan hanya status HTTP. | Bergantung pada pesannya; perlakukan sebagai permintaan yang gagal. |
Coba
/api/sd/oiTersediastring — Coin symbol; 400 when missing. Alias: `base`.
https://www.coinboss.com/api/sd/oi?coin=BTCLainnya di kategori ini
- Open interest untuk satu koin /api/sd/oi
- Peringkat open interest per koin lintas bursa /api/market/open-interest
- Deret grafik OI bertumpuk untuk satu koin /api/oi/chart
- Riwayat open interest agregat untuk satu koin /api/oi/history
- Matriks open interest /api/oi/matrix
- Ringkasan open interest untuk satu koin /api/oi/summary