Histórico de opções (horário)
Série horária de contratos em aberto, volume, razão put/call, IV ATM ou max pain de opções de uma moeda. O histórico começa quando a CoinBoss iniciou a coleta (2026-11-11); as horas anteriores não são preenchidas retroativamente.
/api/sd/options/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 |
| metric | string | Obrigatório | — | oi, volume, pcr, atm_iv, max_pain | Série a retornar. Exemplo: oi |
| range | string | Opcional | 7d | 24h, 7d, 30d, 90d | Janela retroativa; um ponto por hora, no máximo 2160 pontos. |
| exchange | string | Opcional | all | all, deribit, binance, bybit, okx, gate, coincall | Uma corretora, ou `all` para o agregado entre corretoras. |
Exemplo de requisição
curl -s "https://www.coinboss.com/api/sd/options/history?coin=BTC&metric=oi"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). |
| exchange | string | — | ID da corretora (em minúsculas). |
| metric | string | — | Série selecionada pelo parâmetro `metric`. |
| range | string | — | Janela retroativa aplicada. |
| interval | string | — | Espaçamento dos pontos da série. |
| points_count | number | — | Número de pontos retornados. |
| expected_points | number | — | Número de pontos horários que a janela solicitada conteria quando completa. |
| history_started_at | number | ms | Horário da primeira hora coletada pela CoinBoss. |
| first_t | number | ms | Horário do primeiro ponto retornado. |
| last_t | number | ms | Horário do último ponto retornado. |
| 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[].snapshot_at | number | ms | Horário da rodada do coletor a partir da qual o ponto foi gravado. |
| points[].n_exchanges | number | — | Número de corretoras no ponto. |
| points[].exchanges | array | — | Corretoras incluídas nesta linha. |
| points[].exchanges[] | string | — | Corretoras incluídas nesta linha. |
| points[].oi_usd | number | USD | Contratos em aberto em valor nocional em USD: quantidade de moedas × preço do índice spot. Unilateral. pode estar ausente |
| points[].call_oi_usd | number | USD | Contratos em aberto de calls, valor nocional em USD. pode estar ausente |
| points[].put_oi_usd | number | USD | Contratos em aberto de puts, valor nocional em USD. pode estar ausente |
| points[].oi_coin | number | coin | Contratos em aberto em unidades da moeda subjacente. pode estar ausente |
| points[].index_price | number | USD | Preço do índice spot usado para a conversão em USD (nos agregados, a mediana dos preços do índice das próprias corretoras). pode estar ausente |
| 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.points | string | — | Nota sobre a fórmula de `points`, em texto simples. |
| method.exchanges | string | — | Nota sobre a fórmula de `exchanges`, em texto simples. |
| method.history_depth | string | — | Nota sobre a fórmula de `history_depth`, em texto simples. |
| method.oi_usd | string | — | Nota sobre a fórmula de `oi_usd`, em texto simples. pode estar ausente |
| 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. |
| points[].pcr_oi | number | ratio | Contratos em aberto de puts ÷ contratos em aberto de calls, em unidades de moeda; `null` quando o lado das calls é 0. pode estar ausente |
| points[].pcr_vol | number | ratio | Volume de 24h das puts ÷ volume de 24h das calls, em unidades de moeda; `null` quando o lado das calls é 0. pode estar ausente |
| method.pcr_oi | string | — | Nota sobre a fórmula de `pcr_oi`, em texto simples. pode estar ausente |
| method.pcr_vol | string | — | Nota sobre a fórmula de `pcr_vol`, em texto simples. pode estar ausente |
| points[].atm_iv_30d | number | % | IV ATM interpolada linearmente para um prazo constante de 30 dias; `null` quando os 30 dias não ficam entre dois vencimentos. pode estar ausente |
| method.atm_iv | string | — | Nota sobre a fórmula de `atm_iv`, em texto simples. pode estar ausente |
| method.atm_iv_30d | string | — | Nota sobre a fórmula de `atm_iv_30d`, em texto simples. pode estar ausente |
Gerada 2026-11-11 23:00 UTC a partir de 3 respostas reais.
Exemplo de resposta
/api/sd/options/history?coin=BTC&metric=oi · Resposta real capturada 2026-11-13 03:58:20 UTC. Arrays e mapas longos são encurtados para exibição: points tinha 23 itens; meta.source tinha 6 itens; coverage.unavailable tinha 12 itens.
- "success"true
- "schema""coinboss.sd.options/1"
- "now"1794542300888
- "coin""BTC"
- "exchange""all"
- "metric""oi"
- "range""7d"
- "interval""1h"
- "points_count"23
- "expected_points"168
- "history_started_at"1794416400000
- "first_t"1794416400000
- "last_t"1794520800000
- "points"
- "coverage"
- "included_exchanges"
- "unavailable"
- "stale_excluded"
- "method"
- "points""one point per UTC hour bucket (t = bucket start, ms); the value is the LAST collector snapshot inside that hour (snapshot_at); hours in which the collector prod…"
- "exchanges""exchanges that were fresh and therefore included in that hour's figure; a change in this list between points explains level shifts in the all-exchange series"
- "history_depth""hourly summaries are kept for 90 days; the series starts when the collector was first deployed (history_started_at), so fewer points than the requested range ma…"
- "oi_usd""sum over contracts of oi_coin x that exchange's spot index price (USDT/USDC treated 1:1 as USD); oi_coin is open interest in units of the underlying coin after …"
- "meta"
- "schema""coinboss.sd.options/1"
- "source"
- "observed_at"null
- "received_at"1794522484809
- "fetched_at"1794542300888
- "window""7d"
- "quality""STALE"
- "is_stale"true
- "cache_ttl_s"300
- "fallback""hours without a collector snapshot are absent from the series (no interpolation); PARTIAL means fewer hourly points exist than the requested range (history shor…"
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&range=24h&metric=pcr | 200 | 2 ms | Aprovado STALE |
| coin=BTC&metric=atm_iv | 200 | 3 ms | Aprovado STALE |
| coin=BTC | 400 | 1 ms | Aprovado retorna o erro esperado |
Verificado 2026-11-13 03:58:20 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
- Um ponto por hora, gravado a partir da última rodada do coletor nessa hora.
- Janela
- 24h / 7d / 30d / 90d, pontos horários.
- Fontes de dados
- Endpoints REST públicos de opções de Deribit, Binance, Bybit, OKX, Gate e Coincall, coletados e armazenados pela CoinBoss (sd_opt_latest, sd_opt_summary_hourly). Nenhum agregador terceiro está envolvido.
- Cobertura de corretoras
- Seis corretoras de opções. Uma moeda sem opções listadas nas corretoras selecionadas retorna HTTP 200 com campos nulos, `meta.quality = "UNAVAILABLE"` e o motivo em `coverage.unavailable`. As corretoras sem feed público de opções também são listadas ali.
- Paginação
- Sem paginação; `range` limita o número de pontos.
- Ordenação
- Horário em ordem crescente.
- Unidades
- USD notional = contracts × contract size × spot index price of the venue. `*_coin` fields are in units of the underlying coin. Implied volatility is in percent (55 = 55 %). `vol_premium_usd_24h` is premium turnover, reported separately and never added to notional volume.
- 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
O endpoint reporta qualidade dos dados STALE
Disponibilidade, últimos 30 dias
99.75% de 407 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/options/historyDegradadostring — Coin symbol, case-insensitive (for example `BTC`). Missing or malformed values return 400.
string — Series to return.
string · padrão 7d — Look-back range; one point per hour, 2160 points at most.
string · padrão all — One venue, or `all` for the cross-venue aggregate.
https://www.coinboss.com/api/sd/options/history?coin=BTC&metric=oiMais nesta categoria
- Cadeia de opções (uma corretora) /api/sd/options/chain
- Opções por vencimento /api/sd/options/expiries
- Histórico de opções (horário) /api/sd/options/history
- Visão geral de opções (todas as corretoras) /api/sd/options/overview
- Opções por strike /api/sd/options/strikes
- Resumo de opções da página da moeda /api/currency/options-summary
- Sorriso / estrutura a termo da volatilidade implícita de opções /api/options/iv
- Histórico da volatilidade implícita de opções /api/options/iv-history
- Max pain de opções /api/options/max-pain
- OI de opções por vencimento /api/options/oi-by-expiry
- OI de opções por strike /api/options/oi-by-strike
- Visão geral de opções /api/options/overview
- Distribuição do volume de opções /api/options/volume-dist