Profundidad del libro de órdenes y deslizamiento
Profundidad del libro de órdenes por exchange dentro del ±0.5 / 1 / 2 % del precio medio, spread y deslizamiento de una orden de mercado de 10k / 100k / 1M USD, además de un agregado por tipo de mercado con su denominador.
/api/sd/liquiditySolicitud
Parámetros de consulta
| Nombre | Tipo | Obligatorio | Valor por defecto | Valores admitidos | Descripción |
|---|---|---|---|---|---|
| coin | string | Obligatorio | — | — | Símbolo de la moneda, sin distinción entre mayúsculas y minúsculas (por ejemplo `BTC`). Los valores ausentes o mal formados devuelven 400. Ejemplo: BTC |
| market | string | Opcional | all | perp, spot, all | Tipo de mercado. Los libros de perpetuos y de spot nunca se suman entre sí. |
Solicitud de ejemplo
curl -s "https://www.coinboss.com/api/sd/liquidity?coin=BTC"Campos de la respuesta
La tabla de campos se genera a partir de respuestas reales, por lo que recoge exactamente lo que devuelve el endpoint. Las rutas usan a[] para los elementos de un array y {*} para los objetos cuya clave es un nombre dinámico, como una moneda o un exchange.
| Campo | Tipo | Unidad | Descripción |
|---|---|---|---|
| success | boolean | — | true cuando la solicitud se completó correctamente. En caso de fallo, el cuerpo es `{ success: false, code, error, request_id }`. |
| schema | string | — | Id de esquema de esta respuesta. Solo cambia cuando un campo existente cambia de significado o de tipo. |
| now | number | ms | Hora del servidor en el momento de generar la respuesta. |
| coin | string | — | Símbolo de la moneda (en mayúsculas). |
| market | string | — | `perp` o `spot`. |
| venues | array | — | Una fila por exchange × mercado × contrato. |
| venues[] | object | — | Una fila por exchange × mercado × contrato. |
| venues[].exchange | string | — | Id del exchange (en minúsculas). |
| venues[].market | string | — | `perp` o `spot`. |
| venues[].symbol | string | — | Símbolo del contrato en el formato de almacenamiento de CoinBoss. |
| venues[].quote | string | — | Moneda de cotización del mercado; USDT, USDC y USD se contabilizan 1:1 como USD. |
| venues[].multiplier | number | — | Monedas por unidad cotizada (1000 en los contratos del tipo `1000PEPE`). Los precios ya están divididos por este valor. |
| venues[].contract_value | number | — | Tamaño de un contrato: monedas en los contratos lineales, USD en los contratos inversos. |
| venues[].inverse | boolean | — | True en los contratos con margen en moneda cotizados en USD por contrato. |
| venues[].mid | number | USD | (mejor compra + mejor venta) ÷ 2, precio de una moneda. |
| venues[].best_bid | number | USD | Mejor precio de compra (bid) de una moneda. |
| venues[].best_ask | number | USD | Mejor precio de venta (ask) de una moneda. |
| venues[].spread_bps | number | bp | (mejor precio de venta − mejor precio de compra) ÷ precio medio. |
| venues[].n_bids | number | — | Niveles de precio de compra en la instantánea. |
| venues[].n_asks | number | — | Niveles de precio de venta en la instantánea. |
| venues[].reach_bid_pct | number | % | Distancia desde el precio medio hasta el nivel de compra más alejado de la instantánea. |
| venues[].reach_ask_pct | number | % | Distancia desde el precio medio hasta el nivel de venta más alejado de la instantánea. |
| venues[].book_complete_bid | boolean | — | True cuando se devolvió completo el lado de compra del libro. |
| venues[].book_complete_ask | boolean | — | True cuando se devolvió completo el lado de venta del libro. |
| venues[].bands | object | — | Profundidad por banda; las claves `0.5`, `1` y `2` son la distancia desde el precio medio en porcentaje. |
| venues[].bands.1 | object | — | Banda a esta distancia del precio medio, en porcentaje. |
| venues[].bands.1.bid_depth_usd | number | USD | Nocional de compra pendiente entre el precio medio y el borde inferior de la banda. Es un límite inferior cuando `complete` es false. |
| venues[].bands.1.ask_depth_usd | number | USD | Nocional de venta pendiente entre el precio medio y el borde superior de la banda. Es un límite inferior cuando `complete` es false. |
| venues[].bands.1.complete | boolean | — | True cuando ambos lados de la instantánea alcanzan el borde de la banda. Las filas incompletas quedan fuera de los agregados. |
| venues[].bands.2 | object | — | Banda a esta distancia del precio medio, en porcentaje. |
| venues[].bands.2.bid_depth_usd | number | USD | Nocional de compra pendiente entre el precio medio y el borde inferior de la banda. Es un límite inferior cuando `complete` es false. |
| venues[].bands.2.ask_depth_usd | number | USD | Nocional de venta pendiente entre el precio medio y el borde superior de la banda. Es un límite inferior cuando `complete` es false. |
| venues[].bands.2.complete | boolean | — | True cuando ambos lados de la instantánea alcanzan el borde de la banda. Las filas incompletas quedan fuera de los agregados. |
| venues[].bands.0.5 | object | — | Banda a esta distancia del precio medio, en porcentaje. |
| venues[].bands.0.5.bid_depth_usd | number | USD | Nocional de compra pendiente entre el precio medio y el borde inferior de la banda. Es un límite inferior cuando `complete` es false. |
| venues[].bands.0.5.ask_depth_usd | number | USD | Nocional de venta pendiente entre el precio medio y el borde superior de la banda. Es un límite inferior cuando `complete` es false. |
| venues[].bands.0.5.complete | boolean | — | True cuando ambos lados de la instantánea alcanzan el borde de la banda. Las filas incompletas quedan fuera de los agregados. |
| venues[].slippage | object | — | Deslizamiento de una orden a mercado; las claves `10000`, `100000` y `1000000` son el tamaño de la orden en USD. |
| venues[].slippage.10000 | object | — | Orden a mercado de este tamaño en USD. |
| venues[].slippage.10000.buy_bps | number | bp | Precio medio de ejecución de una compra a mercado respecto al precio medio (incluye la mitad del spread); `null` cuando la instantánea no permite ejecutar la orden. |
| venues[].slippage.10000.sell_bps | number|null | bp | Precio medio de ejecución de una venta a mercado respecto al precio medio (incluye la mitad del spread); `null` cuando la instantánea no permite ejecutar la orden. |
| venues[].slippage.10000.buy_flag | null | — | `insufficient_book` cuando la orden no puede ejecutarse con la instantánea, `upper_bound` cuando se usó un tramo agregado; en otro caso, `null`. |
| venues[].slippage.10000.sell_flag | string|null | — | `insufficient_book` cuando la orden no puede ejecutarse con la instantánea, `upper_bound` cuando se usó un tramo agregado; en otro caso, `null`. |
| venues[].slippage.100000 | object | — | Orden a mercado de este tamaño en USD. |
| venues[].slippage.100000.buy_bps | number|null | bp | Precio medio de ejecución de una compra a mercado respecto al precio medio (incluye la mitad del spread); `null` cuando la instantánea no permite ejecutar la orden. |
| venues[].slippage.100000.sell_bps | number|null | bp | Precio medio de ejecución de una venta a mercado respecto al precio medio (incluye la mitad del spread); `null` cuando la instantánea no permite ejecutar la orden. |
| venues[].slippage.100000.buy_flag | string|null | — | `insufficient_book` cuando la orden no puede ejecutarse con la instantánea, `upper_bound` cuando se usó un tramo agregado; en otro caso, `null`. |
| venues[].slippage.100000.sell_flag | string|null | — | `insufficient_book` cuando la orden no puede ejecutarse con la instantánea, `upper_bound` cuando se usó un tramo agregado; en otro caso, `null`. |
| venues[].slippage.1000000 | object | — | Orden a mercado de este tamaño en USD. |
| venues[].slippage.1000000.buy_bps | number|null | bp | Precio medio de ejecución de una compra a mercado respecto al precio medio (incluye la mitad del spread); `null` cuando la instantánea no permite ejecutar la orden. |
| venues[].slippage.1000000.sell_bps | number|null | bp | Precio medio de ejecución de una venta a mercado respecto al precio medio (incluye la mitad del spread); `null` cuando la instantánea no permite ejecutar la orden. |
| venues[].slippage.1000000.buy_flag | string|null | — | `insufficient_book` cuando la orden no puede ejecutarse con la instantánea, `upper_bound` cuando se usó un tramo agregado; en otro caso, `null`. |
| venues[].slippage.1000000.sell_flag | string|null | — | `insufficient_book` cuando la orden no puede ejecutarse con la instantánea, `upper_bound` cuando se usó un tramo agregado; en otro caso, `null`. |
| venues[].book_bid_usd | number | USD | Nocional de todas las órdenes de compra contenidas en la instantánea. |
| venues[].book_ask_usd | number | USD | Nocional de todas las órdenes de venta contenidas en la instantánea. |
| venues[].agg_step_bps | number|null | bp | Tramo de agregación de precios más ancho utilizado dentro del ±2 %; `null` cuando solo se usaron niveles sin agregar. |
| venues[].layers | number | — | Número de instantáneas unidas para formar esta fila. |
| venues[].observed_at | number|null | ms | Marca de tiempo que la fuente asigna a los datos. |
| venues[].received_at | number | ms | Hora en que el recolector de CoinBoss recibió los datos. |
| venues[].lag_ms | number|null | ms | Hora de recepción menos la marca de tiempo del libro indicada por la plataforma; `null` cuando la plataforma no proporciona ninguna. |
| venues[].age_s | number | s | Segundos transcurridos desde que se recibió la fila. |
| venues[].fresh_window_s | number | s | Una fila más antigua que este umbral está desactualizada. |
| venues[].is_stale | boolean | — | True cuando los datos son más antiguos que su ventana de frescura. |
| venues[].tier | string | — | Nivel de recopilación: `A` para las monedas más negociadas, `B` para el resto. |
| venues[].period_s | number | s | Periodo de recopilación de la fila. |
| aggregate | object | — | Totales por tipo de mercado. Perpetuos y spot nunca se suman entre sí. |
| aggregate.perp | object | — | Agregado de los libros de perpetuos; `null` cuando no hay ninguna fila. puede faltar |
| aggregate.perp.n_rows | number | — | Filas encontradas, incluidas las desactualizadas. puede faltar |
| aggregate.perp.n_fresh | number | — | Filas frescas. puede faltar |
| aggregate.perp.mid_median | number | USD | Mediana del precio medio de las filas frescas. puede faltar |
| aggregate.perp.spread_bps_min | number | bp | Spread más estrecho entre las filas frescas. puede faltar |
| aggregate.perp.bands | object | — | Profundidad por banda; las claves `0.5`, `1` y `2` son la distancia desde el precio medio en porcentaje. puede faltar |
| aggregate.perp.bands.1 | object | — | Banda a esta distancia del precio medio, en porcentaje. puede faltar |
| aggregate.perp.bands.1.bid_depth_usd | number | USD | Nocional de compra pendiente entre el precio medio y el borde inferior de la banda. Es un límite inferior cuando `complete` es false. puede faltar |
| aggregate.perp.bands.1.ask_depth_usd | number | USD | Nocional de venta pendiente entre el precio medio y el borde superior de la banda. Es un límite inferior cuando `complete` es false. puede faltar |
| aggregate.perp.bands.1.n_included | number | — | Filas incluidas en la suma de profundidad: frescas y completas para la banda. Léalo junto con el valor de profundidad. puede faltar |
| aggregate.perp.bands.1.n_fresh | number | — | Filas frescas. puede faltar |
| aggregate.perp.bands.1.included_exchanges | array | — | Fuentes cuyos datos frescos se incluyen. puede faltar |
| aggregate.perp.bands.1.included_exchanges[] | string | — | Fuentes cuyos datos frescos se incluyen. puede faltar |
| aggregate.perp.bands.1.excluded_incomplete | array | — | Filas frescas excluidas de la banda porque su instantánea no alcanza el borde de la banda. puede faltar |
| aggregate.perp.bands.1.excluded_incomplete[] | object | — | Filas frescas excluidas de la banda porque su instantánea no alcanza el borde de la banda. puede faltar |
| aggregate.perp.bands.1.excluded_incomplete[].exchange | string | — | Id del exchange (en minúsculas). puede faltar |
| aggregate.perp.bands.1.excluded_incomplete[].symbol | string | — | Símbolo del contrato en el formato de almacenamiento de CoinBoss. puede faltar |
| aggregate.perp.bands.1.excluded_incomplete[].reach_bid_pct | number | % | Distancia desde el precio medio hasta el nivel de compra más alejado de la instantánea. puede faltar |
| aggregate.perp.bands.1.excluded_incomplete[].reach_ask_pct | number | % | Distancia desde el precio medio hasta el nivel de venta más alejado de la instantánea. puede faltar |
| aggregate.perp.bands.1.lower_bound_bid_usd | number | USD | Profundidad de compra incluida la parte observada de las filas incompletas. Es un mínimo, no una estimación. puede faltar |
| aggregate.perp.bands.1.lower_bound_ask_usd | number | USD | Profundidad de venta incluida la parte observada de las filas incompletas. Es un mínimo, no una estimación. puede faltar |
| aggregate.perp.bands.1.uses_aggregated_buckets | boolean | — | True cuando una fila incluida usó tramos agregados por precio, lo que convierte la suma en un límite inferior. puede faltar |
| aggregate.perp.bands.2 | object | — | Banda a esta distancia del precio medio, en porcentaje. puede faltar |
| aggregate.perp.bands.2.bid_depth_usd | number | USD | Nocional de compra pendiente entre el precio medio y el borde inferior de la banda. Es un límite inferior cuando `complete` es false. puede faltar |
| aggregate.perp.bands.2.ask_depth_usd | number | USD | Nocional de venta pendiente entre el precio medio y el borde superior de la banda. Es un límite inferior cuando `complete` es false. puede faltar |
| aggregate.perp.bands.2.n_included | number | — | Filas incluidas en la suma de profundidad: frescas y completas para la banda. Léalo junto con el valor de profundidad. puede faltar |
| aggregate.perp.bands.2.n_fresh | number | — | Filas frescas. puede faltar |
| aggregate.perp.bands.2.included_exchanges | array | — | Fuentes cuyos datos frescos se incluyen. puede faltar |
| aggregate.perp.bands.2.included_exchanges[] | string | — | Fuentes cuyos datos frescos se incluyen. puede faltar |
| aggregate.perp.bands.2.excluded_incomplete | array | — | Filas frescas excluidas de la banda porque su instantánea no alcanza el borde de la banda. puede faltar |
| aggregate.perp.bands.2.excluded_incomplete[] | object | — | Filas frescas excluidas de la banda porque su instantánea no alcanza el borde de la banda. puede faltar |
| aggregate.perp.bands.2.excluded_incomplete[].exchange | string | — | Id del exchange (en minúsculas). puede faltar |
| aggregate.perp.bands.2.excluded_incomplete[].symbol | string | — | Símbolo del contrato en el formato de almacenamiento de CoinBoss. puede faltar |
| aggregate.perp.bands.2.excluded_incomplete[].reach_bid_pct | number | % | Distancia desde el precio medio hasta el nivel de compra más alejado de la instantánea. puede faltar |
| aggregate.perp.bands.2.excluded_incomplete[].reach_ask_pct | number | % | Distancia desde el precio medio hasta el nivel de venta más alejado de la instantánea. puede faltar |
| aggregate.perp.bands.2.lower_bound_bid_usd | number | USD | Profundidad de compra incluida la parte observada de las filas incompletas. Es un mínimo, no una estimación. puede faltar |
| aggregate.perp.bands.2.lower_bound_ask_usd | number | USD | Profundidad de venta incluida la parte observada de las filas incompletas. Es un mínimo, no una estimación. puede faltar |
| aggregate.perp.bands.2.uses_aggregated_buckets | boolean | — | True cuando una fila incluida usó tramos agregados por precio, lo que convierte la suma en un límite inferior. puede faltar |
| aggregate.perp.bands.0.5 | object | — | Banda a esta distancia del precio medio, en porcentaje. puede faltar |
| aggregate.perp.bands.0.5.bid_depth_usd | number | USD | Nocional de compra pendiente entre el precio medio y el borde inferior de la banda. Es un límite inferior cuando `complete` es false. puede faltar |
| aggregate.perp.bands.0.5.ask_depth_usd | number | USD | Nocional de venta pendiente entre el precio medio y el borde superior de la banda. Es un límite inferior cuando `complete` es false. puede faltar |
| aggregate.perp.bands.0.5.n_included | number | — | Filas incluidas en la suma de profundidad: frescas y completas para la banda. Léalo junto con el valor de profundidad. puede faltar |
| aggregate.perp.bands.0.5.n_fresh | number | — | Filas frescas. puede faltar |
| aggregate.perp.bands.0.5.included_exchanges | array | — | Fuentes cuyos datos frescos se incluyen. puede faltar |
| aggregate.perp.bands.0.5.included_exchanges[] | string | — | Fuentes cuyos datos frescos se incluyen. puede faltar |
| aggregate.perp.bands.0.5.excluded_incomplete | array | — | Filas frescas excluidas de la banda porque su instantánea no alcanza el borde de la banda. puede faltar |
| aggregate.perp.bands.0.5.excluded_incomplete[] | object | — | Filas frescas excluidas de la banda porque su instantánea no alcanza el borde de la banda. puede faltar |
| aggregate.perp.bands.0.5.excluded_incomplete[].exchange | string | — | Id del exchange (en minúsculas). puede faltar |
| aggregate.perp.bands.0.5.excluded_incomplete[].symbol | string | — | Símbolo del contrato en el formato de almacenamiento de CoinBoss. puede faltar |
| aggregate.perp.bands.0.5.excluded_incomplete[].reach_bid_pct | number | % | Distancia desde el precio medio hasta el nivel de compra más alejado de la instantánea. puede faltar |
| aggregate.perp.bands.0.5.excluded_incomplete[].reach_ask_pct | number | % | Distancia desde el precio medio hasta el nivel de venta más alejado de la instantánea. puede faltar |
| aggregate.perp.bands.0.5.lower_bound_bid_usd | number | USD | Profundidad de compra incluida la parte observada de las filas incompletas. Es un mínimo, no una estimación. puede faltar |
| aggregate.perp.bands.0.5.lower_bound_ask_usd | number | USD | Profundidad de venta incluida la parte observada de las filas incompletas. Es un mínimo, no una estimación. puede faltar |
| aggregate.perp.bands.0.5.uses_aggregated_buckets | boolean | — | True cuando una fila incluida usó tramos agregados por precio, lo que convierte la suma en un límite inferior. puede faltar |
| aggregate.spot | object | — | Agregado de los libros de spot; `null` cuando no hay ninguna fila. puede faltar |
| aggregate.spot.n_rows | number | — | Filas encontradas, incluidas las desactualizadas. puede faltar |
| aggregate.spot.n_fresh | number | — | Filas frescas. puede faltar |
| aggregate.spot.mid_median | number | USD | Mediana del precio medio de las filas frescas. puede faltar |
| aggregate.spot.spread_bps_min | number | bp | Spread más estrecho entre las filas frescas. puede faltar |
| aggregate.spot.bands | object | — | Profundidad por banda; las claves `0.5`, `1` y `2` son la distancia desde el precio medio en porcentaje. puede faltar |
| aggregate.spot.bands.1 | object | — | Banda a esta distancia del precio medio, en porcentaje. puede faltar |
| aggregate.spot.bands.1.bid_depth_usd | number | USD | Nocional de compra pendiente entre el precio medio y el borde inferior de la banda. Es un límite inferior cuando `complete` es false. puede faltar |
| aggregate.spot.bands.1.ask_depth_usd | number | USD | Nocional de venta pendiente entre el precio medio y el borde superior de la banda. Es un límite inferior cuando `complete` es false. puede faltar |
| aggregate.spot.bands.1.n_included | number | — | Filas incluidas en la suma de profundidad: frescas y completas para la banda. Léalo junto con el valor de profundidad. puede faltar |
| aggregate.spot.bands.1.n_fresh | number | — | Filas frescas. puede faltar |
| aggregate.spot.bands.1.included_exchanges | array | — | Fuentes cuyos datos frescos se incluyen. puede faltar |
| aggregate.spot.bands.1.included_exchanges[] | string | — | Fuentes cuyos datos frescos se incluyen. puede faltar |
| aggregate.spot.bands.1.excluded_incomplete | array | — | Filas frescas excluidas de la banda porque su instantánea no alcanza el borde de la banda. puede faltar |
| aggregate.spot.bands.1.excluded_incomplete[] | object | — | Filas frescas excluidas de la banda porque su instantánea no alcanza el borde de la banda. puede faltar |
| aggregate.spot.bands.1.excluded_incomplete[].exchange | string | — | Id del exchange (en minúsculas). puede faltar |
| aggregate.spot.bands.1.excluded_incomplete[].symbol | string | — | Símbolo del contrato en el formato de almacenamiento de CoinBoss. puede faltar |
| aggregate.spot.bands.1.excluded_incomplete[].reach_bid_pct | number | % | Distancia desde el precio medio hasta el nivel de compra más alejado de la instantánea. puede faltar |
| aggregate.spot.bands.1.excluded_incomplete[].reach_ask_pct | number | % | Distancia desde el precio medio hasta el nivel de venta más alejado de la instantánea. puede faltar |
| aggregate.spot.bands.1.lower_bound_bid_usd | number | USD | Profundidad de compra incluida la parte observada de las filas incompletas. Es un mínimo, no una estimación. puede faltar |
| aggregate.spot.bands.1.lower_bound_ask_usd | number | USD | Profundidad de venta incluida la parte observada de las filas incompletas. Es un mínimo, no una estimación. puede faltar |
| aggregate.spot.bands.1.uses_aggregated_buckets | boolean | — | True cuando una fila incluida usó tramos agregados por precio, lo que convierte la suma en un límite inferior. puede faltar |
| aggregate.spot.bands.2 | object | — | Banda a esta distancia del precio medio, en porcentaje. puede faltar |
| aggregate.spot.bands.2.bid_depth_usd | number | USD | Nocional de compra pendiente entre el precio medio y el borde inferior de la banda. Es un límite inferior cuando `complete` es false. puede faltar |
| aggregate.spot.bands.2.ask_depth_usd | number | USD | Nocional de venta pendiente entre el precio medio y el borde superior de la banda. Es un límite inferior cuando `complete` es false. puede faltar |
| aggregate.spot.bands.2.n_included | number | — | Filas incluidas en la suma de profundidad: frescas y completas para la banda. Léalo junto con el valor de profundidad. puede faltar |
| aggregate.spot.bands.2.n_fresh | number | — | Filas frescas. puede faltar |
| aggregate.spot.bands.2.included_exchanges | array | — | Fuentes cuyos datos frescos se incluyen. puede faltar |
| aggregate.spot.bands.2.included_exchanges[] | string | — | Fuentes cuyos datos frescos se incluyen. puede faltar |
| aggregate.spot.bands.2.excluded_incomplete | array | — | Filas frescas excluidas de la banda porque su instantánea no alcanza el borde de la banda. puede faltar |
| aggregate.spot.bands.2.excluded_incomplete[] | object | — | Filas frescas excluidas de la banda porque su instantánea no alcanza el borde de la banda. puede faltar |
| aggregate.spot.bands.2.excluded_incomplete[].exchange | string | — | Id del exchange (en minúsculas). puede faltar |
| aggregate.spot.bands.2.excluded_incomplete[].symbol | string | — | Símbolo del contrato en el formato de almacenamiento de CoinBoss. puede faltar |
| aggregate.spot.bands.2.excluded_incomplete[].reach_bid_pct | number | % | Distancia desde el precio medio hasta el nivel de compra más alejado de la instantánea. puede faltar |
| aggregate.spot.bands.2.excluded_incomplete[].reach_ask_pct | number | % | Distancia desde el precio medio hasta el nivel de venta más alejado de la instantánea. puede faltar |
| aggregate.spot.bands.2.lower_bound_bid_usd | number | USD | Profundidad de compra incluida la parte observada de las filas incompletas. Es un mínimo, no una estimación. puede faltar |
| aggregate.spot.bands.2.lower_bound_ask_usd | number | USD | Profundidad de venta incluida la parte observada de las filas incompletas. Es un mínimo, no una estimación. puede faltar |
| aggregate.spot.bands.2.uses_aggregated_buckets | boolean | — | True cuando una fila incluida usó tramos agregados por precio, lo que convierte la suma en un límite inferior. puede faltar |
| aggregate.spot.bands.0.5 | object | — | Banda a esta distancia del precio medio, en porcentaje. puede faltar |
| aggregate.spot.bands.0.5.bid_depth_usd | number | USD | Nocional de compra pendiente entre el precio medio y el borde inferior de la banda. Es un límite inferior cuando `complete` es false. puede faltar |
| aggregate.spot.bands.0.5.ask_depth_usd | number | USD | Nocional de venta pendiente entre el precio medio y el borde superior de la banda. Es un límite inferior cuando `complete` es false. puede faltar |
| aggregate.spot.bands.0.5.n_included | number | — | Filas incluidas en la suma de profundidad: frescas y completas para la banda. Léalo junto con el valor de profundidad. puede faltar |
| aggregate.spot.bands.0.5.n_fresh | number | — | Filas frescas. puede faltar |
| aggregate.spot.bands.0.5.included_exchanges | array | — | Fuentes cuyos datos frescos se incluyen. puede faltar |
| aggregate.spot.bands.0.5.included_exchanges[] | string | — | Fuentes cuyos datos frescos se incluyen. puede faltar |
| aggregate.spot.bands.0.5.excluded_incomplete | array | — | Filas frescas excluidas de la banda porque su instantánea no alcanza el borde de la banda. puede faltar |
| aggregate.spot.bands.0.5.excluded_incomplete[] | object | — | Filas frescas excluidas de la banda porque su instantánea no alcanza el borde de la banda. puede faltar |
| aggregate.spot.bands.0.5.excluded_incomplete[].exchange | string | — | Id del exchange (en minúsculas). puede faltar |
| aggregate.spot.bands.0.5.excluded_incomplete[].symbol | string | — | Símbolo del contrato en el formato de almacenamiento de CoinBoss. puede faltar |
| aggregate.spot.bands.0.5.excluded_incomplete[].reach_bid_pct | number | % | Distancia desde el precio medio hasta el nivel de compra más alejado de la instantánea. puede faltar |
| aggregate.spot.bands.0.5.excluded_incomplete[].reach_ask_pct | number | % | Distancia desde el precio medio hasta el nivel de venta más alejado de la instantánea. puede faltar |
| aggregate.spot.bands.0.5.lower_bound_bid_usd | number | USD | Profundidad de compra incluida la parte observada de las filas incompletas. Es un mínimo, no una estimación. puede faltar |
| aggregate.spot.bands.0.5.lower_bound_ask_usd | number | USD | Profundidad de venta incluida la parte observada de las filas incompletas. Es un mínimo, no una estimación. puede faltar |
| aggregate.spot.bands.0.5.uses_aggregated_buckets | boolean | — | True cuando una fila incluida usó tramos agregados por precio, lo que convierte la suma en un límite inferior. puede faltar |
| coverage | object | — | Qué se incluye y qué no en las cifras. Conviene revisarlo antes de comparar totales con otra fuente. |
| coverage.included_exchanges | array | — | Fuentes cuyos datos frescos se incluyen. |
| coverage.included_exchanges[] | string | — | Fuentes cuyos datos frescos se incluyen. |
| coverage.unavailable | array | — | Fuentes que no pudieron incluirse, cada una con su motivo. Nunca se cuentan como 0. vacío en las muestras usadas para generar esta tabla |
| coverage.stale_excluded | array | — | Filas excluidas porque su última actualización está fuera de la ventana de frescura. vacío en las muestras usadas para generar esta tabla |
| coverage.no_market | array | — | Pares exchange × mercado que se recopilan pero no tienen ninguna fila para esta moneda. vacío en las muestras usadas para generar esta tabla |
| method | object | — | Enunciado en texto plano de las fórmulas utilizadas en esta respuesta, con una entrada por campo. |
| method.mid | string | — | Nota de fórmula de `mid`, en texto plano. |
| method.spread_bps | string | — | Nota de fórmula de `spread_bps`, en texto plano. |
| method.bid_depth_usd | string | — | Nota de fórmula de `bid_depth_usd`, en texto plano. |
| method.ask_depth_usd | string | — | Nota de fórmula de `ask_depth_usd`, en texto plano. |
| method.complete | string | — | Nota de fórmula de `complete`, en texto plano. |
| method.reach_pct | string | — | Nota de fórmula de `reach_pct`, en texto plano. |
| method.slippage_bps | string | — | Nota de fórmula de `slippage_bps`, en texto plano. |
| method.agg_step_bps | string | — | Nota de fórmula de `agg_step_bps`, en texto plano. |
| method.aggregate | string | — | Nota de fórmula de `aggregate`, en texto plano. |
| method.fresh | string | — | Nota de fórmula de `fresh`, en texto plano. |
| method.lag_ms | string | — | Nota de fórmula de `lag_ms`, en texto plano. |
| method.no_market | string | — | Nota de fórmula de `no_market`, en texto plano. |
| meta | object | — | Linaje y frescura de esta respuesta. |
| meta.schema | string | — | Id de esquema de esta respuesta. Solo cambia cuando un campo existente cambia de significado o de tipo. |
| meta.source | array | — | Endpoints públicos de origen de los que se recopilaron los datos. |
| meta.source[] | object | — | Endpoints públicos de origen de los que se recopilaron los datos. |
| meta.source[].exchange | string | — | Id del exchange (en minúsculas). |
| meta.source[].market | string | — | `perp` o `spot`. |
| meta.source[].endpoint | string | — | Endpoint público de la fuente que lee el recolector (se muestra por linaje; los clientes nunca lo llaman). |
| meta.observed_at | number | ms | Marca de tiempo que la fuente asigna a los datos. |
| meta.received_at | number | ms | Hora en que el recolector de CoinBoss recibió los datos. |
| meta.fetched_at | number | ms | Hora en que se compuso esta respuesta. |
| meta.window | string | — | Ventana temporal que cubren las cifras. |
| meta.quality | string | — | FRESH, PARTIAL, STALE, BROKEN o UNAVAILABLE, según las marcas de tiempo de los datos y la cobertura. |
| meta.is_stale | boolean | — | True cuando los datos son más antiguos que su ventana de frescura. |
| meta.cache_ttl_s | number | s | Tiempo de vida en caché de esta respuesta. |
| meta.fallback | string | — | Qué devuelve el endpoint cuando falla el recolector o una fuente. |
| meta.collector_heartbeat_age_s | number | s | Segundos transcurridos desde que el recolector informó por última vez de que está en ejecución. |
Generada 2026-11-11 23:28 UTC a partir de 4 respuestas reales.
Respuesta de ejemplo
/api/sd/liquidity?coin=BTC · Respuesta real capturada 2026-11-13 03:58:06 UTC. Los arrays y mapas largos se abrevian para su visualización: venues tenía 39 elementos; meta.source tenía 38 elementos; coverage.included_exchanges tenía 24 elementos; aggregate.perp.bands.1.included_exchanges tenía 19 elementos; aggregate.perp.bands.2.included_exchanges tenía 16 elementos; aggregate.spot.bands.1.included_exchanges tenía 14 elementos.
- "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
Muestras verificadas
Además del ejemplo anterior, la sonda llama a este endpoint con estos parámetros y comprueba el esquema en cada ocasión.
| Parámetros | HTTP | Latencia | Resultado |
|---|---|---|---|
| coin=ETH&market=spot | 200 | 3 ms | Correcto PARTIAL |
| coin=PEPE&market=perp | 200 | 4 ms | Correcto FRESH |
| coin=SOL | 200 | 4 ms | Correcto PARTIAL |
| — | 400 | 1 ms | Correcto devuelve el error esperado |
Comprobado 2026-11-13 03:58:06 UTC
Detalles
- Autenticación
- Ninguna. Endpoint público.
- Límite de solicitudes
- 1200 solicitudes por minuto por IP
- Caché del servidor
- 15s
- Microcaché de borde
- 10s
- Frecuencia de actualización
- Instantáneas cada 120 segundos para las monedas más negociadas y cada 600 segundos para el resto (en algunas plataformas: 300 / 1200 segundos). Una fila se considera fresca durante tres periodos de recopilación, con un mínimo de 300 segundos.
- Ventana
- Última instantánea por contrato.
- Fuentes de datos
- Instantáneas públicas por REST del libro de órdenes de 24 exchanges (mercados de perpetuos y spot), recopiladas y almacenadas por CoinBoss (sd_book_latest, sd_book_hist). CoinBoss calcula la profundidad y el deslizamiento a partir de los niveles de precio en bruto.
- Cobertura de exchanges
- 24 exchanges, 38 combinaciones exchange × mercado. Cuando una instantánea pública no alcanza el ±0.5 / 1 / 2 % desde el precio medio (por el tope de niveles de la plataforma), esa banda se marca con `complete: false`, su valor es un límite inferior y queda fuera del agregado; `n_included` / `n_fresh` dan el denominador y `excluded_incomplete` lista lo que se excluyó.
- Paginación
- Sin paginación; una fila por exchange × mercado × contrato.
- Ordenación
- Primero las filas de perpetuos y después las de spot; dentro de cada grupo, por profundidad al ±1 % (compra + venta) descendente.
- Unidades
- 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étodo
- 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.
- Marcas de tiempo
- Milisegundos de época Unix (UTC), salvo que la descripción del campo indique otra cosa
- Formato de respuesta
- json
- Estabilidad
- Estable
- Disponible desde
- 2026-11-11
Estado en vivo
El endpoint informa de una calidad de datos PARTIAL — En las monedas más líquidas, las instantáneas públicas de varias plataformas grandes no alcanzan la banda completa, por lo que esas plataformas se excluyen del agregado y este subestima la profundidad total. Los campos `lower_bound_*` añaden la parte observada. Lea siempre `n_included` junto con el valor de profundidad.
Disponibilidad, últimos 30 días
100% de 407 comprobaciones superadas
Errores
Las llamadas fallidas tienen la misma estructura en todos los endpoints. La lista completa está en la página de errores. Errores y límites de solicitudes →
| Código | HTTP | Significado | Qué hacer |
|---|---|---|---|
| INVALID_PARAM | 400 | Falta un parámetro obligatorio o un valor no se acepta. `param` indica el nombre del parámetro cuando se conoce. | No reintente sin cambios; corrija la solicitud. |
| UNAUTHORIZED | 401 | Se envió la cabecera `CB-API-KEY`, pero la clave es desconocida o está revocada. Los datos públicos no necesitan clave: elimine la cabecera o use una clave válida. | No reintente sin cambios. |
| FORBIDDEN | 403 | La ruta no forma parte de la API pública (interna o solo para cuentas). | No reintente. |
| NOT_FOUND | 404 | Ruta desconocida, o la moneda / el exchange / el fondo solicitado no existe. | No reintente; compruebe la ruta y los identificadores en el catálogo. |
| RATE_LIMITED | 429 | Más solicitudes que el límite por minuto. `Retry-After` indica los segundos de espera. | Espere el tiempo de `Retry-After` y después reintente con espera progresiva. |
| INTERNAL | 500 | Error inesperado del servidor. El mensaje es genérico por diseño; cite `request_id` al informar del error. | Reintente una vez tras unos segundos; si persiste, infórmelo con el ID de solicitud. |
| UPSTREAM_FAILED | 503 | La fuente de datos de este endpoint no respondió a tiempo. No se devuelven cifras desactualizadas ni sustitutas en su lugar. | Reintente con espera progresiva; consulte la página de estado. |
| UNAVAILABLE | 501 / 503 | El conjunto de datos no está listo temporalmente (calentamiento de la caché) o el endpoint aún no tiene una fuente pública lícita. | Reintente más tarde; el catálogo marca los endpoints que no están disponibles por diseño. |
| REQUEST_FAILED | 200 | Algunos endpoints antiguos responden HTTP 200 con `success: false`. Compruebe siempre `success`, no solo el estado HTTP. | Depende del mensaje; trátelo como una solicitud fallida. |
Pruébelo
/api/sd/liquidityParcialstring — Coin symbol, case-insensitive (for example `BTC`). Missing or malformed values return 400.
string · por defecto all — Market type. Perpetual and spot books are never added together.
https://www.coinboss.com/api/sd/liquidity?coin=BTCMás en esta categoría
- Profundidad del libro de órdenes y deslizamiento /api/sd/liquidity
- Historial de profundidad del libro de órdenes /api/sd/liquidity/history
- Monedas ordenadas por profundidad del libro de órdenes /api/sd/liquidity/rank
- Monitor de grandes órdenes pendientes /api/indicators/large-orderbook