/api/sd/options/overview
GETDegradatoSTALE

Panoramica delle opzioni (tutti gli exchange)

Open interest, volume a 24h, rapporti put/call, max pain, volatilità implicita ATM, skew 25-delta e struttura a termine della IV delle opzioni per una moneta, aggregati su sei exchange con ripartizione per exchange.

GET/api/sd/options/overview
Degradato. L'endpoint segnala una qualità dei dati STALE

Richiesta

Parametri di query

NomeTipoObbligatorioPredefinitoValori ammessiDescrizione
coinstringObbligatorio——Simbolo della moneta, senza distinzione tra maiuscole e minuscole (per esempio `BTC`). I valori mancanti o malformati restituiscono 400. Esempio: BTC

Richiesta di esempio

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

Campi della risposta

La tabella dei campi è generata da risposte reali, quindi elenca esattamente ciò che l'endpoint restituisce. I percorsi usano a[] per gli elementi di un array e {*} per gli oggetti indicizzati da un nome dinamico, come una moneta o un exchange.

CampoTipoUnitàDescrizione
successboolean—true quando la richiesta è riuscita. In caso di errore il corpo è `{ success: false, code, error, request_id }`.
schemastring—ID dello schema di questa risposta. Cambia solo quando un campo esistente cambia significato o tipo.
nownumbermsOra del server al momento della composizione della risposta.
coinstring—Simbolo della moneta (in maiuscolo).
index_pricenumber|nullUSDPrezzo dell'indice spot usato per la conversione in USD (negli aggregati, mediana dei prezzi dell'indice dei singoli exchange).
n_contractsnumber|null—Numero di contratti di opzione inclusi.
oi_usdnumber|nullUSDOpen interest come nozionale USD: quantità di monete × prezzo dell'indice spot. Unilaterale.
call_oi_usdnumber|nullUSDOpen interest delle call, nozionale USD.
put_oi_usdnumber|nullUSDOpen interest delle put, nozionale USD.
oi_coinnumber|nullcoinOpen interest in unità della moneta sottostante.
call_oi_coinnumber|nullcoinOpen interest delle call in unità della moneta sottostante.
put_oi_coinnumber|nullcoinOpen interest delle put in unità della moneta sottostante.
vol_usd_24hnumber|nullUSDVolume nozionale a 24h: quantità di monete scambiata × prezzo dell'indice spot attuale. Non è il controvalore dei premi.
call_vol_usd_24hnumber|nullUSDVolume nozionale a 24h delle call.
put_vol_usd_24hnumber|nullUSDVolume nozionale a 24h delle put.
vol_coin_24hnumber|nullcoinQuantità scambiata nelle 24h in unità della moneta sottostante.
call_vol_coin_24hnumber|nullcoinQuantità scambiata nelle 24h delle call, in coin.
put_vol_coin_24hnumber|nullcoinQuantità scambiata nelle 24h delle put, in coin.
vol_premium_usd_24hnumber|nullUSDControvalore dei premi a 24h (prezzo dell'opzione × quantità) dove l'exchange lo pubblica; `null` altrove. Non viene mai sommato al volume nozionale.
pcr_oinumber|nullratioOpen interest delle put ÷ open interest delle call, in unità di moneta; `null` quando il lato call è 0.
pcr_volnumber|nullratioVolume a 24h delle put ÷ volume a 24h delle call, in unità di moneta; `null` quando il lato call è 0.
n_expiriesnumber|null—Numero di date di scadenza incluse.
vol_exchangesarray—Exchange che contribuiscono al volume nozionale.
vol_exchanges[]string—Exchange che contribuiscono al volume nozionale.
vol_premium_exchangesarray—Exchange che pubblicano il controvalore dei premi.
vol_premium_exchanges[]string—Exchange che pubblicano il controvalore dei premi.
max_pain_nearestobject|null—Max pain della scadenza più vicina che ha open interest.
max_pain_nearest.expirystring—Data di scadenza (UTC), `YYYY-MM-DD`, oppure `all`.
max_pain_nearest.days_leftnumberdaysGiorni alla scadenza.
max_pain_nearest.strikenumberUSDPrezzo di esercizio (strike).
max_pain_nearest.pain_usdnumberUSDPagamento totale ai detentori di opzioni se la scadenza venisse regolata a questo prezzo di esercizio.
max_pain_nearest.oi_usdnumberUSDOpen interest come nozionale USD: quantità di monete × prezzo dell'indice spot. Unilaterale.
max_pain_nearest.exchangesarray—Exchange inclusi in questa riga.
max_pain_nearest.exchanges[]string—Exchange inclusi in questa riga.
max_pain_mainobject|null—Max pain della scadenza principale: la scadenza più vicina che detiene almeno il 5 % dell'open interest totale.
max_pain_main.expirystring—Data di scadenza (UTC), `YYYY-MM-DD`, oppure `all`.
max_pain_main.days_leftnumberdaysGiorni alla scadenza.
max_pain_main.strikenumberUSDPrezzo di esercizio (strike).
max_pain_main.pain_usdnumberUSDPagamento totale ai detentori di opzioni se la scadenza venisse regolata a questo prezzo di esercizio.
max_pain_main.oi_usdnumberUSDOpen interest come nozionale USD: quantità di monete × prezzo dell'indice spot. Unilaterale.
max_pain_main.exchangesarray—Exchange inclusi in questa riga.
max_pain_main.exchanges[]string—Exchange inclusi in questa riga.
atm_iv_nearestnumber|null%IV ATM della scadenza più vicina.
atm_iv_mainnumber|null%IV ATM della scadenza principale.
atm_iv_30dnumber|null%IV ATM interpolata linearmente a una scadenza costante di 30 giorni; `null` quando i 30 giorni non sono compresi tra due scadenze.
skew_25d_mainnumber|nullpercentage pointsSkew 25-delta della scadenza principale.
term_structurearray—IV ATM per scadenza, dalla più vicina.
term_structure[]object—IV ATM per scadenza, dalla più vicina.
term_structure[].expirystring—Data di scadenza (UTC), `YYYY-MM-DD`, oppure `all`.
term_structure[].days_leftnumberdaysGiorni alla scadenza.
term_structure[].atm_ivnumber%Volatilità implicita at-the-money: media dell'IV mark al prezzo di esercizio più vicino al prezzo forward.
term_structure[].oi_usdnumberUSDOpen interest come nozionale USD: quantità di monete × prezzo dell'indice spot. Unilaterale.
exchangesarray—Exchange inclusi in questa riga.
exchanges[]object—Exchange inclusi in questa riga.
exchanges[].exchangestring—ID dell'exchange (in minuscolo).
exchanges[].oi_share_pctnumber%Quota dell'open interest totale (nozionale USD) della selezione.
exchanges[].n_contractsnumber—Numero di contratti di opzione inclusi.
exchanges[].oi_usdnumberUSDOpen interest come nozionale USD: quantità di monete × prezzo dell'indice spot. Unilaterale.
exchanges[].call_oi_usdnumberUSDOpen interest delle call, nozionale USD.
exchanges[].put_oi_usdnumberUSDOpen interest delle put, nozionale USD.
exchanges[].oi_coinnumbercoinOpen interest in unità della moneta sottostante.
exchanges[].call_oi_coinnumbercoinOpen interest delle call in unità della moneta sottostante.
exchanges[].put_oi_coinnumbercoinOpen interest delle put in unità della moneta sottostante.
exchanges[].vol_usd_24hnumberUSDVolume nozionale a 24h: quantità di monete scambiata × prezzo dell'indice spot attuale. Non è il controvalore dei premi.
exchanges[].call_vol_usd_24hnumberUSDVolume nozionale a 24h delle call.
exchanges[].put_vol_usd_24hnumberUSDVolume nozionale a 24h delle put.
exchanges[].vol_coin_24hnumbercoinQuantità scambiata nelle 24h in unità della moneta sottostante.
exchanges[].call_vol_coin_24hnumbercoinQuantità scambiata nelle 24h delle call, in coin.
exchanges[].put_vol_coin_24hnumbercoinQuantità scambiata nelle 24h delle put, in coin.
exchanges[].vol_premium_usd_24hnumber|nullUSDControvalore dei premi a 24h (prezzo dell'opzione × quantità) dove l'exchange lo pubblica; `null` altrove. Non viene mai sommato al volume nozionale.
exchanges[].pcr_oinumberratioOpen interest delle put ÷ open interest delle call, in unità di moneta; `null` quando il lato call è 0.
exchanges[].pcr_volnumberratioVolume a 24h delle put ÷ volume a 24h delle call, in unità di moneta; `null` quando il lato call è 0.
exchanges[].n_expiriesnumber—Numero di date di scadenza incluse.
exchanges[].oi_usd_inversenumber|nullUSDOpen interest dei contratti regolati in coin.
exchanges[].oi_usd_linearnumberUSDOpen interest dei contratti regolati in stablecoin.
exchanges[].oi_usd_reportednumber|nullUSDDato di open interest in USD dell'exchange stesso, dove ne pubblica uno. Solo per verifica incrociata.
exchanges[].vol_usd_reported_24hnumber|nullUSDControvalore nozionale dell'exchange stesso, dove ne pubblica uno. Solo per verifica incrociata.
exchanges[].index_pricenumberUSDPrezzo dell'indice spot usato per la conversione in USD (negli aggregati, mediana dei prezzi dell'indice dei singoli exchange).
exchanges[].received_atnumbermsOra in cui il collector di CoinBoss ha ricevuto i dati.
exchanges[].observed_atnumber|nullmsTimestamp indicato dalla fonte per i dati.
exchanges[].age_snumbersSecondi trascorsi dalla ricezione della riga.
exchanges[].is_staleboolean—True quando i dati sono più vecchi della loro finestra di freschezza.
coverageobject—Che cosa è incluso e che cosa non è incluso nei numeri. Confrontare questo dato prima di confrontare i totali con un'altra fonte.
coverage.included_exchangesarray—Fonti i cui dati aggiornati sono inclusi.
coverage.included_exchanges[]string—Fonti i cui dati aggiornati sono inclusi.
coverage.unavailablearray—Fonti che non è stato possibile includere, ciascuna con il motivo. Non vengono mai conteggiate come 0.
coverage.unavailable[]object—Fonti che non è stato possibile includere, ciascuna con il motivo. Non vengono mai conteggiate come 0.
coverage.unavailable[].exchangestring—ID dell'exchange (in minuscolo).
coverage.unavailable[].reasonstring—Codice del motivo leggibile dalla macchina.
coverage.unavailable[].detailstring—Spiegazione del motivo in linguaggio naturale.
coverage.stale_excludedarray—Righe escluse perché il loro ultimo aggiornamento è fuori dalla finestra di freschezza. vuoto nei campioni usati per generare questa tabella
coverage.field_gapsarray—Colonne che un exchange non pubblica; sono `null` per quell'exchange.
coverage.field_gaps[]object—Colonne che un exchange non pubblica; sono `null` per quell'exchange.
coverage.field_gaps[].exchangestring—ID dell'exchange (in minuscolo).
coverage.field_gaps[].fieldsarray—Nomi delle colonne mancanti.
coverage.field_gaps[].fields[]string—Nomi delle colonne mancanti.
coverage.field_gaps[].kindstring—Famiglia di contratti: `inverse` (regolati in coin) o `linear` (regolati in stablecoin).
methodobject—Enunciato in testo semplice delle formule usate per questa risposta, una voce per campo.
method.oi_usdstring—Nota sulla formula di `oi_usd`, in testo semplice.
method.vol_usd_24hstring—Nota sulla formula di `vol_usd_24h`, in testo semplice.
method.vol_premium_usd_24hstring—Nota sulla formula di `vol_premium_usd_24h`, in testo semplice.
method.pcr_oistring—Nota sulla formula di `pcr_oi`, in testo semplice.
method.pcr_volstring—Nota sulla formula di `pcr_vol`, in testo semplice.
method.max_painstring—Nota sulla formula di `max_pain`, in testo semplice.
method.atm_ivstring—Nota sulla formula di `atm_iv`, in testo semplice.
method.atm_iv_30dstring—Nota sulla formula di `atm_iv_30d`, in testo semplice.
method.skew_25dstring—Nota sulla formula di `skew_25d`, in testo semplice.
method.oi_share_pctstring—Nota sulla formula di `oi_share_pct`, in testo semplice.
method.index_pricestring—Nota sulla formula di `index_price`, in testo semplice.
method.max_pain_mainstring—Nota sulla formula di `max_pain_main`, in testo semplice.
method.oi_usd_reportedstring—Nota sulla formula di `oi_usd_reported`, in testo semplice. può essere assente
method.vol_usd_reported_24hstring—Nota sulla formula di `vol_usd_reported_24h`, in testo semplice. può essere assente
metaobject—Provenienza e freschezza di questa risposta.
meta.schemastring—ID dello schema di questa risposta. Cambia solo quando un campo esistente cambia significato o tipo.
meta.sourcearray—Endpoint pubblici a monte da cui sono stati raccolti i dati.
meta.source[]object—Endpoint pubblici a monte da cui sono stati raccolti i dati.
meta.source[].exchangestring—ID dell'exchange (in minuscolo).
meta.source[].endpointstring—Endpoint pubblico della fonte letto dal collector (mostrato a scopo di provenienza; i client non lo chiamano mai).
meta.observed_atnumber|nullmsTimestamp indicato dalla fonte per i dati.
meta.received_atnumber|nullmsOra in cui il collector di CoinBoss ha ricevuto i dati.
meta.fetched_atnumbermsOra in cui questa risposta è stata composta.
meta.windowstring—Finestra temporale coperta dai numeri.
meta.qualitystring—FRESH, PARTIAL, STALE, BROKEN o UNAVAILABLE, valutato dai timestamp dei dati e dalla copertura.
meta.is_staleboolean—True quando i dati sono più vecchi della loro finestra di freschezza.
meta.cache_ttl_snumbersDurata in cache di questa risposta.
meta.fallbackstring—Che cosa restituisce l'endpoint quando il collector o una fonte non funziona.

Generata 2026-11-11 23:00 UTC da 4 risposte reali.

Risposta di esempio

/api/sd/options/overview?coin=BTC · Risposta reale acquisita 2026-11-13 03:52:55 UTC. Array e mappe lunghi sono abbreviati per la visualizzazione: exchanges conteneva 6 elementi; meta.source conteneva 6 elementi; term_structure conteneva 12 elementi; coverage.field_gaps conteneva 4 elementi; coverage.unavailable conteneva 12 elementi; coverage.stale_included conteneva 6 elementi.

  • {
    • "success": true,
    • "schema": "coinboss.sd.options/1",
    • "now": 1794541975252,
    • "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.1716,
      • "strike": 75000,
      • "pain_usd": 15831410,
      • "oi_usd": 3892192707.39,
      • "exchanges": [ … 6 ]
      },
    • "max_pain_main": {
      • "expiry": "2026-11-13",
      • "days_left": 0.1716,
      • "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": 1794541975252,
      • "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…"
      }
    }

Campioni verificati

Oltre all'esempio qui sopra, la sonda chiama questo endpoint con i parametri seguenti e ogni volta ne verifica lo schema.

ParametriHTTPLatenzaRisultato
coin=ETH20066 msSuperato STALE
coin=SOL20022 msSuperato STALE
coin=PEPE2002 msSuperato UNAVAILABLE
—4001 msSuperato restituisce l'errore previsto

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

Dettagli

Autenticazione
Nessuna. Endpoint pubblico.
Limite di richieste
1200 richieste al minuto per IP
Cache del server
60s
Micro-cache edge
10s
Frequenza di aggiornamento
Ciclo del collector ogni 10 minuti; un exchange è aggiornato per 25 minuti dopo il suo ultimo ciclo riuscito.
Finestra
Ultima istantanea; i campi di volume coprono le ultime 24 ore, così come dichiarate da ciascun exchange.
Fonti dei dati
Endpoint REST pubblici delle opzioni di Deribit, Binance, Bybit, OKX, Gate e Coincall, raccolti e archiviati da CoinBoss (sd_opt_latest, sd_opt_summary_hourly). Non è coinvolto alcun aggregatore di terze parti.
Copertura degli exchange
Sei exchange di opzioni. Una moneta priva di opzioni quotate sugli exchange selezionati restituisce HTTP 200 con campi null, `meta.quality = "UNAVAILABLE"` e il motivo in `coverage.unavailable`. Vi sono elencati anche gli exchange privi di un feed pubblico di opzioni.
Unità
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.
Metodo
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.
Timestamp
Millisecondi dall'epoca Unix (UTC), salvo diversa indicazione nella descrizione del campo
Formato della risposta
json
Stabilità
Stabile
Disponibile dal
2026-11-11

Stato in tempo reale

DegradatoVerificato 2026-11-13 03:52:55 UTCHTTP 20057 msSchema conformeDato più recente risalente a 5.4h fa

L'endpoint segnala una qualità dei dati STALE

Disponibilità, ultimi 30 giorni

100% di 406 verifiche superate

Deriva dello schema rilevata dall'ultima verifica della sonda
  • Restituito ma non documentato: coverage.stale_included, coverage.stale_included[], coverage.stale_included[].exchange, coverage.stale_included[].age_s

Errori

Le chiamate non riuscite hanno la stessa struttura su tutti gli endpoint. L'elenco completo è nella pagina degli errori. Errori e limiti di richieste →

CodiceHTTPSignificatoChe cosa fare
INVALID_PARAM400Manca un parametro obbligatorio oppure un valore non è accettato. `param` indica il nome del parametro quando è noto.Non riprovare senza modifiche; correggere la richiesta.
UNAUTHORIZED401L'header `CB-API-KEY` è stato inviato ma la chiave è sconosciuta o revocata. I dati pubblici non richiedono alcuna chiave: rimuovere l'header o usare una chiave valida.Non riprovare senza modifiche.
FORBIDDEN403La route non fa parte dell'API pubblica (interna o riservata agli account).Non riprovare.
NOT_FOUND404Route sconosciuta, oppure la moneta / l'exchange / il fondo richiesto non esiste.Non riprovare; verificare il percorso e gli identificatori nel catalogo.
RATE_LIMITED429Più richieste del limite al minuto. `Retry-After` indica i secondi da attendere.Attendere `Retry-After`, poi riprovare con backoff.
INTERNAL500Errore imprevisto del server. Il messaggio è volutamente generico; citare `request_id` quando lo si segnala.Riprovare una volta dopo qualche secondo; se persiste, segnalarlo con l'ID della richiesta.
UPSTREAM_FAILED503La fonte di dati alla base di questo endpoint non ha risposto in tempo. Al suo posto non vengono restituiti numeri obsoleti o sostitutivi.Riprovare con backoff; controllare la pagina di stato.
UNAVAILABLE501 / 503Il dataset è temporaneamente non pronto (riscaldamento della cache) oppure l'endpoint non ha ancora una fonte pubblica lecita.Riprovare più tardi; il catalogo contrassegna gli endpoint non disponibili per scelta progettuale.
REQUEST_FAILED200Alcuni endpoint meno recenti rispondono HTTP 200 con `success: false`. Controllare sempre `success`, non solo lo stato HTTP.Dipende dal messaggio; trattare come una richiesta non riuscita.

Prova

GET/api/sd/options/overviewDegradato
Parametri

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

URL della richiestahttps://www.coinboss.com/api/sd/options/overview?coin=BTC
Scegliere un endpoint e premere «Invia richiesta». La risposta, gli header e i tempi compariranno qui.