Opções por strike
Contratos em aberto e volume de 24h por strike, com calls e puts em separado. Com um único vencimento, a resposta traz também a curva de max pain (payout em cada strike).
/api/sd/options/strikesRequisiçã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 |
| expiry | string | Opcional | all | — | `all`, ou uma data de vencimento em UTC no formato `YYYY-MM-DD`. A curva de max pain só é retornada para um único vencimento. Uma data desconhecida retorna 404 e lista as datas disponíveis. |
| 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/strikes?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). |
| exchange | string | — | ID da corretora (em minúsculas). |
| expiry | string | — | Data de vencimento (UTC), `YYYY-MM-DD`, ou `all`. |
| expiry_ts | null | — | Horário de vencimento. |
| days_left | null | days | Dias até o vencimento. |
| 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). |
| n_strikes | number | — | Número de strikes retornados. |
| max_pain | null | USD | Strike no qual o pagamento total aos titulares de opções no vencimento é o menor. |
| max_pain_usd | null | USD | Pagamento total aos titulares de opções se o vencimento fosse liquidado no strike de max pain. |
| n_contracts | number | — | Número de contratos de opções incluídos. |
| oi_usd | number | USD | Contratos em aberto em valor nocional em USD: quantidade de moedas × preço do índice spot. Unilateral. |
| call_oi_usd | number | USD | Contratos em aberto de calls, valor nocional em USD. |
| put_oi_usd | number | USD | Contratos em aberto de puts, valor nocional em USD. |
| oi_coin | number | coin | Contratos em aberto em unidades da moeda subjacente. |
| call_oi_coin | number | coin | Contratos em aberto de calls em unidades da moeda subjacente. |
| put_oi_coin | number | coin | Contratos em aberto de puts em unidades da moeda subjacente. |
| vol_usd_24h | number | USD | Volume nocional de 24h: quantidade de moedas negociada × preço atual do índice spot. Não é o volume de prêmios. |
| call_vol_usd_24h | number | USD | Volume nocional de 24h das calls. |
| put_vol_usd_24h | number | USD | Volume nocional de 24h das puts. |
| vol_coin_24h | number | coin | Quantidade negociada em 24h em unidades da moeda subjacente. |
| call_vol_coin_24h | number | coin | Quantidade negociada em 24h das calls, em moedas. |
| put_vol_coin_24h | number | coin | Quantidade negociada em 24h das puts, em moedas. |
| vol_premium_usd_24h | number | USD | Volume de prêmios de 24h (preço da opção × quantidade) onde a corretora o publica; `null` nos demais casos. Nunca é somado ao volume nocional. |
| 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. |
| 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. |
| expiries_available | array | — | Datas de vencimento que atualmente têm contratos. |
| expiries_available[] | string | — | Datas de vencimento que atualmente têm contratos. |
| strikes | array | — | Uma linha por strike, em ordem crescente. |
| strikes[] | object | — | Uma linha por strike, em ordem crescente. |
| strikes[].strike | number | USD | Preço de exercício (strike). |
| strikes[].call_oi_coin | number | coin | Contratos em aberto de calls em unidades da moeda subjacente. |
| strikes[].put_oi_coin | number | coin | Contratos em aberto de puts em unidades da moeda subjacente. |
| strikes[].call_oi_usd | number | USD | Contratos em aberto de calls, valor nocional em USD. |
| strikes[].put_oi_usd | number | USD | Contratos em aberto de puts, valor nocional em USD. |
| strikes[].call_vol_coin_24h | number | coin | Quantidade negociada em 24h das calls, em moedas. |
| strikes[].put_vol_coin_24h | number | coin | Quantidade negociada em 24h das puts, em moedas. |
| strikes[].call_vol_usd_24h | number | USD | Volume nocional de 24h das calls. |
| strikes[].put_vol_usd_24h | number | USD | Volume nocional de 24h das puts. |
| strikes[].pain_usd | null | USD | Pagamento total aos titulares de opções se o vencimento fosse liquidado neste strike. |
| strikes[].call_pain_usd | null | USD | Pagamento aos titulares de calls se o vencimento fosse liquidado neste strike. |
| strikes[].put_pain_usd | null | USD | Pagamento aos titulares de puts se o vencimento fosse liquidado neste strike. |
| 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 |
| coverage.field_gaps | array | — | Colunas que uma corretora não publica; elas são `null` para essa corretora. |
| coverage.field_gaps[] | object | — | Colunas que uma corretora não publica; elas são `null` para essa corretora. |
| coverage.field_gaps[].exchange | string | — | ID da corretora (em minúsculas). |
| coverage.field_gaps[].fields | array | — | Nomes das colunas ausentes. |
| coverage.field_gaps[].fields[] | string | — | Nomes das colunas ausentes. |
| coverage.field_gaps[].kind | string | — | Família de contratos: `inverse` (liquidados em cripto) ou `linear` (liquidados em stablecoin). |
| method | object | — | Descrição em texto simples das fórmulas usadas nesta resposta, uma entrada por campo. |
| method.oi_usd | string | — | Nota sobre a fórmula de `oi_usd`, em texto simples. |
| method.vol_usd_24h | string | — | Nota sobre a fórmula de `vol_usd_24h`, em texto simples. |
| method.pcr_oi | string | — | Nota sobre a fórmula de `pcr_oi`, em texto simples. |
| method.max_pain | string | — | Nota sobre a fórmula de `max_pain`, em texto simples. |
| method.strikes | string | — | Nota sobre a fórmula de `strikes`, em texto simples. |
| method.pain_usd | string | — | Nota sobre a fórmula de `pain_usd`, 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 | number | ms | 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/options/strikes?coin=BTC · Resposta real capturada 2026-11-13 03:58:21 UTC. Arrays e mapas longos são encurtados para exibição: strikes tinha 146 itens; meta.source tinha 6 itens; expiries_available tinha 12 itens; coverage.field_gaps tinha 4 itens; coverage.unavailable tinha 12 itens; coverage.stale_included tinha 6 itens.
- "success"true
- "schema""coinboss.sd.options/1"
- "now"1794542301841
- "coin""BTC"
- "exchange""all"
- "expiry""all"
- "expiry_ts"null
- "days_left"null
- "index_price"71498.15576087
- "n_strikes"146
- "max_pain"null
- "max_pain_usd"null
- "n_contracts"5792
- "oi_usd"32670143083.84
- "call_oi_usd"18276964561.96
- "put_oi_usd"14393178521.88
- "oi_coin"457419.65
- "call_oi_coin"255899.54
- "put_oi_coin"201520.11
- "vol_usd_24h"4295495191.7
- "call_vol_usd_24h"2031780368.24
- "put_vol_usd_24h"2263714823.46
- "vol_coin_24h"60122.56
- "call_vol_coin_24h"28436.77
- "put_vol_coin_24h"31685.79
- "vol_premium_usd_24h"34033631.12
- "pcr_oi"0.7875
- "pcr_vol"1.1143
- "expiries_available"
- "2026-11-13"
- "2026-11-14"
- "2026-11-15"
- "2026-11-16"
- "2026-11-20"
- "2026-11-27"
- "2026-12-04"
- "2026-12-25"
- "strikes"
- "coverage"
- "included_exchanges"
- "unavailable"
- "stale_excluded"
- "field_gaps"
- "stale_included"
- "method"
- "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 …"
- "vol_usd_24h""NOTIONAL 24h volume = sum of vol_coin (24h traded quantity in underlying coin) x the exchange's CURRENT spot index price; not premium turnover. Binance statisti…"
- "pcr_oi""put open interest / call open interest, both in underlying-coin units; null when call side is 0 or missing"
- "max_pain""per expiry: settlement price S among strikes with OI>0 minimizing pain_usd(S) = sum_calls oi_coin x max(S-K,0) + sum_puts oi_coin x max(K-S,0); ties take the lo…"
- "strikes""per strike: call and put open interest / 24h volume summed over the selected exchanges and expiry (expiry=all sums every listed expiry)"
- "pain_usd""total USD payout to option holders if the expiry settled at this strike (see max_pain); only returned for a single expiry - null when expiry=all because max pai…"
- "meta"
- "schema""coinboss.sd.options/1"
- "source"
- "observed_at"1794522472654
- "received_at"1794522473814
- "fetched_at"1794542301841
- "window""latest"
- "quality""STALE"
- "is_stale"true
- "cache_ttl_s"60
- "fallback""on collector failure the last stored rows are served: an exchange whose newest batch is older than 25 min (collector cycle is 10 min) is excluded from totals (l…"
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 | 200 | 11 ms | Aprovado STALE |
| coin=BTC&exchange=deribit | 200 | 5 ms | Aprovado STALE |
| coin=BTC&expiry=2020-01-01 | 404 | 2 ms | Aprovado retorna o erro esperado |
Verificado 2026-11-13 03:58:21 UTC
Detalhes
- Autenticação
- Nenhuma. Endpoint público.
- Limite de requisições
- 1200 requisições por minuto por IP
- Cache do servidor
- 60s
- Microcache de borda
- 10s
- Frequência de atualização
- Rodada do coletor a cada 10 minutos; uma corretora é considerada atualizada por 25 minutos após sua última rodada bem-sucedida.
- Janela
- Snapshot mais recente; os campos de volume cobrem as últimas 24 horas.
- 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; todos os strikes da seleção são retornados.
- Ordenação
- Strike 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.
- Método
- pain_usd at strike K = Σ call OI × max(K − strike, 0) + Σ put OI × max(strike − K, 0), in USD. `max_pain` is the K with the smallest pain_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
O endpoint reporta qualidade dos dados STALE
Disponibilidade, últimos 30 dias
100% de 407 verificações aprovadas
- Retornado, mas não documentado: coverage.stale_included, coverage.stale_included[], coverage.stale_included[].exchange, coverage.stale_included[].age_s
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/strikesDegradadostring — Coin symbol, case-insensitive (for example `BTC`). Missing or malformed values return 400.
string · padrão all — `all`, or one UTC expiry date as `YYYY-MM-DD`. The max-pain curve is returned only for a single expiry. An unknown date returns 404 and lists the available dates.
string · padrão all — One venue, or `all` for the cross-venue aggregate.
https://www.coinboss.com/api/sd/options/strikes?coin=BTCMais 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