/api/sd/etf/overview
GETParzialePARTIAL

Panoramica degli ETF spot (comunicazioni degli emittenti)

Asset detenuti, patrimonio netto e flusso netto degli ETF crypto spot per un asset, sommati sui fondi che CoinBoss può raccogliere dalle comunicazioni degli emittenti, con l'elenco completo dei fondi e il motivo di ogni fondo mancante.

GET/api/sd/etf/overview
Copertura parziale. Copertura parziale: diversi grandi emittenti non offrono un'informativa pubblica leggibile dalla macchina che possa essere raccolta da un server. I loro fondi sono elencati come non disponibili e i totali coprono solo i fondi restanti. Confrontare `funds_covered` / `funds_total` prima di confrontare i totali con altre fonti.

Richiesta

Parametri di query

NomeTipoObbligatorioPredefinitoValori ammessiDescrizione
assetstringObbligatorio—BTC, ETH, SOL, HYPEAsset sottostante, senza distinzione tra maiuscole e minuscole. `coin` è accettato come alias. Esempio: BTC

Richiesta di esempio

curl -s "https://www.coinboss.com/api/sd/etf/overview?asset=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.
assetstring—Asset sottostante.
as_ofstring—Data di riferimento dell'emittente più recente tra i fondi coperti.
as_of_minstring—Data di riferimento dell'emittente più vecchia tra i fondi coperti.
expected_as_ofstring—Giornata di negoziazione statunitense più recente il cui termine di pubblicazione è trascorso.
totals_scopestring—Sempre `covered_funds_only`: i totali non sono totali dell'intero mercato.
funds_totalnumber—Fondi registrati per l'asset.
funds_coverednumber—Fondi con dati dell'emittente aggiornati.
holdings_coin_totalnumbercoinMonete detenute, sommate sui fondi coperti.
holdings_fundsnumber—Fondi inclusi in `holdings_coin_total`.
aum_usd_totalnumberUSDPatrimonio netto sommato sui fondi coperti.
aum_fundsnumber—Fondi inclusi in `aum_usd_total`.
net_flow_usdnumberUSDCreazione / rimborso netto sommato sui fondi la cui data di flusso è uguale a `net_flow_as_of`. Metodo CoinBoss.
net_flow_as_ofstring—Data in cui viene contabilizzato il flusso netto.
net_flow_funds_coverednumber—Fondi inclusi in `net_flow_usd`.
net_flow_fundsarray—Ticker inclusi in `net_flow_usd`.
net_flow_funds[]string—Ticker inclusi in `net_flow_usd`.
net_flow_missingarray—Fondi coperti non inclusi in `net_flow_usd`, ciascuno con il motivo.
net_flow_missing[]object—Fondi coperti non inclusi in `net_flow_usd`, ciascuno con il motivo.
net_flow_missing[].tickerstring—Ticker del fondo.
net_flow_missing[].reasonstring—Codice del motivo leggibile dalla macchina.
net_flow_missing[].flow_as_ofstring|null—Data in cui viene contabilizzato il flusso.
fundsarray—Una riga per fondo registrato, compresi i fondi che non possono essere raccolti.
funds[]object—Una riga per fondo registrato, compresi i fondi che non possono essere raccolti.
funds[].tickerstring—Ticker del fondo.
funds[].issuerstring—ID dell'emittente del fondo.
funds[].namestring—Nome del fondo.
funds[].statusstring—OK, STALE, ERROR o UNAVAILABLE.
funds[].as_of_datestring|null—Data di riferimento dell'emittente per la riga.
funds[].holdings_coinnumber|nullcoinMonete detenute, così come dichiarate dall'emittente.
funds[].holdings_usdnumber|nullUSDValore di mercato degli asset detenuti, così come dichiarato dall'emittente.
funds[].ref_pricenumber|nullUSDPrezzo di riferimento per moneta usato dall'emittente.
funds[].aum_usdnumber|nullUSDPatrimonio netto del fondo.
funds[].aum_srcstring|null—Come è stato ottenuto il patrimonio netto: `reported`, `nav_x_shares` o `holdings_mv_sum`.
funds[].shares_outnumber|nullsharesQuote in circolazione.
funds[].shares_srcstring|null—Come sono state ottenute le quote in circolazione: `reported` oppure ricavate da patrimonio netto e NAV.
funds[].navnumber|nullUSDValore patrimoniale netto per quota.
funds[].market_pricenumber|nullUSDPrezzo di mercato di chiusura per quota.
funds[].premium_pctnumber|null%Premio (+) o sconto (−) del prezzo di mercato rispetto al NAV, così come pubblicato dall'emittente.
funds[].fee_pctnumber|null%Commissione annua dello sponsor; `null` quando non è pubblicata.
funds[].flow_usdnumber|nullUSDCreazione / rimborso netto del fondo nella sua data di flusso. Metodo CoinBoss.
funds[].flow_sharesnumber|nullsharesVariazione delle quote in circolazione.
funds[].flow_coinnullcoinVariazione delle monete detenute; include il rateo delle commissioni pagato in moneta, solo a titolo informativo.
funds[].flow_methodstring|null—Formula usata: `shares_x_nav` o `aum_nav_ratio_t1`.
funds[].flow_as_ofstring|null—Data in cui viene contabilizzato il flusso.
funds[].flow_obs_datestring|null—Data di riferimento della più recente delle due righe usate.
funds[].flow_prev_datestring|null—Data di riferimento della più vecchia delle due righe usate.
funds[].flow_notestring|null—Motivo per cui il flusso è mancante o particolare (per esempio `no_previous_row`, `multi_day_gap`).
funds[].is_staleboolean|null—True quando i dati sono più vecchi della loro finestra di freschezza.
funds[].source_urlstring|null—Endpoint dell'emittente da cui è stata raccolta la riga (solo a scopo di provenienza).
funds[].observed_atnumber|nullmsTimestamp indicato dalla fonte per i dati.
funds[].received_atnumber|nullmsOra in cui il collector di CoinBoss ha ricevuto i dati.
funds[].unavailable_reasonstring|null—Codice del motivo quando il fondo non può essere raccolto.
funds[].unavailable_detailstring|null—Spiegazione quando il fondo non può essere raccolto.
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[].issuerstring—ID dell'emittente del fondo.
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
methodobject—Enunciato in testo semplice delle formule usate per questa risposta, una voce per campo.
method.holdings_coin_totalstring—Nota sulla formula di `holdings_coin_total`, in testo semplice.
method.aum_usd_totalstring—Nota sulla formula di `aum_usd_total`, in testo semplice.
method.net_flow_usdstring—Nota sulla formula di `net_flow_usd`, in testo semplice.
method.net_flow_missingstring—Nota sulla formula di `net_flow_missing`, in testo semplice.
method.flow_coinstring—Nota sulla formula di `flow_coin`, in testo semplice.
method.premium_pctstring—Nota sulla formula di `premium_pct`, in testo semplice.
method.is_stalestring—Nota sulla formula di `is_stale`, in testo semplice.
method.unitsstring—Nota sulla formula di `units`, in testo semplice.
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_atnumbermsTimestamp indicato dalla fonte per i dati.
meta.received_atnumbermsOra 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/etf/overview?asset=BTC · Risposta reale acquisita 2026-11-13 03:58:18 UTC. Array e mappe lunghi sono abbreviati per la visualizzazione: funds conteneva 12 elementi; meta.source conteneva 5 elementi; coverage.unavailable conteneva 7 elementi.

  • {
    • "success": true,
    • "schema": "coinboss.sd.etf/1",
    • "now": 1794542298326,
    • "asset": "BTC",
    • "as_of": "2026-11-12",
    • "as_of_min": "2026-11-11",
    • "expected_as_of": "2026-11-11",
    • "totals_scope": "covered_funds_only",
    • "funds_total": 12,
    • "funds_covered": 5,
    • "holdings_coin_total": 89855.4854312,
    • "holdings_funds": 5,
    • "aum_usd_total": 6204214916.33,
    • "aum_funds": 4,
    • "net_flow_usd": 0,
    • "net_flow_as_of": "2026-11-11",
    • "net_flow_funds_covered": 3,
    • "net_flow_funds": [
      • "ARKB",
      • "BTCO",
      • "HODL"
      ],
    • "net_flow_missing": [
      • { … 3 },
      • { … 3 }
      ],
    • "funds": [
      • { … 30 },
      • { … 30 }
      ],
    • "coverage": {
      • "included_exchanges": [ … 5 ],
      • "unavailable": [ … 2 ],
      • "stale_excluded": []
      },
    • "method": {
      • "holdings_coin_total": "sum of issuer-reported coin holdings over covered (non-stale) funds only; NOT a whole-market total, see funds_covered/funds_total",
      • "aum_usd_total": "sum of fund net assets (USD) over covered funds; aum_src per fund: reported | nav_x_shares (NAV x shares outstanding) | holdings_mv_sum (sum of issuer holdings …",
      • "net_flow_usd": "own method, per fund between two consecutive issuer as-of rows: shares_x_nav = (shares_out[t] - shares_out[t-1]) x NAV[t], dated t; aum_nav_ratio_t1 (issuer pub…",
      • "net_flow_missing": "covered funds not included in net_flow_usd and why: no_previous_row (needs two consecutive issuer rows), t1_booking_available_next_trading_day (Franklin: flow o…",
      • "flow_coin": "holdings_coin[t] - holdings_coin[t-1]; includes daily sponsor-fee accrual paid in coin, informational only",
      • "premium_pct": "issuer-reported premium/discount to NAV in percent; null when the issuer does not publish it",
      • "is_stale": "fund as_of_date older than the trading day before expected_as_of (expected_as_of = latest NYSE trading day whose T+1 16:00 UTC publication deadline has passed)",
      • "units": "holdings in coins; aum/flow in USD; nav/market_price in USD per share; fee_pct/premium_pct in percent"
      },
    • "meta": {
      • "schema": "coinboss.sd.etf/1",
      • "source": [ … 2 ],
      • "observed_at": 1794441600000,
      • "received_at": 1794537318126,
      • "fetched_at": 1794542298326,
      • "window": "latest",
      • "quality": "PARTIAL",
      • "is_stale": false,
      • "cache_ttl_s": 300,
      • "fallback": "collector failure keeps the last issuer row with its real as_of_date; a fund whose as_of_date is more than 1 trading day behind the expected as-of is flagged is…"
      }
    }

Campioni verificati

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

ParametriHTTPLatenzaRisultato
asset=ETH2004 msSuperato PARTIAL
asset=SOL2004 msSuperato PARTIAL
asset=HYPE2002 msSuperato PARTIAL
—4001 msSuperato restituisce l'errore previsto

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

Dettagli

Autenticazione
Nessuna. Endpoint pubblico.
Limite di richieste
1200 richieste al minuto per IP
Cache del server
5m
Micro-cache edge
10s
Frequenza di aggiornamento
Tre cicli del collector al giorno (02:35, 10:35, 16:35 UTC). Gli emittenti pubblicano una volta per giornata di negoziazione statunitense, di solito la sera della data di negoziazione.
Finestra
Ultima data di riferimento dell'emittente per fondo (`as_of`, `as_of_min`); `expected_as_of` è la giornata di negoziazione statunitense più recente il cui termine di pubblicazione è trascorso.
Fonti dei dati
Informative giornaliere pubblicate direttamente dagli emittenti dei fondi (asset detenuti, patrimonio netto, quote in circolazione, NAV), raccolte e archiviate da CoinBoss (sd_etf_fund_daily). Il flusso netto è calcolato da CoinBoss a partire da tali informative.
Copertura degli exchange
Sono coperti solo i fondi il cui emittente pubblica dati giornalieri leggibili dalla macchina. `funds_total` e `funds_covered` indicano quanti sono; ogni fondo non coperto è elencato in `coverage.unavailable` con il motivo. I totali sono somme sui soli fondi coperti (`totals_scope = "covered_funds_only"`), non sull'intero mercato.
Unità
Amounts in USD; holdings in units of the underlying coin; NAV and market price in USD per share; `premium_pct` and `fee_pct` in percent.
Metodo
Funds that disclose shares outstanding: flow = (shares[t] − shares[t−1]) × NAV[t]. Funds that disclose only net assets and NAV: flow = AUM[t] × NAV[t−1] ÷ NAV[t] − AUM[t−1], booked on t−1. A fund enters `net_flow_usd` only when its flow date equals `net_flow_as_of`; the others are listed in `net_flow_missing`.
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

ParzialeVerificato 2026-11-13 03:58:18 UTCHTTP 2004 msSchema conformeDato più recente risalente a 83m fa

L'endpoint segnala una qualità dei dati PARTIAL — Copertura parziale: diversi grandi emittenti non offrono un'informativa pubblica leggibile dalla macchina che possa essere raccolta da un server. I loro fondi sono elencati come non disponibili e i totali coprono solo i fondi restanti. Confrontare `funds_covered` / `funds_total` prima di confrontare i totali con altre fonti.

Disponibilità, ultimi 30 giorni

100% di 407 verifiche superate

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/etf/overviewParziale
Parametri

string — Underlying asset, case-insensitive. `coin` is accepted as an alias.

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