/api/sd/options/overview
GETDegradadoSTALE

Resumen de opciones (todas las plataformas)

Interés abierto, volumen de 24h, ratios put/call, max pain, volatilidad implícita ATM, skew 25-delta y estructura temporal de la IV de las opciones de una moneda, agregados sobre seis plataformas y con desglose por plataforma.

GET/api/sd/options/overview
Degradado. El endpoint informa de una calidad de datos STALE

Solicitud

Parámetros de consulta

NombreTipoObligatorioValor por defectoValores admitidosDescripción
coinstringObligatorio——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

Solicitud de ejemplo

curl -s "https://www.coinboss.com/api/sd/options/overview?coin=BTC"

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.

CampoTipoUnidadDescripción
successboolean—true cuando la solicitud se completó correctamente. En caso de fallo, el cuerpo es `{ success: false, code, error, request_id }`.
schemastring—Id de esquema de esta respuesta. Solo cambia cuando un campo existente cambia de significado o de tipo.
nownumbermsHora del servidor en el momento de generar la respuesta.
coinstring—Símbolo de la moneda (en mayúsculas).
index_pricenumber|nullUSDPrecio del índice spot usado para la conversión a USD (en los agregados, la mediana de los precios del índice propios de las plataformas).
n_contractsnumber|null—Número de contratos de opciones incluidos.
oi_usdnumber|nullUSDInterés abierto como nocional USD: cantidad de monedas × precio del índice spot. Por un solo lado.
call_oi_usdnumber|nullUSDInterés abierto de calls, nocional USD.
put_oi_usdnumber|nullUSDInterés abierto de puts, nocional USD.
oi_coinnumber|nullcoinInterés abierto en unidades de la moneda subyacente.
call_oi_coinnumber|nullcoinInterés abierto de calls en unidades de la moneda subyacente.
put_oi_coinnumber|nullcoinInterés abierto de puts en unidades de la moneda subyacente.
vol_usd_24hnumber|nullUSDVolumen nocional de 24h: cantidad de monedas negociada × precio actual del índice spot. No es el volumen de primas.
call_vol_usd_24hnumber|nullUSDVolumen nocional de 24h de calls.
put_vol_usd_24hnumber|nullUSDVolumen nocional de 24h de puts.
vol_coin_24hnumber|nullcoinCantidad negociada en 24h en unidades de la moneda subyacente.
call_vol_coin_24hnumber|nullcoinCantidad negociada en 24h de calls, en moneda.
put_vol_coin_24hnumber|nullcoinCantidad negociada en 24h de puts, en moneda.
vol_premium_usd_24hnumber|nullUSDVolumen de primas de 24h (precio de la opción × cantidad) donde la plataforma lo publica; `null` en el resto. Nunca se suma al volumen nocional.
pcr_oinumber|nullratioInterés abierto de puts ÷ interés abierto de calls, en unidades de moneda; `null` cuando el lado de calls es 0.
pcr_volnumber|nullratioVolumen de 24h de puts ÷ volumen de 24h de calls, en unidades de moneda; `null` cuando el lado de calls es 0.
n_expiriesnumber|null—Número de fechas de vencimiento incluidas.
vol_exchangesarray—Plataformas que contribuyen al volumen nocional.
vol_exchanges[]string—Plataformas que contribuyen al volumen nocional.
vol_premium_exchangesarray—Plataformas que publican el volumen de primas.
vol_premium_exchanges[]string—Plataformas que publican el volumen de primas.
max_pain_nearestobject|null—Max pain del vencimiento más cercano con interés abierto.
max_pain_nearest.expirystring—Fecha de vencimiento (UTC), `YYYY-MM-DD`, o `all`.
max_pain_nearest.days_leftnumberdaysDías hasta el vencimiento.
max_pain_nearest.strikenumberUSDPrecio de ejercicio.
max_pain_nearest.pain_usdnumberUSDPago total a los titulares de opciones si el vencimiento se liquidara a este precio de ejercicio.
max_pain_nearest.oi_usdnumberUSDInterés abierto como nocional USD: cantidad de monedas × precio del índice spot. Por un solo lado.
max_pain_nearest.exchangesarray—Plataformas incluidas en esta fila.
max_pain_nearest.exchanges[]string—Plataformas incluidas en esta fila.
max_pain_mainobject|null—Max pain del vencimiento principal: el vencimiento más cercano que concentra al menos el 5 % del interés abierto total.
max_pain_main.expirystring—Fecha de vencimiento (UTC), `YYYY-MM-DD`, o `all`.
max_pain_main.days_leftnumberdaysDías hasta el vencimiento.
max_pain_main.strikenumberUSDPrecio de ejercicio.
max_pain_main.pain_usdnumberUSDPago total a los titulares de opciones si el vencimiento se liquidara a este precio de ejercicio.
max_pain_main.oi_usdnumberUSDInterés abierto como nocional USD: cantidad de monedas × precio del índice spot. Por un solo lado.
max_pain_main.exchangesarray—Plataformas incluidas en esta fila.
max_pain_main.exchanges[]string—Plataformas incluidas en esta fila.
atm_iv_nearestnumber|null%IV ATM del vencimiento más cercano.
atm_iv_mainnumber|null%IV ATM del vencimiento principal.
atm_iv_30dnumber|null%IV ATM interpolada linealmente a un vencimiento constante de 30 días; `null` cuando los 30 días no quedan entre dos vencimientos.
skew_25d_mainnumber|nullpercentage pointsSkew 25 delta del vencimiento principal.
term_structurearray—IV ATM por vencimiento, primero el más cercano.
term_structure[]object—IV ATM por vencimiento, primero el más cercano.
term_structure[].expirystring—Fecha de vencimiento (UTC), `YYYY-MM-DD`, o `all`.
term_structure[].days_leftnumberdaysDías hasta el vencimiento.
term_structure[].atm_ivnumber%Volatilidad implícita at-the-money: media de la IV de marca en el precio de ejercicio más cercano al precio forward.
term_structure[].oi_usdnumberUSDInterés abierto como nocional USD: cantidad de monedas × precio del índice spot. Por un solo lado.
exchangesarray—Plataformas incluidas en esta fila.
exchanges[]object—Plataformas incluidas en esta fila.
exchanges[].exchangestring—Id del exchange (en minúsculas).
exchanges[].oi_share_pctnumber%Cuota del interés abierto total (nocional USD) de la selección.
exchanges[].n_contractsnumber—Número de contratos de opciones incluidos.
exchanges[].oi_usdnumberUSDInterés abierto como nocional USD: cantidad de monedas × precio del índice spot. Por un solo lado.
exchanges[].call_oi_usdnumberUSDInterés abierto de calls, nocional USD.
exchanges[].put_oi_usdnumberUSDInterés abierto de puts, nocional USD.
exchanges[].oi_coinnumbercoinInterés abierto en unidades de la moneda subyacente.
exchanges[].call_oi_coinnumbercoinInterés abierto de calls en unidades de la moneda subyacente.
exchanges[].put_oi_coinnumbercoinInterés abierto de puts en unidades de la moneda subyacente.
exchanges[].vol_usd_24hnumberUSDVolumen nocional de 24h: cantidad de monedas negociada × precio actual del índice spot. No es el volumen de primas.
exchanges[].call_vol_usd_24hnumberUSDVolumen nocional de 24h de calls.
exchanges[].put_vol_usd_24hnumberUSDVolumen nocional de 24h de puts.
exchanges[].vol_coin_24hnumbercoinCantidad negociada en 24h en unidades de la moneda subyacente.
exchanges[].call_vol_coin_24hnumbercoinCantidad negociada en 24h de calls, en moneda.
exchanges[].put_vol_coin_24hnumbercoinCantidad negociada en 24h de puts, en moneda.
exchanges[].vol_premium_usd_24hnumber|nullUSDVolumen de primas de 24h (precio de la opción × cantidad) donde la plataforma lo publica; `null` en el resto. Nunca se suma al volumen nocional.
exchanges[].pcr_oinumberratioInterés abierto de puts ÷ interés abierto de calls, en unidades de moneda; `null` cuando el lado de calls es 0.
exchanges[].pcr_volnumberratioVolumen de 24h de puts ÷ volumen de 24h de calls, en unidades de moneda; `null` cuando el lado de calls es 0.
exchanges[].n_expiriesnumber—Número de fechas de vencimiento incluidas.
exchanges[].oi_usd_inversenumber|nullUSDInterés abierto de los contratos liquidados en moneda.
exchanges[].oi_usd_linearnumberUSDInterés abierto de los contratos liquidados en stablecoin.
exchanges[].oi_usd_reportednumber|nullUSDCifra propia de la plataforma de interés abierto en USD, donde la publica. Solo para verificación cruzada.
exchanges[].vol_usd_reported_24hnumber|nullUSDVolumen nocional propio de la plataforma, donde lo publica. Solo para verificación cruzada.
exchanges[].index_pricenumberUSDPrecio del índice spot usado para la conversión a USD (en los agregados, la mediana de los precios del índice propios de las plataformas).
exchanges[].received_atnumbermsHora en que el recolector de CoinBoss recibió los datos.
exchanges[].observed_atnumber|nullmsMarca de tiempo que la fuente asigna a los datos.
exchanges[].age_snumbersSegundos transcurridos desde que se recibió la fila.
exchanges[].is_staleboolean—True cuando los datos son más antiguos que su ventana de frescura.
coverageobject—Qué se incluye y qué no en las cifras. Conviene revisarlo antes de comparar totales con otra fuente.
coverage.included_exchangesarray—Fuentes cuyos datos frescos se incluyen.
coverage.included_exchanges[]string—Fuentes cuyos datos frescos se incluyen.
coverage.unavailablearray—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[].exchangestring—Id del exchange (en minúsculas).
coverage.unavailable[].reasonstring—Código de motivo legible por máquina.
coverage.unavailable[].detailstring—Explicación del motivo legible por personas.
coverage.stale_excludedarray—Filas excluidas porque su última actualización está fuera de la ventana de frescura. vacío en las muestras usadas para generar esta tabla
coverage.field_gapsarray—Columnas que una plataforma no publica; son `null` para esa plataforma.
coverage.field_gaps[]object—Columnas que una plataforma no publica; son `null` para esa plataforma.
coverage.field_gaps[].exchangestring—Id del exchange (en minúsculas).
coverage.field_gaps[].fieldsarray—Nombres de las columnas ausentes.
coverage.field_gaps[].fields[]string—Nombres de las columnas ausentes.
coverage.field_gaps[].kindstring—Familia de contratos: `inverse` (liquidados en moneda) o `linear` (liquidados en stablecoin).
methodobject—Enunciado en texto plano de las fórmulas utilizadas en esta respuesta, con una entrada por campo.
method.oi_usdstring—Nota de fórmula de `oi_usd`, en texto plano.
method.vol_usd_24hstring—Nota de fórmula de `vol_usd_24h`, en texto plano.
method.vol_premium_usd_24hstring—Nota de fórmula de `vol_premium_usd_24h`, en texto plano.
method.pcr_oistring—Nota de fórmula de `pcr_oi`, en texto plano.
method.pcr_volstring—Nota de fórmula de `pcr_vol`, en texto plano.
method.max_painstring—Nota de fórmula de `max_pain`, en texto plano.
method.atm_ivstring—Nota de fórmula de `atm_iv`, en texto plano.
method.atm_iv_30dstring—Nota de fórmula de `atm_iv_30d`, en texto plano.
method.skew_25dstring—Nota de fórmula de `skew_25d`, en texto plano.
method.oi_share_pctstring—Nota de fórmula de `oi_share_pct`, en texto plano.
method.index_pricestring—Nota de fórmula de `index_price`, en texto plano.
method.max_pain_mainstring—Nota de fórmula de `max_pain_main`, en texto plano.
method.oi_usd_reportedstring—Nota de fórmula de `oi_usd_reported`, en texto plano. puede faltar
method.vol_usd_reported_24hstring—Nota de fórmula de `vol_usd_reported_24h`, en texto plano. puede faltar
metaobject—Linaje y frescura de esta respuesta.
meta.schemastring—Id de esquema de esta respuesta. Solo cambia cuando un campo existente cambia de significado o de tipo.
meta.sourcearray—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[].exchangestring—Id del exchange (en minúsculas).
meta.source[].endpointstring—Endpoint público de la fuente que lee el recolector (se muestra por linaje; los clientes nunca lo llaman).
meta.observed_atnumber|nullmsMarca de tiempo que la fuente asigna a los datos.
meta.received_atnumber|nullmsHora en que el recolector de CoinBoss recibió los datos.
meta.fetched_atnumbermsHora en que se compuso esta respuesta.
meta.windowstring—Ventana temporal que cubren las cifras.
meta.qualitystring—FRESH, PARTIAL, STALE, BROKEN o UNAVAILABLE, según las marcas de tiempo de los datos y la cobertura.
meta.is_staleboolean—True cuando los datos son más antiguos que su ventana de frescura.
meta.cache_ttl_snumbersTiempo de vida en caché de esta respuesta.
meta.fallbackstring—Qué devuelve el endpoint cuando falla el recolector o una fuente.

Generada 2026-11-11 23:00 UTC a partir de 4 respuestas reales.

Respuesta de ejemplo

/api/sd/options/overview?coin=BTC · Respuesta real capturada 2026-11-13 03:58:21 UTC. Los arrays y mapas largos se abrevian para su visualización: exchanges tenía 6 elementos; meta.source tenía 6 elementos; term_structure tenía 12 elementos; coverage.field_gaps tenía 4 elementos; coverage.unavailable tenía 12 elementos; coverage.stale_included tenía 6 elementos.

  • {
    • "success": true,
    • "schema": "coinboss.sd.options/1",
    • "now": 1794542301260,
    • "coin": "BTC",
    • "index_price": 71498.15576087,
    • "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,
    • "n_expiries": 12,
    • "vol_exchanges": [
      • "binance",
      • "bybit",
      • "coincall",
      • "deribit",
      • "gate",
      • "okx"
      ],
    • "vol_premium_exchanges": [
      • "binance",
      • "deribit",
      • "gate"
      ],
    • "max_pain_nearest": {
      • "expiry": "2026-11-13",
      • "days_left": 0.1678,
      • "strike": 75000,
      • "pain_usd": 15831410,
      • "oi_usd": 3892192707.39,
      • "exchanges": [ … 6 ]
      },
    • "max_pain_main": {
      • "expiry": "2026-11-13",
      • "days_left": 0.1678,
      • "strike": 75000,
      • "pain_usd": 15831410,
      • "oi_usd": 3892192707.39,
      • "exchanges": [ … 6 ]
      },
    • "atm_iv_nearest": 40.28,
    • "atm_iv_main": 40.28,
    • "atm_iv_30d": 37.2,
    • "skew_25d_main": 6.6,
    • "term_structure": [
      • { … 4 },
      • { … 4 }
      ],
    • "exchanges": [
      • { … 28 },
      • { … 28 }
      ],
    • "coverage": {
      • "included_exchanges": [ … 6 ],
      • "unavailable": [ … 2 ],
      • "stale_excluded": [],
      • "field_gaps": [ … 2 ],
      • "stale_included": [ … 2 ]
      },
    • "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…",
      • "vol_premium_usd_24h": "PREMIUM turnover (option price x quantity) as reported by the exchange: Deribit volume_usd, Binance amount, Gate sum(|size| x multiplier x price) from the 24h t…",
      • "pcr_oi": "put open interest / call open interest, both in underlying-coin units; null when call side is 0 or missing",
      • "pcr_vol": "put 24h volume / call 24h volume, 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…",
      • "atm_iv": "per exchange and expiry: reference price F = median of the exchange-published forward/underlying price of that expiry (the exchange index price where no forward…",
      • "atm_iv_30d": "30-day constant-maturity ATM IV: linear interpolation in days between the two expiries bracketing 30 days; null when 30 days is not bracketed",
      • "skew_25d": "IV(put with delta closest to -0.25, within +-0.10) - IV(call with delta closest to +0.25, within +-0.10), in percentage points, using exchange-published deltas …",
      • "oi_share_pct": "exchange oi_usd / sum of oi_usd over included exchanges x 100",
      • "index_price": "median of the included exchanges' own spot index prices",
      • "max_pain_main": "main expiry = nearest expiry holding >=5% of total OI notional (same rule as legacy /api/options/overview); max_pain_nearest = nearest listed expiry with OI",
      • "oi_usd_reported": "sum of the exchange's own USD figure where it publishes one (Binance sumOpenInterestUsd, OKX oiUsd), for cross-checking only; null elsewhere",
      • "vol_usd_reported_24h": "exchange-reported notional turnover where published (Bybit turnover24h), for cross-checking only; null elsewhere"
      },
    • "meta": {
      • "schema": "coinboss.sd.options/1",
      • "source": [ … 2 ],
      • "observed_at": 1794522472654,
      • "received_at": 1794522473814,
      • "fetched_at": 1794542301260,
      • "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…"
      }
    }

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ámetrosHTTPLatenciaResultado
coin=ETH20066 msCorrecto STALE
coin=SOL20022 msCorrecto STALE
coin=PEPE2002 msCorrecto UNAVAILABLE
—4001 msCorrecto devuelve el error esperado

Comprobado 2026-11-13 03:28:18 UTC

Detalles

Autenticación
Ninguna. Endpoint público.
Límite de solicitudes
1200 solicitudes por minuto por IP
Caché del servidor
60s
Microcaché de borde
10s
Frecuencia de actualización
Ronda del recolector cada 10 minutos; una plataforma es fresca durante 25 minutos tras su última ronda correcta.
Ventana
Última instantánea; los campos de volumen cubren las últimas 24 horas según informa cada plataforma.
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í.
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
pcr_oi = put OI ÷ call OI (coin units). Max pain = the strike that minimises the total intrinsic value paid to option holders at expiry. ATM IV = mean mark IV of the contracts at the strike closest to the forward price published by the venue for that expiry; `atm_iv_30d` is interpolated linearly between the two expiries that bracket 30 days. skew_25d = IV(put with delta closest to −0.25) − IV(call with delta closest to +0.25), in percentage points, using deltas published by the venues only.
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

DegradadoComprobado 2026-11-13 03:52:55 UTCHTTP 20057 msEl esquema coincideAntigüedad del dato más reciente: 5.4h

El endpoint informa de una calidad de datos STALE

Disponibilidad, últimos 30 días

100% de 407 comprobaciones superadas

Desviación del esquema detectada por la última sonda
  • Devuelto pero no documentado: coverage.stale_included, coverage.stale_included[], coverage.stale_included[].exchange, coverage.stale_included[].age_s

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ódigoHTTPSignificadoQué hacer
INVALID_PARAM400Falta 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.
UNAUTHORIZED401Se 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.
FORBIDDEN403La ruta no forma parte de la API pública (interna o solo para cuentas).No reintente.
NOT_FOUND404Ruta desconocida, o la moneda / el exchange / el fondo solicitado no existe.No reintente; compruebe la ruta y los identificadores en el catálogo.
RATE_LIMITED429Má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.
INTERNAL500Error 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_FAILED503La 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.
UNAVAILABLE501 / 503El 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_FAILED200Algunos 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

GET/api/sd/options/overviewDegradado
Parámetros

string — Coin symbol, case-insensitive (for example `BTC`). Missing or malformed values return 400.

URL de la solicitudhttps://www.coinboss.com/api/sd/options/overview?coin=BTC
Elija un endpoint y pulse «Enviar solicitud». Aquí aparecerán la respuesta, las cabeceras y los tiempos.