Spot-ETF-Übersicht (Emittentenangaben)
Bestände, Nettovermögen und Nettofluss der Spot-Krypto-ETFs für ein Asset, summiert über die Fonds, die CoinBoss aus den Veröffentlichungen der Emittenten erheben kann, mit der vollständigen Fondsliste und dem Grund für jeden fehlenden Fonds.
/api/sd/etf/overviewAnfrage
Query-Parameter
| Name | Typ | Erforderlich | Standard | Zulässige Werte | Beschreibung |
|---|---|---|---|---|---|
| asset | string | Erforderlich | — | BTC, ETH, SOL, HYPE | Basiswert, Groß-/Kleinschreibung wird nicht beachtet. `coin` wird als Alias akzeptiert. Beispiel: BTC |
Beispielanfrage
curl -s "https://www.coinboss.com/api/sd/etf/overview?asset=BTC"Antwortfelder
Die Feldtabelle wird aus echten Antworten erzeugt und führt daher genau das auf, was der Endpunkt zurückgibt. In Pfaden steht a[] für Array-Elemente und {*} für Objekte, deren Schlüssel ein dynamischer Name ist, etwa ein Coin oder eine Börse.
| Feld | Typ | Einheit | Beschreibung |
|---|---|---|---|
| success | boolean | — | true, wenn die Anfrage erfolgreich war. Im Fehlerfall lautet der Body `{ success: false, code, error, request_id }`. |
| schema | string | — | Schema-ID dieser Antwort. Sie ändert sich nur, wenn ein bestehendes Feld seine Bedeutung oder seinen Typ ändert. |
| now | number | ms | Serverzeit beim Erstellen der Antwort. |
| asset | string | — | Basiswert. |
| as_of | string | — | Jüngster Stichtag der Emittenten unter den abgedeckten Fonds. |
| as_of_min | string | — | Ältester Stichtag der Emittenten unter den abgedeckten Fonds. |
| expected_as_of | string | — | Jüngster US-Handelstag, dessen Veröffentlichungsfrist abgelaufen ist. |
| totals_scope | string | — | Immer `covered_funds_only`: Die Summen sind keine Summen für den Gesamtmarkt. |
| funds_total | number | — | Für das Asset registrierte Fonds. |
| funds_covered | number | — | Fonds mit aktuellen Emittentendaten. |
| holdings_coin_total | number | coin | Coin-Bestände, summiert über die abgedeckten Fonds. |
| holdings_funds | number | — | In `holdings_coin_total` einbezogene Fonds. |
| aum_usd_total | number | USD | Nettovermögen, summiert über die abgedeckten Fonds. |
| aum_funds | number | — | In `aum_usd_total` einbezogene Fonds. |
| net_flow_usd | number | USD | Netto-Ausgabe / -Rücknahme, summiert über die Fonds, deren Flussdatum `net_flow_as_of` entspricht. CoinBoss-Methode. |
| net_flow_as_of | string | — | Datum, unter dem der Nettofluss gebucht wird. |
| net_flow_funds_covered | number | — | In `net_flow_usd` einbezogene Fonds. |
| net_flow_funds | array | — | In `net_flow_usd` einbezogene Ticker. |
| net_flow_funds[] | string | — | In `net_flow_usd` einbezogene Ticker. |
| net_flow_missing | array | — | Abgedeckte Fonds, die nicht in `net_flow_usd` einbezogen sind, jeweils mit Begründung. |
| net_flow_missing[] | object | — | Abgedeckte Fonds, die nicht in `net_flow_usd` einbezogen sind, jeweils mit Begründung. |
| net_flow_missing[].ticker | string | — | Ticker des Fonds. |
| net_flow_missing[].reason | string | — | Maschinenlesbarer Begründungscode. |
| net_flow_missing[].flow_as_of | string|null | — | Datum, unter dem der Fluss gebucht wird. |
| funds | array | — | Eine Zeile je registriertem Fonds, einschließlich der Fonds, die nicht erhoben werden können. |
| funds[] | object | — | Eine Zeile je registriertem Fonds, einschließlich der Fonds, die nicht erhoben werden können. |
| funds[].ticker | string | — | Ticker des Fonds. |
| funds[].issuer | string | — | Kennung des Fondsemittenten. |
| funds[].name | string | — | Name des Fonds. |
| funds[].status | string | — | OK, STALE, ERROR oder UNAVAILABLE. |
| funds[].as_of_date | string|null | — | Stichtag des Emittenten für die Zeile. |
| funds[].holdings_coin | number|null | coin | Gehaltene Coins, wie vom Emittenten offengelegt. |
| funds[].holdings_usd | number|null | USD | Marktwert der Bestände, wie vom Emittenten offengelegt. |
| funds[].ref_price | number|null | USD | Vom Emittenten verwendeter Referenzpreis je Coin. |
| funds[].aum_usd | number|null | USD | Nettovermögen des Fonds. |
| funds[].aum_src | string|null | — | Wie das Nettovermögen ermittelt wurde: `reported`, `nav_x_shares` oder `holdings_mv_sum`. |
| funds[].shares_out | number|null | shares | Ausstehende Anteile. |
| funds[].shares_src | string|null | — | Wie die ausstehenden Anteile ermittelt wurden: `reported` oder aus Nettovermögen und NAV abgeleitet. |
| funds[].nav | number|null | USD | Nettoinventarwert je Anteil. |
| funds[].market_price | number|null | USD | Schlusskurs je Anteil am Markt. |
| funds[].premium_pct | number|null | % | Aufschlag (+) oder Abschlag (−) des Marktpreises gegenüber dem NAV, wie vom Emittenten veröffentlicht. |
| funds[].fee_pct | number|null | % | Sponsorgebühr pro Jahr; `null`, wenn nicht veröffentlicht. |
| funds[].flow_usd | number|null | USD | Netto-Ausgabe / -Rücknahme des Fonds an seinem Flussdatum. CoinBoss-Methode. |
| funds[].flow_shares | number|null | shares | Veränderung der ausstehenden Anteile. |
| funds[].flow_coin | null | coin | Veränderung der Coin-Bestände; enthält in Coins gezahlte aufgelaufene Gebühren, nur zur Information. |
| funds[].flow_method | string|null | — | Verwendete Formel: `shares_x_nav` oder `aum_nav_ratio_t1`. |
| funds[].flow_as_of | string|null | — | Datum, unter dem der Fluss gebucht wird. |
| funds[].flow_obs_date | string|null | — | Stichtag der neueren der beiden verwendeten Zeilen. |
| funds[].flow_prev_date | string|null | — | Stichtag der älteren der beiden verwendeten Zeilen. |
| funds[].flow_note | string|null | — | Warum der Fluss fehlt oder eine Besonderheit aufweist (zum Beispiel `no_previous_row`, `multi_day_gap`). |
| funds[].is_stale | boolean|null | — | True, wenn die Daten älter als ihr Aktualitätsfenster sind. |
| funds[].source_url | string|null | — | Endpunkt des Emittenten, von dem die Zeile erhoben wurde (nur zur Datenherkunft). |
| funds[].observed_at | number|null | ms | Von der Quelle für die Daten angegebener Zeitstempel. |
| funds[].received_at | number|null | ms | Zeitpunkt, zu dem der CoinBoss-Collector die Daten empfangen hat. |
| funds[].unavailable_reason | string|null | — | Begründungscode, wenn der Fonds nicht erhoben werden kann. |
| funds[].unavailable_detail | string|null | — | Erläuterung, wenn der Fonds nicht erhoben werden kann. |
| coverage | object | — | Was in den Zahlen enthalten ist und was nicht. Vergleichen Sie dies, bevor Sie Summen mit einer anderen Quelle vergleichen. |
| coverage.included_exchanges | array | — | Quellen, deren aktuelle Daten einbezogen sind. |
| coverage.included_exchanges[] | string | — | Quellen, deren aktuelle Daten einbezogen sind. |
| coverage.unavailable | array | — | Quellen, die nicht einbezogen werden konnten, jeweils mit Begründung. Sie werden nie als 0 gezählt. |
| coverage.unavailable[] | object | — | Quellen, die nicht einbezogen werden konnten, jeweils mit Begründung. Sie werden nie als 0 gezählt. |
| coverage.unavailable[].exchange | string | — | Börsenkennung (Kleinbuchstaben). |
| coverage.unavailable[].issuer | string | — | Kennung des Fondsemittenten. |
| coverage.unavailable[].reason | string | — | Maschinenlesbarer Begründungscode. |
| coverage.unavailable[].detail | string | — | Für Menschen lesbare Erläuterung der Begründung. |
| coverage.stale_excluded | array | — | Zeilen, die unberücksichtigt bleiben, weil ihre letzte Aktualisierung außerhalb des Aktualitätsfensters liegt. leer in den Stichproben, aus denen diese Tabelle erzeugt wurde |
| method | object | — | Klartextangabe der für diese Antwort verwendeten Formeln, ein Eintrag je Feld. |
| method.holdings_coin_total | string | — | Formelhinweis zu `holdings_coin_total`, Klartext. |
| method.aum_usd_total | string | — | Formelhinweis zu `aum_usd_total`, Klartext. |
| method.net_flow_usd | string | — | Formelhinweis zu `net_flow_usd`, Klartext. |
| method.net_flow_missing | string | — | Formelhinweis zu `net_flow_missing`, Klartext. |
| method.flow_coin | string | — | Formelhinweis zu `flow_coin`, Klartext. |
| method.premium_pct | string | — | Formelhinweis zu `premium_pct`, Klartext. |
| method.is_stale | string | — | Formelhinweis zu `is_stale`, Klartext. |
| method.units | string | — | Formelhinweis zu `units`, Klartext. |
| meta | object | — | Datenherkunft und Aktualität dieser Antwort. |
| meta.schema | string | — | Schema-ID dieser Antwort. Sie ändert sich nur, wenn ein bestehendes Feld seine Bedeutung oder seinen Typ ändert. |
| meta.source | array | — | Öffentliche Upstream-Endpunkte, von denen die Daten erhoben wurden. |
| meta.source[] | object | — | Öffentliche Upstream-Endpunkte, von denen die Daten erhoben wurden. |
| meta.source[].exchange | string | — | Börsenkennung (Kleinbuchstaben). |
| meta.source[].endpoint | string | — | Öffentlicher Endpunkt der Quelle, den der Collector liest (zur Datenherkunft angegeben; Clients rufen ihn nie auf). |
| meta.observed_at | number | ms | Von der Quelle für die Daten angegebener Zeitstempel. |
| meta.received_at | number | ms | Zeitpunkt, zu dem der CoinBoss-Collector die Daten empfangen hat. |
| meta.fetched_at | number | ms | Zeitpunkt, zu dem diese Antwort zusammengestellt wurde. |
| meta.window | string | — | Zeitfenster, das die Zahlen abdecken. |
| meta.quality | string | — | FRESH, PARTIAL, STALE, BROKEN oder UNAVAILABLE, beurteilt anhand der Datenzeitstempel und der Abdeckung. |
| meta.is_stale | boolean | — | True, wenn die Daten älter als ihr Aktualitätsfenster sind. |
| meta.cache_ttl_s | number | s | Cache-Lebensdauer dieser Antwort. |
| meta.fallback | string | — | Was der Endpunkt zurückgibt, wenn der Collector oder eine Quelle ausfällt. |
Erzeugt 2026-11-11 23:00 UTC aus 4 echten Antworten.
Beispielantwort
/api/sd/etf/overview?asset=BTC · Echte Antwort, erfasst 2026-11-13 03:17:51 UTC. Lange Arrays und Maps sind für die Anzeige gekürzt: funds hatte 12 Elemente; meta.source hatte 5 Elemente; coverage.unavailable hatte 7 Elemente.
- "success"true
- "schema""coinboss.sd.etf/1"
- "now"1794539871024
- "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"
- "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"1794441600000
- "received_at"1794537318126
- "fetched_at"1794539871024
- "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…"
Geprüfte Stichproben
Neben dem obigen Beispiel ruft die Prüfsonde diesen Endpunkt mit den folgenden Parametern auf und prüft jedes Mal das Schema.
| Parameter | HTTP | Latenz | Ergebnis |
|---|---|---|---|
| asset=ETH | 200 | 1 ms | Bestanden PARTIAL |
| asset=SOL | 200 | 4 ms | Bestanden PARTIAL |
| asset=HYPE | 200 | 5 ms | Bestanden PARTIAL |
| — | 400 | 1 ms | Bestanden liefert den erwarteten Fehler |
Geprüft 2026-11-13 02:58:13 UTC
Details
- Authentifizierung
- Keine. Öffentlicher Endpunkt.
- Rate-Limit
- 1200 Anfragen pro Minute und IP
- Server-Cache
- 5m
- Edge-Micro-Cache
- 10s
- Aktualisierungsintervall
- Drei Collector-Durchläufe pro Tag (02:35, 10:35, 16:35 UTC). Die Emittenten veröffentlichen einmal pro US-Handelstag, in der Regel am Abend des Handelstags.
- Zeitfenster
- Jüngster Stichtag des Emittenten je Fonds (`as_of`, `as_of_min`); `expected_as_of` ist der jüngste US-Handelstag, dessen Veröffentlichungsfrist abgelaufen ist.
- Datenquellen
- Tägliche Offenlegungen, die von den Fondsemittenten selbst veröffentlicht werden (Bestände, Nettovermögen, ausstehende Anteile, NAV), von CoinBoss erhoben und gespeichert (sd_etf_fund_daily). Den Nettofluss berechnet CoinBoss aus diesen Offenlegungen.
- Börsenabdeckung
- Abgedeckt sind nur Fonds, deren Emittent maschinenlesbare Tagesdaten veröffentlicht. `funds_total` und `funds_covered` geben an, wie viele es sind; jeder nicht abgedeckte Fonds ist mit Begründung unter `coverage.unavailable` aufgeführt. Summen beziehen sich nur auf die abgedeckten Fonds (`totals_scope = "covered_funds_only"`), nicht auf den Gesamtmarkt.
- Einheiten
- 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.
- Methode
- 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`.
- Zeitstempel
- Unix-Epoche in Millisekunden (UTC), sofern die Feldbeschreibung nichts anderes angibt
- Antwortformat
- json
- Stabilität
- Stabil
- Verfügbar seit
- 2026-11-11
Live-Status
Der Endpunkt meldet die Datenqualität PARTIAL — Teilweise Abdeckung: Mehrere große Emittenten bieten keine öffentliche maschinenlesbare Offenlegung an, die von einem Server aus erhoben werden kann. Ihre Fonds werden als nicht verfügbar aufgeführt, und die Summen umfassen nur die übrigen Fonds. Vergleichen Sie `funds_covered` / `funds_total`, bevor Sie Summen mit anderen Quellen vergleichen.
Verfügbarkeit, letzte 30 Tage
100 % von 399 Prüfungen bestanden
Fehler
Fehlgeschlagene Aufrufe haben auf jedem Endpunkt denselben Aufbau. Die vollständige Liste steht auf der Fehlerseite. Fehler und Rate-Limits →
| Code | HTTP | Bedeutung | Empfohlene Reaktion |
|---|---|---|---|
| INVALID_PARAM | 400 | Ein erforderlicher Parameter fehlt oder ein Wert wird nicht akzeptiert. `param` nennt den Parameter, sofern er bekannt ist. | Nicht unverändert wiederholen; die Anfrage korrigieren. |
| UNAUTHORIZED | 401 | Der Header `CB-API-KEY` wurde gesendet, der Schlüssel ist jedoch unbekannt oder widerrufen. Öffentliche Daten erfordern keinen Schlüssel – lassen Sie den Header weg oder verwenden Sie einen gültigen Schlüssel. | Nicht unverändert wiederholen. |
| FORBIDDEN | 403 | Die Route gehört nicht zur öffentlichen API (intern oder nur für Konten). | Nicht wiederholen. |
| NOT_FOUND | 404 | Unbekannte Route, oder der angefragte Coin / die Börse / der Fonds existiert nicht. | Nicht wiederholen; Pfad und Kennungen mit dem Katalog abgleichen. |
| RATE_LIMITED | 429 | Mehr Anfragen, als das Limit pro Minute zulässt. `Retry-After` gibt die Wartezeit in Sekunden an. | `Retry-After` abwarten, dann mit Backoff wiederholen. |
| INTERNAL | 500 | Unerwarteter Serverfehler. Die Meldung ist bewusst allgemein gehalten; geben Sie `request_id` an, wenn Sie den Fehler melden. | Einmal nach einigen Sekunden wiederholen; wenn der Fehler bestehen bleibt, mit der Request-ID melden. |
| UPSTREAM_FAILED | 503 | Die Datenquelle hinter diesem Endpunkt hat nicht rechtzeitig geantwortet. Es werden ersatzweise keine veralteten oder stellvertretenden Zahlen zurückgegeben. | Mit Backoff wiederholen; die Statusseite prüfen. |
| UNAVAILABLE | 501 / 503 | Der Datensatz ist vorübergehend nicht bereit (Cache wird aufgewärmt), oder der Endpunkt hat noch keine rechtmäßige öffentliche Quelle. | Später wiederholen; der Katalog kennzeichnet Endpunkte, die konzeptbedingt nicht verfügbar sind. |
| REQUEST_FAILED | 200 | Einige ältere Endpunkte antworten mit HTTP 200 und `success: false`. Prüfen Sie immer `success`, nicht nur den HTTP-Status. | Hängt von der Meldung ab; als fehlgeschlagene Anfrage behandeln. |
Ausprobieren
/api/sd/etf/overviewTeilweisestring — Underlying asset, case-insensitive. `coin` is accepted as an alias.
https://www.coinboss.com/api/sd/etf/overview?asset=BTCMehr in dieser Kategorie
- Spot-ETF-Fonds /api/sd/etf/funds
- Spot-ETF-Historie /api/sd/etf/history
- Spot-ETF-Übersicht (Emittentenangaben) /api/sd/etf/overview
- Tägliche Spot-ETF-Nettoflüsse je Fonds /api/etf/detail
- Historie der täglichen Spot-ETF-Nettoflüsse /api/etf/flows
- Details zu einem einzelnen ETF /api/etf/fund/:ticker
- Liste der ETF-Fonds /api/etf/funds
- Coin-Bestände der ETFs je Fonds /api/etf/holdings
- ETF- / Trust-Produkte eines Emittenten /api/etf/issuer
- ETF-Übersicht /api/etf/overview
- Auf- / Abschlag der Grayscale-Trusts /api/grayscale/premium
- Volumen futuresbasierter ETFs /api/indicators/futures-etf-volumes