Histórico da base (horário)
Série horária da base por corretora e como agregado entre corretoras (mediana, média, ponderada por OI) para uma moeda.
/api/sd/basis/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 |
| kind | string | Opcional | perp | perp, spot_perp | `perp`: preço de marcação em relação ao preço do índice da mesma corretora. `spot_perp`: preço do perpétuo em relação ao preço spot da mesma corretora. |
| range | string | Opcional | 24h | 24h, 7d, 30d | Janela retroativa, um ponto por hora. |
| exchange | string | Opcional | — | — | Um ID de corretora. Padrão: todas as corretoras. Um ID desconhecido retorna 400. |
Exemplo de requisição
curl -s "https://www.coinboss.com/api/sd/basis/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). |
| kind | string | — | `perp` ou `spot_perp`. |
| range | string | — | Janela retroativa aplicada. |
| interval | string | — | Espaçamento dos pontos da série. |
| exchange | string|null | — | ID da corretora (em minúsculas). |
| aggregate | array | — | Agregado entre corretoras da seção. |
| aggregate[] | object | — | Agregado entre corretoras da seção. |
| aggregate[].t | number | ms | Início do bucket de tempo. |
| aggregate[].median_pct | number | % | Mediana da base considerando um contrato principal por corretora. |
| aggregate[].mean_pct | number | % | Média simples sobre o mesmo conjunto da mediana. |
| aggregate[].oi_weighted_pct | number | % | Base ponderada pelos contratos em aberto; linhas sem peso de OI ficam de fora. |
| aggregate[].n_exchanges | number | — | Corretoras no agregado. |
| series | array | — | Uma série por corretora. |
| series[] | object | — | Uma série por corretora. |
| series[].exchange | string | — | ID da corretora (em minúsculas). |
| series[].symbol | string | — | Símbolo do contrato no formato de armazenamento da CoinBoss. |
| series[].primary | boolean | — | True para o contrato que representa sua corretora na mediana e na média. |
| series[].in_aggregate | boolean | — | True quando a linha passou nas regras de inclusão. |
| series[].points | array | — | Pares `[hour start in ms, basis in %]`, do mais antigo para o mais recente. |
| series[].points[] | array | — | Pares `[hour start in ms, basis in %]`, do mais antigo para o mais recente. |
| series[].points[][] | number | — | Pares `[hour start in ms, basis in %]`, do mais antigo para o mais recente. |
| history | object | — | Quanto da janela solicitada está disponível. |
| history.requested_from | number | ms | Início da janela solicitada. |
| history.available_from | number | ms | Primeira hora armazenada. |
| history.available_to | number | ms | Última hora armazenada. |
| history.n_hours | number | — | Horas disponíveis na janela. |
| history.expected_hours | number | — | Horas que a janela contém quando completa. |
| history.complete | boolean | — | True quando todas as horas da janela solicitada estão armazenadas. |
| 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. |
| coverage.unavailable[] | object | — | Fontes que não puderam ser incluídas, cada uma com um motivo. Nunca são contadas como 0. |
| coverage.unavailable[].exchange | string | — | ID da corretora (em minúsculas). |
| coverage.unavailable[].reason | string | — | Código de motivo legível por máquina. |
| coverage.unavailable[].detail | string | — | Explicação do motivo em linguagem natural. |
| 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.series.points | string | — | Nota sobre a fórmula de `series.points`, em texto simples. |
| method.aggregate.median_pct | string | — | Nota sobre a fórmula de `aggregate.median_pct`, em texto simples. |
| method.aggregate.oi_weighted_pct | string | — | Nota sobre a fórmula de `aggregate.oi_weighted_pct`, em texto simples. |
| method.interval | string | — | Nota sobre a fórmula de `interval`, 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[].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. |
Gerada 2026-11-11 23:00 UTC a partir de 3 respostas reais.
Exemplo de resposta
/api/sd/basis/history?coin=BTC · Resposta real capturada 2026-11-13 04:02:46 UTC. Arrays e mapas longos são encurtados para exibição: series tinha 20 itens; aggregate tinha 25 itens; meta.source tinha 20 itens; series[].points tinha 25 itens; coverage.included_exchanges tinha 20 itens.
- "success"true
- "schema""coinboss.sd.basis/1"
- "now"1794542288014
- "coin""BTC"
- "kind""perp"
- "range""24h"
- "interval""1h"
- "exchange"null
- "aggregate"
- "series"
- "history"
- "requested_from"1794452400000
- "available_from"1794452400000
- "available_to"1794538800000
- "n_hours"25
- "expected_hours"24
- "complete"true
- "coverage"
- "included_exchanges"
- "unavailable"
- "stale_excluded"
- "method"
- "series.points""[hour_ts, (mark_price - index_price) / index_price * 100] from the first collector round after each full hour; hours where the two timestamps were more than 60 …"
- "aggregate.median_pct""median over one primary contract per exchange in that hour; excluded: |value| > 10, contracts with no trade in 24 h, exchanges whose index is not a comparable i…"
- "aggregate.oi_weighted_pct""sum(value * oi_usd) / sum(oi_usd) over all included contracts that have an OI snapshot for the same hour (oi_history / sd_contract_hourly, single-sided); null w…"
- "interval""fixed 1 h buckets, no interpolation; missing hours are simply absent"
- "meta"
- "schema""coinboss.sd.basis/1"
- "source"
- "observed_at"null
- "received_at"1794538827406
- "fetched_at"1794542288014
- "window""24h"
- "quality""FRESH"
- "is_stale"false
- "cache_ttl_s"300
- "fallback""history is served as stored; hours without a snapshot are absent, never interpolated"
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 |
|---|---|---|---|
| coin=ETH&kind=spot_perp | 200 | 41 ms | Aprovado FRESH |
| coin=BTC&exchange=binance | 200 | 32 ms | Aprovado FRESH |
| coin=BTC&range=1y | 400 | 1 ms | Aprovado retorna o erro esperado |
Verificado 2026-11-13 03:58:08 UTC
Detalhes
- Autenticação
- Nenhuma. Endpoint público.
- Limite de requisições
- 1200 requisições por minuto por IP
- Cache do servidor
- 5m
- Microcache de borda
- 10s
- Frequência de atualização
- Rodada do coletor a cada 60 segundos; uma linha é considerada atualizada por 180 segundos. Snapshots horários alimentam o histórico.
- Janela
- 24h / 7d / 30d, buckets horários.
- Fontes de dados
- Preço de marcação, preço do índice e último preço publicados por 21 corretoras de derivativos, além do preço spot da mesma corretora, coletados e armazenados pela CoinBoss (sd_px_latest, sd_px_hourly).
- Cobertura de corretoras
- 21 corretoras. As corretoras que não publicam preço do índice ou preço de marcação são listadas em `coverage.unavailable`; linhas cujas duas pernas de preço estão separadas por mais de 60 segundos retornam `null`. As linhas deixadas fora do agregado são listadas em `coverage.excluded_from_aggregate`, com o motivo.
- Paginação
- Sem paginação; `range` limita o número de pontos.
- Ordenação
- Horário em ordem crescente.
- Unidades
- All basis values in percent. Prices in the quote currency of the contract (USDT / USDC / USD). `oi_usd` single-sided.
- Método
- Each point is the snapshot taken in the first ten minutes of the hour. The OI weight of a historical hour is the open interest recorded in that hour; without it `oi_weighted_pct` is `null`.
- 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. A resposta informa `history.available_from`, `n_hours` em relação a `expected_hours` e `complete`; horas sem dados ficam ausentes, não são interpoladas.
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/basis/historyParcialstring — Coin symbol, case-insensitive (for example `BTC`). Missing or malformed values return 400.
string · padrão perp — `perp`: mark price against the index price of the same exchange. `spot_perp`: perpetual price against the spot price of the same exchange.
string · padrão 24h — Look-back range, one point per hour.
string — One exchange id. Default: all exchanges. An unknown id returns 400.
https://www.coinboss.com/api/sd/basis/history?coin=BTCMais nesta categoria
- Base de futuros (todas as corretoras) /api/sd/basis
- Histórico da base (horário) /api/sd/basis/history
- Moedas classificadas pela base /api/sd/basis/rank
- Lista de base entre futuros e spot /api/derivatives/basis
- Spread diário do preço do BTC entre Coinbase e Kraken /api/p3/cb-kr-spread
- Índice de prêmio do Bitcoin na Coinbase /api/p3/coinbase-premium
- Lista do índice de prêmio dos perpétuos /api/p3/premium-index
- Histórico do índice de prêmio de uma moeda /api/p3/premium-index/history
- Candles do índice de prêmio /api/p3/premium-index/klines
- Prêmio do USDT no mercado OTC em relação ao câmbio fiduciário /api/usdt-premium
- Lista completa de base entre futuros e spot /api/basis/list