Fondi ETF spot
Una riga per ogni fondo registrato di un asset: emittente, data di riferimento, asset detenuti, patrimonio netto, quote, NAV, prezzo di mercato, premio, commissione e flusso calcolato da CoinBoss, oppure il motivo per cui il fondo non può essere raccolto.
/api/sd/etf/fundsRichiesta
Parametri di query
| Nome | Tipo | Obbligatorio | Predefinito | Valori ammessi | Descrizione |
|---|---|---|---|---|---|
| asset | string | Obbligatorio | — | BTC, ETH, SOL, HYPE | Asset 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/funds?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.
| Campo | Tipo | Unità | Descrizione |
|---|---|---|---|
| success | boolean | — | true quando la richiesta è riuscita. In caso di errore il corpo è `{ success: false, code, error, request_id }`. |
| schema | string | — | ID dello schema di questa risposta. Cambia solo quando un campo esistente cambia significato o tipo. |
| now | number | ms | Ora del server al momento della composizione della risposta. |
| asset | string | — | Asset sottostante. |
| as_of | string | — | Data di riferimento dell'emittente più recente tra i fondi coperti. |
| expected_as_of | string | — | Giornata di negoziazione statunitense più recente il cui termine di pubblicazione è trascorso. |
| funds_total | number | — | Fondi registrati per l'asset. |
| funds_covered | number | — | Fondi con dati dell'emittente aggiornati. |
| funds | array | — | 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[].ticker | string | — | Ticker del fondo. |
| funds[].issuer | string | — | ID dell'emittente del fondo. |
| funds[].name | string | — | Nome del fondo. |
| funds[].status | string | — | OK, STALE, ERROR o UNAVAILABLE. |
| funds[].as_of_date | string|null | — | Data di riferimento dell'emittente per la riga. |
| funds[].holdings_coin | number|null | coin | Monete detenute, così come dichiarate dall'emittente. |
| funds[].holdings_usd | number|null | USD | Valore di mercato degli asset detenuti, così come dichiarato dall'emittente. |
| funds[].ref_price | number|null | USD | Prezzo di riferimento per moneta usato dall'emittente. |
| funds[].aum_usd | number|null | USD | Patrimonio netto del fondo. |
| funds[].aum_src | string|null | — | Come è stato ottenuto il patrimonio netto: `reported`, `nav_x_shares` o `holdings_mv_sum`. |
| funds[].shares_out | number|null | shares | Quote in circolazione. |
| funds[].shares_src | string|null | — | Come sono state ottenute le quote in circolazione: `reported` oppure ricavate da patrimonio netto e NAV. |
| funds[].nav | number|null | USD | Valore patrimoniale netto per quota. |
| funds[].market_price | number|null | USD | Prezzo di mercato di chiusura per quota. |
| funds[].premium_pct | number|null | % | Premio (+) o sconto (−) del prezzo di mercato rispetto al NAV, così come pubblicato dall'emittente. |
| funds[].fee_pct | number|null | % | Commissione annua dello sponsor; `null` quando non è pubblicata. |
| funds[].flow_usd | number|null | USD | Creazione / rimborso netto del fondo nella sua data di flusso. Metodo CoinBoss. |
| funds[].flow_shares | number|null | shares | Variazione delle quote in circolazione. |
| funds[].flow_coin | null | coin | Variazione delle monete detenute; include il rateo delle commissioni pagato in moneta, solo a titolo informativo. |
| funds[].flow_method | string|null | — | Formula usata: `shares_x_nav` o `aum_nav_ratio_t1`. |
| funds[].flow_as_of | string|null | — | Data in cui viene contabilizzato il flusso. |
| funds[].flow_obs_date | string|null | — | Data di riferimento della più recente delle due righe usate. |
| funds[].flow_prev_date | string|null | — | Data di riferimento della più vecchia delle due righe usate. |
| funds[].flow_note | string|null | — | Motivo per cui il flusso è mancante o particolare (per esempio `no_previous_row`, `multi_day_gap`). |
| funds[].is_stale | boolean|null | — | True quando i dati sono più vecchi della loro finestra di freschezza. |
| funds[].source_url | string|null | — | Endpoint dell'emittente da cui è stata raccolta la riga (solo a scopo di provenienza). |
| funds[].observed_at | number|null | ms | Timestamp indicato dalla fonte per i dati. |
| funds[].received_at | number|null | ms | Ora in cui il collector di CoinBoss ha ricevuto i dati. |
| funds[].unavailable_reason | string|null | — | Codice del motivo quando il fondo non può essere raccolto. |
| funds[].unavailable_detail | string|null | — | Spiegazione quando il fondo non può essere raccolto. |
| coverage | object | — | Che cosa è incluso e che cosa non è incluso nei numeri. Confrontare questo dato prima di confrontare i totali con un'altra fonte. |
| coverage.included_exchanges | array | — | Fonti i cui dati aggiornati sono inclusi. |
| coverage.included_exchanges[] | string | — | Fonti i cui dati aggiornati sono inclusi. |
| coverage.unavailable | array | — | 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[].exchange | string | — | ID dell'exchange (in minuscolo). |
| coverage.unavailable[].issuer | string | — | ID dell'emittente del fondo. |
| coverage.unavailable[].reason | string | — | Codice del motivo leggibile dalla macchina. |
| coverage.unavailable[].detail | string | — | Spiegazione del motivo in linguaggio naturale. |
| coverage.stale_excluded | array | — | Righe escluse perché il loro ultimo aggiornamento è fuori dalla finestra di freschezza. vuoto nei campioni usati per generare questa tabella |
| method | object | — | Enunciato in testo semplice delle formule usate per questa risposta, una voce per campo. |
| method.holdings_coin_total | string | — | Nota sulla formula di `holdings_coin_total`, in testo semplice. |
| method.aum_usd_total | string | — | Nota sulla formula di `aum_usd_total`, in testo semplice. |
| method.net_flow_usd | string | — | Nota sulla formula di `net_flow_usd`, in testo semplice. |
| method.net_flow_missing | string | — | Nota sulla formula di `net_flow_missing`, in testo semplice. |
| method.flow_coin | string | — | Nota sulla formula di `flow_coin`, in testo semplice. |
| method.premium_pct | string | — | Nota sulla formula di `premium_pct`, in testo semplice. |
| method.is_stale | string | — | Nota sulla formula di `is_stale`, in testo semplice. |
| method.units | string | — | Nota sulla formula di `units`, in testo semplice. |
| meta | object | — | Provenienza e freschezza di questa risposta. |
| meta.schema | string | — | ID dello schema di questa risposta. Cambia solo quando un campo esistente cambia significato o tipo. |
| meta.source | array | — | 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[].exchange | string | — | ID dell'exchange (in minuscolo). |
| meta.source[].endpoint | string | — | Endpoint pubblico della fonte letto dal collector (mostrato a scopo di provenienza; i client non lo chiamano mai). |
| meta.observed_at | number | ms | Timestamp indicato dalla fonte per i dati. |
| meta.received_at | number | ms | Ora in cui il collector di CoinBoss ha ricevuto i dati. |
| meta.fetched_at | number | ms | Ora in cui questa risposta è stata composta. |
| meta.window | string | — | Finestra temporale coperta dai numeri. |
| meta.quality | string | — | FRESH, PARTIAL, STALE, BROKEN o UNAVAILABLE, valutato dai timestamp dei dati e dalla copertura. |
| meta.is_stale | boolean | — | True quando i dati sono più vecchi della loro finestra di freschezza. |
| meta.cache_ttl_s | number | s | Durata in cache di questa risposta. |
| meta.fallback | string | — | Che cosa restituisce l'endpoint quando il collector o una fonte non funziona. |
Generata 2026-11-11 23:00 UTC da 3 risposte reali.
Risposta di esempio
/api/sd/etf/funds?asset=BTC · Risposta reale acquisita 2026-11-13 01:42:50 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"1794533871901
- "asset""BTC"
- "as_of""2026-11-11"
- "expected_as_of""2026-11-11"
- "funds_total"12
- "funds_covered"5
- "funds"
- "coverage"
- "included_exchanges"
- "unavailable"
- "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"
- "observed_at"1794355200000
- "received_at"1794501317131
- "fetched_at"1794533871901
- "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.
| Parametri | HTTP | Latenza | Risultato |
|---|---|---|---|
| asset=ETH | 200 | 3 ms | Superato PARTIAL |
| asset=HYPE | 200 | 3 ms | Superato PARTIAL |
| asset=DOGE | 400 | 1 ms | Superato restituisce l'errore previsto |
Verificato 2026-11-13 01:28:13 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.
- 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.
- Paginazione
- Nessuna paginazione; vengono restituiti tutti i fondi registrati per l'asset.
- Ordinamento
- Ticker crescente.
- 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
- `aum_src` tells how net assets were obtained: `reported`, `nav_x_shares` (NAV × shares outstanding) or `holdings_mv_sum` (sum of the issuer's holdings market values). `flow_method` tells which flow formula was used.
- 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
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 380 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 →
| Codice | HTTP | Significato | Che cosa fare |
|---|---|---|---|
| INVALID_PARAM | 400 | Manca un parametro obbligatorio oppure un valore non è accettato. `param` indica il nome del parametro quando è noto. | Non riprovare senza modifiche; correggere la richiesta. |
| UNAUTHORIZED | 401 | L'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. |
| FORBIDDEN | 403 | La route non fa parte dell'API pubblica (interna o riservata agli account). | Non riprovare. |
| NOT_FOUND | 404 | Route sconosciuta, oppure la moneta / l'exchange / il fondo richiesto non esiste. | Non riprovare; verificare il percorso e gli identificatori nel catalogo. |
| RATE_LIMITED | 429 | Più richieste del limite al minuto. `Retry-After` indica i secondi da attendere. | Attendere `Retry-After`, poi riprovare con backoff. |
| INTERNAL | 500 | Errore 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_FAILED | 503 | La 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. |
| UNAVAILABLE | 501 / 503 | Il 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_FAILED | 200 | Alcuni 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
/api/sd/etf/fundsParzialestring — Underlying asset, case-insensitive. `coin` is accepted as an alias.
https://www.coinboss.com/api/sd/etf/funds?asset=BTCAltro in questa categoria
- Fondi ETF spot /api/sd/etf/funds
- Storico degli ETF spot /api/sd/etf/history
- Panoramica degli ETF spot (comunicazioni degli emittenti) /api/sd/etf/overview
- Flussi netti giornalieri degli ETF spot per fondo /api/etf/detail
- Storico dei flussi netti giornalieri degli ETF spot /api/etf/flows
- Dettaglio di un singolo ETF /api/etf/fund/:ticker
- Elenco dei fondi ETF /api/etf/funds
- Monete detenute dagli ETF per fondo /api/etf/holdings
- Prodotti ETF / trust di un emittente /api/etf/issuer
- Panoramica degli ETF /api/etf/overview
- Premio / sconto dei trust Grayscale /api/grayscale/premium
- Volumi degli ETF basati su futures /api/indicators/futures-etf-volumes