Profondeur du carnet d'ordres et slippage
Profondeur du carnet d'ordres par plateforme à ±0.5 / 1 / 2 % du prix médian, spread et slippage d'un ordre au marché de 10k / 100k / 1M USD, ainsi qu'un agrégat par type de marché avec son dénominateur.
/api/sd/liquidityRequête
Paramètres de requête
| Nom | Type | Requis | Par défaut | Valeurs autorisées | Description |
|---|---|---|---|---|---|
| coin | string | Requis | — | — | Symbole de la crypto, insensible à la casse (par exemple `BTC`). Une valeur absente ou mal formée renvoie 400. Exemple: BTC |
| market | string | Optionnel | all | perp, spot, all | Type de marché. Les carnets perpétuels et spot ne sont jamais additionnés. |
Exemple de requête
curl -s "https://www.coinboss.com/api/sd/liquidity?coin=BTC"Champs de la réponse
Le tableau des champs est généré à partir de réponses réelles : il liste donc exactement ce que renvoie l'endpoint. Les chemins utilisent a[] pour les éléments d'un tableau et {*} pour les objets indexés par un nom dynamique, comme une crypto ou une plateforme.
| Champ | Type | Unité | Description |
|---|---|---|---|
| success | boolean | — | true lorsque la requête a abouti. En cas d'échec, le corps est `{ success: false, code, error, request_id }`. |
| schema | string | — | Identifiant de schéma de cette réponse. Il ne change que lorsqu'un champ existant change de sens ou de type. |
| now | number | ms | Heure du serveur au moment où la réponse a été construite. |
| coin | string | — | Symbole de la crypto (en majuscules). |
| market | string | — | `perp` ou `spot`. |
| venues | array | — | Une ligne par plateforme × marché × contrat. |
| venues[] | object | — | Une ligne par plateforme × marché × contrat. |
| venues[].exchange | string | — | Identifiant de la plateforme (en minuscules). |
| venues[].market | string | — | `perp` ou `spot`. |
| venues[].symbol | string | — | Symbole du contrat dans la forme de stockage de CoinBoss. |
| venues[].quote | string | — | Devise de cotation du marché ; USDT, USDC et USD sont comptés à 1:1 comme des USD. |
| venues[].multiplier | number | — | Nombre de cryptos par unité cotée (1000 pour les contrats de type `1000PEPE`). Les prix sont déjà divisés par cette valeur. |
| venues[].contract_value | number | — | Taille d'un contrat : en cryptos pour les contrats linéaires, en USD pour les contrats inverses. |
| venues[].inverse | boolean | — | True pour les contrats à marge crypto cotés en USD par contrat. |
| venues[].mid | number | USD | (meilleur bid + meilleur ask) ÷ 2, prix d'une crypto. |
| venues[].best_bid | number | USD | Meilleur prix bid pour une crypto. |
| venues[].best_ask | number | USD | Meilleur prix ask pour une crypto. |
| venues[].spread_bps | number | bp | (meilleur ask − meilleur bid) ÷ prix médian. |
| venues[].n_bids | number | — | Niveaux de prix bid dans l'instantané. |
| venues[].n_asks | number | — | Niveaux de prix ask dans l'instantané. |
| venues[].reach_bid_pct | number | % | Distance entre le prix médian et le niveau bid le plus éloigné de l'instantané. |
| venues[].reach_ask_pct | number | % | Distance entre le prix médian et le niveau ask le plus éloigné de l'instantané. |
| venues[].book_complete_bid | boolean | — | True lorsque tout le côté bid du carnet a été renvoyé. |
| venues[].book_complete_ask | boolean | — | True lorsque tout le côté ask du carnet a été renvoyé. |
| venues[].bands | object | — | Profondeur par bande ; les clés `0.5`, `1` et `2` correspondent à la distance au prix médian, en pourcentage. |
| venues[].bands.1 | object | — | Bande située à cette distance du prix médian, en pourcentage. |
| venues[].bands.1.bid_depth_usd | number | USD | Notionnel des ordres d'achat en attente entre le prix médian et la borne inférieure de la bande. Une borne inférieure lorsque `complete` vaut false. |
| venues[].bands.1.ask_depth_usd | number | USD | Notionnel des ordres de vente en attente entre le prix médian et la borne supérieure de la bande. Une borne inférieure lorsque `complete` vaut false. |
| venues[].bands.1.complete | boolean | — | True lorsque les deux côtés de l'instantané atteignent la borne de la bande. Les lignes incomplètes sont écartées des agrégats. |
| venues[].bands.2 | object | — | Bande située à cette distance du prix médian, en pourcentage. |
| venues[].bands.2.bid_depth_usd | number | USD | Notionnel des ordres d'achat en attente entre le prix médian et la borne inférieure de la bande. Une borne inférieure lorsque `complete` vaut false. |
| venues[].bands.2.ask_depth_usd | number | USD | Notionnel des ordres de vente en attente entre le prix médian et la borne supérieure de la bande. Une borne inférieure lorsque `complete` vaut false. |
| venues[].bands.2.complete | boolean | — | True lorsque les deux côtés de l'instantané atteignent la borne de la bande. Les lignes incomplètes sont écartées des agrégats. |
| venues[].bands.0.5 | object | — | Bande située à cette distance du prix médian, en pourcentage. |
| venues[].bands.0.5.bid_depth_usd | number | USD | Notionnel des ordres d'achat en attente entre le prix médian et la borne inférieure de la bande. Une borne inférieure lorsque `complete` vaut false. |
| venues[].bands.0.5.ask_depth_usd | number | USD | Notionnel des ordres de vente en attente entre le prix médian et la borne supérieure de la bande. Une borne inférieure lorsque `complete` vaut false. |
| venues[].bands.0.5.complete | boolean | — | True lorsque les deux côtés de l'instantané atteignent la borne de la bande. Les lignes incomplètes sont écartées des agrégats. |
| venues[].slippage | object | — | Slippage d'un ordre au marché ; les clés `10000`, `100000` et `1000000` correspondent à la taille de l'ordre en USD. |
| venues[].slippage.10000 | object | — | Ordre au marché de cette taille en USD. |
| venues[].slippage.10000.buy_bps | number | bp | Prix d'exécution moyen d'un achat au marché par rapport au prix médian (inclut la moitié du spread) ; `null` lorsque l'instantané ne permet pas d'exécuter l'ordre. |
| venues[].slippage.10000.sell_bps | number|null | bp | Prix d'exécution moyen d'une vente au marché par rapport au prix médian (inclut la moitié du spread) ; `null` lorsque l'instantané ne permet pas d'exécuter l'ordre. |
| venues[].slippage.10000.buy_flag | null | — | `insufficient_book` lorsque l'ordre ne peut pas être exécuté à partir de l'instantané, `upper_bound` lorsqu'une tranche agrégée a été utilisée, sinon `null`. |
| venues[].slippage.10000.sell_flag | string|null | — | `insufficient_book` lorsque l'ordre ne peut pas être exécuté à partir de l'instantané, `upper_bound` lorsqu'une tranche agrégée a été utilisée, sinon `null`. |
| venues[].slippage.100000 | object | — | Ordre au marché de cette taille en USD. |
| venues[].slippage.100000.buy_bps | number|null | bp | Prix d'exécution moyen d'un achat au marché par rapport au prix médian (inclut la moitié du spread) ; `null` lorsque l'instantané ne permet pas d'exécuter l'ordre. |
| venues[].slippage.100000.sell_bps | number|null | bp | Prix d'exécution moyen d'une vente au marché par rapport au prix médian (inclut la moitié du spread) ; `null` lorsque l'instantané ne permet pas d'exécuter l'ordre. |
| venues[].slippage.100000.buy_flag | string|null | — | `insufficient_book` lorsque l'ordre ne peut pas être exécuté à partir de l'instantané, `upper_bound` lorsqu'une tranche agrégée a été utilisée, sinon `null`. |
| venues[].slippage.100000.sell_flag | string|null | — | `insufficient_book` lorsque l'ordre ne peut pas être exécuté à partir de l'instantané, `upper_bound` lorsqu'une tranche agrégée a été utilisée, sinon `null`. |
| venues[].slippage.1000000 | object | — | Ordre au marché de cette taille en USD. |
| venues[].slippage.1000000.buy_bps | number|null | bp | Prix d'exécution moyen d'un achat au marché par rapport au prix médian (inclut la moitié du spread) ; `null` lorsque l'instantané ne permet pas d'exécuter l'ordre. |
| venues[].slippage.1000000.sell_bps | number|null | bp | Prix d'exécution moyen d'une vente au marché par rapport au prix médian (inclut la moitié du spread) ; `null` lorsque l'instantané ne permet pas d'exécuter l'ordre. |
| venues[].slippage.1000000.buy_flag | string|null | — | `insufficient_book` lorsque l'ordre ne peut pas être exécuté à partir de l'instantané, `upper_bound` lorsqu'une tranche agrégée a été utilisée, sinon `null`. |
| venues[].slippage.1000000.sell_flag | string|null | — | `insufficient_book` lorsque l'ordre ne peut pas être exécuté à partir de l'instantané, `upper_bound` lorsqu'une tranche agrégée a été utilisée, sinon `null`. |
| venues[].book_bid_usd | number | USD | Notionnel de tous les bids contenus dans l'instantané. |
| venues[].book_ask_usd | number | USD | Notionnel de tous les asks contenus dans l'instantané. |
| venues[].agg_step_bps | number|null | bp | Tranche d'agrégation de prix la plus large utilisée à l'intérieur de ±2 % ; `null` lorsque seuls des niveaux bruts ont été utilisés. |
| venues[].layers | number | — | Nombre d'instantanés assemblés pour cette ligne. |
| venues[].observed_at | number|null | ms | Horodatage attribué aux données par la source. |
| venues[].received_at | number | ms | Moment où le collecteur CoinBoss a reçu les données. |
| venues[].lag_ms | number|null | ms | Heure de réception moins l'horodatage du carnet fourni par la plateforme ; `null` lorsque la plateforme n'en fournit pas. |
| venues[].age_s | number | s | Secondes écoulées depuis la réception de la ligne. |
| venues[].fresh_window_s | number | s | Une ligne plus ancienne que ce seuil est périmée. |
| venues[].is_stale | boolean | — | True lorsque les données sont plus anciennes que leur fenêtre de fraîcheur. |
| venues[].tier | string | — | Palier de collecte : `A` pour les cryptos les plus échangées, `B` pour les autres. |
| venues[].period_s | number | s | Période de collecte de la ligne. |
| aggregate | object | — | Totaux par type de marché. Perpétuel et spot ne sont jamais additionnés. |
| aggregate.perp | object | — | Agrégat sur les carnets perpétuels ; `null` lorsqu'il n'y a aucune ligne. peut être absent |
| aggregate.perp.n_rows | number | — | Lignes trouvées, y compris les lignes périmées. peut être absent |
| aggregate.perp.n_fresh | number | — | Lignes à jour. peut être absent |
| aggregate.perp.mid_median | number | USD | Médiane des prix médians des lignes à jour. peut être absent |
| aggregate.perp.spread_bps_min | number | bp | Spread le plus serré parmi les lignes à jour. peut être absent |
| aggregate.perp.bands | object | — | Profondeur par bande ; les clés `0.5`, `1` et `2` correspondent à la distance au prix médian, en pourcentage. peut être absent |
| aggregate.perp.bands.1 | object | — | Bande située à cette distance du prix médian, en pourcentage. peut être absent |
| aggregate.perp.bands.1.bid_depth_usd | number | USD | Notionnel des ordres d'achat en attente entre le prix médian et la borne inférieure de la bande. Une borne inférieure lorsque `complete` vaut false. peut être absent |
| aggregate.perp.bands.1.ask_depth_usd | number | USD | Notionnel des ordres de vente en attente entre le prix médian et la borne supérieure de la bande. Une borne inférieure lorsque `complete` vaut false. peut être absent |
| aggregate.perp.bands.1.n_included | number | — | Lignes incluses dans la somme de profondeur : à jour et complètes pour la bande. À lire en même temps que la valeur de profondeur. peut être absent |
| aggregate.perp.bands.1.n_fresh | number | — | Lignes à jour. peut être absent |
| aggregate.perp.bands.1.included_exchanges | array | — | Sources dont les données à jour sont incluses. peut être absent |
| aggregate.perp.bands.1.included_exchanges[] | string | — | Sources dont les données à jour sont incluses. peut être absent |
| aggregate.perp.bands.1.excluded_incomplete | array | — | Lignes à jour écartées de la bande parce que leur instantané n'atteint pas la borne de la bande. peut être absent |
| aggregate.perp.bands.1.excluded_incomplete[] | object | — | Lignes à jour écartées de la bande parce que leur instantané n'atteint pas la borne de la bande. peut être absent |
| aggregate.perp.bands.1.excluded_incomplete[].exchange | string | — | Identifiant de la plateforme (en minuscules). peut être absent |
| aggregate.perp.bands.1.excluded_incomplete[].symbol | string | — | Symbole du contrat dans la forme de stockage de CoinBoss. peut être absent |
| aggregate.perp.bands.1.excluded_incomplete[].reach_bid_pct | number | % | Distance entre le prix médian et le niveau bid le plus éloigné de l'instantané. peut être absent |
| aggregate.perp.bands.1.excluded_incomplete[].reach_ask_pct | number | % | Distance entre le prix médian et le niveau ask le plus éloigné de l'instantané. peut être absent |
| aggregate.perp.bands.1.lower_bound_bid_usd | number | USD | Profondeur bid incluant la partie observée des lignes incomplètes. Un plancher, pas une estimation. peut être absent |
| aggregate.perp.bands.1.lower_bound_ask_usd | number | USD | Profondeur ask incluant la partie observée des lignes incomplètes. Un plancher, pas une estimation. peut être absent |
| aggregate.perp.bands.1.uses_aggregated_buckets | boolean | — | True lorsqu'une ligne incluse a utilisé des tranches agrégées par prix, ce qui fait de la somme une borne inférieure. peut être absent |
| aggregate.perp.bands.2 | object | — | Bande située à cette distance du prix médian, en pourcentage. peut être absent |
| aggregate.perp.bands.2.bid_depth_usd | number | USD | Notionnel des ordres d'achat en attente entre le prix médian et la borne inférieure de la bande. Une borne inférieure lorsque `complete` vaut false. peut être absent |
| aggregate.perp.bands.2.ask_depth_usd | number | USD | Notionnel des ordres de vente en attente entre le prix médian et la borne supérieure de la bande. Une borne inférieure lorsque `complete` vaut false. peut être absent |
| aggregate.perp.bands.2.n_included | number | — | Lignes incluses dans la somme de profondeur : à jour et complètes pour la bande. À lire en même temps que la valeur de profondeur. peut être absent |
| aggregate.perp.bands.2.n_fresh | number | — | Lignes à jour. peut être absent |
| aggregate.perp.bands.2.included_exchanges | array | — | Sources dont les données à jour sont incluses. peut être absent |
| aggregate.perp.bands.2.included_exchanges[] | string | — | Sources dont les données à jour sont incluses. peut être absent |
| aggregate.perp.bands.2.excluded_incomplete | array | — | Lignes à jour écartées de la bande parce que leur instantané n'atteint pas la borne de la bande. peut être absent |
| aggregate.perp.bands.2.excluded_incomplete[] | object | — | Lignes à jour écartées de la bande parce que leur instantané n'atteint pas la borne de la bande. peut être absent |
| aggregate.perp.bands.2.excluded_incomplete[].exchange | string | — | Identifiant de la plateforme (en minuscules). peut être absent |
| aggregate.perp.bands.2.excluded_incomplete[].symbol | string | — | Symbole du contrat dans la forme de stockage de CoinBoss. peut être absent |
| aggregate.perp.bands.2.excluded_incomplete[].reach_bid_pct | number | % | Distance entre le prix médian et le niveau bid le plus éloigné de l'instantané. peut être absent |
| aggregate.perp.bands.2.excluded_incomplete[].reach_ask_pct | number | % | Distance entre le prix médian et le niveau ask le plus éloigné de l'instantané. peut être absent |
| aggregate.perp.bands.2.lower_bound_bid_usd | number | USD | Profondeur bid incluant la partie observée des lignes incomplètes. Un plancher, pas une estimation. peut être absent |
| aggregate.perp.bands.2.lower_bound_ask_usd | number | USD | Profondeur ask incluant la partie observée des lignes incomplètes. Un plancher, pas une estimation. peut être absent |
| aggregate.perp.bands.2.uses_aggregated_buckets | boolean | — | True lorsqu'une ligne incluse a utilisé des tranches agrégées par prix, ce qui fait de la somme une borne inférieure. peut être absent |
| aggregate.perp.bands.0.5 | object | — | Bande située à cette distance du prix médian, en pourcentage. peut être absent |
| aggregate.perp.bands.0.5.bid_depth_usd | number | USD | Notionnel des ordres d'achat en attente entre le prix médian et la borne inférieure de la bande. Une borne inférieure lorsque `complete` vaut false. peut être absent |
| aggregate.perp.bands.0.5.ask_depth_usd | number | USD | Notionnel des ordres de vente en attente entre le prix médian et la borne supérieure de la bande. Une borne inférieure lorsque `complete` vaut false. peut être absent |
| aggregate.perp.bands.0.5.n_included | number | — | Lignes incluses dans la somme de profondeur : à jour et complètes pour la bande. À lire en même temps que la valeur de profondeur. peut être absent |
| aggregate.perp.bands.0.5.n_fresh | number | — | Lignes à jour. peut être absent |
| aggregate.perp.bands.0.5.included_exchanges | array | — | Sources dont les données à jour sont incluses. peut être absent |
| aggregate.perp.bands.0.5.included_exchanges[] | string | — | Sources dont les données à jour sont incluses. peut être absent |
| aggregate.perp.bands.0.5.excluded_incomplete | array | — | Lignes à jour écartées de la bande parce que leur instantané n'atteint pas la borne de la bande. peut être absent |
| aggregate.perp.bands.0.5.excluded_incomplete[] | object | — | Lignes à jour écartées de la bande parce que leur instantané n'atteint pas la borne de la bande. peut être absent |
| aggregate.perp.bands.0.5.excluded_incomplete[].exchange | string | — | Identifiant de la plateforme (en minuscules). peut être absent |
| aggregate.perp.bands.0.5.excluded_incomplete[].symbol | string | — | Symbole du contrat dans la forme de stockage de CoinBoss. peut être absent |
| aggregate.perp.bands.0.5.excluded_incomplete[].reach_bid_pct | number | % | Distance entre le prix médian et le niveau bid le plus éloigné de l'instantané. peut être absent |
| aggregate.perp.bands.0.5.excluded_incomplete[].reach_ask_pct | number | % | Distance entre le prix médian et le niveau ask le plus éloigné de l'instantané. peut être absent |
| aggregate.perp.bands.0.5.lower_bound_bid_usd | number | USD | Profondeur bid incluant la partie observée des lignes incomplètes. Un plancher, pas une estimation. peut être absent |
| aggregate.perp.bands.0.5.lower_bound_ask_usd | number | USD | Profondeur ask incluant la partie observée des lignes incomplètes. Un plancher, pas une estimation. peut être absent |
| aggregate.perp.bands.0.5.uses_aggregated_buckets | boolean | — | True lorsqu'une ligne incluse a utilisé des tranches agrégées par prix, ce qui fait de la somme une borne inférieure. peut être absent |
| aggregate.spot | object | — | Agrégat sur les carnets spot ; `null` lorsqu'il n'y a aucune ligne. peut être absent |
| aggregate.spot.n_rows | number | — | Lignes trouvées, y compris les lignes périmées. peut être absent |
| aggregate.spot.n_fresh | number | — | Lignes à jour. peut être absent |
| aggregate.spot.mid_median | number | USD | Médiane des prix médians des lignes à jour. peut être absent |
| aggregate.spot.spread_bps_min | number | bp | Spread le plus serré parmi les lignes à jour. peut être absent |
| aggregate.spot.bands | object | — | Profondeur par bande ; les clés `0.5`, `1` et `2` correspondent à la distance au prix médian, en pourcentage. peut être absent |
| aggregate.spot.bands.1 | object | — | Bande située à cette distance du prix médian, en pourcentage. peut être absent |
| aggregate.spot.bands.1.bid_depth_usd | number | USD | Notionnel des ordres d'achat en attente entre le prix médian et la borne inférieure de la bande. Une borne inférieure lorsque `complete` vaut false. peut être absent |
| aggregate.spot.bands.1.ask_depth_usd | number | USD | Notionnel des ordres de vente en attente entre le prix médian et la borne supérieure de la bande. Une borne inférieure lorsque `complete` vaut false. peut être absent |
| aggregate.spot.bands.1.n_included | number | — | Lignes incluses dans la somme de profondeur : à jour et complètes pour la bande. À lire en même temps que la valeur de profondeur. peut être absent |
| aggregate.spot.bands.1.n_fresh | number | — | Lignes à jour. peut être absent |
| aggregate.spot.bands.1.included_exchanges | array | — | Sources dont les données à jour sont incluses. peut être absent |
| aggregate.spot.bands.1.included_exchanges[] | string | — | Sources dont les données à jour sont incluses. peut être absent |
| aggregate.spot.bands.1.excluded_incomplete | array | — | Lignes à jour écartées de la bande parce que leur instantané n'atteint pas la borne de la bande. peut être absent |
| aggregate.spot.bands.1.excluded_incomplete[] | object | — | Lignes à jour écartées de la bande parce que leur instantané n'atteint pas la borne de la bande. peut être absent |
| aggregate.spot.bands.1.excluded_incomplete[].exchange | string | — | Identifiant de la plateforme (en minuscules). peut être absent |
| aggregate.spot.bands.1.excluded_incomplete[].symbol | string | — | Symbole du contrat dans la forme de stockage de CoinBoss. peut être absent |
| aggregate.spot.bands.1.excluded_incomplete[].reach_bid_pct | number | % | Distance entre le prix médian et le niveau bid le plus éloigné de l'instantané. peut être absent |
| aggregate.spot.bands.1.excluded_incomplete[].reach_ask_pct | number | % | Distance entre le prix médian et le niveau ask le plus éloigné de l'instantané. peut être absent |
| aggregate.spot.bands.1.lower_bound_bid_usd | number | USD | Profondeur bid incluant la partie observée des lignes incomplètes. Un plancher, pas une estimation. peut être absent |
| aggregate.spot.bands.1.lower_bound_ask_usd | number | USD | Profondeur ask incluant la partie observée des lignes incomplètes. Un plancher, pas une estimation. peut être absent |
| aggregate.spot.bands.1.uses_aggregated_buckets | boolean | — | True lorsqu'une ligne incluse a utilisé des tranches agrégées par prix, ce qui fait de la somme une borne inférieure. peut être absent |
| aggregate.spot.bands.2 | object | — | Bande située à cette distance du prix médian, en pourcentage. peut être absent |
| aggregate.spot.bands.2.bid_depth_usd | number | USD | Notionnel des ordres d'achat en attente entre le prix médian et la borne inférieure de la bande. Une borne inférieure lorsque `complete` vaut false. peut être absent |
| aggregate.spot.bands.2.ask_depth_usd | number | USD | Notionnel des ordres de vente en attente entre le prix médian et la borne supérieure de la bande. Une borne inférieure lorsque `complete` vaut false. peut être absent |
| aggregate.spot.bands.2.n_included | number | — | Lignes incluses dans la somme de profondeur : à jour et complètes pour la bande. À lire en même temps que la valeur de profondeur. peut être absent |
| aggregate.spot.bands.2.n_fresh | number | — | Lignes à jour. peut être absent |
| aggregate.spot.bands.2.included_exchanges | array | — | Sources dont les données à jour sont incluses. peut être absent |
| aggregate.spot.bands.2.included_exchanges[] | string | — | Sources dont les données à jour sont incluses. peut être absent |
| aggregate.spot.bands.2.excluded_incomplete | array | — | Lignes à jour écartées de la bande parce que leur instantané n'atteint pas la borne de la bande. peut être absent |
| aggregate.spot.bands.2.excluded_incomplete[] | object | — | Lignes à jour écartées de la bande parce que leur instantané n'atteint pas la borne de la bande. peut être absent |
| aggregate.spot.bands.2.excluded_incomplete[].exchange | string | — | Identifiant de la plateforme (en minuscules). peut être absent |
| aggregate.spot.bands.2.excluded_incomplete[].symbol | string | — | Symbole du contrat dans la forme de stockage de CoinBoss. peut être absent |
| aggregate.spot.bands.2.excluded_incomplete[].reach_bid_pct | number | % | Distance entre le prix médian et le niveau bid le plus éloigné de l'instantané. peut être absent |
| aggregate.spot.bands.2.excluded_incomplete[].reach_ask_pct | number | % | Distance entre le prix médian et le niveau ask le plus éloigné de l'instantané. peut être absent |
| aggregate.spot.bands.2.lower_bound_bid_usd | number | USD | Profondeur bid incluant la partie observée des lignes incomplètes. Un plancher, pas une estimation. peut être absent |
| aggregate.spot.bands.2.lower_bound_ask_usd | number | USD | Profondeur ask incluant la partie observée des lignes incomplètes. Un plancher, pas une estimation. peut être absent |
| aggregate.spot.bands.2.uses_aggregated_buckets | boolean | — | True lorsqu'une ligne incluse a utilisé des tranches agrégées par prix, ce qui fait de la somme une borne inférieure. peut être absent |
| aggregate.spot.bands.0.5 | object | — | Bande située à cette distance du prix médian, en pourcentage. peut être absent |
| aggregate.spot.bands.0.5.bid_depth_usd | number | USD | Notionnel des ordres d'achat en attente entre le prix médian et la borne inférieure de la bande. Une borne inférieure lorsque `complete` vaut false. peut être absent |
| aggregate.spot.bands.0.5.ask_depth_usd | number | USD | Notionnel des ordres de vente en attente entre le prix médian et la borne supérieure de la bande. Une borne inférieure lorsque `complete` vaut false. peut être absent |
| aggregate.spot.bands.0.5.n_included | number | — | Lignes incluses dans la somme de profondeur : à jour et complètes pour la bande. À lire en même temps que la valeur de profondeur. peut être absent |
| aggregate.spot.bands.0.5.n_fresh | number | — | Lignes à jour. peut être absent |
| aggregate.spot.bands.0.5.included_exchanges | array | — | Sources dont les données à jour sont incluses. peut être absent |
| aggregate.spot.bands.0.5.included_exchanges[] | string | — | Sources dont les données à jour sont incluses. peut être absent |
| aggregate.spot.bands.0.5.excluded_incomplete | array | — | Lignes à jour écartées de la bande parce que leur instantané n'atteint pas la borne de la bande. peut être absent |
| aggregate.spot.bands.0.5.excluded_incomplete[] | object | — | Lignes à jour écartées de la bande parce que leur instantané n'atteint pas la borne de la bande. peut être absent |
| aggregate.spot.bands.0.5.excluded_incomplete[].exchange | string | — | Identifiant de la plateforme (en minuscules). peut être absent |
| aggregate.spot.bands.0.5.excluded_incomplete[].symbol | string | — | Symbole du contrat dans la forme de stockage de CoinBoss. peut être absent |
| aggregate.spot.bands.0.5.excluded_incomplete[].reach_bid_pct | number | % | Distance entre le prix médian et le niveau bid le plus éloigné de l'instantané. peut être absent |
| aggregate.spot.bands.0.5.excluded_incomplete[].reach_ask_pct | number | % | Distance entre le prix médian et le niveau ask le plus éloigné de l'instantané. peut être absent |
| aggregate.spot.bands.0.5.lower_bound_bid_usd | number | USD | Profondeur bid incluant la partie observée des lignes incomplètes. Un plancher, pas une estimation. peut être absent |
| aggregate.spot.bands.0.5.lower_bound_ask_usd | number | USD | Profondeur ask incluant la partie observée des lignes incomplètes. Un plancher, pas une estimation. peut être absent |
| aggregate.spot.bands.0.5.uses_aggregated_buckets | boolean | — | True lorsqu'une ligne incluse a utilisé des tranches agrégées par prix, ce qui fait de la somme une borne inférieure. peut être absent |
| coverage | object | — | Ce qui est inclus ou non dans les chiffres. Comparez ces éléments avant de comparer les totaux avec une autre source. |
| coverage.included_exchanges | array | — | Sources dont les données à jour sont incluses. |
| coverage.included_exchanges[] | string | — | Sources dont les données à jour sont incluses. |
| coverage.unavailable | array | — | Sources qui n'ont pas pu être incluses, chacune avec sa raison. Elles ne sont jamais comptées comme 0. vide dans les échantillons ayant servi à générer ce tableau |
| coverage.stale_excluded | array | — | Lignes écartées parce que leur dernière mise à jour est hors de la fenêtre de fraîcheur. vide dans les échantillons ayant servi à générer ce tableau |
| coverage.no_market | array | — | Couples plateforme × marché collectés mais ne contenant aucune ligne pour cette crypto. vide dans les échantillons ayant servi à générer ce tableau |
| method | object | — | Énoncé en texte brut des formules utilisées pour cette réponse, une entrée par champ. |
| method.mid | string | — | Note de formule pour `mid`, en texte brut. |
| method.spread_bps | string | — | Note de formule pour `spread_bps`, en texte brut. |
| method.bid_depth_usd | string | — | Note de formule pour `bid_depth_usd`, en texte brut. |
| method.ask_depth_usd | string | — | Note de formule pour `ask_depth_usd`, en texte brut. |
| method.complete | string | — | Note de formule pour `complete`, en texte brut. |
| method.reach_pct | string | — | Note de formule pour `reach_pct`, en texte brut. |
| method.slippage_bps | string | — | Note de formule pour `slippage_bps`, en texte brut. |
| method.agg_step_bps | string | — | Note de formule pour `agg_step_bps`, en texte brut. |
| method.aggregate | string | — | Note de formule pour `aggregate`, en texte brut. |
| method.fresh | string | — | Note de formule pour `fresh`, en texte brut. |
| method.lag_ms | string | — | Note de formule pour `lag_ms`, en texte brut. |
| method.no_market | string | — | Note de formule pour `no_market`, en texte brut. |
| meta | object | — | Traçabilité et fraîcheur de cette réponse. |
| meta.schema | string | — | Identifiant de schéma de cette réponse. Il ne change que lorsqu'un champ existant change de sens ou de type. |
| meta.source | array | — | Endpoints publics amont auprès desquels les données ont été collectées. |
| meta.source[] | object | — | Endpoints publics amont auprès desquels les données ont été collectées. |
| meta.source[].exchange | string | — | Identifiant de la plateforme (en minuscules). |
| meta.source[].market | string | — | `perp` ou `spot`. |
| meta.source[].endpoint | string | — | Endpoint public de la source que lit le collecteur (indiqué pour la traçabilité ; les clients ne l'appellent jamais). |
| meta.observed_at | number | ms | Horodatage attribué aux données par la source. |
| meta.received_at | number | ms | Moment où le collecteur CoinBoss a reçu les données. |
| meta.fetched_at | number | ms | Moment où cette réponse a été assemblée. |
| meta.window | string | — | Fenêtre temporelle couverte par les chiffres. |
| meta.quality | string | — | FRESH, PARTIAL, STALE, BROKEN ou UNAVAILABLE, d'après les horodatages des données et la couverture. |
| meta.is_stale | boolean | — | True lorsque les données sont plus anciennes que leur fenêtre de fraîcheur. |
| meta.cache_ttl_s | number | s | Durée de vie en cache de cette réponse. |
| meta.fallback | string | — | Ce que renvoie l'endpoint lorsque le collecteur ou une source est en échec. |
| meta.collector_heartbeat_age_s | number | s | Secondes écoulées depuis le dernier signal d'activité du collecteur. |
Généré à partir de 4 réponses réelles (2026-11-11 23:28 UTC).
Exemple de réponse
/api/sd/liquidity?coin=BTC · Réponse réelle (capture : 2026-11-13 04:02:45 UTC). Les tableaux et dictionnaires longs sont abrégés pour l'affichage : venues comptait 39 éléments; meta.source comptait 38 éléments; coverage.included_exchanges comptait 24 éléments; aggregate.perp.bands.1.included_exchanges comptait 19 éléments; aggregate.perp.bands.2.included_exchanges comptait 16 éléments; aggregate.spot.bands.1.included_exchanges comptait 13 éléments.
- "success"true
- "schema""coinboss.sd.liquidity/1"
- "now"1794542565757
- "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"1794542554621
- "received_at"1794542554947
- "fetched_at"1794542565757
- "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"3
Échantillons vérifiés
Outre l'exemple ci-dessus, la sonde appelle cet endpoint avec les paramètres suivants et vérifie le schéma à chaque fois.
| Paramètres | HTTP | Latence | Résultat |
|---|---|---|---|
| coin=ETH&market=spot | 200 | 3 ms | Réussi PARTIAL |
| coin=PEPE&market=perp | 200 | 4 ms | Réussi FRESH |
| coin=SOL | 200 | 4 ms | Réussi PARTIAL |
| — | 400 | 1 ms | Réussi renvoie l'erreur attendue |
Vérifié : 2026-11-13 03:58:06 UTC
Détails
- Authentification
- Aucune. Endpoint public.
- Limite de requêtes
- 1200 requêtes par minute et par IP
- Cache serveur
- 15s
- Micro-cache en périphérie
- 10s
- Fréquence de mise à jour
- Instantanés toutes les 120 secondes pour les cryptos les plus échangées et toutes les 600 secondes pour les autres (quelques plateformes : 300 / 1200 secondes). Une ligne reste à jour pendant trois périodes de collecte, avec un minimum de 300 secondes.
- Fenêtre
- Dernier instantané par contrat.
- Sources de données
- Instantanés REST publics des carnets d'ordres de 24 plateformes (marchés perpétuels et spot), collectés et stockés par CoinBoss (sd_book_latest, sd_book_hist). La profondeur et le slippage sont calculés par CoinBoss à partir des niveaux de prix bruts.
- Couverture des plateformes
- 24 plateformes, 38 couples plateforme × marché. Lorsqu'un instantané public n'atteint pas ±0.5 / 1 / 2 % autour du prix médian (plafond de niveaux de la plateforme), cette bande est marquée `complete: false`, sa valeur est une borne inférieure et elle est écartée de l'agrégat ; `n_included` / `n_fresh` donnent le dénominateur et `excluded_incomplete` liste ce qui a été écarté.
- Pagination
- Pas de pagination ; une ligne par plateforme × marché × contrat.
- Tri
- Lignes des perpétuels d'abord, puis spot ; à l'intérieur de chaque groupe, par profondeur à ±1 % (bid + ask) décroissante.
- Unités
- 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.
- Méthode
- 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.
- Horodatages
- Millisecondes depuis l'epoch Unix (UTC), sauf indication contraire dans la description du champ
- Format de réponse
- json
- Stabilité
- Stable
- Disponible depuis
- 2026-11-11
Statut en direct
L'endpoint signale une qualité de données PARTIAL — Pour les cryptos les plus liquides, les instantanés publics de plusieurs grandes plateformes n'atteignent pas toute la bande ; ces plateformes sont donc exclues de l'agrégat, qui sous-estime la profondeur totale. Les champs `lower_bound_*` ajoutent la partie observée. Lisez toujours `n_included` en même temps que la valeur de profondeur.
Disponibilité, 30 derniers jours
100 % des 408 contrôles réussis
Erreurs
Les appels en échec ont la même structure sur tous les endpoints. La liste complète figure sur la page des erreurs. Erreurs et limites de requêtes →
| Code | HTTP | Signification | Que faire |
|---|---|---|---|
| INVALID_PARAM | 400 | Un paramètre requis est manquant ou une valeur n'est pas acceptée. `param` indique le nom du paramètre lorsqu'il est connu. | Ne réessayez pas à l'identique ; corrigez la requête. |
| UNAUTHORIZED | 401 | L'en-tête `CB-API-KEY` a été envoyé, mais la clé est inconnue ou révoquée. Les données publiques ne nécessitent aucune clé — supprimez l'en-tête ou utilisez une clé valide. | Ne réessayez pas à l'identique. |
| FORBIDDEN | 403 | La route ne fait pas partie de l'API publique (interne ou réservée aux comptes). | Ne réessayez pas. |
| NOT_FOUND | 404 | Route inconnue, ou la crypto / la plateforme / le fonds demandé n'existe pas. | Ne réessayez pas ; vérifiez le chemin et les identifiants dans le catalogue. |
| RATE_LIMITED | 429 | Plus de requêtes que la limite par minute. `Retry-After` indique le nombre de secondes à attendre. | Attendez la durée indiquée par `Retry-After`, puis réessayez avec backoff. |
| INTERNAL | 500 | Erreur serveur inattendue. Le message est volontairement générique ; citez `request_id` lorsque vous la signalez. | Réessayez une fois après quelques secondes ; si l'erreur persiste, signalez-la avec l'ID de requête. |
| UPSTREAM_FAILED | 503 | La source de données derrière cet endpoint n'a pas répondu à temps. Aucun chiffre périmé ni de substitution n'est renvoyé à sa place. | Réessayez avec backoff ; consultez la page de statut. |
| UNAVAILABLE | 501 / 503 | Le jeu de données n'est temporairement pas prêt (préchauffage du cache) ou l'endpoint n'a pas encore de source publique licite. | Réessayez plus tard ; le catalogue signale les endpoints indisponibles par conception. |
| REQUEST_FAILED | 200 | Certains endpoints plus anciens répondent HTTP 200 avec `success: false`. Vérifiez toujours `success`, et pas seulement le statut HTTP. | Dépend du message ; à traiter comme une requête en échec. |
Essayer
/api/sd/liquidityPartielstring — Coin symbol, case-insensitive (for example `BTC`). Missing or malformed values return 400.
string · défaut all — Market type. Perpetual and spot books are never added together.
https://www.coinboss.com/api/sd/liquidity?coin=BTCAutres endpoints de cette catégorie
- Profondeur du carnet d'ordres et slippage /api/sd/liquidity
- Historique de la profondeur du carnet d'ordres /api/sd/liquidity/history
- Cryptos classées par profondeur du carnet d'ordres /api/sd/liquidity/rank
- Suivi des gros ordres en attente /api/indicators/large-orderbook