Basis futures (semua bursa)
Basis perpetual (mark vs indeks), basis perpetual terhadap spot di bursa yang sama, dan basis kontrak berjangka dengan rate tahunan, per kontrak, ditambah agregat berbobot OI, berbobot volume, dan median.
/api/sd/basisPermintaan
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 |
Contoh permintaan
curl -s "https://www.coinboss.com/api/sd/basis?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 }`. |
| 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). |
| perp | object | — | Basis perpetual: harga mark terhadap harga indeks bursa yang sama. |
| perp.unit | string | — | Satuan nilai basis (persen). |
| perp.aggregate | object | — | Agregat lintas bursa untuk bagian ini. |
| perp.aggregate.oi_weighted_pct | number | % | Basis berbobot open interest; baris tanpa bobot OI tidak dimasukkan. |
| perp.aggregate.oi_weight_usd | number | USD | Jumlah bobot open interest yang dipakai. |
| perp.aggregate.n_oi_weighted | number | — | Baris yang memiliki bobot OI. |
| perp.aggregate.vol_weighted_pct | number | % | Basis berbobot volume nosional 24h. |
| perp.aggregate.vol_weight_usd | number | USD | Jumlah bobot volume yang dipakai. |
| perp.aggregate.n_vol_weighted | number | — | Baris yang memiliki bobot volume. |
| perp.aggregate.median_pct | number | % | Median basis atas satu kontrak utama per bursa. |
| perp.aggregate.mean_pct | number | % | Rata-rata sederhana atas himpunan yang sama dengan median. |
| perp.aggregate.n_exchanges | number | — | Bursa dalam agregat. |
| perp.aggregate.n_contracts | number | — | Kontrak dalam agregat. |
| perp.aggregate.min | object | — | Bursa dan kontrak dengan basis terendah. |
| perp.aggregate.min.exchange | string | — | ID bursa (huruf kecil). |
| perp.aggregate.min.symbol | string | — | Simbol kontrak dalam bentuk penyimpanan CoinBoss. |
| perp.aggregate.min.basis_pct | number | % | (mark − index) ÷ index × 100 untuk kontrak perpetual dan kontrak berjangka; pada peringkat, median lintas bursa. |
| perp.aggregate.max | object | — | Bursa dan kontrak dengan basis tertinggi. |
| perp.aggregate.max.exchange | string | — | ID bursa (huruf kecil). |
| perp.aggregate.max.symbol | string | — | Simbol kontrak dalam bentuk penyimpanan CoinBoss. |
| perp.aggregate.max.basis_pct | number | % | (mark − index) ÷ index × 100 untuk kontrak perpetual dan kontrak berjangka; pada peringkat, median lintas bursa. |
| perp.aggregate.median_last_pct | number | % | Median basis harga terakhir. |
| perp.aggregate.n_exchanges_last | number | — | Bursa dalam median harga terakhir. |
| perp.aggregate.weights | object | — | Asal bobot, jendela kesegarannya, dan umur bobot tertua. |
| perp.aggregate.weights.oi | object | — | Open interest. |
| perp.aggregate.weights.oi.source | string | — | Endpoint publik hulu tempat data dikumpulkan. |
| perp.aggregate.weights.oi.fresh_window_s | number | s | Bobot yang lebih lama dari ini tidak dipakai. |
| perp.aggregate.weights.oi.oldest_age_s | number | s | Umur bobot tertua yang dipakai. |
| perp.aggregate.weights.oi.side | string | — | Apakah bobot open interest bersifat satu sisi. |
| perp.aggregate.weights.vol | object | — | Volume. |
| perp.aggregate.weights.vol.source | string | — | Endpoint publik hulu tempat data dikumpulkan. |
| perp.aggregate.weights.vol.fresh_window_s | number | s | Bobot yang lebih lama dari ini tidak dipakai. |
| perp.aggregate.weights.vol.oldest_age_s | number | s | Umur bobot tertua yang dipakai. |
| perp.contracts | array | — | Satu baris per kontrak. |
| perp.contracts[] | object | — | Satu baris per kontrak. |
| perp.contracts[].exchange | string | — | ID bursa (huruf kecil). |
| perp.contracts[].symbol | string | — | Simbol kontrak dalam bentuk penyimpanan CoinBoss. |
| perp.contracts[].native_symbol | string | — | Simbol kontrak sebagaimana ditulis bursa. |
| perp.contracts[].quote | string | — | Mata uang kuotasi kontrak. |
| perp.contracts[].margin_type | string | — | Jenis margin kontrak (misalnya bermargin USDT, bermargin koin). |
| perp.contracts[].multiplier | number | — | Jumlah koin per unit kuotasi (1000 untuk kontrak bergaya `1000PEPE`). Basis tidak terpengaruh. |
| perp.contracts[].mark_price | number|null | — | Harga mark yang dipublikasikan bursa. |
| perp.contracts[].index_price | number|null | — | Harga indeks yang dipublikasikan bursa. |
| perp.contracts[].last_price | number|null | — | Harga transaksi terakhir. |
| perp.contracts[].index_kind | string|null | — | Jenis indeksnya: `exchange_index`, `oracle`, atau jenis lain yang ditampilkan tetapi tidak diagregasi. |
| perp.contracts[].basis_pct | number|null | % | (mark − index) ÷ index × 100 untuk kontrak perpetual dan kontrak berjangka; pada peringkat, median lintas bursa. |
| perp.contracts[].basis_abs | number|null | — | mark − index, dalam mata uang kuotasi. |
| perp.contracts[].basis_last_pct | number|null | % | (last − index) ÷ index × 100; `null` jika tidak ada transaksi terkini. |
| perp.contracts[].basis_last_reason | string|null | — | Alasan `basis_last_pct` bernilai null. |
| perp.contracts[].index_lag_s | number|null | s | Jumlah detik antara stempel waktu mark dan stempel waktu indeks pada baris tersebut. |
| perp.contracts[].oi_usd | number|null | USD | Open interest kontrak, satu sisi; dipakai sebagai bobot. |
| perp.contracts[].vol_usd_24h | number|null | USD | Volume nosional 24h kontrak; dipakai sebagai bobot. |
| perp.contracts[].primary | boolean | — | True untuk kontrak yang mewakili bursanya dalam median dan rata-rata. |
| perp.contracts[].in_aggregate | boolean | — | True jika baris lolos aturan penyertaan. |
| perp.contracts[].excluded_reason | string|null | — | Alasan baris tidak masuk agregat. |
| perp.contracts[].last_ts | number|null | ms | Waktu transaksi terakhir. |
| perp.contracts[].observed_at | number|null | ms | Stempel waktu yang diberikan sumber untuk data tersebut. |
| perp.contracts[].received_at | number | ms | Waktu kolektor CoinBoss menerima data. |
| perp.contracts[].age_s | number | s | Jumlah detik sejak baris diterima. |
| spot_perp | object | — | Harga perpetual terhadap harga spot bursa yang sama. |
| spot_perp.unit | string | — | Satuan nilai basis (persen). |
| spot_perp.aggregate | object | — | Agregat lintas bursa untuk bagian ini. |
| spot_perp.aggregate.oi_weighted_pct | number | % | Basis berbobot open interest; baris tanpa bobot OI tidak dimasukkan. |
| spot_perp.aggregate.oi_weight_usd | number | USD | Jumlah bobot open interest yang dipakai. |
| spot_perp.aggregate.n_oi_weighted | number | — | Baris yang memiliki bobot OI. |
| spot_perp.aggregate.vol_weighted_pct | number | % | Basis berbobot volume nosional 24h. |
| spot_perp.aggregate.vol_weight_usd | number | USD | Jumlah bobot volume yang dipakai. |
| spot_perp.aggregate.n_vol_weighted | number | — | Baris yang memiliki bobot volume. |
| spot_perp.aggregate.median_pct | number | % | Median basis atas satu kontrak utama per bursa. |
| spot_perp.aggregate.mean_pct | number | % | Rata-rata sederhana atas himpunan yang sama dengan median. |
| spot_perp.aggregate.n_exchanges | number | — | Bursa dalam agregat. |
| spot_perp.aggregate.n_contracts | number | — | Kontrak dalam agregat. |
| spot_perp.aggregate.min | object | — | Bursa dan kontrak dengan basis terendah. |
| spot_perp.aggregate.min.exchange | string | — | ID bursa (huruf kecil). |
| spot_perp.aggregate.min.symbol | string | — | Simbol kontrak dalam bentuk penyimpanan CoinBoss. |
| spot_perp.aggregate.min.basis_pct | number | % | (mark − index) ÷ index × 100 untuk kontrak perpetual dan kontrak berjangka; pada peringkat, median lintas bursa. |
| spot_perp.aggregate.max | object | — | Bursa dan kontrak dengan basis tertinggi. |
| spot_perp.aggregate.max.exchange | string | — | ID bursa (huruf kecil). |
| spot_perp.aggregate.max.symbol | string | — | Simbol kontrak dalam bentuk penyimpanan CoinBoss. |
| spot_perp.aggregate.max.basis_pct | number | % | (mark − index) ÷ index × 100 untuk kontrak perpetual dan kontrak berjangka; pada peringkat, median lintas bursa. |
| spot_perp.pairs | array | — | Satu baris per pasangan perpetual / spot dari bursa yang sama. |
| spot_perp.pairs[] | object | — | Satu baris per pasangan perpetual / spot dari bursa yang sama. |
| spot_perp.pairs[].exchange | string | — | ID bursa (huruf kecil). |
| spot_perp.pairs[].symbol | string | — | Simbol kontrak dalam bentuk penyimpanan CoinBoss. |
| spot_perp.pairs[].spot_symbol | string | — | Pasar spot yang dipakai sebagai sisi spot. |
| spot_perp.pairs[].quote | string | — | Mata uang kuotasi kontrak. |
| spot_perp.pairs[].spot_mult | number | — | Faktor yang diterapkan pada harga spot agar kedua sisi mengutip kuantitas yang sama. |
| spot_perp.pairs[].futures_price | number|null | — | Harga perpetual yang dipakai; lihat `price_kind`. |
| spot_perp.pairs[].price_kind | string|null | — | Harga perpetual mana yang dipakai: `last` atau `mark`. |
| spot_perp.pairs[].spot_price | number | — | Harga terakhir spot, setelah `spot_mult`. |
| spot_perp.pairs[].basis_pct | number|null | % | (mark − index) ÷ index × 100 untuk kontrak perpetual dan kontrak berjangka; pada peringkat, median lintas bursa. |
| spot_perp.pairs[].basis_last_pct | number|null | % | (last − index) ÷ index × 100; `null` jika tidak ada transaksi terkini. |
| spot_perp.pairs[].basis_mark_pct | number|null | % | (mark − spot) ÷ spot × 100. |
| spot_perp.pairs[].leg_gap_s | number | s | Jumlah detik antara stempel waktu kedua sisi. |
| spot_perp.pairs[].spot_time_kind | string | — | Jenis stempel waktu spot (waktu transaksi atau waktu penerimaan). |
| spot_perp.pairs[].spot_vol_24h | number|null | — | Nilai transaksi 24h pasar spot, dalam mata uang kuotasinya. |
| spot_perp.pairs[].oi_usd | number|null | USD | Open interest kontrak, satu sisi; dipakai sebagai bobot. |
| spot_perp.pairs[].vol_usd_24h | number|null | USD | Volume nosional 24h kontrak; dipakai sebagai bobot. |
| spot_perp.pairs[].primary | boolean | — | True untuk kontrak yang mewakili bursanya dalam median dan rata-rata. |
| spot_perp.pairs[].in_aggregate | boolean | — | True jika baris lolos aturan penyertaan. |
| spot_perp.pairs[].excluded_reason | string|null | — | Alasan baris tidak masuk agregat. |
| spot_perp.pairs[].received_at | number | ms | Waktu kolektor CoinBoss menerima data. |
| spot_perp.pairs[].spot_received_at | number | ms | Waktu sisi spot diterima. |
| delivery | object | — | Basis kontrak berjangka dengan jatuh tempo. |
| delivery.unit | string | — | Satuan nilai basis (persen). |
| delivery.contracts | array | — | Satu baris per kontrak. |
| delivery.contracts[] | object | — | Satu baris per kontrak. |
| delivery.contracts[].exchange | string | — | ID bursa (huruf kecil). |
| delivery.contracts[].symbol | string | — | Simbol kontrak dalam bentuk penyimpanan CoinBoss. |
| delivery.contracts[].native_symbol | string | — | Simbol kontrak sebagaimana ditulis bursa. |
| delivery.contracts[].quote | string | — | Mata uang kuotasi kontrak. |
| delivery.contracts[].margin_type | string | — | Jenis margin kontrak (misalnya bermargin USDT, bermargin koin). |
| delivery.contracts[].expiry_ts | number | ms | Waktu jatuh tempo kontrak berjangka. |
| delivery.contracts[].days_to_expiry | number | days | Jumlah hari hingga jatuh tempo. |
| delivery.contracts[].mark_price | number | — | Harga mark yang dipublikasikan bursa. |
| delivery.contracts[].last_price | number|null | — | Harga transaksi terakhir. |
| delivery.contracts[].index_price | number | — | Harga indeks yang dipublikasikan bursa. |
| delivery.contracts[].index_kind | string | — | Jenis indeksnya: `exchange_index`, `oracle`, atau jenis lain yang ditampilkan tetapi tidak diagregasi. |
| delivery.contracts[].basis_pct | number | % | (mark − index) ÷ index × 100 untuk kontrak perpetual dan kontrak berjangka; pada peringkat, median lintas bursa. |
| delivery.contracts[].annualized_pct | number|null | % per year | basis_pct × 365 ÷ hari hingga jatuh tempo, bunga sederhana; `null` pada hari terakhir. |
| delivery.contracts[].basis_reason | null | — | Alasan `basis_pct` bernilai null. |
| delivery.contracts[].index_lag_s | number | s | Jumlah detik antara stempel waktu mark dan stempel waktu indeks pada baris tersebut. |
| delivery.contracts[].basis_last_pct | number|null | % | (last − index) ÷ index × 100; `null` jika tidak ada transaksi terkini. |
| delivery.contracts[].annualized_last_pct | number|null | % per year | Basis disetahunkan dengan harga transaksi terakhir. |
| delivery.contracts[].spot_symbol | string|null | — | Pasar spot yang dipakai sebagai sisi spot. |
| delivery.contracts[].spot_price | number|null | — | Harga terakhir spot, setelah `spot_mult`. |
| delivery.contracts[].spot_price_kind | string|null | — | Harga futures mana yang dibandingkan dengan spot. |
| delivery.contracts[].basis_spot_pct | number|null | % | (futures − spot bursa yang sama) ÷ spot × 100. |
| delivery.contracts[].annualized_spot_pct | number|null | % per year | Basis disetahunkan terhadap spot bursa yang sama. |
| delivery.contracts[].annualized_reason | string|null | — | Alasan nilai disetahunkan bernilai null (misalnya `expiry_lt_1d`). |
| delivery.contracts[].oi_usd | number|null | USD | Open interest kontrak, satu sisi; dipakai sebagai bobot. |
| delivery.contracts[].vol_usd_24h | number|null | USD | Volume nosional 24h kontrak; dipakai sebagai bobot. |
| delivery.contracts[].last_ts | number|null | ms | Waktu transaksi terakhir. |
| delivery.contracts[].observed_at | number|null | ms | Stempel waktu yang diberikan sumber untuk data tersebut. |
| delivery.contracts[].received_at | number | ms | Waktu kolektor CoinBoss menerima data. |
| delivery.contracts[].age_s | number | s | Jumlah detik sejak baris diterima. |
| 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 |
| coverage.missing_fields | array | — | Bursa yang tidak memublikasikan salah satu harga tersebut. |
| coverage.excluded_from_aggregate | array | — | Baris yang ditampilkan tetapi tidak dimasukkan ke agregat, masing-masing dengan alasannya. |
| coverage.excluded_from_aggregate[] | object | — | Baris yang ditampilkan tetapi tidak dimasukkan ke agregat, masing-masing dengan alasannya. |
| coverage.excluded_from_aggregate[].exchange | string | — | ID bursa (huruf kecil). |
| coverage.excluded_from_aggregate[].symbol | string | — | Simbol kontrak dalam bentuk penyimpanan CoinBoss. |
| coverage.excluded_from_aggregate[].section | string | — | Bagian tempat baris tersebut berada. |
| coverage.excluded_from_aggregate[].reason | string | — | Kode alasan yang dapat dibaca mesin. |
| coverage.stock_excluded | array | — | Perpetual saham yang memakai ticker yang sama dan telah dihapus. kosong pada sampel yang dipakai untuk menghasilkan tabel ini |
| coverage.dropped_delisted_rows | number | — | Baris yang dibuang karena kontraknya berhenti diperbarui. |
| coverage.delivery_unavailable | array | — | Bursa yang kontrak berjangkanya tidak dikumpulkan. |
| coverage.delivery_unavailable[] | object | — | Bursa yang kontrak berjangkanya tidak dikumpulkan. |
| coverage.delivery_unavailable[].exchange | string | — | ID bursa (huruf kecil). |
| coverage.delivery_unavailable[].reason | string | — | Kode alasan yang dapat dibaca mesin. |
| coverage.delivery_unavailable[].detail | string | — | Penjelasan alasan yang dapat dibaca manusia. |
| method | object | — | Pernyataan teks biasa tentang rumus yang dipakai untuk respons ini, satu entri per kolom. |
| method.perp.basis_pct | string | — | Catatan rumus untuk `perp.basis_pct`, teks biasa. |
| method.perp.basis_last_pct | string | — | Catatan rumus untuk `perp.basis_last_pct`, teks biasa. |
| method.perp.aggregate.oi_weighted_pct | string | — | Catatan rumus untuk `perp.aggregate.oi_weighted_pct`, teks biasa. |
| method.perp.aggregate.vol_weighted_pct | string | — | Catatan rumus untuk `perp.aggregate.vol_weighted_pct`, teks biasa. |
| method.perp.aggregate.median_pct | string | — | Catatan rumus untuk `perp.aggregate.median_pct`, teks biasa. |
| method.perp.aggregate.inclusion | string | — | Catatan rumus untuk `perp.aggregate.inclusion`, teks biasa. |
| method.spot_perp.basis_pct | string | — | Catatan rumus untuk `spot_perp.basis_pct`, teks biasa. |
| method.spot_perp.aggregate.inclusion | string | — | Catatan rumus untuk `spot_perp.aggregate.inclusion`, teks biasa. |
| method.delivery.basis_pct | string | — | Catatan rumus untuk `delivery.basis_pct`, teks biasa. |
| method.delivery.annualized_pct | string | — | Catatan rumus untuk `delivery.annualized_pct`, teks biasa. |
| method.index_lag_s | string | — | Catatan rumus untuk `index_lag_s`, teks biasa. |
| method.multiplier | string | — | Catatan rumus untuk `multiplier`, teks biasa. |
| 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 | number | ms | 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. |
| meta.collector_heartbeat_age_s | number | s | Jumlah detik sejak kolektor terakhir melaporkan bahwa ia berjalan. |
| coverage.missing_fields[] | object | — | Bursa yang tidak memublikasikan salah satu harga tersebut. |
| coverage.missing_fields[].exchange | string | — | ID bursa (huruf kecil). |
| coverage.missing_fields[].symbol | string | — | Simbol kontrak dalam bentuk penyimpanan CoinBoss. |
| coverage.missing_fields[].missing | string | — | Harga yang tidak dipublikasikan bursa (`mark` atau `index`). |
Dihasilkan 2026-11-11 23:00 UTC dari 4 respons nyata.
Contoh respons
/api/sd/basis?coin=BTC · Respons nyata yang direkam 2026-11-13 03:52:48 UTC. Array dan map yang panjang dipersingkat untuk tampilan: meta.source berisi 20 item; perp.contracts berisi 37 item; spot_perp.pairs berisi 22 item; delivery.contracts berisi 53 item; coverage.unavailable berisi 4 item; coverage.included_exchanges berisi 20 item.
- "success"true
- "schema""coinboss.sd.basis/1"
- "now"1794541956692
- "coin""BTC"
- "perp"
- "unit""percent"
- "aggregate"
- "contracts"
- "spot_perp"
- "unit""percent"
- "aggregate"
- "pairs"
- "delivery"
- "unit""percent"
- "contracts"
- "coverage"
- "included_exchanges"
- "unavailable"
- "stale_excluded"
- "missing_fields"
- "excluded_from_aggregate"
- "stock_excluded"
- "dropped_delisted_rows"0
- "delivery_unavailable"
- "method"
- "perp.basis_pct""(mark_price - index_price) / index_price * 100, percent; mark and index are both published by the same exchange for that…"
- "perp.basis_last_pct""(last_price - index_price) / index_price * 100; null when the exchange gives no last-trade price or the last trade is mo…"
- "perp.aggregate.oi_weighted_pct""sum(basis_pct * oi_usd) / sum(oi_usd) over all included perpetual contracts that have an open-interest weight; oi_usd fr…"
- "perp.aggregate.vol_weighted_pct""same with 24h notional volume (market_tickers.volume_usd / sd_contract_latest.vol_usd_24h, <= 1 h old) as weight"
- "perp.aggregate.median_pct""median of basis_pct over one primary contract per exchange (largest OI, then volume, then USDT-margined); mean_pct is th…"
- "perp.aggregate.inclusion""row is fresh (<= 180 s), basis_pct is not null, index_kind is exchange_index or oracle, the contract traded within 24 h …"
- "spot_perp.basis_pct""(perp last_price, or mark_price when last is unusable - spot last price * spot_mult) / (spot last price * spot_mult) * 1…"
- "spot_perp.aggregate.inclusion""as perp, plus spot 24h turnover >= 10000 (quote currency) when the exchange reports it"
- "delivery.basis_pct""(F - S) / S * 100 with F = mark_price and S = the exchange index price of the underlying; basis_last_pct uses F = last_p…"
- "delivery.annualized_pct""basis_pct * 365 / days_to_expiry, simple (not compounded); null when days_to_expiry < 1; days_to_expiry = (expiry_ts - p…"
- "index_lag_s""seconds between the mark timestamp and the index timestamp of the row; 0 when the exchange returns both in one response;…"
- "multiplier""contract units per coin (1000PEPE, kPEPE = 1000); mark and index carry the same multiplier so basis_pct is unaffected; s…"
- "meta"
- "schema""coinboss.sd.basis/1"
- "source"
- "observed_at"1794539247345
- "received_at"1794539247425
- "fetched_at"1794541956692
- "window""latest"
- "quality""STALE"
- "is_stale"true
- "cache_ttl_s"20
- "fallback""rows older than 180 s are excluded; if no exchange is fresh the last stored rows (<= 1 h old) are served with is_stale=t…"
- "collector_heartbeat_age_s"2759
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 | 28 ms | Lolos STALE |
| coin=SOL | 200 | 26 ms | Lolos STALE |
| coin=PEPE | 200 | 26 ms | Lolos STALE |
| — | 400 | 2 ms | Lolos mengembalikan error yang diharapkan |
Diperiksa 2026-11-13 03:28:06 UTC
Detail
- Autentikasi
- Tidak ada. Endpoint publik.
- Batas permintaan
- 1200 permintaan per menit per IP
- Cache server
- 20s
- Mikro-cache edge
- 10s
- Frekuensi pembaruan
- Putaran kolektor setiap 60 detik; sebuah baris dianggap segar selama 180 detik. Snapshot per jam mengisi riwayat.
- Jendela
- Nilai terbaru per kontrak.
- Sumber data
- Harga mark, harga indeks, dan harga terakhir yang dipublikasikan 21 bursa derivatif, ditambah harga spot bursa yang sama, dikumpulkan dan disimpan oleh CoinBoss (sd_px_latest, sd_px_hourly).
- Cakupan bursa
- 21 bursa. Bursa yang tidak memublikasikan harga indeks atau harga mark tercantum di `coverage.unavailable`; baris yang kedua sisi harganya terpaut lebih dari 60 detik mengembalikan `null`. Baris yang tidak dimasukkan ke agregat tercantum di `coverage.excluded_from_aggregate` beserta alasannya.
- Paginasi
- Tanpa paginasi.
- Pengurutan
- Kontrak dengan open interest terbesar lebih dulu.
- Satuan
- All basis values in percent. Prices in the quote currency of the contract (USDT / USDC / USD). `oi_usd` single-sided.
- Metode
- Perpetual: basis_pct = (mark − index) ÷ index × 100. Spot-perp: (perpetual price − spot price) ÷ spot price × 100, same exchange and quote currency. Delivery: basis_pct = (futures − index) ÷ index × 100; annualized_pct = basis_pct × 365 ÷ days to expiry (simple interest; `null` inside the last day). Aggregates use one primary contract per exchange; a row enters only if it is fresh, traded within 24 hours and |basis| ≤ 10 %.
- 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
100% dari 406 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/basisTerdegradasistring — Coin symbol, case-insensitive (for example `BTC`). Missing or malformed values return 400.
https://www.coinboss.com/api/sd/basis?coin=BTCLainnya di kategori ini
- Basis futures (semua bursa) /api/sd/basis
- Riwayat basis (per jam) /api/sd/basis/history
- Peringkat koin berdasarkan basis /api/sd/basis/rank
- Daftar basis futures-spot /api/derivatives/basis
- Selisih harga BTC harian antara Coinbase dan Kraken /api/p3/cb-kr-spread
- Indeks premium Bitcoin Coinbase /api/p3/coinbase-premium
- Daftar indeks premium perpetual /api/p3/premium-index
- Riwayat indeks premium untuk satu koin /api/p3/premium-index/history
- Candlestick indeks premium /api/p3/premium-index/klines
- Premium OTC USDT terhadap kurs valas fiat /api/usdt-premium
- Daftar lengkap basis futures-spot /api/basis/list