Dana ETF spot
Satu baris per dana terdaftar untuk suatu aset: penerbit, tanggal data, kepemilikan, aset bersih, saham beredar, NAV, harga pasar, premium, biaya, dan arus yang dihitung CoinBoss, atau alasan mengapa dana tersebut tidak dapat dikumpulkan.
/api/sd/etf/fundsPermintaan
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/funds?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. |
| expected_as_of | string | — | Hari perdagangan AS terbaru yang tenggat publikasinya telah lewat. |
| funds_total | number | — | Dana yang terdaftar untuk aset tersebut. |
| funds_covered | number | — | Dana dengan data penerbit yang segar. |
| 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 3 respons nyata.
Contoh respons
/api/sd/etf/funds?asset=BTC · Respons nyata yang direkam 2026-11-13 04:02:51 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"1794542297570
- "asset""BTC"
- "as_of""2026-11-12"
- "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"1794441600000
- "received_at"1794537318126
- "fetched_at"1794542297570
- "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 | 3 ms | Lolos PARTIAL |
| asset=HYPE | 200 | 4 ms | Lolos PARTIAL |
| asset=DOGE | 400 | 2 ms | Lolos mengembalikan error yang diharapkan |
Diperiksa 2026-11-13 03:58:17 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.
- 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.
- Paginasi
- Tanpa paginasi; semua dana terdaftar untuk aset tersebut dikembalikan.
- Pengurutan
- Ticker, menaik.
- 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
- `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.
- 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 408 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/fundsSebagianstring — Underlying asset, case-insensitive. `coin` is accepted as an alias.
https://www.coinboss.com/api/sd/etf/funds?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