Histórico da profundidade do livro de ofertas
Série temporal da profundidade agregada de compra e de venda dentro de uma faixa para uma moeda, para todas as corretoras cobertas ou para uma só. Cada ponto informa quantos contratos contém.
/api/sd/liquidity/historyRequisição
Parâmetros de consulta
| Nome | Tipo | Obrigatório | Padrão | Valores aceitos | Descrição |
|---|---|---|---|---|---|
| coin | string | Obrigatório | — | — | Símbolo da moeda, sem distinção entre maiúsculas e minúsculas (por exemplo, `BTC`). Valores ausentes ou malformados retornam 400. Exemplo: BTC |
| market | string | Opcional | perp | perp, spot | Tipo de mercado. Os livros de perpétuos e spot nunca são somados. |
| band | string | Opcional | 1 | 0.5, 1, 2 | Distância em relação ao preço médio, em porcentagem. |
| range | string | Opcional | 24h | 24h, 7d, 30d | Janela retroativa: 24h (pontos de 30 minutos), 7d (pontos de 2 horas) ou 30d (pontos de 6 horas). |
| exchange | string | Opcional | — | — | Um ID de corretora coberta neste mercado (por exemplo, `gate`). Padrão: todas as corretoras. Uma corretora não coberta retorna 400. |
Exemplo de requisição
curl -s "https://www.coinboss.com/api/sd/liquidity/history?coin=BTC"Campos da resposta
A tabela de campos é gerada a partir de respostas reais, portanto lista exatamente o que o endpoint retorna. Os caminhos usam a[] para itens de array e {*} para objetos indexados por um nome dinâmico, como uma moeda ou uma corretora.
| Campo | Tipo | Unidade | Descrição |
|---|---|---|---|
| success | boolean | — | true quando a requisição foi bem-sucedida. Em caso de falha, o corpo é `{ success: false, code, error, request_id }`. |
| schema | string | — | ID do esquema desta resposta. Só muda quando um campo existente muda de significado ou de tipo. |
| now | number | ms | Horário do servidor em que a resposta foi montada. |
| coin | string | — | Símbolo da moeda (em maiúsculas). |
| market | string | — | `perp` ou `spot`. |
| band_pct | number | % | Faixa selecionada: distância em relação ao preço médio. |
| range | string | — | Janela retroativa aplicada. |
| exchange | string|null | — | ID da corretora (em minúsculas). |
| interval_s | number | s | Espaçamento dos pontos. |
| points | array | — | Pontos da série, do mais antigo para o mais recente. |
| points[] | object | — | Pontos da série, do mais antigo para o mais recente. |
| points[].t | number | ms | Início do bucket de tempo. |
| points[].bid_depth_usd | number | USD | Valor nocional das ordens de compra em espera entre o preço médio e a borda inferior da faixa. É um limite inferior quando `complete` é false. |
| points[].ask_depth_usd | number | USD | Valor nocional das ordens de venda em espera entre o preço médio e a borda superior da faixa. É um limite inferior quando `complete` é false. |
| points[].n_included | number | — | Linhas incluídas na soma da profundidade: atualizadas e completas para a faixa. Leia junto com o valor da profundidade. |
| points[].n_rows | number | — | Linhas encontradas, inclusive as desatualizadas. |
| points[].mid | number | USD | (melhor compra + melhor venda) ÷ 2, preço de uma moeda. |
| points[].uses_aggregated_buckets | boolean | — | True quando uma linha incluída usou buckets agregados por preço, o que torna a soma um limite inferior. |
| points_expected | number | — | Número de pontos que a janela contém quando completa. |
| first_t | number | ms | Horário do primeiro ponto retornado. |
| last_t | number | ms | Horário do último ponto retornado. |
| exchange_points | object | — | Número de pontos em que cada corretora aparece (a chave é o ID da corretora). chaves dinâmicas: deribit,aster,backpack,bitfinex,bitget,bitunix |
| exchange_points.{*} | number | — | Número de pontos em que cada corretora aparece (a chave é o ID da corretora). |
| coverage | object | — | O que está e o que não está incluído nos números. Compare isto antes de comparar totais com outra fonte. |
| coverage.included_exchanges | array | — | Fontes cujos dados atualizados estão incluídos. |
| coverage.included_exchanges[] | string | — | Fontes cujos dados atualizados estão incluídos. |
| coverage.unavailable | array | — | Fontes que não puderam ser incluídas, cada uma com um motivo. Nunca são contadas como 0. vazio nas amostras usadas para gerar esta tabela |
| coverage.stale_excluded | array | — | Linhas deixadas de fora porque sua última atualização está fora da janela de atualidade. vazio nas amostras usadas para gerar esta tabela |
| method | object | — | Descrição em texto simples das fórmulas usadas nesta resposta, uma entrada por campo. |
| method.bid_depth_usd | string | — | Nota sobre a fórmula de `bid_depth_usd`, em texto simples. |
| method.ask_depth_usd | string | — | Nota sobre a fórmula de `ask_depth_usd`, em texto simples. |
| method.complete | string | — | Nota sobre a fórmula de `complete`, em texto simples. |
| method.history | string | — | Nota sobre a fórmula de `history`, em texto simples. |
| method.exchange_points | string | — | Nota sobre a fórmula de `exchange_points`, em texto simples. |
| meta | object | — | Linhagem e atualidade desta resposta. |
| meta.schema | string | — | ID do esquema desta resposta. Só muda quando um campo existente muda de significado ou de tipo. |
| meta.source | array | — | Endpoints públicos de origem dos quais os dados foram coletados. |
| meta.source[] | object | — | Endpoints públicos de origem dos quais os dados foram coletados. |
| meta.source[].exchange | string | — | ID da corretora (em minúsculas). |
| meta.source[].market | string | — | `perp` ou `spot`. |
| meta.source[].endpoint | string | — | Endpoint público da fonte que o coletor lê (exibido para fins de linhagem; os clientes nunca o chamam). |
| meta.observed_at | null | — | Timestamp informado pela fonte para os dados. |
| meta.received_at | number | ms | Horário em que o coletor da CoinBoss recebeu os dados. |
| meta.fetched_at | number | ms | Horário em que esta resposta foi montada. |
| meta.window | string | — | Janela de tempo coberta pelos números. |
| meta.quality | string | — | FRESH, PARTIAL, STALE, BROKEN ou UNAVAILABLE, avaliado a partir dos timestamps dos dados e da cobertura. |
| meta.is_stale | boolean | — | True quando os dados são mais antigos que sua janela de atualidade. |
| meta.cache_ttl_s | number | s | Tempo de vida do cache desta resposta. |
| meta.fallback | string | — | O que o endpoint retorna quando o coletor ou uma fonte falha. |
| meta.collector_heartbeat_age_s | number | s | Segundos desde que o coletor informou pela última vez que está em execução. |
Gerada 2026-11-11 23:00 UTC a partir de 3 respostas reais.
Exemplo de resposta
/api/sd/liquidity/history?coin=BTC · Resposta real capturada 2026-11-13 04:02:45 UTC. Arrays e mapas longos são encurtados para exibição: points tinha 48 itens; meta.source tinha 19 itens; exchange_points tinha 19 itens; coverage.included_exchanges tinha 19 itens.
- "success"true
- "schema""coinboss.sd.liquidity/1"
- "now"1794542565889
- "coin""BTC"
- "market""perp"
- "band_pct"1
- "range""24h"
- "exchange"null
- "interval_s"1800
- "points"
- "points_expected"48
- "first_t"1794457800000
- "last_t"1794542400000
- "exchange_points"
- "deribit"96
- "aster"48
- "coverage"
- "included_exchanges"
- "unavailable"
- "stale_excluded"
- "method"
- "bid_depth_usd""sum of resting bid notional with price >= mid * (1 - band%), in USD; notional = price * size * contract_value (inverse contracts: size * contract_value); USDT /…"
- "ask_depth_usd""sum of resting ask notional with price <= mid * (1 + band%), in USD; same notional rule as bid_depth_usd"
- "complete""true when BOTH sides of the snapshot reach the band edge (reach_pct >= band) or the whole side of the book was returned; when false the depth values are lower b…"
- "history""sd_book_hist keeps the first snapshot of every 15-minute bucket per contract; each returned point takes, per contract, the first stored snapshot inside the poin…"
- "exchange_points""number of returned points in which each exchange had a row that was complete for the band; a changing venue set moves the aggregate, so compare n_included acros…"
- "meta"
- "schema""coinboss.sd.liquidity/1"
- "source"
- "observed_at"null
- "received_at"1794542400000
- "fetched_at"1794542565889
- "window""24h"
- "quality""FRESH"
- "is_stale"false
- "cache_ttl_s"120
- "fallback""history is append-only (first snapshot of each 15-minute bucket per contract, 30-day retention); buckets the collector missed are simply absent, never interpola…"
- "collector_heartbeat_age_s"3
Amostras verificadas
Além do exemplo acima, a sonda chama este endpoint com estes parâmetros e verifica o esquema a cada vez.
| Parâmetros | HTTP | Latência | Resultado |
|---|---|---|---|
| band=2&coin=ETH&market=spot | 200 | 6 ms | Aprovado FRESH |
| coin=SOL&exchange=gate | 200 | 2 ms | Aprovado FRESH |
| band=3&coin=BTC | 400 | 1 ms | Aprovado retorna o erro esperado |
Verificado 2026-11-13 03:58:06 UTC
Detalhes
- Autenticação
- Nenhuma. Endpoint público.
- Limite de requisições
- 1200 requisições por minuto por IP
- Cache do servidor
- 2m
- Microcache de borda
- 10s
- Frequência de atualização
- Um snapshot é armazenado a cada 15 minutos por contrato; cada ponto usa o snapshot mais antigo do seu bucket (um valor pontual, não uma média).
- Janela
- 24h / 7d / 30d.
- Fontes de dados
- Snapshots públicos REST do livro de ofertas de 24 corretoras (mercados perpétuos e spot), coletados e armazenados pela CoinBoss (sd_book_latest, sd_book_hist). A profundidade e o slippage são calculados pela CoinBoss a partir dos níveis de preço brutos.
- Cobertura de corretoras
- 24 corretoras, 38 combinações corretora × mercado. Quando um snapshot público não alcança ±0.5 / 1 / 2 % do preço médio (limite de níveis da corretora), essa faixa é marcada com `complete: false`, seu valor é um limite inferior e ela fica fora do agregado; `n_included` / `n_fresh` dão o denominador e `excluded_incomplete` lista o que ficou de fora.
- Paginação
- Sem paginação; `range` limita o número de pontos (48 / 84 / 120).
- Ordenação
- Horário em ordem crescente.
- 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.
- Timestamps
- Milissegundos da época Unix (UTC), salvo se a descrição do campo indicar o contrário
- Formato da resposta
- json
- Estabilidade
- Estável
- Disponível desde
- 2026-11-11
Status ao vivo
A coleta começou em 2026-11-11, portanto os intervalos mais longos são preenchidos progressivamente. Buckets faltantes ficam ausentes, não são interpolados; uma mudança em `n_included` entre dois pontos significa que o conjunto de contratos contribuintes mudou.
Disponibilidade, últimos 30 dias
100% de 408 verificações aprovadas
Erros
As chamadas com falha têm o mesmo formato em todos os endpoints. A lista completa está na página de erros. Erros e limites de requisições →
| Código | HTTP | Significado | O que fazer |
|---|---|---|---|
| INVALID_PARAM | 400 | Falta um parâmetro obrigatório ou um valor não é aceito. `param` indica o nome do parâmetro quando ele é conhecido. | Não repita a requisição sem alterações; corrija-a. |
| UNAUTHORIZED | 401 | O cabeçalho `CB-API-KEY` foi enviado, mas a chave é desconhecida ou foi revogada. Dados públicos não exigem chave — remova o cabeçalho ou use uma chave válida. | Não repita a requisição sem alterações. |
| FORBIDDEN | 403 | A rota não faz parte da API pública (é interna ou exclusiva de conta). | Não tente novamente. |
| NOT_FOUND | 404 | Rota desconhecida, ou a moeda / corretora / fundo solicitado não existe. | Não tente novamente; confira o caminho e os identificadores no catálogo. |
| RATE_LIMITED | 429 | Mais requisições do que o limite por minuto. `Retry-After` informa os segundos a aguardar. | Aguarde `Retry-After` e então tente novamente com backoff. |
| INTERNAL | 500 | Erro inesperado do servidor. A mensagem é genérica de propósito; cite `request_id` ao reportá-lo. | Tente novamente uma vez após alguns segundos; se persistir, reporte-o com o ID da requisição. |
| UPSTREAM_FAILED | 503 | A fonte de dados por trás deste endpoint não respondeu a tempo. Nenhum número desatualizado ou substituto é retornado em seu lugar. | Tente novamente com backoff; consulte a página de status. |
| UNAVAILABLE | 501 / 503 | O conjunto de dados ainda não está pronto temporariamente (aquecimento do cache) ou o endpoint ainda não tem uma fonte pública lícita. | Tente novamente mais tarde; o catálogo marca os endpoints que são indisponíveis por design. |
| REQUEST_FAILED | 200 | Alguns endpoints mais antigos respondem HTTP 200 com `success: false`. Verifique sempre `success`, não apenas o status HTTP. | Depende da mensagem; trate como uma requisição com falha. |
Experimente
/api/sd/liquidity/historyParcialstring — Coin symbol, case-insensitive (for example `BTC`). Missing or malformed values return 400.
string · padrão perp — Market type. Perpetual and spot books are never added together.
string · padrão 1 — Distance from mid price in percent.
string · padrão 24h — Look-back range: 24h (30-minute points), 7d (2-hour points) or 30d (6-hour points).
string — One exchange id covered for this market (for example `gate`). Default: all exchanges. An exchange that is not covered returns 400.
https://www.coinboss.com/api/sd/liquidity/history?coin=BTCMais nesta categoria
- Profundidade do livro de ofertas e slippage /api/sd/liquidity
- Histórico da profundidade do livro de ofertas /api/sd/liquidity/history
- Moedas classificadas pela profundidade do livro de ofertas /api/sd/liquidity/rank
- Monitor de grandes ordens em espera /api/indicators/large-orderbook