Historial de opciones (horario)
Serie horaria del interés abierto, el volumen, el ratio put/call, la IV ATM o el max pain de opciones de una moneda. El historial comienza cuando CoinBoss empezó a recopilar (2026-11-11); las horas anteriores no se reconstruyen.
/api/sd/options/historySolicitud
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 |
| metric | string | Obligatorio | — | oi, volume, pcr, atm_iv, max_pain | Serie que se devuelve. Ejemplo: oi |
| range | string | Opcional | 7d | 24h, 7d, 30d, 90d | Rango retrospectivo; un punto por hora, 2160 puntos como máximo. |
| exchange | string | Opcional | all | all, deribit, binance, bybit, okx, gate, coincall | Una plataforma, o `all` para el agregado entre plataformas. |
Solicitud de ejemplo
curl -s "https://www.coinboss.com/api/sd/options/history?coin=BTC&metric=oi"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). |
| exchange | string | — | Id del exchange (en minúsculas). |
| metric | string | — | Serie seleccionada por el parámetro `metric`. |
| range | string | — | Rango retrospectivo aplicado. |
| interval | string | — | Separación entre los puntos de la serie. |
| points_count | number | — | Número de puntos devueltos. |
| expected_points | number | — | Número de puntos horarios que contendría el rango solicitado cuando esté completo. |
| history_started_at | number | ms | Hora de la primera hora recopilada por CoinBoss. |
| first_t | number | ms | Hora del primer punto devuelto. |
| last_t | number | ms | Hora del último punto devuelto. |
| points | array | — | Puntos de la serie, del más antiguo al más reciente. |
| points[] | object | — | Puntos de la serie, del más antiguo al más reciente. |
| points[].t | number | ms | Inicio del tramo temporal. |
| points[].snapshot_at | number | ms | Hora de la ronda del recolector a partir de la cual se escribió el punto. |
| points[].n_exchanges | number | — | Número de plataformas en el punto. |
| points[].exchanges | array | — | Plataformas incluidas en esta fila. |
| points[].exchanges[] | string | — | Plataformas incluidas en esta fila. |
| points[].oi_usd | number | USD | Interés abierto como nocional USD: cantidad de monedas × precio del índice spot. Por un solo lado. puede faltar |
| points[].call_oi_usd | number | USD | Interés abierto de calls, nocional USD. puede faltar |
| points[].put_oi_usd | number | USD | Interés abierto de puts, nocional USD. puede faltar |
| points[].oi_coin | number | coin | Interés abierto en unidades de la moneda subyacente. puede faltar |
| points[].index_price | number | USD | Precio del índice spot usado para la conversión a USD (en los agregados, la mediana de los precios del índice propios de las plataformas). 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. |
| coverage.unavailable[] | object | — | Fuentes que no pudieron incluirse, cada una con su motivo. Nunca se cuentan como 0. |
| coverage.unavailable[].exchange | string | — | Id del exchange (en minúsculas). |
| coverage.unavailable[].reason | string | — | Código de motivo legible por máquina. |
| coverage.unavailable[].detail | string | — | Explicación del motivo legible por personas. |
| 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 |
| method | object | — | Enunciado en texto plano de las fórmulas utilizadas en esta respuesta, con una entrada por campo. |
| method.points | string | — | Nota de fórmula de `points`, en texto plano. |
| method.exchanges | string | — | Nota de fórmula de `exchanges`, en texto plano. |
| method.history_depth | string | — | Nota de fórmula de `history_depth`, en texto plano. |
| method.oi_usd | string | — | Nota de fórmula de `oi_usd`, en texto plano. puede faltar |
| 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[].endpoint | string | — | Endpoint público de la fuente que lee el recolector (se muestra por linaje; los clientes nunca lo llaman). |
| meta.observed_at | null | — | 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. |
| points[].pcr_oi | number | ratio | Interés abierto de puts ÷ interés abierto de calls, en unidades de moneda; `null` cuando el lado de calls es 0. puede faltar |
| points[].pcr_vol | number | ratio | Volumen de 24h de puts ÷ volumen de 24h de calls, en unidades de moneda; `null` cuando el lado de calls es 0. puede faltar |
| method.pcr_oi | string | — | Nota de fórmula de `pcr_oi`, en texto plano. puede faltar |
| method.pcr_vol | string | — | Nota de fórmula de `pcr_vol`, en texto plano. puede faltar |
| points[].atm_iv_30d | number | % | IV ATM interpolada linealmente a un vencimiento constante de 30 días; `null` cuando los 30 días no quedan entre dos vencimientos. puede faltar |
| method.atm_iv | string | — | Nota de fórmula de `atm_iv`, en texto plano. puede faltar |
| method.atm_iv_30d | string | — | Nota de fórmula de `atm_iv_30d`, en texto plano. puede faltar |
Generada 2026-11-11 23:00 UTC a partir de 3 respuestas reales.
Respuesta de ejemplo
/api/sd/options/history?coin=BTC&metric=oi · Respuesta real capturada 2026-11-13 03:58:20 UTC. Los arrays y mapas largos se abrevian para su visualización: points tenía 23 elementos; meta.source tenía 6 elementos; coverage.unavailable tenía 12 elementos.
- "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…"
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&range=24h&metric=pcr | 200 | 2 ms | Correcto STALE |
| coin=BTC&metric=atm_iv | 200 | 3 ms | Correcto STALE |
| coin=BTC | 400 | 1 ms | Correcto devuelve el error esperado |
Comprobado 2026-11-13 03:58:20 UTC
Detalles
- Autenticación
- Ninguna. Endpoint público.
- Límite de solicitudes
- 1200 solicitudes por minuto por IP
- Caché del servidor
- 5m
- Microcaché de borde
- 10s
- Frecuencia de actualización
- Un punto por hora, escrito a partir de la última ronda del recolector de esa hora.
- Ventana
- 24h / 7d / 30d / 90d, puntos horarios.
- Fuentes de datos
- Endpoints REST públicos de opciones de Deribit, Binance, Bybit, OKX, Gate y Coincall, recopilados y almacenados por CoinBoss (sd_opt_latest, sd_opt_summary_hourly). No interviene ningún agregador externo.
- Cobertura de exchanges
- Seis plataformas de opciones. Una moneda sin opciones listadas en las plataformas seleccionadas devuelve HTTP 200 con campos null, `meta.quality = "UNAVAILABLE"` y el motivo en `coverage.unavailable`. Las plataformas sin un feed público de opciones también se listan ahí.
- Paginación
- Sin paginación; `range` limita el número de puntos.
- Ordenación
- Tiempo ascendente.
- 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.
- 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 STALE
Disponibilidad, últimos 30 días
99.75% 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/options/historyDegradadostring — Coin symbol, case-insensitive (for example `BTC`). Missing or malformed values return 400.
string — Series to return.
string · por defecto 7d — Look-back range; one point per hour, 2160 points at most.
string · por defecto all — One venue, or `all` for the cross-venue aggregate.
https://www.coinboss.com/api/sd/options/history?coin=BTC&metric=oiMás en esta categoría
- Cadena de opciones (una plataforma) /api/sd/options/chain
- Opciones por vencimiento /api/sd/options/expiries
- Historial de opciones (horario) /api/sd/options/history
- Resumen de opciones (todas las plataformas) /api/sd/options/overview
- Opciones por precio de ejercicio /api/sd/options/strikes
- Resumen de opciones de la página de moneda /api/currency/options-summary
- Sonrisa / estructura temporal de la volatilidad implícita de opciones /api/options/iv
- Historial de la volatilidad implícita de opciones /api/options/iv-history
- Max pain de opciones /api/options/max-pain
- OI de opciones por vencimiento /api/options/oi-by-expiry
- OI de opciones por precio de ejercicio /api/options/oi-by-strike
- Resumen de opciones /api/options/overview
- Distribución del volumen de opciones /api/options/volume-dist