Riwayat kedalaman order book
Deret waktu kedalaman bid dan ask agregat dalam satu rentang untuk satu koin, untuk semua bursa yang tercakup atau satu bursa. Setiap titik menyatakan jumlah kontrak yang dimuatnya.
/api/sd/liquidity/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 |
| market | string | Opsional | perp | perp, spot | Jenis pasar. Order book perpetual dan spot tidak pernah dijumlahkan. |
| band | string | Opsional | 1 | 0.5, 1, 2 | Jarak dari harga tengah dalam persen. |
| range | string | Opsional | 24h | 24h, 7d, 30d | Rentang waktu ke belakang: 24h (titik 30 menit), 7d (titik 2 jam), atau 30d (titik 6 jam). |
| exchange | string | Opsional | — | — | Satu ID bursa yang dicakup untuk pasar ini (misalnya `gate`). Default: semua bursa. Bursa yang tidak dicakup mengembalikan 400. |
Contoh permintaan
curl -s "https://www.coinboss.com/api/sd/liquidity/history?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). |
| market | string | — | `perp` atau `spot`. |
| band_pct | number | % | Rentang yang dipilih: jarak dari harga tengah. |
| range | string | — | Rentang waktu ke belakang yang diterapkan. |
| exchange | string|null | — | ID bursa (huruf kecil). |
| interval_s | number | s | Jarak antartitik. |
| points | array | — | Titik deret, yang terlama lebih dulu. |
| points[] | object | — | Titik deret, yang terlama lebih dulu. |
| points[].t | number | ms | Awal bucket waktu. |
| points[].bid_depth_usd | number | USD | Nosional bid terpasang antara harga tengah dan tepi bawah rentang. Merupakan batas bawah jika `complete` bernilai false. |
| points[].ask_depth_usd | number | USD | Nosional ask terpasang antara harga tengah dan tepi atas rentang. Merupakan batas bawah jika `complete` bernilai false. |
| points[].n_included | number | — | Baris yang dimasukkan ke jumlah kedalaman: segar dan lengkap untuk rentang tersebut. Baca bersama nilai kedalaman. |
| points[].n_rows | number | — | Baris yang ditemukan, termasuk yang usang. |
| points[].mid | number | USD | (bid terbaik + ask terbaik) ÷ 2, harga satu koin. |
| points[].uses_aggregated_buckets | boolean | — | True jika baris yang disertakan memakai bucket agregat harga, sehingga jumlahnya menjadi batas bawah. |
| points_expected | number | — | Jumlah titik yang dimuat rentang tersebut jika lengkap. |
| first_t | number | ms | Waktu titik pertama yang dikembalikan. |
| last_t | number | ms | Waktu titik terakhir yang dikembalikan. |
| exchange_points | object | — | Jumlah titik tempat setiap bursa muncul (kuncinya adalah ID bursa). kunci dinamis: deribit,aster,backpack,bitfinex,bitget,bitunix |
| exchange_points.{*} | number | — | Jumlah titik tempat setiap bursa muncul (kuncinya adalah ID bursa). |
| 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. kosong pada sampel yang dipakai untuk menghasilkan tabel ini |
| 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.bid_depth_usd | string | — | Catatan rumus untuk `bid_depth_usd`, teks biasa. |
| method.ask_depth_usd | string | — | Catatan rumus untuk `ask_depth_usd`, teks biasa. |
| method.complete | string | — | Catatan rumus untuk `complete`, teks biasa. |
| method.history | string | — | Catatan rumus untuk `history`, teks biasa. |
| method.exchange_points | string | — | Catatan rumus untuk `exchange_points`, 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[].market | string | — | `perp` atau `spot`. |
| 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. |
| meta.collector_heartbeat_age_s | number | s | Jumlah detik sejak kolektor terakhir melaporkan bahwa ia berjalan. |
Dihasilkan 2026-11-11 23:00 UTC dari 3 respons nyata.
Contoh respons
/api/sd/liquidity/history?coin=BTC · Respons nyata yang direkam 2026-11-13 04:02:45 UTC. Array dan map yang panjang dipersingkat untuk tampilan: points berisi 48 item; meta.source berisi 19 item; exchange_points berisi 19 item; coverage.included_exchanges berisi 19 item.
- "success"true
- "schema""coinboss.sd.liquidity/1"
- "now"1794542565889
- "coin""BTC"
- "market""perp"
- "band_pct"1
- "range""24h"
- "exchange"null
- "interval_s"1800
- "points"
- "points_expected"48
- "first_t"1794457800000
- "last_t"1794542400000
- "exchange_points"
- "deribit"96
- "aster"48
- "coverage"
- "included_exchanges"
- "unavailable"
- "stale_excluded"
- "method"
- "bid_depth_usd""sum of resting bid notional with price >= mid * (1 - band%), in USD; notional = price * size * contract_value (inverse contracts: size * contract_value); USDT /…"
- "ask_depth_usd""sum of resting ask notional with price <= mid * (1 + band%), in USD; same notional rule as bid_depth_usd"
- "complete""true when BOTH sides of the snapshot reach the band edge (reach_pct >= band) or the whole side of the book was returned; when false the depth values are lower b…"
- "history""sd_book_hist keeps the first snapshot of every 15-minute bucket per contract; each returned point takes, per contract, the first stored snapshot inside the poin…"
- "exchange_points""number of returned points in which each exchange had a row that was complete for the band; a changing venue set moves the aggregate, so compare n_included acros…"
- "meta"
- "schema""coinboss.sd.liquidity/1"
- "source"
- "observed_at"null
- "received_at"1794542400000
- "fetched_at"1794542565889
- "window""24h"
- "quality""FRESH"
- "is_stale"false
- "cache_ttl_s"120
- "fallback""history is append-only (first snapshot of each 15-minute bucket per contract, 30-day retention); buckets the collector missed are simply absent, never interpola…"
- "collector_heartbeat_age_s"3
Sampel terverifikasi
Selain contoh di atas, probe memanggil endpoint ini dengan parameter berikut dan memeriksa skemanya setiap kali.
| Parameter | HTTP | Latensi | Hasil |
|---|---|---|---|
| band=2&coin=ETH&market=spot | 200 | 6 ms | Lolos FRESH |
| coin=SOL&exchange=gate | 200 | 2 ms | Lolos FRESH |
| band=3&coin=BTC | 400 | 1 ms | Lolos mengembalikan error yang diharapkan |
Diperiksa 2026-11-13 03:58:06 UTC
Detail
- Autentikasi
- Tidak ada. Endpoint publik.
- Batas permintaan
- 1200 permintaan per menit per IP
- Cache server
- 2m
- Mikro-cache edge
- 10s
- Frekuensi pembaruan
- Satu snapshot disimpan setiap 15 menit per kontrak; setiap titik memakai snapshot paling awal dalam bucket-nya (nilai pada satu titik waktu, bukan rata-rata).
- Jendela
- 24h / 7d / 30d.
- Sumber data
- Snapshot order book REST publik dari 24 bursa (pasar perpetual dan spot), dikumpulkan dan disimpan oleh CoinBoss (sd_book_latest, sd_book_hist). Kedalaman dan slippage dihitung oleh CoinBoss dari level harga mentah.
- Cakupan bursa
- 24 bursa, 38 jalur bursa × pasar. Jika snapshot publik tidak menjangkau ±0.5 / 1 / 2 % dari harga tengah (batas level bursa), rentang tersebut ditandai `complete: false`, nilainya merupakan batas bawah, dan tidak dimasukkan ke agregat; `n_included` / `n_fresh` memberikan penyebutnya dan `excluded_incomplete` mencantumkan apa yang tidak dimasukkan.
- Paginasi
- Tanpa paginasi; `range` membatasi jumlah titik (48 / 84 / 120).
- Pengurutan
- Waktu, menaik.
- Satuan
- Depth in USD notional, bid and ask side reported separately and never added. Spread and slippage in basis points (1 bp = 0.01 %). USDT / USDC / USD quotes are counted 1:1 as USD.
- Stempel waktu
- Milidetik epoch Unix (UTC) kecuali deskripsi kolom menyatakan lain
- Format respons
- json
- Stabilitas
- Stabil
- Tersedia sejak
- 2026-11-11
Status langsung
Pengumpulan dimulai pada 2026-11-11, sehingga rentang yang lebih panjang terisi secara bertahap. Bucket yang hilang tidak dicantumkan, bukan diinterpolasi; perubahan `n_included` di antara dua titik berarti himpunan kontrak yang berkontribusi berubah.
Ketersediaan, 30 hari terakhir
100% dari 408 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/liquidity/historySebagianstring — Coin symbol, case-insensitive (for example `BTC`). Missing or malformed values return 400.
string · default perp — Market type. Perpetual and spot books are never added together.
string · default 1 — Distance from mid price in percent.
string · default 24h — Look-back range: 24h (30-minute points), 7d (2-hour points) or 30d (6-hour points).
string — One exchange id covered for this market (for example `gate`). Default: all exchanges. An exchange that is not covered returns 400.
https://www.coinboss.com/api/sd/liquidity/history?coin=BTCLainnya di kategori ini
- Kedalaman order book dan slippage /api/sd/liquidity
- Riwayat kedalaman order book /api/sd/liquidity/history
- Peringkat koin berdasarkan kedalaman order book /api/sd/liquidity/rank
- Pemantau order terpasang berukuran besar /api/indicators/large-orderbook