Kedalaman order book dan slippage
Kedalaman order book per bursa dalam ±0.5 / 1 / 2 % dari harga tengah, spread, dan slippage untuk market order senilai 10k / 100k / 1M USD, ditambah agregat per jenis pasar beserta penyebutnya.
/api/sd/liquidityPermintaan
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 | all | perp, spot, all | Jenis pasar. Order book perpetual dan spot tidak pernah dijumlahkan. |
Contoh permintaan
curl -s "https://www.coinboss.com/api/sd/liquidity?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`. |
| venues | array | — | Satu baris per bursa × pasar × kontrak. |
| venues[] | object | — | Satu baris per bursa × pasar × kontrak. |
| venues[].exchange | string | — | ID bursa (huruf kecil). |
| venues[].market | string | — | `perp` atau `spot`. |
| venues[].symbol | string | — | Simbol kontrak dalam bentuk penyimpanan CoinBoss. |
| venues[].quote | string | — | Mata uang kuotasi pasar; USDT, USDC, dan USD dihitung 1:1 sebagai USD. |
| venues[].multiplier | number | — | Jumlah koin per unit kuotasi (1000 untuk kontrak bergaya `1000PEPE`). Harga sudah dibagi dengan nilai ini. |
| venues[].contract_value | number | — | Ukuran satu kontrak: dalam koin untuk kontrak linear, dalam USD untuk kontrak inverse. |
| venues[].inverse | boolean | — | True untuk kontrak bermargin koin yang dikuotasikan dalam USD per kontrak. |
| venues[].mid | number | USD | (bid terbaik + ask terbaik) ÷ 2, harga satu koin. |
| venues[].best_bid | number | USD | Harga bid terbaik untuk satu koin. |
| venues[].best_ask | number | USD | Harga ask terbaik untuk satu koin. |
| venues[].spread_bps | number | bp | (ask terbaik − bid terbaik) ÷ harga tengah. |
| venues[].n_bids | number | — | Level harga bid dalam snapshot. |
| venues[].n_asks | number | — | Level harga ask dalam snapshot. |
| venues[].reach_bid_pct | number | % | Jarak dari harga tengah ke level bid terjauh dalam snapshot. |
| venues[].reach_ask_pct | number | % | Jarak dari harga tengah ke level ask terjauh dalam snapshot. |
| venues[].book_complete_bid | boolean | — | True jika seluruh sisi bid order book dikembalikan. |
| venues[].book_complete_ask | boolean | — | True jika seluruh sisi ask order book dikembalikan. |
| venues[].bands | object | — | Kedalaman per rentang; kunci `0.5`, `1`, dan `2` adalah jarak dari harga tengah dalam persen. |
| venues[].bands.1 | object | — | Rentang dengan jarak ini dari harga tengah, dalam persen. |
| venues[].bands.1.bid_depth_usd | number | USD | Nosional bid terpasang antara harga tengah dan tepi bawah rentang. Merupakan batas bawah jika `complete` bernilai false. |
| venues[].bands.1.ask_depth_usd | number | USD | Nosional ask terpasang antara harga tengah dan tepi atas rentang. Merupakan batas bawah jika `complete` bernilai false. |
| venues[].bands.1.complete | boolean | — | True jika kedua sisi snapshot menjangkau tepi rentang. Baris yang tidak lengkap tidak dimasukkan ke agregat. |
| venues[].bands.2 | object | — | Rentang dengan jarak ini dari harga tengah, dalam persen. |
| venues[].bands.2.bid_depth_usd | number | USD | Nosional bid terpasang antara harga tengah dan tepi bawah rentang. Merupakan batas bawah jika `complete` bernilai false. |
| venues[].bands.2.ask_depth_usd | number | USD | Nosional ask terpasang antara harga tengah dan tepi atas rentang. Merupakan batas bawah jika `complete` bernilai false. |
| venues[].bands.2.complete | boolean | — | True jika kedua sisi snapshot menjangkau tepi rentang. Baris yang tidak lengkap tidak dimasukkan ke agregat. |
| venues[].bands.0.5 | object | — | Rentang dengan jarak ini dari harga tengah, dalam persen. |
| venues[].bands.0.5.bid_depth_usd | number | USD | Nosional bid terpasang antara harga tengah dan tepi bawah rentang. Merupakan batas bawah jika `complete` bernilai false. |
| venues[].bands.0.5.ask_depth_usd | number | USD | Nosional ask terpasang antara harga tengah dan tepi atas rentang. Merupakan batas bawah jika `complete` bernilai false. |
| venues[].bands.0.5.complete | boolean | — | True jika kedua sisi snapshot menjangkau tepi rentang. Baris yang tidak lengkap tidak dimasukkan ke agregat. |
| venues[].slippage | object | — | Slippage sebuah market order; kunci `10000`, `100000`, dan `1000000` adalah ukuran order dalam USD. |
| venues[].slippage.10000 | object | — | Market order dengan ukuran ini dalam USD. |
| venues[].slippage.10000.buy_bps | number | bp | Harga eksekusi rata-rata market order beli relatif terhadap harga tengah (termasuk setengah spread); `null` jika snapshot tidak dapat memenuhi order. |
| venues[].slippage.10000.sell_bps | number|null | bp | Harga eksekusi rata-rata market order jual relatif terhadap harga tengah (termasuk setengah spread); `null` jika snapshot tidak dapat memenuhi order. |
| venues[].slippage.10000.buy_flag | null | — | `insufficient_book` jika order tidak dapat dipenuhi dari snapshot, `upper_bound` jika bucket agregat dipakai, selain itu `null`. |
| venues[].slippage.10000.sell_flag | string|null | — | `insufficient_book` jika order tidak dapat dipenuhi dari snapshot, `upper_bound` jika bucket agregat dipakai, selain itu `null`. |
| venues[].slippage.100000 | object | — | Market order dengan ukuran ini dalam USD. |
| venues[].slippage.100000.buy_bps | number|null | bp | Harga eksekusi rata-rata market order beli relatif terhadap harga tengah (termasuk setengah spread); `null` jika snapshot tidak dapat memenuhi order. |
| venues[].slippage.100000.sell_bps | number|null | bp | Harga eksekusi rata-rata market order jual relatif terhadap harga tengah (termasuk setengah spread); `null` jika snapshot tidak dapat memenuhi order. |
| venues[].slippage.100000.buy_flag | string|null | — | `insufficient_book` jika order tidak dapat dipenuhi dari snapshot, `upper_bound` jika bucket agregat dipakai, selain itu `null`. |
| venues[].slippage.100000.sell_flag | string|null | — | `insufficient_book` jika order tidak dapat dipenuhi dari snapshot, `upper_bound` jika bucket agregat dipakai, selain itu `null`. |
| venues[].slippage.1000000 | object | — | Market order dengan ukuran ini dalam USD. |
| venues[].slippage.1000000.buy_bps | number|null | bp | Harga eksekusi rata-rata market order beli relatif terhadap harga tengah (termasuk setengah spread); `null` jika snapshot tidak dapat memenuhi order. |
| venues[].slippage.1000000.sell_bps | number|null | bp | Harga eksekusi rata-rata market order jual relatif terhadap harga tengah (termasuk setengah spread); `null` jika snapshot tidak dapat memenuhi order. |
| venues[].slippage.1000000.buy_flag | string|null | — | `insufficient_book` jika order tidak dapat dipenuhi dari snapshot, `upper_bound` jika bucket agregat dipakai, selain itu `null`. |
| venues[].slippage.1000000.sell_flag | string|null | — | `insufficient_book` jika order tidak dapat dipenuhi dari snapshot, `upper_bound` jika bucket agregat dipakai, selain itu `null`. |
| venues[].book_bid_usd | number | USD | Nosional semua bid yang termuat dalam snapshot. |
| venues[].book_ask_usd | number | USD | Nosional semua ask yang termuat dalam snapshot. |
| venues[].agg_step_bps | number|null | bp | Bucket agregasi harga terlebar yang dipakai di dalam ±2 %; `null` jika hanya level mentah yang dipakai. |
| venues[].layers | number | — | Jumlah snapshot yang dirangkai menjadi baris ini. |
| venues[].observed_at | number|null | ms | Stempel waktu yang diberikan sumber untuk data tersebut. |
| venues[].received_at | number | ms | Waktu kolektor CoinBoss menerima data. |
| venues[].lag_ms | number|null | ms | Waktu penerimaan dikurangi stempel waktu order book dari bursa; `null` jika bursa tidak memberikannya. |
| venues[].age_s | number | s | Jumlah detik sejak baris diterima. |
| venues[].fresh_window_s | number | s | Baris yang lebih lama dari nilai ini dianggap usang. |
| venues[].is_stale | boolean | — | True jika data lebih lama dari jendela kesegarannya. |
| venues[].tier | string | — | Tingkatan pengumpulan: `A` untuk koin yang paling banyak diperdagangkan, `B` untuk sisanya. |
| venues[].period_s | number | s | Periode pengumpulan baris tersebut. |
| aggregate | object | — | Total per jenis pasar. Perpetual dan spot tidak pernah dijumlahkan. |
| aggregate.perp | object | — | Agregat seluruh order book perpetual; `null` jika tidak ada baris. bisa tidak ada |
| aggregate.perp.n_rows | number | — | Baris yang ditemukan, termasuk yang usang. bisa tidak ada |
| aggregate.perp.n_fresh | number | — | Baris segar. bisa tidak ada |
| aggregate.perp.mid_median | number | USD | Median harga tengah dari baris segar. bisa tidak ada |
| aggregate.perp.spread_bps_min | number | bp | Spread tersempit di antara baris segar. bisa tidak ada |
| aggregate.perp.bands | object | — | Kedalaman per rentang; kunci `0.5`, `1`, dan `2` adalah jarak dari harga tengah dalam persen. bisa tidak ada |
| aggregate.perp.bands.1 | object | — | Rentang dengan jarak ini dari harga tengah, dalam persen. bisa tidak ada |
| aggregate.perp.bands.1.bid_depth_usd | number | USD | Nosional bid terpasang antara harga tengah dan tepi bawah rentang. Merupakan batas bawah jika `complete` bernilai false. bisa tidak ada |
| aggregate.perp.bands.1.ask_depth_usd | number | USD | Nosional ask terpasang antara harga tengah dan tepi atas rentang. Merupakan batas bawah jika `complete` bernilai false. bisa tidak ada |
| aggregate.perp.bands.1.n_included | number | — | Baris yang dimasukkan ke jumlah kedalaman: segar dan lengkap untuk rentang tersebut. Baca bersama nilai kedalaman. bisa tidak ada |
| aggregate.perp.bands.1.n_fresh | number | — | Baris segar. bisa tidak ada |
| aggregate.perp.bands.1.included_exchanges | array | — | Sumber yang data segarnya disertakan. bisa tidak ada |
| aggregate.perp.bands.1.included_exchanges[] | string | — | Sumber yang data segarnya disertakan. bisa tidak ada |
| aggregate.perp.bands.1.excluded_incomplete | array | — | Baris segar yang tidak dimasukkan ke rentang karena snapshot-nya tidak menjangkau tepi rentang. bisa tidak ada |
| aggregate.perp.bands.1.excluded_incomplete[] | object | — | Baris segar yang tidak dimasukkan ke rentang karena snapshot-nya tidak menjangkau tepi rentang. bisa tidak ada |
| aggregate.perp.bands.1.excluded_incomplete[].exchange | string | — | ID bursa (huruf kecil). bisa tidak ada |
| aggregate.perp.bands.1.excluded_incomplete[].symbol | string | — | Simbol kontrak dalam bentuk penyimpanan CoinBoss. bisa tidak ada |
| aggregate.perp.bands.1.excluded_incomplete[].reach_bid_pct | number | % | Jarak dari harga tengah ke level bid terjauh dalam snapshot. bisa tidak ada |
| aggregate.perp.bands.1.excluded_incomplete[].reach_ask_pct | number | % | Jarak dari harga tengah ke level ask terjauh dalam snapshot. bisa tidak ada |
| aggregate.perp.bands.1.lower_bound_bid_usd | number | USD | Kedalaman bid termasuk bagian yang teramati dari baris yang tidak lengkap. Ini batas bawah, bukan estimasi. bisa tidak ada |
| aggregate.perp.bands.1.lower_bound_ask_usd | number | USD | Kedalaman ask termasuk bagian yang teramati dari baris yang tidak lengkap. Ini batas bawah, bukan estimasi. bisa tidak ada |
| aggregate.perp.bands.1.uses_aggregated_buckets | boolean | — | True jika baris yang disertakan memakai bucket agregat harga, sehingga jumlahnya menjadi batas bawah. bisa tidak ada |
| aggregate.perp.bands.2 | object | — | Rentang dengan jarak ini dari harga tengah, dalam persen. bisa tidak ada |
| aggregate.perp.bands.2.bid_depth_usd | number | USD | Nosional bid terpasang antara harga tengah dan tepi bawah rentang. Merupakan batas bawah jika `complete` bernilai false. bisa tidak ada |
| aggregate.perp.bands.2.ask_depth_usd | number | USD | Nosional ask terpasang antara harga tengah dan tepi atas rentang. Merupakan batas bawah jika `complete` bernilai false. bisa tidak ada |
| aggregate.perp.bands.2.n_included | number | — | Baris yang dimasukkan ke jumlah kedalaman: segar dan lengkap untuk rentang tersebut. Baca bersama nilai kedalaman. bisa tidak ada |
| aggregate.perp.bands.2.n_fresh | number | — | Baris segar. bisa tidak ada |
| aggregate.perp.bands.2.included_exchanges | array | — | Sumber yang data segarnya disertakan. bisa tidak ada |
| aggregate.perp.bands.2.included_exchanges[] | string | — | Sumber yang data segarnya disertakan. bisa tidak ada |
| aggregate.perp.bands.2.excluded_incomplete | array | — | Baris segar yang tidak dimasukkan ke rentang karena snapshot-nya tidak menjangkau tepi rentang. bisa tidak ada |
| aggregate.perp.bands.2.excluded_incomplete[] | object | — | Baris segar yang tidak dimasukkan ke rentang karena snapshot-nya tidak menjangkau tepi rentang. bisa tidak ada |
| aggregate.perp.bands.2.excluded_incomplete[].exchange | string | — | ID bursa (huruf kecil). bisa tidak ada |
| aggregate.perp.bands.2.excluded_incomplete[].symbol | string | — | Simbol kontrak dalam bentuk penyimpanan CoinBoss. bisa tidak ada |
| aggregate.perp.bands.2.excluded_incomplete[].reach_bid_pct | number | % | Jarak dari harga tengah ke level bid terjauh dalam snapshot. bisa tidak ada |
| aggregate.perp.bands.2.excluded_incomplete[].reach_ask_pct | number | % | Jarak dari harga tengah ke level ask terjauh dalam snapshot. bisa tidak ada |
| aggregate.perp.bands.2.lower_bound_bid_usd | number | USD | Kedalaman bid termasuk bagian yang teramati dari baris yang tidak lengkap. Ini batas bawah, bukan estimasi. bisa tidak ada |
| aggregate.perp.bands.2.lower_bound_ask_usd | number | USD | Kedalaman ask termasuk bagian yang teramati dari baris yang tidak lengkap. Ini batas bawah, bukan estimasi. bisa tidak ada |
| aggregate.perp.bands.2.uses_aggregated_buckets | boolean | — | True jika baris yang disertakan memakai bucket agregat harga, sehingga jumlahnya menjadi batas bawah. bisa tidak ada |
| aggregate.perp.bands.0.5 | object | — | Rentang dengan jarak ini dari harga tengah, dalam persen. bisa tidak ada |
| aggregate.perp.bands.0.5.bid_depth_usd | number | USD | Nosional bid terpasang antara harga tengah dan tepi bawah rentang. Merupakan batas bawah jika `complete` bernilai false. bisa tidak ada |
| aggregate.perp.bands.0.5.ask_depth_usd | number | USD | Nosional ask terpasang antara harga tengah dan tepi atas rentang. Merupakan batas bawah jika `complete` bernilai false. bisa tidak ada |
| aggregate.perp.bands.0.5.n_included | number | — | Baris yang dimasukkan ke jumlah kedalaman: segar dan lengkap untuk rentang tersebut. Baca bersama nilai kedalaman. bisa tidak ada |
| aggregate.perp.bands.0.5.n_fresh | number | — | Baris segar. bisa tidak ada |
| aggregate.perp.bands.0.5.included_exchanges | array | — | Sumber yang data segarnya disertakan. bisa tidak ada |
| aggregate.perp.bands.0.5.included_exchanges[] | string | — | Sumber yang data segarnya disertakan. bisa tidak ada |
| aggregate.perp.bands.0.5.excluded_incomplete | array | — | Baris segar yang tidak dimasukkan ke rentang karena snapshot-nya tidak menjangkau tepi rentang. bisa tidak ada |
| aggregate.perp.bands.0.5.excluded_incomplete[] | object | — | Baris segar yang tidak dimasukkan ke rentang karena snapshot-nya tidak menjangkau tepi rentang. bisa tidak ada |
| aggregate.perp.bands.0.5.excluded_incomplete[].exchange | string | — | ID bursa (huruf kecil). bisa tidak ada |
| aggregate.perp.bands.0.5.excluded_incomplete[].symbol | string | — | Simbol kontrak dalam bentuk penyimpanan CoinBoss. bisa tidak ada |
| aggregate.perp.bands.0.5.excluded_incomplete[].reach_bid_pct | number | % | Jarak dari harga tengah ke level bid terjauh dalam snapshot. bisa tidak ada |
| aggregate.perp.bands.0.5.excluded_incomplete[].reach_ask_pct | number | % | Jarak dari harga tengah ke level ask terjauh dalam snapshot. bisa tidak ada |
| aggregate.perp.bands.0.5.lower_bound_bid_usd | number | USD | Kedalaman bid termasuk bagian yang teramati dari baris yang tidak lengkap. Ini batas bawah, bukan estimasi. bisa tidak ada |
| aggregate.perp.bands.0.5.lower_bound_ask_usd | number | USD | Kedalaman ask termasuk bagian yang teramati dari baris yang tidak lengkap. Ini batas bawah, bukan estimasi. bisa tidak ada |
| aggregate.perp.bands.0.5.uses_aggregated_buckets | boolean | — | True jika baris yang disertakan memakai bucket agregat harga, sehingga jumlahnya menjadi batas bawah. bisa tidak ada |
| aggregate.spot | object | — | Agregat seluruh order book spot; `null` jika tidak ada baris. bisa tidak ada |
| aggregate.spot.n_rows | number | — | Baris yang ditemukan, termasuk yang usang. bisa tidak ada |
| aggregate.spot.n_fresh | number | — | Baris segar. bisa tidak ada |
| aggregate.spot.mid_median | number | USD | Median harga tengah dari baris segar. bisa tidak ada |
| aggregate.spot.spread_bps_min | number | bp | Spread tersempit di antara baris segar. bisa tidak ada |
| aggregate.spot.bands | object | — | Kedalaman per rentang; kunci `0.5`, `1`, dan `2` adalah jarak dari harga tengah dalam persen. bisa tidak ada |
| aggregate.spot.bands.1 | object | — | Rentang dengan jarak ini dari harga tengah, dalam persen. bisa tidak ada |
| aggregate.spot.bands.1.bid_depth_usd | number | USD | Nosional bid terpasang antara harga tengah dan tepi bawah rentang. Merupakan batas bawah jika `complete` bernilai false. bisa tidak ada |
| aggregate.spot.bands.1.ask_depth_usd | number | USD | Nosional ask terpasang antara harga tengah dan tepi atas rentang. Merupakan batas bawah jika `complete` bernilai false. bisa tidak ada |
| aggregate.spot.bands.1.n_included | number | — | Baris yang dimasukkan ke jumlah kedalaman: segar dan lengkap untuk rentang tersebut. Baca bersama nilai kedalaman. bisa tidak ada |
| aggregate.spot.bands.1.n_fresh | number | — | Baris segar. bisa tidak ada |
| aggregate.spot.bands.1.included_exchanges | array | — | Sumber yang data segarnya disertakan. bisa tidak ada |
| aggregate.spot.bands.1.included_exchanges[] | string | — | Sumber yang data segarnya disertakan. bisa tidak ada |
| aggregate.spot.bands.1.excluded_incomplete | array | — | Baris segar yang tidak dimasukkan ke rentang karena snapshot-nya tidak menjangkau tepi rentang. bisa tidak ada |
| aggregate.spot.bands.1.excluded_incomplete[] | object | — | Baris segar yang tidak dimasukkan ke rentang karena snapshot-nya tidak menjangkau tepi rentang. bisa tidak ada |
| aggregate.spot.bands.1.excluded_incomplete[].exchange | string | — | ID bursa (huruf kecil). bisa tidak ada |
| aggregate.spot.bands.1.excluded_incomplete[].symbol | string | — | Simbol kontrak dalam bentuk penyimpanan CoinBoss. bisa tidak ada |
| aggregate.spot.bands.1.excluded_incomplete[].reach_bid_pct | number | % | Jarak dari harga tengah ke level bid terjauh dalam snapshot. bisa tidak ada |
| aggregate.spot.bands.1.excluded_incomplete[].reach_ask_pct | number | % | Jarak dari harga tengah ke level ask terjauh dalam snapshot. bisa tidak ada |
| aggregate.spot.bands.1.lower_bound_bid_usd | number | USD | Kedalaman bid termasuk bagian yang teramati dari baris yang tidak lengkap. Ini batas bawah, bukan estimasi. bisa tidak ada |
| aggregate.spot.bands.1.lower_bound_ask_usd | number | USD | Kedalaman ask termasuk bagian yang teramati dari baris yang tidak lengkap. Ini batas bawah, bukan estimasi. bisa tidak ada |
| aggregate.spot.bands.1.uses_aggregated_buckets | boolean | — | True jika baris yang disertakan memakai bucket agregat harga, sehingga jumlahnya menjadi batas bawah. bisa tidak ada |
| aggregate.spot.bands.2 | object | — | Rentang dengan jarak ini dari harga tengah, dalam persen. bisa tidak ada |
| aggregate.spot.bands.2.bid_depth_usd | number | USD | Nosional bid terpasang antara harga tengah dan tepi bawah rentang. Merupakan batas bawah jika `complete` bernilai false. bisa tidak ada |
| aggregate.spot.bands.2.ask_depth_usd | number | USD | Nosional ask terpasang antara harga tengah dan tepi atas rentang. Merupakan batas bawah jika `complete` bernilai false. bisa tidak ada |
| aggregate.spot.bands.2.n_included | number | — | Baris yang dimasukkan ke jumlah kedalaman: segar dan lengkap untuk rentang tersebut. Baca bersama nilai kedalaman. bisa tidak ada |
| aggregate.spot.bands.2.n_fresh | number | — | Baris segar. bisa tidak ada |
| aggregate.spot.bands.2.included_exchanges | array | — | Sumber yang data segarnya disertakan. bisa tidak ada |
| aggregate.spot.bands.2.included_exchanges[] | string | — | Sumber yang data segarnya disertakan. bisa tidak ada |
| aggregate.spot.bands.2.excluded_incomplete | array | — | Baris segar yang tidak dimasukkan ke rentang karena snapshot-nya tidak menjangkau tepi rentang. bisa tidak ada |
| aggregate.spot.bands.2.excluded_incomplete[] | object | — | Baris segar yang tidak dimasukkan ke rentang karena snapshot-nya tidak menjangkau tepi rentang. bisa tidak ada |
| aggregate.spot.bands.2.excluded_incomplete[].exchange | string | — | ID bursa (huruf kecil). bisa tidak ada |
| aggregate.spot.bands.2.excluded_incomplete[].symbol | string | — | Simbol kontrak dalam bentuk penyimpanan CoinBoss. bisa tidak ada |
| aggregate.spot.bands.2.excluded_incomplete[].reach_bid_pct | number | % | Jarak dari harga tengah ke level bid terjauh dalam snapshot. bisa tidak ada |
| aggregate.spot.bands.2.excluded_incomplete[].reach_ask_pct | number | % | Jarak dari harga tengah ke level ask terjauh dalam snapshot. bisa tidak ada |
| aggregate.spot.bands.2.lower_bound_bid_usd | number | USD | Kedalaman bid termasuk bagian yang teramati dari baris yang tidak lengkap. Ini batas bawah, bukan estimasi. bisa tidak ada |
| aggregate.spot.bands.2.lower_bound_ask_usd | number | USD | Kedalaman ask termasuk bagian yang teramati dari baris yang tidak lengkap. Ini batas bawah, bukan estimasi. bisa tidak ada |
| aggregate.spot.bands.2.uses_aggregated_buckets | boolean | — | True jika baris yang disertakan memakai bucket agregat harga, sehingga jumlahnya menjadi batas bawah. bisa tidak ada |
| aggregate.spot.bands.0.5 | object | — | Rentang dengan jarak ini dari harga tengah, dalam persen. bisa tidak ada |
| aggregate.spot.bands.0.5.bid_depth_usd | number | USD | Nosional bid terpasang antara harga tengah dan tepi bawah rentang. Merupakan batas bawah jika `complete` bernilai false. bisa tidak ada |
| aggregate.spot.bands.0.5.ask_depth_usd | number | USD | Nosional ask terpasang antara harga tengah dan tepi atas rentang. Merupakan batas bawah jika `complete` bernilai false. bisa tidak ada |
| aggregate.spot.bands.0.5.n_included | number | — | Baris yang dimasukkan ke jumlah kedalaman: segar dan lengkap untuk rentang tersebut. Baca bersama nilai kedalaman. bisa tidak ada |
| aggregate.spot.bands.0.5.n_fresh | number | — | Baris segar. bisa tidak ada |
| aggregate.spot.bands.0.5.included_exchanges | array | — | Sumber yang data segarnya disertakan. bisa tidak ada |
| aggregate.spot.bands.0.5.included_exchanges[] | string | — | Sumber yang data segarnya disertakan. bisa tidak ada |
| aggregate.spot.bands.0.5.excluded_incomplete | array | — | Baris segar yang tidak dimasukkan ke rentang karena snapshot-nya tidak menjangkau tepi rentang. bisa tidak ada |
| aggregate.spot.bands.0.5.excluded_incomplete[] | object | — | Baris segar yang tidak dimasukkan ke rentang karena snapshot-nya tidak menjangkau tepi rentang. bisa tidak ada |
| aggregate.spot.bands.0.5.excluded_incomplete[].exchange | string | — | ID bursa (huruf kecil). bisa tidak ada |
| aggregate.spot.bands.0.5.excluded_incomplete[].symbol | string | — | Simbol kontrak dalam bentuk penyimpanan CoinBoss. bisa tidak ada |
| aggregate.spot.bands.0.5.excluded_incomplete[].reach_bid_pct | number | % | Jarak dari harga tengah ke level bid terjauh dalam snapshot. bisa tidak ada |
| aggregate.spot.bands.0.5.excluded_incomplete[].reach_ask_pct | number | % | Jarak dari harga tengah ke level ask terjauh dalam snapshot. bisa tidak ada |
| aggregate.spot.bands.0.5.lower_bound_bid_usd | number | USD | Kedalaman bid termasuk bagian yang teramati dari baris yang tidak lengkap. Ini batas bawah, bukan estimasi. bisa tidak ada |
| aggregate.spot.bands.0.5.lower_bound_ask_usd | number | USD | Kedalaman ask termasuk bagian yang teramati dari baris yang tidak lengkap. Ini batas bawah, bukan estimasi. bisa tidak ada |
| aggregate.spot.bands.0.5.uses_aggregated_buckets | boolean | — | True jika baris yang disertakan memakai bucket agregat harga, sehingga jumlahnya menjadi batas bawah. 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. 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 |
| coverage.no_market | array | — | Pasangan bursa × pasar yang dikumpulkan tetapi tidak memiliki baris untuk koin ini. 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.mid | string | — | Catatan rumus untuk `mid`, teks biasa. |
| method.spread_bps | string | — | Catatan rumus untuk `spread_bps`, teks biasa. |
| 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.reach_pct | string | — | Catatan rumus untuk `reach_pct`, teks biasa. |
| method.slippage_bps | string | — | Catatan rumus untuk `slippage_bps`, teks biasa. |
| method.agg_step_bps | string | — | Catatan rumus untuk `agg_step_bps`, teks biasa. |
| method.aggregate | string | — | Catatan rumus untuk `aggregate`, teks biasa. |
| method.fresh | string | — | Catatan rumus untuk `fresh`, teks biasa. |
| method.lag_ms | string | — | Catatan rumus untuk `lag_ms`, teks biasa. |
| method.no_market | string | — | Catatan rumus untuk `no_market`, 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 | 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. |
Dihasilkan 2026-11-11 23:28 UTC dari 4 respons nyata.
Contoh respons
/api/sd/liquidity?coin=BTC · Respons nyata yang direkam 2026-11-13 03:58:06 UTC. Array dan map yang panjang dipersingkat untuk tampilan: venues berisi 39 item; meta.source berisi 38 item; coverage.included_exchanges berisi 24 item; aggregate.perp.bands.1.included_exchanges berisi 19 item; aggregate.perp.bands.2.included_exchanges berisi 16 item; aggregate.spot.bands.1.included_exchanges berisi 14 item.
- "success"true
- "schema""coinboss.sd.liquidity/1"
- "now"1794542286066
- "coin""BTC"
- "market""all"
- "venues"
- "aggregate"
- "perp"
- "spot"
- "coverage"
- "included_exchanges"
- "unavailable"
- "stale_excluded"
- "no_market"
- "method"
- "mid""(best_bid + best_ask) / 2 of the venue order book, normalised to the USD price of ONE coin (1000PEPE / kPEPE style contr…"
- "spread_bps""(best_ask - best_bid) / mid * 1e4"
- "bid_depth_usd""sum of resting bid notional with price >= mid * (1 - band%), in USD; notional = price * size * contract_value (inverse c…"
- "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;…"
- "reach_pct""distance in % between mid and the farthest price level contained in the snapshot on that side"
- "slippage_bps""market order of N USD walked through the book: buy = (avg_fill / mid - 1) * 1e4, sell = (1 - avg_fill / mid) * 1e4, meas…"
- "agg_step_bps""widest price-aggregation bucket (in bps of mid) used inside +-2% for venues whose REST only exposes a shallow raw book (…"
- "aggregate""per market and band: sum over rows that are fresh AND complete for that band; n_included / n_fresh is the denominator; l…"
- "fresh""a row is fresh when now - received_at <= max(3 * period_s, 300s); stale rows are listed in coverage.stale_excluded; rows…"
- "lag_ms""received_at - venue timestamp of the book (null when the venue gives none); Gate spot books deeper than 100 levels are v…"
- "no_market""covered venue/market pairs that are being collected but hold no row for this coin: not listed there, or the contract was…"
- "meta"
- "schema""coinboss.sd.liquidity/1"
- "source"
- "observed_at"1794542285214
- "received_at"1794542285776
- "fetched_at"1794542286066
- "window""latest"
- "quality""PARTIAL"
- "is_stale"false
- "cache_ttl_s"15
- "fallback""on collector failure the last stored row is served with is_stale=true and left out of the aggregate; rows older than 24h…"
- "collector_heartbeat_age_s"9
Sampel terverifikasi
Selain contoh di atas, probe memanggil endpoint ini dengan parameter berikut dan memeriksa skemanya setiap kali.
| Parameter | HTTP | Latensi | Hasil |
|---|---|---|---|
| coin=ETH&market=spot | 200 | 3 ms | Lolos PARTIAL |
| coin=PEPE&market=perp | 200 | 4 ms | Lolos FRESH |
| coin=SOL | 200 | 4 ms | Lolos PARTIAL |
| — | 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
- 15s
- Mikro-cache edge
- 10s
- Frekuensi pembaruan
- Snapshot setiap 120 detik untuk koin yang paling banyak diperdagangkan dan setiap 600 detik untuk sisanya (beberapa bursa: 300 / 1200 detik). Sebuah baris dianggap segar selama tiga periode pengumpulan, minimal 300 detik.
- Jendela
- Snapshot terbaru per kontrak.
- 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; satu baris per bursa × pasar × kontrak.
- Pengurutan
- Baris perpetual lebih dulu, lalu spot; di dalam masing-masing diurutkan menurun menurut kedalaman ±1 % (bid + ask).
- 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.
- Metode
- mid = (best bid + best ask) ÷ 2. Depth = Σ price × size of all levels between mid and mid ± x %. Slippage = (average fill price of a market order of N USD − mid) ÷ mid, in bp; `null` with flag `insufficient_book` when the snapshot cannot fill the order (no extrapolation), flag `upper_bound` when an aggregated price bucket was used.
- 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 PARTIAL — Untuk koin paling likuid, snapshot publik beberapa bursa besar tidak menjangkau seluruh rentang, sehingga bursa tersebut dikecualikan dari agregat dan agregat menampilkan total kedalaman yang lebih rendah dari sebenarnya. Kolom `lower_bound_*` menambahkan bagian yang teramati. Selalu baca `n_included` bersama nilai kedalaman.
Ketersediaan, 30 hari terakhir
100% 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/liquiditySebagianstring — Coin symbol, case-insensitive (for example `BTC`). Missing or malformed values return 400.
string · default all — Market type. Perpetual and spot books are never added together.
https://www.coinboss.com/api/sd/liquidity?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