Глубина книги ордеров и проскальзывание
Глубина книги ордеров по биржам в пределах ±0.5 / 1 / 2 % от средней цены, спред и проскальзывание рыночного ордера на 10k / 100k / 1M USD, а также агрегат по каждому типу рынка с указанием его знаменателя.
/api/sd/liquidityЗапрос
Параметры запроса
| Имя | Тип | Обязательный | По умолчанию | Допустимые значения | Описание |
|---|---|---|---|---|---|
| coin | string | Обязательный | — | — | Символ монеты без учёта регистра (например, `BTC`). При отсутствии или некорректном значении возвращается 400. Пример: BTC |
| market | string | Необязательный | all | perp, spot, all | Тип рынка. Книги бессрочных контрактов и спота никогда не суммируются. |
Пример запроса
curl -s "https://www.coinboss.com/api/sd/liquidity?coin=BTC"Поля ответа
Таблица полей формируется из реальных ответов, поэтому в ней перечислено ровно то, что возвращает эндпоинт. В путях a[] обозначает элементы массива, а {*} — объекты с динамическим ключом, например монетой или биржей.
| Поле | Тип | Единица | Описание |
|---|---|---|---|
| success | boolean | — | true, если запрос выполнен успешно. При ошибке тело ответа имеет вид `{ success: false, code, error, request_id }`. |
| schema | string | — | Идентификатор схемы этого ответа. Меняется только тогда, когда у существующего поля меняется смысл или тип. |
| now | number | ms | Время сервера в момент формирования ответа. |
| coin | string | — | Символ монеты (в верхнем регистре). |
| market | string | — | `perp` или `spot`. |
| venues | array | — | Одна строка на каждое сочетание «биржа × рынок × контракт». |
| venues[] | object | — | Одна строка на каждое сочетание «биржа × рынок × контракт». |
| venues[].exchange | string | — | Идентификатор биржи (в нижнем регистре). |
| venues[].market | string | — | `perp` или `spot`. |
| venues[].symbol | string | — | Символ контракта в формате хранения CoinBoss. |
| venues[].quote | string | — | Валюта котировки рынка; USDT, USDC и USD учитываются как USD в соотношении 1:1. |
| venues[].multiplier | number | — | Число монет в котируемой единице (1000 для контрактов вида `1000PEPE`). Цены уже разделены на это значение. |
| venues[].contract_value | number | — | Размер одного контракта: в монетах для линейных контрактов, в USD для инверсных. |
| venues[].inverse | boolean | — | True для контрактов с маржой в монете, котируемых в USD за контракт. |
| venues[].mid | number | USD | (лучший бид + лучший аск) ÷ 2, цена одной монеты. |
| venues[].best_bid | number | USD | Лучшая цена бида за одну монету. |
| venues[].best_ask | number | USD | Лучшая цена аска за одну монету. |
| venues[].spread_bps | number | bp | (лучший аск − лучший бид) ÷ средняя цена. |
| venues[].n_bids | number | — | Ценовые уровни бидов в снимке. |
| venues[].n_asks | number | — | Ценовые уровни асков в снимке. |
| venues[].reach_bid_pct | number | % | Расстояние от средней цены до самого дальнего уровня бидов в снимке. |
| venues[].reach_ask_pct | number | % | Расстояние от средней цены до самого дальнего уровня асков в снимке. |
| venues[].book_complete_bid | boolean | — | True, если сторона бидов книги возвращена целиком. |
| venues[].book_complete_ask | boolean | — | True, если сторона асков книги возвращена целиком. |
| venues[].bands | object | — | Глубина по диапазонам; ключи `0.5`, `1` и `2` — расстояние от средней цены в процентах. |
| venues[].bands.1 | object | — | Диапазон на таком расстоянии от средней цены, в процентах. |
| venues[].bands.1.bid_depth_usd | number | USD | Номинал бидов, стоящих в книге между средней ценой и нижней границей диапазона. Нижняя граница, если `complete` равно false. |
| venues[].bands.1.ask_depth_usd | number | USD | Номинал асков, стоящих в книге между средней ценой и верхней границей диапазона. Нижняя граница, если `complete` равно false. |
| venues[].bands.1.complete | boolean | — | True, если обе стороны снимка достигают границы диапазона. Неполные строки в агрегаты не входят. |
| venues[].bands.2 | object | — | Диапазон на таком расстоянии от средней цены, в процентах. |
| venues[].bands.2.bid_depth_usd | number | USD | Номинал бидов, стоящих в книге между средней ценой и нижней границей диапазона. Нижняя граница, если `complete` равно false. |
| venues[].bands.2.ask_depth_usd | number | USD | Номинал асков, стоящих в книге между средней ценой и верхней границей диапазона. Нижняя граница, если `complete` равно false. |
| venues[].bands.2.complete | boolean | — | True, если обе стороны снимка достигают границы диапазона. Неполные строки в агрегаты не входят. |
| venues[].bands.0.5 | object | — | Диапазон на таком расстоянии от средней цены, в процентах. |
| venues[].bands.0.5.bid_depth_usd | number | USD | Номинал бидов, стоящих в книге между средней ценой и нижней границей диапазона. Нижняя граница, если `complete` равно false. |
| venues[].bands.0.5.ask_depth_usd | number | USD | Номинал асков, стоящих в книге между средней ценой и верхней границей диапазона. Нижняя граница, если `complete` равно false. |
| venues[].bands.0.5.complete | boolean | — | True, если обе стороны снимка достигают границы диапазона. Неполные строки в агрегаты не входят. |
| venues[].slippage | object | — | Проскальзывание рыночного ордера; ключи `10000`, `100000` и `1000000` — размер ордера в USD. |
| venues[].slippage.10000 | object | — | Рыночный ордер такого размера в USD. |
| venues[].slippage.10000.buy_bps | number | bp | Средняя цена исполнения рыночной покупки относительно средней цены (включает половину спреда); `null`, если снимка недостаточно для исполнения ордера. |
| venues[].slippage.10000.sell_bps | number|null | bp | Средняя цена исполнения рыночной продажи относительно средней цены (включает половину спреда); `null`, если снимка недостаточно для исполнения ордера. |
| venues[].slippage.10000.buy_flag | null | — | `insufficient_book`, если ордер нельзя исполнить по снимку, `upper_bound`, если использован агрегированный интервал, иначе `null`. |
| venues[].slippage.10000.sell_flag | string|null | — | `insufficient_book`, если ордер нельзя исполнить по снимку, `upper_bound`, если использован агрегированный интервал, иначе `null`. |
| venues[].slippage.100000 | object | — | Рыночный ордер такого размера в USD. |
| venues[].slippage.100000.buy_bps | number|null | bp | Средняя цена исполнения рыночной покупки относительно средней цены (включает половину спреда); `null`, если снимка недостаточно для исполнения ордера. |
| venues[].slippage.100000.sell_bps | number|null | bp | Средняя цена исполнения рыночной продажи относительно средней цены (включает половину спреда); `null`, если снимка недостаточно для исполнения ордера. |
| venues[].slippage.100000.buy_flag | string|null | — | `insufficient_book`, если ордер нельзя исполнить по снимку, `upper_bound`, если использован агрегированный интервал, иначе `null`. |
| venues[].slippage.100000.sell_flag | string|null | — | `insufficient_book`, если ордер нельзя исполнить по снимку, `upper_bound`, если использован агрегированный интервал, иначе `null`. |
| venues[].slippage.1000000 | object | — | Рыночный ордер такого размера в USD. |
| venues[].slippage.1000000.buy_bps | number|null | bp | Средняя цена исполнения рыночной покупки относительно средней цены (включает половину спреда); `null`, если снимка недостаточно для исполнения ордера. |
| venues[].slippage.1000000.sell_bps | number|null | bp | Средняя цена исполнения рыночной продажи относительно средней цены (включает половину спреда); `null`, если снимка недостаточно для исполнения ордера. |
| venues[].slippage.1000000.buy_flag | string|null | — | `insufficient_book`, если ордер нельзя исполнить по снимку, `upper_bound`, если использован агрегированный интервал, иначе `null`. |
| venues[].slippage.1000000.sell_flag | string|null | — | `insufficient_book`, если ордер нельзя исполнить по снимку, `upper_bound`, если использован агрегированный интервал, иначе `null`. |
| venues[].book_bid_usd | number | USD | Номинал всех бидов, содержащихся в снимке. |
| venues[].book_ask_usd | number | USD | Номинал всех асков, содержащихся в снимке. |
| venues[].agg_step_bps | number|null | bp | Самый широкий интервал агрегации цен, использованный в пределах ±2 %; `null`, если использовались только исходные уровни. |
| venues[].layers | number | — | Число снимков, объединённых для этой строки. |
| venues[].observed_at | number|null | ms | Метка времени, указанная источником для данных. |
| venues[].received_at | number | ms | Время получения данных коллектором CoinBoss. |
| venues[].lag_ms | number|null | ms | Время получения минус метка времени книги, указанная площадкой; `null`, если площадка её не передаёт. |
| venues[].age_s | number | s | Число секунд с момента получения строки. |
| venues[].fresh_window_s | number | s | Строка старше этого значения считается устаревшей. |
| venues[].is_stale | boolean | — | True, если данные старше своего окна актуальности. |
| venues[].tier | string | — | Уровень сбора: `A` — для самых торгуемых монет, `B` — для остальных. |
| venues[].period_s | number | s | Период сбора для строки. |
| aggregate | object | — | Итоги по типам рынка. Бессрочные контракты и спот никогда не суммируются. |
| aggregate.perp | object | — | Агрегат по книгам бессрочных контрактов; `null`, если строк нет. может отсутствовать |
| aggregate.perp.n_rows | number | — | Найденные строки, включая устаревшие. может отсутствовать |
| aggregate.perp.n_fresh | number | — | Актуальные строки. может отсутствовать |
| aggregate.perp.mid_median | number | USD | Медиана средних цен актуальных строк. может отсутствовать |
| aggregate.perp.spread_bps_min | number | bp | Самый узкий спред среди актуальных строк. может отсутствовать |
| aggregate.perp.bands | object | — | Глубина по диапазонам; ключи `0.5`, `1` и `2` — расстояние от средней цены в процентах. может отсутствовать |
| aggregate.perp.bands.1 | object | — | Диапазон на таком расстоянии от средней цены, в процентах. может отсутствовать |
| aggregate.perp.bands.1.bid_depth_usd | number | USD | Номинал бидов, стоящих в книге между средней ценой и нижней границей диапазона. Нижняя граница, если `complete` равно false. может отсутствовать |
| aggregate.perp.bands.1.ask_depth_usd | number | USD | Номинал асков, стоящих в книге между средней ценой и верхней границей диапазона. Нижняя граница, если `complete` равно false. может отсутствовать |
| aggregate.perp.bands.1.n_included | number | — | Строки, включённые в сумму глубины: актуальные и полные для данного диапазона. Читайте это значение вместе со значением глубины. может отсутствовать |
| aggregate.perp.bands.1.n_fresh | number | — | Актуальные строки. может отсутствовать |
| aggregate.perp.bands.1.included_exchanges | array | — | Источники, актуальные данные которых учтены. может отсутствовать |
| aggregate.perp.bands.1.included_exchanges[] | string | — | Источники, актуальные данные которых учтены. может отсутствовать |
| aggregate.perp.bands.1.excluded_incomplete | array | — | Актуальные строки, не включённые в диапазон, поскольку их снимок не достигает границы диапазона. может отсутствовать |
| aggregate.perp.bands.1.excluded_incomplete[] | object | — | Актуальные строки, не включённые в диапазон, поскольку их снимок не достигает границы диапазона. может отсутствовать |
| aggregate.perp.bands.1.excluded_incomplete[].exchange | string | — | Идентификатор биржи (в нижнем регистре). может отсутствовать |
| aggregate.perp.bands.1.excluded_incomplete[].symbol | string | — | Символ контракта в формате хранения CoinBoss. может отсутствовать |
| aggregate.perp.bands.1.excluded_incomplete[].reach_bid_pct | number | % | Расстояние от средней цены до самого дальнего уровня бидов в снимке. может отсутствовать |
| aggregate.perp.bands.1.excluded_incomplete[].reach_ask_pct | number | % | Расстояние от средней цены до самого дальнего уровня асков в снимке. может отсутствовать |
| aggregate.perp.bands.1.lower_bound_bid_usd | number | USD | Глубина бидов с учётом наблюдавшейся части неполных строк. Это минимум, а не оценка. может отсутствовать |
| aggregate.perp.bands.1.lower_bound_ask_usd | number | USD | Глубина асков с учётом наблюдавшейся части неполных строк. Это минимум, а не оценка. может отсутствовать |
| aggregate.perp.bands.1.uses_aggregated_buckets | boolean | — | True, если во включённой строке использованы интервалы, агрегированные по цене, из-за чего сумма является нижней границей. может отсутствовать |
| aggregate.perp.bands.2 | object | — | Диапазон на таком расстоянии от средней цены, в процентах. может отсутствовать |
| aggregate.perp.bands.2.bid_depth_usd | number | USD | Номинал бидов, стоящих в книге между средней ценой и нижней границей диапазона. Нижняя граница, если `complete` равно false. может отсутствовать |
| aggregate.perp.bands.2.ask_depth_usd | number | USD | Номинал асков, стоящих в книге между средней ценой и верхней границей диапазона. Нижняя граница, если `complete` равно false. может отсутствовать |
| aggregate.perp.bands.2.n_included | number | — | Строки, включённые в сумму глубины: актуальные и полные для данного диапазона. Читайте это значение вместе со значением глубины. может отсутствовать |
| aggregate.perp.bands.2.n_fresh | number | — | Актуальные строки. может отсутствовать |
| aggregate.perp.bands.2.included_exchanges | array | — | Источники, актуальные данные которых учтены. может отсутствовать |
| aggregate.perp.bands.2.included_exchanges[] | string | — | Источники, актуальные данные которых учтены. может отсутствовать |
| aggregate.perp.bands.2.excluded_incomplete | array | — | Актуальные строки, не включённые в диапазон, поскольку их снимок не достигает границы диапазона. может отсутствовать |
| aggregate.perp.bands.2.excluded_incomplete[] | object | — | Актуальные строки, не включённые в диапазон, поскольку их снимок не достигает границы диапазона. может отсутствовать |
| aggregate.perp.bands.2.excluded_incomplete[].exchange | string | — | Идентификатор биржи (в нижнем регистре). может отсутствовать |
| aggregate.perp.bands.2.excluded_incomplete[].symbol | string | — | Символ контракта в формате хранения CoinBoss. может отсутствовать |
| aggregate.perp.bands.2.excluded_incomplete[].reach_bid_pct | number | % | Расстояние от средней цены до самого дальнего уровня бидов в снимке. может отсутствовать |
| aggregate.perp.bands.2.excluded_incomplete[].reach_ask_pct | number | % | Расстояние от средней цены до самого дальнего уровня асков в снимке. может отсутствовать |
| aggregate.perp.bands.2.lower_bound_bid_usd | number | USD | Глубина бидов с учётом наблюдавшейся части неполных строк. Это минимум, а не оценка. может отсутствовать |
| aggregate.perp.bands.2.lower_bound_ask_usd | number | USD | Глубина асков с учётом наблюдавшейся части неполных строк. Это минимум, а не оценка. может отсутствовать |
| aggregate.perp.bands.2.uses_aggregated_buckets | boolean | — | True, если во включённой строке использованы интервалы, агрегированные по цене, из-за чего сумма является нижней границей. может отсутствовать |
| aggregate.perp.bands.0.5 | object | — | Диапазон на таком расстоянии от средней цены, в процентах. может отсутствовать |
| aggregate.perp.bands.0.5.bid_depth_usd | number | USD | Номинал бидов, стоящих в книге между средней ценой и нижней границей диапазона. Нижняя граница, если `complete` равно false. может отсутствовать |
| aggregate.perp.bands.0.5.ask_depth_usd | number | USD | Номинал асков, стоящих в книге между средней ценой и верхней границей диапазона. Нижняя граница, если `complete` равно false. может отсутствовать |
| aggregate.perp.bands.0.5.n_included | number | — | Строки, включённые в сумму глубины: актуальные и полные для данного диапазона. Читайте это значение вместе со значением глубины. может отсутствовать |
| aggregate.perp.bands.0.5.n_fresh | number | — | Актуальные строки. может отсутствовать |
| aggregate.perp.bands.0.5.included_exchanges | array | — | Источники, актуальные данные которых учтены. может отсутствовать |
| aggregate.perp.bands.0.5.included_exchanges[] | string | — | Источники, актуальные данные которых учтены. может отсутствовать |
| aggregate.perp.bands.0.5.excluded_incomplete | array | — | Актуальные строки, не включённые в диапазон, поскольку их снимок не достигает границы диапазона. может отсутствовать |
| aggregate.perp.bands.0.5.excluded_incomplete[] | object | — | Актуальные строки, не включённые в диапазон, поскольку их снимок не достигает границы диапазона. может отсутствовать |
| aggregate.perp.bands.0.5.excluded_incomplete[].exchange | string | — | Идентификатор биржи (в нижнем регистре). может отсутствовать |
| aggregate.perp.bands.0.5.excluded_incomplete[].symbol | string | — | Символ контракта в формате хранения CoinBoss. может отсутствовать |
| aggregate.perp.bands.0.5.excluded_incomplete[].reach_bid_pct | number | % | Расстояние от средней цены до самого дальнего уровня бидов в снимке. может отсутствовать |
| aggregate.perp.bands.0.5.excluded_incomplete[].reach_ask_pct | number | % | Расстояние от средней цены до самого дальнего уровня асков в снимке. может отсутствовать |
| aggregate.perp.bands.0.5.lower_bound_bid_usd | number | USD | Глубина бидов с учётом наблюдавшейся части неполных строк. Это минимум, а не оценка. может отсутствовать |
| aggregate.perp.bands.0.5.lower_bound_ask_usd | number | USD | Глубина асков с учётом наблюдавшейся части неполных строк. Это минимум, а не оценка. может отсутствовать |
| aggregate.perp.bands.0.5.uses_aggregated_buckets | boolean | — | True, если во включённой строке использованы интервалы, агрегированные по цене, из-за чего сумма является нижней границей. может отсутствовать |
| aggregate.spot | object | — | Агрегат по спотовым книгам; `null`, если строк нет. может отсутствовать |
| aggregate.spot.n_rows | number | — | Найденные строки, включая устаревшие. может отсутствовать |
| aggregate.spot.n_fresh | number | — | Актуальные строки. может отсутствовать |
| aggregate.spot.mid_median | number | USD | Медиана средних цен актуальных строк. может отсутствовать |
| aggregate.spot.spread_bps_min | number | bp | Самый узкий спред среди актуальных строк. может отсутствовать |
| aggregate.spot.bands | object | — | Глубина по диапазонам; ключи `0.5`, `1` и `2` — расстояние от средней цены в процентах. может отсутствовать |
| aggregate.spot.bands.1 | object | — | Диапазон на таком расстоянии от средней цены, в процентах. может отсутствовать |
| aggregate.spot.bands.1.bid_depth_usd | number | USD | Номинал бидов, стоящих в книге между средней ценой и нижней границей диапазона. Нижняя граница, если `complete` равно false. может отсутствовать |
| aggregate.spot.bands.1.ask_depth_usd | number | USD | Номинал асков, стоящих в книге между средней ценой и верхней границей диапазона. Нижняя граница, если `complete` равно false. может отсутствовать |
| aggregate.spot.bands.1.n_included | number | — | Строки, включённые в сумму глубины: актуальные и полные для данного диапазона. Читайте это значение вместе со значением глубины. может отсутствовать |
| aggregate.spot.bands.1.n_fresh | number | — | Актуальные строки. может отсутствовать |
| aggregate.spot.bands.1.included_exchanges | array | — | Источники, актуальные данные которых учтены. может отсутствовать |
| aggregate.spot.bands.1.included_exchanges[] | string | — | Источники, актуальные данные которых учтены. может отсутствовать |
| aggregate.spot.bands.1.excluded_incomplete | array | — | Актуальные строки, не включённые в диапазон, поскольку их снимок не достигает границы диапазона. может отсутствовать |
| aggregate.spot.bands.1.excluded_incomplete[] | object | — | Актуальные строки, не включённые в диапазон, поскольку их снимок не достигает границы диапазона. может отсутствовать |
| aggregate.spot.bands.1.excluded_incomplete[].exchange | string | — | Идентификатор биржи (в нижнем регистре). может отсутствовать |
| aggregate.spot.bands.1.excluded_incomplete[].symbol | string | — | Символ контракта в формате хранения CoinBoss. может отсутствовать |
| aggregate.spot.bands.1.excluded_incomplete[].reach_bid_pct | number | % | Расстояние от средней цены до самого дальнего уровня бидов в снимке. может отсутствовать |
| aggregate.spot.bands.1.excluded_incomplete[].reach_ask_pct | number | % | Расстояние от средней цены до самого дальнего уровня асков в снимке. может отсутствовать |
| aggregate.spot.bands.1.lower_bound_bid_usd | number | USD | Глубина бидов с учётом наблюдавшейся части неполных строк. Это минимум, а не оценка. может отсутствовать |
| aggregate.spot.bands.1.lower_bound_ask_usd | number | USD | Глубина асков с учётом наблюдавшейся части неполных строк. Это минимум, а не оценка. может отсутствовать |
| aggregate.spot.bands.1.uses_aggregated_buckets | boolean | — | True, если во включённой строке использованы интервалы, агрегированные по цене, из-за чего сумма является нижней границей. может отсутствовать |
| aggregate.spot.bands.2 | object | — | Диапазон на таком расстоянии от средней цены, в процентах. может отсутствовать |
| aggregate.spot.bands.2.bid_depth_usd | number | USD | Номинал бидов, стоящих в книге между средней ценой и нижней границей диапазона. Нижняя граница, если `complete` равно false. может отсутствовать |
| aggregate.spot.bands.2.ask_depth_usd | number | USD | Номинал асков, стоящих в книге между средней ценой и верхней границей диапазона. Нижняя граница, если `complete` равно false. может отсутствовать |
| aggregate.spot.bands.2.n_included | number | — | Строки, включённые в сумму глубины: актуальные и полные для данного диапазона. Читайте это значение вместе со значением глубины. может отсутствовать |
| aggregate.spot.bands.2.n_fresh | number | — | Актуальные строки. может отсутствовать |
| aggregate.spot.bands.2.included_exchanges | array | — | Источники, актуальные данные которых учтены. может отсутствовать |
| aggregate.spot.bands.2.included_exchanges[] | string | — | Источники, актуальные данные которых учтены. может отсутствовать |
| aggregate.spot.bands.2.excluded_incomplete | array | — | Актуальные строки, не включённые в диапазон, поскольку их снимок не достигает границы диапазона. может отсутствовать |
| aggregate.spot.bands.2.excluded_incomplete[] | object | — | Актуальные строки, не включённые в диапазон, поскольку их снимок не достигает границы диапазона. может отсутствовать |
| aggregate.spot.bands.2.excluded_incomplete[].exchange | string | — | Идентификатор биржи (в нижнем регистре). может отсутствовать |
| aggregate.spot.bands.2.excluded_incomplete[].symbol | string | — | Символ контракта в формате хранения CoinBoss. может отсутствовать |
| aggregate.spot.bands.2.excluded_incomplete[].reach_bid_pct | number | % | Расстояние от средней цены до самого дальнего уровня бидов в снимке. может отсутствовать |
| aggregate.spot.bands.2.excluded_incomplete[].reach_ask_pct | number | % | Расстояние от средней цены до самого дальнего уровня асков в снимке. может отсутствовать |
| aggregate.spot.bands.2.lower_bound_bid_usd | number | USD | Глубина бидов с учётом наблюдавшейся части неполных строк. Это минимум, а не оценка. может отсутствовать |
| aggregate.spot.bands.2.lower_bound_ask_usd | number | USD | Глубина асков с учётом наблюдавшейся части неполных строк. Это минимум, а не оценка. может отсутствовать |
| aggregate.spot.bands.2.uses_aggregated_buckets | boolean | — | True, если во включённой строке использованы интервалы, агрегированные по цене, из-за чего сумма является нижней границей. может отсутствовать |
| aggregate.spot.bands.0.5 | object | — | Диапазон на таком расстоянии от средней цены, в процентах. может отсутствовать |
| aggregate.spot.bands.0.5.bid_depth_usd | number | USD | Номинал бидов, стоящих в книге между средней ценой и нижней границей диапазона. Нижняя граница, если `complete` равно false. может отсутствовать |
| aggregate.spot.bands.0.5.ask_depth_usd | number | USD | Номинал асков, стоящих в книге между средней ценой и верхней границей диапазона. Нижняя граница, если `complete` равно false. может отсутствовать |
| aggregate.spot.bands.0.5.n_included | number | — | Строки, включённые в сумму глубины: актуальные и полные для данного диапазона. Читайте это значение вместе со значением глубины. может отсутствовать |
| aggregate.spot.bands.0.5.n_fresh | number | — | Актуальные строки. может отсутствовать |
| aggregate.spot.bands.0.5.included_exchanges | array | — | Источники, актуальные данные которых учтены. может отсутствовать |
| aggregate.spot.bands.0.5.included_exchanges[] | string | — | Источники, актуальные данные которых учтены. может отсутствовать |
| aggregate.spot.bands.0.5.excluded_incomplete | array | — | Актуальные строки, не включённые в диапазон, поскольку их снимок не достигает границы диапазона. может отсутствовать |
| aggregate.spot.bands.0.5.excluded_incomplete[] | object | — | Актуальные строки, не включённые в диапазон, поскольку их снимок не достигает границы диапазона. может отсутствовать |
| aggregate.spot.bands.0.5.excluded_incomplete[].exchange | string | — | Идентификатор биржи (в нижнем регистре). может отсутствовать |
| aggregate.spot.bands.0.5.excluded_incomplete[].symbol | string | — | Символ контракта в формате хранения CoinBoss. может отсутствовать |
| aggregate.spot.bands.0.5.excluded_incomplete[].reach_bid_pct | number | % | Расстояние от средней цены до самого дальнего уровня бидов в снимке. может отсутствовать |
| aggregate.spot.bands.0.5.excluded_incomplete[].reach_ask_pct | number | % | Расстояние от средней цены до самого дальнего уровня асков в снимке. может отсутствовать |
| aggregate.spot.bands.0.5.lower_bound_bid_usd | number | USD | Глубина бидов с учётом наблюдавшейся части неполных строк. Это минимум, а не оценка. может отсутствовать |
| aggregate.spot.bands.0.5.lower_bound_ask_usd | number | USD | Глубина асков с учётом наблюдавшейся части неполных строк. Это минимум, а не оценка. может отсутствовать |
| aggregate.spot.bands.0.5.uses_aggregated_buckets | boolean | — | True, если во включённой строке использованы интервалы, агрегированные по цене, из-за чего сумма является нижней границей. может отсутствовать |
| coverage | object | — | Что входит и что не входит в эти значения. Сверьтесь с этим блоком, прежде чем сравнивать итоги с другим источником. |
| coverage.included_exchanges | array | — | Источники, актуальные данные которых учтены. |
| coverage.included_exchanges[] | string | — | Источники, актуальные данные которых учтены. |
| coverage.unavailable | array | — | Источники, которые не удалось включить, с указанием причины для каждого. Они никогда не учитываются как 0. пусто в образцах, по которым построена таблица |
| coverage.stale_excluded | array | — | Строки, не учтённые потому, что их последнее обновление выходит за окно актуальности. пусто в образцах, по которым построена таблица |
| coverage.no_market | array | — | Пары «биржа × рынок», которые собираются, но не содержат строки по этой монете. пусто в образцах, по которым построена таблица |
| method | object | — | Текстовое описание формул, использованных для этого ответа, по одной записи на поле. |
| method.mid | string | — | Пояснение к формуле для `mid`, обычный текст. |
| method.spread_bps | string | — | Пояснение к формуле для `spread_bps`, обычный текст. |
| method.bid_depth_usd | string | — | Пояснение к формуле для `bid_depth_usd`, обычный текст. |
| method.ask_depth_usd | string | — | Пояснение к формуле для `ask_depth_usd`, обычный текст. |
| method.complete | string | — | Пояснение к формуле для `complete`, обычный текст. |
| method.reach_pct | string | — | Пояснение к формуле для `reach_pct`, обычный текст. |
| method.slippage_bps | string | — | Пояснение к формуле для `slippage_bps`, обычный текст. |
| method.agg_step_bps | string | — | Пояснение к формуле для `agg_step_bps`, обычный текст. |
| method.aggregate | string | — | Пояснение к формуле для `aggregate`, обычный текст. |
| method.fresh | string | — | Пояснение к формуле для `fresh`, обычный текст. |
| method.lag_ms | string | — | Пояснение к формуле для `lag_ms`, обычный текст. |
| method.no_market | string | — | Пояснение к формуле для `no_market`, обычный текст. |
| meta | object | — | Происхождение данных и актуальность этого ответа. |
| meta.schema | string | — | Идентификатор схемы этого ответа. Меняется только тогда, когда у существующего поля меняется смысл или тип. |
| meta.source | array | — | Публичные эндпоинты источников, из которых собраны данные. |
| meta.source[] | object | — | Публичные эндпоинты источников, из которых собраны данные. |
| meta.source[].exchange | string | — | Идентификатор биржи (в нижнем регистре). |
| meta.source[].market | string | — | `perp` или `spot`. |
| meta.source[].endpoint | string | — | Публичный эндпоинт источника, который читает коллектор (показан для сведений о происхождении данных; клиенты его не вызывают). |
| meta.observed_at | number | ms | Метка времени, указанная источником для данных. |
| meta.received_at | number | ms | Время получения данных коллектором CoinBoss. |
| meta.fetched_at | number | ms | Время формирования этого ответа. |
| meta.window | string | — | Временное окно, которое охватывают значения. |
| meta.quality | string | — | FRESH, PARTIAL, STALE, BROKEN или UNAVAILABLE — оценка по меткам времени данных и покрытию. |
| meta.is_stale | boolean | — | True, если данные старше своего окна актуальности. |
| meta.cache_ttl_s | number | s | Время жизни кеша этого ответа. |
| meta.fallback | string | — | Что возвращает эндпоинт при сбое коллектора или источника. |
| meta.collector_heartbeat_age_s | number | s | Число секунд с последнего сообщения коллектора о том, что он работает. |
Сформировано 2026-11-11 23:28 UTC; использовано реальных ответов: 4.
Пример ответа
/api/sd/liquidity?coin=BTC · Реальный ответ, получен 2026-11-13 03:58:06 UTC. Длинные массивы и словари сокращены для отображения: venues: элементов было 39; meta.source: элементов было 38; coverage.included_exchanges: элементов было 24; aggregate.perp.bands.1.included_exchanges: элементов было 19; aggregate.perp.bands.2.included_exchanges: элементов было 16; aggregate.spot.bands.1.included_exchanges: элементов было 14.
- "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
Проверенные образцы
Помимо примера выше, автопроверка вызывает этот эндпоинт с указанными параметрами и каждый раз сверяет схему.
| Параметры | HTTP | Задержка | Результат |
|---|---|---|---|
| coin=ETH&market=spot | 200 | 3 ms | Пройдено PARTIAL |
| coin=PEPE&market=perp | 200 | 4 ms | Пройдено FRESH |
| coin=SOL | 200 | 4 ms | Пройдено PARTIAL |
| — | 400 | 1 ms | Пройдено возвращает ожидаемую ошибку |
Проверено: 2026-11-13 03:58:06 UTC
Сведения
- Аутентификация
- Не требуется. Публичный эндпоинт.
- Лимит запросов
- 1200 запросов в минуту на один IP
- Серверный кеш
- 15s
- Пограничный микрокеш
- 10s
- Частота обновления
- Снимки делаются раз в 120 секунд для самых торгуемых монет и раз в 600 секунд для остальных (на нескольких площадках — 300 / 1200 секунд). Строка считается актуальной в течение трёх периодов сбора, но не менее 300 секунд.
- Окно
- Последний снимок по каждому контракту.
- Источники данных
- Публичные REST-снимки книги ордеров 24 бирж (рынки бессрочных контрактов и спот), которые собирает и хранит CoinBoss (sd_book_latest, sd_book_hist). Глубину и проскальзывание CoinBoss рассчитывает по исходным ценовым уровням.
- Покрытие бирж
- 24 биржи, 38 связок «биржа × рынок». Если публичный снимок не достигает ±0.5 / 1 / 2 % от средней цены (ограничение площадки на число уровней), такой диапазон помечается `complete: false`, его значение является нижней границей и в агрегат не входит; `n_included` / `n_fresh` дают знаменатель, а `excluded_incomplete` перечисляет исключённое.
- Пагинация
- Пагинации нет; одна строка на каждое сочетание «биржа × рынок × контракт».
- Сортировка
- Сначала строки бессрочных контрактов, затем спот; внутри каждой группы — по убыванию глубины ±1 % (бид + аск).
- Единицы измерения
- 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.
- Метод расчёта
- 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.
- Метки времени
- Миллисекунды эпохи Unix (UTC), если в описании поля не указано иное
- Формат ответа
- json
- Стабильность
- Стабильный
- Доступен с
- 2026-11-11
Текущий статус
Эндпоинт сообщает качество данных PARTIAL — Для самых ликвидных монет публичные снимки нескольких крупных площадок не охватывают весь диапазон, поэтому такие площадки исключаются из агрегата, и агрегат занижает общую глубину. Поля `lower_bound_*` добавляют ту часть, которая наблюдалась. Всегда читайте `n_included` вместе со значением глубины.
Доступность за последние 30 дней
Пройдено 100% из 407 проверок
Ошибки
Неудачные вызовы имеют одинаковую структуру на всех эндпоинтах. Полный список приведён на странице ошибок. Ошибки и лимиты запросов →
| Код | HTTP | Значение | Что делать |
|---|---|---|---|
| INVALID_PARAM | 400 | Отсутствует обязательный параметр, или значение не принимается. `param` называет параметр, если он известен. | Не повторяйте запрос без изменений; исправьте его. |
| UNAUTHORIZED | 401 | Заголовок `CB-API-KEY` был отправлен, но ключ неизвестен или отозван. Для публичных данных ключ не нужен — уберите заголовок или используйте действительный ключ. | Не повторяйте запрос без изменений. |
| FORBIDDEN | 403 | Маршрут не входит в публичный API (внутренний или только для аккаунта). | Не повторяйте запрос. |
| NOT_FOUND | 404 | Неизвестный маршрут, либо запрошенная монета / биржа / фонд не существует. | Не повторяйте запрос; сверьте путь и идентификаторы с каталогом. |
| RATE_LIMITED | 429 | Запросов больше, чем позволяет поминутный лимит. `Retry-After` указывает, сколько секунд нужно подождать. | Дождитесь истечения `Retry-After`, затем повторите запрос с нарастающей задержкой. |
| INTERNAL | 500 | Непредвиденная ошибка сервера. Сообщение намеренно общее; при обращении указывайте `request_id`. | Повторите запрос один раз через несколько секунд; если ошибка сохраняется, сообщите о ней, указав ID запроса. |
| UPSTREAM_FAILED | 503 | Источник данных, стоящий за этим эндпоинтом, не ответил вовремя. Устаревшие или подменные значения вместо него не возвращаются. | Повторите запрос с нарастающей задержкой; проверьте страницу статуса. |
| UNAVAILABLE | 501 / 503 | Набор данных временно не готов (прогрев кеша), либо у эндпоинта пока нет законного публичного источника. | Повторите запрос позже; каталог помечает эндпоинты, недоступные по проектному решению. |
| REQUEST_FAILED | 200 | Некоторые более старые эндпоинты отвечают HTTP 200 с `success: false`. Всегда проверяйте `success`, а не только статус HTTP. | Зависит от сообщения; считайте запрос неудачным. |
Попробовать
/api/sd/liquidityЧастичноstring — Coin symbol, case-insensitive (for example `BTC`). Missing or malformed values return 400.
string · по умолчанию all — Market type. Perpetual and spot books are never added together.
https://www.coinboss.com/api/sd/liquidity?coin=BTCДругие эндпоинты этой категории
- Глубина книги ордеров и проскальзывание /api/sd/liquidity
- История глубины книги ордеров /api/sd/liquidity/history
- Рейтинг монет по глубине книги ордеров /api/sd/liquidity/rank
- Монитор крупных ордеров в книге /api/indicators/large-orderbook