Ikhtisar ETF spot (pengungkapan penerbit)
Kepemilikan, aset bersih, dan arus bersih ETF kripto spot untuk satu aset, dijumlahkan dari dana yang dapat dikumpulkan CoinBoss dari pengungkapan penerbit, dengan daftar dana lengkap dan alasan untuk setiap dana yang tidak ada.
/api/sd/etf/overviewPermintaan
Parameter kueri
| Nama | Tipe | Wajib | Default | Nilai yang diizinkan | Deskripsi |
|---|---|---|---|---|---|
| asset | string | Wajib | — | BTC, ETH, SOL, HYPE | Aset dasar, tidak peka huruf besar/kecil. `coin` diterima sebagai alias. Contoh: BTC |
Contoh permintaan
curl -s "https://www.coinboss.com/api/sd/etf/overview?asset=BTC"Kolom respons
Tabel kolom dihasilkan dari respons nyata, sehingga memuat persis apa yang dikembalikan endpoint. Path memakai a[] untuk item array dan {*} untuk objek yang kuncinya berupa nama dinamis seperti koin atau bursa.
| Kolom | Tipe | Satuan | Deskripsi |
|---|---|---|---|
| success | boolean | — | true jika permintaan berhasil. Jika gagal, body-nya adalah `{ success: false, code, error, request_id }`. |
| schema | string | — | ID skema respons ini. ID hanya berubah jika kolom yang sudah ada berubah makna atau tipe. |
| now | number | ms | Waktu server saat respons disusun. |
| asset | string | — | Aset dasar. |
| as_of | string | — | Tanggal as-of penerbit terbaru di antara dana yang dicakup. |
| as_of_min | string | — | Tanggal as-of penerbit terlama di antara dana yang dicakup. |
| expected_as_of | string | — | Hari perdagangan AS terbaru yang tenggat publikasinya telah lewat. |
| totals_scope | string | — | Selalu `covered_funds_only`: total bukan total seluruh pasar. |
| funds_total | number | — | Dana yang terdaftar untuk aset tersebut. |
| funds_covered | number | — | Dana dengan data penerbit yang segar. |
| holdings_coin_total | number | coin | Kepemilikan koin yang dijumlahkan atas dana yang dicakup. |
| holdings_funds | number | — | Dana yang termasuk dalam `holdings_coin_total`. |
| aum_usd_total | number | USD | Aset bersih yang dijumlahkan atas dana yang dicakup. |
| aum_funds | number | — | Dana yang termasuk dalam `aum_usd_total`. |
| net_flow_usd | number | USD | Penciptaan / penebusan bersih yang dijumlahkan atas dana yang tanggal arusnya sama dengan `net_flow_as_of`. Metode CoinBoss. |
| net_flow_as_of | string | — | Tanggal pembukuan arus bersih. |
| net_flow_funds_covered | number | — | Dana yang termasuk dalam `net_flow_usd`. |
| net_flow_funds | array | — | Ticker yang termasuk dalam `net_flow_usd`. |
| net_flow_funds[] | string | — | Ticker yang termasuk dalam `net_flow_usd`. |
| net_flow_missing | array | — | Dana yang dicakup tetapi tidak termasuk dalam `net_flow_usd`, masing-masing dengan alasannya. |
| net_flow_missing[] | object | — | Dana yang dicakup tetapi tidak termasuk dalam `net_flow_usd`, masing-masing dengan alasannya. |
| net_flow_missing[].ticker | string | — | Ticker dana. |
| net_flow_missing[].reason | string | — | Kode alasan yang dapat dibaca mesin. |
| net_flow_missing[].flow_as_of | string|null | — | Tanggal pembukuan arus. |
| funds | array | — | Satu baris per dana terdaftar, termasuk dana yang tidak dapat dikumpulkan. |
| funds[] | object | — | Satu baris per dana terdaftar, termasuk dana yang tidak dapat dikumpulkan. |
| funds[].ticker | string | — | Ticker dana. |
| funds[].issuer | string | — | ID penerbit dana. |
| funds[].name | string | — | Nama dana. |
| funds[].status | string | — | OK, STALE, ERROR, atau UNAVAILABLE. |
| funds[].as_of_date | string|null | — | Tanggal as-of penerbit untuk baris tersebut. |
| funds[].holdings_coin | number|null | coin | Jumlah koin yang dipegang, sebagaimana diungkapkan penerbit. |
| funds[].holdings_usd | number|null | USD | Nilai pasar kepemilikan, sebagaimana diungkapkan penerbit. |
| funds[].ref_price | number|null | USD | Harga acuan per koin yang dipakai penerbit. |
| funds[].aum_usd | number|null | USD | Aset bersih dana. |
| funds[].aum_src | string|null | — | Cara aset bersih diperoleh: `reported`, `nav_x_shares`, atau `holdings_mv_sum`. |
| funds[].shares_out | number|null | shares | Saham beredar. |
| funds[].shares_src | string|null | — | Cara saham beredar diperoleh: `reported` atau diturunkan dari aset bersih dan NAV. |
| funds[].nav | number|null | USD | Nilai aset bersih per saham. |
| funds[].market_price | number|null | USD | Harga pasar penutupan per saham. |
| funds[].premium_pct | number|null | % | Premium (+) atau diskon (−) harga pasar terhadap NAV, sebagaimana dipublikasikan penerbit. |
| funds[].fee_pct | number|null | % | Biaya sponsor per tahun; `null` jika tidak dipublikasikan. |
| funds[].flow_usd | number|null | USD | Penciptaan / penebusan bersih dana pada tanggal arusnya. Metode CoinBoss. |
| funds[].flow_shares | number|null | shares | Perubahan saham beredar. |
| funds[].flow_coin | null | coin | Perubahan kepemilikan koin; termasuk akrual biaya yang dibayar dalam koin, hanya sebagai informasi. |
| funds[].flow_method | string|null | — | Rumus yang dipakai: `shares_x_nav` atau `aum_nav_ratio_t1`. |
| funds[].flow_as_of | string|null | — | Tanggal pembukuan arus. |
| funds[].flow_obs_date | string|null | — | Tanggal as-of dari baris yang lebih baru di antara dua baris yang dipakai. |
| funds[].flow_prev_date | string|null | — | Tanggal as-of dari baris yang lebih lama di antara dua baris yang dipakai. |
| funds[].flow_note | string|null | — | Alasan arus tidak ada atau bersifat khusus (misalnya `no_previous_row`, `multi_day_gap`). |
| funds[].is_stale | boolean|null | — | True jika data lebih lama dari jendela kesegarannya. |
| funds[].source_url | string|null | — | Endpoint penerbit tempat baris tersebut dikumpulkan (hanya untuk silsilah data). |
| funds[].observed_at | number|null | ms | Stempel waktu yang diberikan sumber untuk data tersebut. |
| funds[].received_at | number|null | ms | Waktu kolektor CoinBoss menerima data. |
| funds[].unavailable_reason | string|null | — | Kode alasan jika dana tidak dapat dikumpulkan. |
| funds[].unavailable_detail | string|null | — | Penjelasan jika dana tidak dapat dikumpulkan. |
| coverage | object | — | Apa yang termasuk dan tidak termasuk dalam angka-angka ini. Bandingkan ini terlebih dahulu sebelum membandingkan total dengan sumber lain. |
| coverage.included_exchanges | array | — | Sumber yang data segarnya disertakan. |
| coverage.included_exchanges[] | string | — | Sumber yang data segarnya disertakan. |
| coverage.unavailable | array | — | Sumber yang tidak dapat disertakan, masing-masing dengan alasannya. Sumber tersebut tidak pernah dihitung sebagai 0. |
| coverage.unavailable[] | object | — | Sumber yang tidak dapat disertakan, masing-masing dengan alasannya. Sumber tersebut tidak pernah dihitung sebagai 0. |
| coverage.unavailable[].exchange | string | — | ID bursa (huruf kecil). |
| coverage.unavailable[].issuer | string | — | ID penerbit dana. |
| coverage.unavailable[].reason | string | — | Kode alasan yang dapat dibaca mesin. |
| coverage.unavailable[].detail | string | — | Penjelasan alasan yang dapat dibaca manusia. |
| coverage.stale_excluded | array | — | Baris yang tidak dimasukkan karena pembaruan terakhirnya berada di luar jendela kesegaran. kosong pada sampel yang dipakai untuk menghasilkan tabel ini |
| method | object | — | Pernyataan teks biasa tentang rumus yang dipakai untuk respons ini, satu entri per kolom. |
| method.holdings_coin_total | string | — | Catatan rumus untuk `holdings_coin_total`, teks biasa. |
| method.aum_usd_total | string | — | Catatan rumus untuk `aum_usd_total`, teks biasa. |
| method.net_flow_usd | string | — | Catatan rumus untuk `net_flow_usd`, teks biasa. |
| method.net_flow_missing | string | — | Catatan rumus untuk `net_flow_missing`, teks biasa. |
| method.flow_coin | string | — | Catatan rumus untuk `flow_coin`, teks biasa. |
| method.premium_pct | string | — | Catatan rumus untuk `premium_pct`, teks biasa. |
| method.is_stale | string | — | Catatan rumus untuk `is_stale`, teks biasa. |
| method.units | string | — | Catatan rumus untuk `units`, teks biasa. |
| meta | object | — | Silsilah data dan kesegaran respons ini. |
| meta.schema | string | — | ID skema respons ini. ID hanya berubah jika kolom yang sudah ada berubah makna atau tipe. |
| meta.source | array | — | Endpoint publik hulu tempat data dikumpulkan. |
| meta.source[] | object | — | Endpoint publik hulu tempat data dikumpulkan. |
| meta.source[].exchange | string | — | ID bursa (huruf kecil). |
| meta.source[].endpoint | string | — | Endpoint publik sumber yang dibaca kolektor (ditampilkan sebagai silsilah data; klien tidak pernah memanggilnya). |
| meta.observed_at | number | ms | Stempel waktu yang diberikan sumber untuk data tersebut. |
| meta.received_at | number | ms | Waktu kolektor CoinBoss menerima data. |
| meta.fetched_at | number | ms | Waktu respons ini disusun. |
| meta.window | string | — | Jendela waktu yang dicakup angka-angka ini. |
| meta.quality | string | — | FRESH, PARTIAL, STALE, BROKEN, atau UNAVAILABLE, dinilai dari stempel waktu data dan cakupan. |
| meta.is_stale | boolean | — | True jika data lebih lama dari jendela kesegarannya. |
| meta.cache_ttl_s | number | s | Masa hidup cache respons ini. |
| meta.fallback | string | — | Apa yang dikembalikan endpoint ketika kolektor atau sumber gagal. |
Dihasilkan 2026-11-11 23:00 UTC dari 4 respons nyata.
Contoh respons
/api/sd/etf/overview?asset=BTC · Respons nyata yang direkam 2026-11-13 03:58:18 UTC. Array dan map yang panjang dipersingkat untuk tampilan: funds berisi 12 item; meta.source berisi 5 item; coverage.unavailable berisi 7 item.
- "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"
- "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"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…"
Sampel terverifikasi
Selain contoh di atas, probe memanggil endpoint ini dengan parameter berikut dan memeriksa skemanya setiap kali.
| Parameter | HTTP | Latensi | Hasil |
|---|---|---|---|
| asset=ETH | 200 | 4 ms | Lolos PARTIAL |
| asset=SOL | 200 | 4 ms | Lolos PARTIAL |
| asset=HYPE | 200 | 2 ms | Lolos PARTIAL |
| — | 400 | 1 ms | Lolos mengembalikan error yang diharapkan |
Diperiksa 2026-11-13 03:58:18 UTC
Detail
- Autentikasi
- Tidak ada. Endpoint publik.
- Batas permintaan
- 1200 permintaan per menit per IP
- Cache server
- 5m
- Mikro-cache edge
- 10s
- Frekuensi pembaruan
- Tiga putaran kolektor per hari (02:35, 10:35, 16:35 UTC). Penerbit memublikasikan sekali per hari perdagangan AS, biasanya pada malam tanggal perdagangan.
- Jendela
- Tanggal as-of penerbit terbaru per dana (`as_of`, `as_of_min`); `expected_as_of` adalah hari perdagangan AS terbaru yang tenggat publikasinya telah lewat.
- Sumber data
- Pengungkapan harian yang dipublikasikan sendiri oleh penerbit dana (kepemilikan, aset bersih, saham beredar, NAV), dikumpulkan dan disimpan oleh CoinBoss (sd_etf_fund_daily). Arus bersih dihitung oleh CoinBoss dari pengungkapan tersebut.
- Cakupan bursa
- Hanya dana yang penerbitnya memublikasikan data harian yang dapat dibaca mesin yang dicakup. `funds_total` dan `funds_covered` menyatakan jumlahnya; setiap dana yang tidak dicakup tercantum di `coverage.unavailable` beserta alasannya. Total adalah jumlah atas dana yang dicakup saja (`totals_scope = "covered_funds_only"`), bukan seluruh pasar.
- Satuan
- 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.
- Metode
- 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`.
- Stempel waktu
- Milidetik epoch Unix (UTC) kecuali deskripsi kolom menyatakan lain
- Format respons
- json
- Stabilitas
- Stabil
- Tersedia sejak
- 2026-11-11
Status langsung
Endpoint melaporkan kualitas data PARTIAL — Cakupan sebagian: beberapa penerbit besar tidak menyediakan pengungkapan publik yang dapat dibaca mesin dan dapat dikumpulkan dari server. Dana mereka dicantumkan sebagai tidak tersedia, dan total hanya mencakup dana selebihnya. Bandingkan `funds_covered` / `funds_total` sebelum membandingkan total dengan sumber lain.
Ketersediaan, 30 hari terakhir
100% dari 407 pemeriksaan lolos
Error
Panggilan yang gagal memiliki satu bentuk yang sama di semua endpoint. Daftar lengkapnya ada di halaman error. Error dan batas permintaan →
| Kode | HTTP | Arti | Tindakan |
|---|---|---|---|
| INVALID_PARAM | 400 | Parameter wajib tidak ada atau suatu nilai tidak diterima. `param` menyebutkan nama parameternya jika diketahui. | Jangan mengulang tanpa perubahan; perbaiki permintaannya. |
| UNAUTHORIZED | 401 | Header `CB-API-KEY` dikirim tetapi kuncinya tidak dikenal atau sudah dicabut. Data publik tidak memerlukan kunci — hapus header tersebut atau gunakan kunci yang valid. | Jangan mengulang tanpa perubahan. |
| FORBIDDEN | 403 | Rute ini bukan bagian dari API publik (internal atau khusus akun). | Jangan mengulang. |
| NOT_FOUND | 404 | Rute tidak dikenal, atau koin / bursa / dana yang diminta tidak ada. | Jangan mengulang; periksa path dan pengenal terhadap katalog. |
| RATE_LIMITED | 429 | Jumlah permintaan melebihi batas per menit. `Retry-After` memberikan jumlah detik untuk menunggu. | Tunggu selama `Retry-After`, lalu ulangi dengan backoff. |
| INTERNAL | 500 | Error server yang tidak terduga. Pesannya sengaja dibuat generik; sertakan `request_id` saat melaporkannya. | Ulangi sekali setelah beberapa detik; laporkan beserta ID permintaan jika masih terjadi. |
| UPSTREAM_FAILED | 503 | Sumber data di balik endpoint ini tidak menjawab tepat waktu. Tidak ada angka usang atau angka pengganti yang dikembalikan sebagai gantinya. | Ulangi dengan backoff; periksa halaman status. |
| UNAVAILABLE | 501 / 503 | Dataset untuk sementara belum siap (cache sedang diisi) atau endpoint belum memiliki sumber publik yang sah. | Ulangi nanti; katalog menandai endpoint yang memang tidak tersedia secara desain. |
| REQUEST_FAILED | 200 | Beberapa endpoint lama menjawab HTTP 200 dengan `success: false`. Selalu periksa `success`, bukan hanya status HTTP. | Bergantung pada pesannya; perlakukan sebagai permintaan yang gagal. |
Coba
/api/sd/etf/overviewSebagianstring — Underlying asset, case-insensitive. `coin` is accepted as an alias.
https://www.coinboss.com/api/sd/etf/overview?asset=BTCLainnya di kategori ini
- Dana ETF spot /api/sd/etf/funds
- Riwayat ETF spot /api/sd/etf/history
- Ikhtisar ETF spot (pengungkapan penerbit) /api/sd/etf/overview
- Arus bersih harian ETF spot per dana /api/etf/detail
- Riwayat arus bersih harian ETF spot /api/etf/flows
- Detail satu ETF /api/etf/fund/:ticker
- Daftar dana ETF /api/etf/funds
- Kepemilikan koin ETF per dana /api/etf/holdings
- Produk ETF / trust dari satu penerbit /api/etf/issuer
- Ikhtisar ETF /api/etf/overview
- Premium / diskon trust Grayscale /api/grayscale/premium
- Volume ETF berbasis futures /api/indicators/futures-etf-volumes