Riwayat opsi (per jam)
Deret per jam untuk open interest opsi, volume, rasio put/call, IV ATM, atau max pain untuk satu koin. Riwayat dimulai sejak CoinBoss mulai mengumpulkan data (2026-11-11); jam-jam sebelumnya tidak diisi mundur.
/api/sd/options/historyPermintaan
Parameter kueri
| Nama | Tipe | Wajib | Default | Nilai yang diizinkan | Deskripsi |
|---|---|---|---|---|---|
| coin | string | Wajib | — | — | Simbol koin, tidak peka huruf besar/kecil (misalnya `BTC`). Nilai yang tidak diisi atau salah format mengembalikan 400. Contoh: BTC |
| metric | string | Wajib | — | oi, volume, pcr, atm_iv, max_pain | Deret yang dikembalikan. Contoh: oi |
| range | string | Opsional | 7d | 24h, 7d, 30d, 90d | Rentang waktu ke belakang; satu titik per jam, paling banyak 2160 titik. |
| exchange | string | Opsional | all | all, deribit, binance, bybit, okx, gate, coincall | Satu bursa, atau `all` untuk agregat lintas bursa. |
Contoh permintaan
curl -s "https://www.coinboss.com/api/sd/options/history?coin=BTC&metric=oi"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 }`. |
| schema | string | — | ID skema respons ini. ID hanya berubah jika kolom yang sudah ada berubah makna atau tipe. |
| now | number | ms | Waktu server saat respons disusun. |
| coin | string | — | Simbol koin (huruf besar). |
| exchange | string | — | ID bursa (huruf kecil). |
| metric | string | — | Deret yang dipilih oleh parameter `metric`. |
| range | string | — | Rentang waktu ke belakang yang diterapkan. |
| interval | string | — | Jarak antartitik deret. |
| points_count | number | — | Jumlah titik yang dikembalikan. |
| expected_points | number | — | Jumlah titik per jam yang akan dimuat rentang yang diminta jika lengkap. |
| history_started_at | number | ms | Waktu jam pertama yang dikumpulkan CoinBoss. |
| first_t | number | ms | Waktu titik pertama yang dikembalikan. |
| last_t | number | ms | Waktu titik terakhir yang dikembalikan. |
| points | array | — | Titik deret, yang terlama lebih dulu. |
| points[] | object | — | Titik deret, yang terlama lebih dulu. |
| points[].t | number | ms | Awal bucket waktu. |
| points[].snapshot_at | number | ms | Waktu putaran kolektor yang menjadi sumber penulisan titik tersebut. |
| points[].n_exchanges | number | — | Jumlah bursa dalam titik tersebut. |
| points[].exchanges | array | — | Bursa yang termasuk dalam baris ini. |
| points[].exchanges[] | string | — | Bursa yang termasuk dalam baris ini. |
| points[].oi_usd | number | USD | Open interest sebagai nosional USD: kuantitas koin × harga indeks spot. Satu sisi. bisa tidak ada |
| points[].call_oi_usd | number | USD | Open interest call, nosional USD. bisa tidak ada |
| points[].put_oi_usd | number | USD | Open interest put, nosional USD. bisa tidak ada |
| points[].oi_coin | number | coin | Open interest dalam unit koin dasar. bisa tidak ada |
| points[].index_price | number | USD | Harga indeks spot yang dipakai untuk konversi ke USD (dalam agregat: median harga indeks milik masing-masing bursa). bisa tidak ada |
| coverage | object | — | Apa yang termasuk dan tidak termasuk dalam angka-angka ini. Bandingkan ini terlebih dahulu sebelum membandingkan total dengan sumber lain. |
| coverage.included_exchanges | array | — | Sumber yang data segarnya disertakan. |
| coverage.included_exchanges[] | string | — | Sumber yang data segarnya disertakan. |
| coverage.unavailable | array | — | 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[].exchange | string | — | ID bursa (huruf kecil). |
| coverage.unavailable[].reason | string | — | Kode alasan yang dapat dibaca mesin. |
| coverage.unavailable[].detail | string | — | Penjelasan alasan yang dapat dibaca manusia. |
| coverage.stale_excluded | array | — | Baris yang tidak dimasukkan karena pembaruan terakhirnya berada di luar jendela kesegaran. kosong pada sampel yang dipakai untuk menghasilkan tabel ini |
| method | object | — | Pernyataan teks biasa tentang rumus yang dipakai untuk respons ini, satu entri per kolom. |
| method.points | string | — | Catatan rumus untuk `points`, teks biasa. |
| method.exchanges | string | — | Catatan rumus untuk `exchanges`, teks biasa. |
| method.history_depth | string | — | Catatan rumus untuk `history_depth`, teks biasa. |
| method.oi_usd | string | — | Catatan rumus untuk `oi_usd`, teks biasa. bisa tidak ada |
| meta | object | — | Silsilah data dan kesegaran respons ini. |
| meta.schema | string | — | ID skema respons ini. ID hanya berubah jika kolom yang sudah ada berubah makna atau tipe. |
| meta.source | array | — | Endpoint publik hulu tempat data dikumpulkan. |
| meta.source[] | object | — | Endpoint publik hulu tempat data dikumpulkan. |
| meta.source[].exchange | string | — | ID bursa (huruf kecil). |
| meta.source[].endpoint | string | — | Endpoint publik sumber yang dibaca kolektor (ditampilkan sebagai silsilah data; klien tidak pernah memanggilnya). |
| meta.observed_at | null | — | Stempel waktu yang diberikan sumber untuk data tersebut. |
| meta.received_at | number | ms | Waktu kolektor CoinBoss menerima data. |
| meta.fetched_at | number | ms | Waktu respons ini disusun. |
| meta.window | string | — | Jendela waktu yang dicakup angka-angka ini. |
| meta.quality | string | — | FRESH, PARTIAL, STALE, BROKEN, atau UNAVAILABLE, dinilai dari stempel waktu data dan cakupan. |
| meta.is_stale | boolean | — | True jika data lebih lama dari jendela kesegarannya. |
| meta.cache_ttl_s | number | s | Masa hidup cache respons ini. |
| meta.fallback | string | — | Apa yang dikembalikan endpoint ketika kolektor atau sumber gagal. |
| points[].pcr_oi | number | ratio | Open interest put ÷ open interest call, dalam unit koin; `null` jika sisi call bernilai 0. bisa tidak ada |
| points[].pcr_vol | number | ratio | Volume 24h put ÷ volume 24h call, dalam unit koin; `null` jika sisi call bernilai 0. bisa tidak ada |
| method.pcr_oi | string | — | Catatan rumus untuk `pcr_oi`, teks biasa. bisa tidak ada |
| method.pcr_vol | string | — | Catatan rumus untuk `pcr_vol`, teks biasa. bisa tidak ada |
| points[].atm_iv_30d | number | % | IV ATM yang diinterpolasi secara linear ke tenor tetap 30 hari; `null` jika 30 hari tidak diapit oleh dua jatuh tempo. bisa tidak ada |
| method.atm_iv | string | — | Catatan rumus untuk `atm_iv`, teks biasa. bisa tidak ada |
| method.atm_iv_30d | string | — | Catatan rumus untuk `atm_iv_30d`, teks biasa. bisa tidak ada |
Dihasilkan 2026-11-11 23:00 UTC dari 3 respons nyata.
Contoh respons
/api/sd/options/history?coin=BTC&metric=oi · Respons nyata yang direkam 2026-11-13 03:58:20 UTC. Array dan map yang panjang dipersingkat untuk tampilan: points berisi 23 item; meta.source berisi 6 item; coverage.unavailable berisi 12 item.
- "success"true
- "schema""coinboss.sd.options/1"
- "now"1794542300888
- "coin""BTC"
- "exchange""all"
- "metric""oi"
- "range""7d"
- "interval""1h"
- "points_count"23
- "expected_points"168
- "history_started_at"1794416400000
- "first_t"1794416400000
- "last_t"1794520800000
- "points"
- "coverage"
- "included_exchanges"
- "unavailable"
- "stale_excluded"
- "method"
- "points""one point per UTC hour bucket (t = bucket start, ms); the value is the LAST collector snapshot inside that hour (snapshot_at); hours in which the collector prod…"
- "exchanges""exchanges that were fresh and therefore included in that hour's figure; a change in this list between points explains level shifts in the all-exchange series"
- "history_depth""hourly summaries are kept for 90 days; the series starts when the collector was first deployed (history_started_at), so fewer points than the requested range ma…"
- "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 …"
- "meta"
- "schema""coinboss.sd.options/1"
- "source"
- "observed_at"null
- "received_at"1794522484809
- "fetched_at"1794542300888
- "window""7d"
- "quality""STALE"
- "is_stale"true
- "cache_ttl_s"300
- "fallback""hours without a collector snapshot are absent from the series (no interpolation); PARTIAL means fewer hourly points exist than the requested range (history shor…"
Sampel terverifikasi
Selain contoh di atas, probe memanggil endpoint ini dengan parameter berikut dan memeriksa skemanya setiap kali.
| Parameter | HTTP | Latensi | Hasil |
|---|---|---|---|
| coin=ETH&range=24h&metric=pcr | 200 | 2 ms | Lolos STALE |
| coin=BTC&metric=atm_iv | 200 | 3 ms | Lolos STALE |
| coin=BTC | 400 | 1 ms | Lolos 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
- 5m
- Mikro-cache edge
- 10s
- Frekuensi pembaruan
- Satu titik per jam, ditulis dari putaran kolektor terakhir pada jam tersebut.
- Jendela
- 24h / 7d / 30d / 90d, titik per jam.
- 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.
- Paginasi
- Tanpa paginasi; `range` membatasi jumlah titik.
- Pengurutan
- Waktu, 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.
- Stempel waktu
- Milidetik epoch Unix (UTC) kecuali deskripsi kolom menyatakan lain
- Format respons
- json
- Stabilitas
- Stabil
- Tersedia sejak
- 2026-11-11
Status langsung
Endpoint melaporkan kualitas data STALE
Ketersediaan, 30 hari terakhir
99.75% dari 407 pemeriksaan lolos
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/options/historyTerdegradasistring — Coin symbol, case-insensitive (for example `BTC`). Missing or malformed values return 400.
string — Series to return.
string · default 7d — Look-back range; one point per hour, 2160 points at most.
string · default all — One venue, or `all` for the cross-venue aggregate.
https://www.coinboss.com/api/sd/options/history?coin=BTC&metric=oiLainnya di kategori ini
- Rantai opsi (satu bursa) /api/sd/options/chain
- Opsi per jatuh tempo /api/sd/options/expiries
- Riwayat opsi (per jam) /api/sd/options/history
- Ikhtisar opsi (semua bursa) /api/sd/options/overview
- Opsi per strike /api/sd/options/strikes
- Ringkasan opsi di halaman koin /api/currency/options-summary
- Kurva senyum / struktur tenor volatilitas tersirat opsi /api/options/iv
- Riwayat volatilitas tersirat opsi /api/options/iv-history
- Max pain opsi /api/options/max-pain
- OI opsi per jatuh tempo /api/options/oi-by-expiry
- OI opsi per strike /api/options/oi-by-strike
- Ikhtisar opsi /api/options/overview
- Distribusi volume opsi /api/options/volume-dist