Fundos de ETF à vista
Uma linha por fundo registrado de um ativo: emissor, data de referência, participações, patrimônio líquido, cotas, NAV, preço de mercado, ágio, taxa e fluxo calculado pela CoinBoss, ou o motivo pelo qual o fundo não pode ser coletado.
/api/sd/etf/fundsRequisição
Parâmetros de consulta
| Nome | Tipo | Obrigatório | Padrão | Valores aceitos | Descrição |
|---|---|---|---|---|---|
| asset | string | Obrigatório | — | BTC, ETH, SOL, HYPE | Ativo subjacente, sem distinção entre maiúsculas e minúsculas. `coin` é aceito como alias. Exemplo: BTC |
Exemplo de requisição
curl -s "https://www.coinboss.com/api/sd/etf/funds?asset=BTC"Campos da resposta
A tabela de campos é gerada a partir de respostas reais, portanto lista exatamente o que o endpoint retorna. Os caminhos usam a[] para itens de array e {*} para objetos indexados por um nome dinâmico, como uma moeda ou uma corretora.
| Campo | Tipo | Unidade | Descrição |
|---|---|---|---|
| success | boolean | — | true quando a requisição foi bem-sucedida. Em caso de falha, o corpo é `{ success: false, code, error, request_id }`. |
| schema | string | — | ID do esquema desta resposta. Só muda quando um campo existente muda de significado ou de tipo. |
| now | number | ms | Horário do servidor em que a resposta foi montada. |
| asset | string | — | Ativo subjacente. |
| as_of | string | — | Data de referência do emissor mais recente entre os fundos cobertos. |
| expected_as_of | string | — | Dia de negociação dos EUA mais recente cujo prazo de publicação já passou. |
| funds_total | number | — | Fundos registrados para o ativo. |
| funds_covered | number | — | Fundos com dados atualizados do emissor. |
| funds | array | — | Uma linha por fundo registrado, incluindo os fundos que não podem ser coletados. |
| funds[] | object | — | Uma linha por fundo registrado, incluindo os fundos que não podem ser coletados. |
| funds[].ticker | string | — | Ticker do fundo. |
| funds[].issuer | string | — | ID do emissor do fundo. |
| funds[].name | string | — | Nome do fundo. |
| funds[].status | string | — | OK, STALE, ERROR ou UNAVAILABLE. |
| funds[].as_of_date | string|null | — | Data de referência do emissor para a linha. |
| funds[].holdings_coin | number|null | coin | Moedas detidas, conforme divulgado pelo emissor. |
| funds[].holdings_usd | number|null | USD | Valor de mercado das participações, conforme divulgado pelo emissor. |
| funds[].ref_price | number|null | USD | Preço de referência por moeda usado pelo emissor. |
| funds[].aum_usd | number|null | USD | Patrimônio líquido do fundo. |
| funds[].aum_src | string|null | — | Como o patrimônio líquido foi obtido: `reported`, `nav_x_shares` ou `holdings_mv_sum`. |
| funds[].shares_out | number|null | shares | Cotas em circulação. |
| funds[].shares_src | string|null | — | Como as cotas em circulação foram obtidas: `reported` ou derivadas do patrimônio líquido e do NAV. |
| funds[].nav | number|null | USD | Valor patrimonial líquido por cota. |
| funds[].market_price | number|null | USD | Preço de mercado de fechamento por cota. |
| funds[].premium_pct | number|null | % | Ágio (+) ou deságio (−) do preço de mercado em relação ao NAV, conforme publicado pelo emissor. |
| funds[].fee_pct | number|null | % | Taxa do patrocinador ao ano; `null` quando não publicada. |
| funds[].flow_usd | number|null | USD | Criação / resgate líquido do fundo na data do fluxo. Método da CoinBoss. |
| funds[].flow_shares | number|null | shares | Variação das cotas em circulação. |
| funds[].flow_coin | null | coin | Variação das participações em moedas; inclui as taxas acumuladas pagas em moeda, apenas informativa. |
| funds[].flow_method | string|null | — | Fórmula usada: `shares_x_nav` ou `aum_nav_ratio_t1`. |
| funds[].flow_as_of | string|null | — | Data em que o fluxo é contabilizado. |
| funds[].flow_obs_date | string|null | — | Data de referência da mais recente das duas linhas usadas. |
| funds[].flow_prev_date | string|null | — | Data de referência da mais antiga das duas linhas usadas. |
| funds[].flow_note | string|null | — | Por que o fluxo está ausente ou é especial (por exemplo, `no_previous_row`, `multi_day_gap`). |
| funds[].is_stale | boolean|null | — | True quando os dados são mais antigos que sua janela de atualidade. |
| funds[].source_url | string|null | — | Endpoint do emissor do qual a linha foi coletada (apenas para linhagem). |
| funds[].observed_at | number|null | ms | Timestamp informado pela fonte para os dados. |
| funds[].received_at | number|null | ms | Horário em que o coletor da CoinBoss recebeu os dados. |
| funds[].unavailable_reason | string|null | — | Código de motivo quando o fundo não pode ser coletado. |
| funds[].unavailable_detail | string|null | — | Explicação quando o fundo não pode ser coletado. |
| coverage | object | — | O que está e o que não está incluído nos números. Compare isto antes de comparar totais com outra fonte. |
| coverage.included_exchanges | array | — | Fontes cujos dados atualizados estão incluídos. |
| coverage.included_exchanges[] | string | — | Fontes cujos dados atualizados estão incluídos. |
| coverage.unavailable | array | — | Fontes que não puderam ser incluídas, cada uma com um motivo. Nunca são contadas como 0. |
| coverage.unavailable[] | object | — | Fontes que não puderam ser incluídas, cada uma com um motivo. Nunca são contadas como 0. |
| coverage.unavailable[].exchange | string | — | ID da corretora (em minúsculas). |
| coverage.unavailable[].issuer | string | — | ID do emissor do fundo. |
| coverage.unavailable[].reason | string | — | Código de motivo legível por máquina. |
| coverage.unavailable[].detail | string | — | Explicação do motivo em linguagem natural. |
| coverage.stale_excluded | array | — | Linhas deixadas de fora porque sua última atualização está fora da janela de atualidade. vazio nas amostras usadas para gerar esta tabela |
| method | object | — | Descrição em texto simples das fórmulas usadas nesta resposta, uma entrada por campo. |
| method.holdings_coin_total | string | — | Nota sobre a fórmula de `holdings_coin_total`, em texto simples. |
| method.aum_usd_total | string | — | Nota sobre a fórmula de `aum_usd_total`, em texto simples. |
| method.net_flow_usd | string | — | Nota sobre a fórmula de `net_flow_usd`, em texto simples. |
| method.net_flow_missing | string | — | Nota sobre a fórmula de `net_flow_missing`, em texto simples. |
| method.flow_coin | string | — | Nota sobre a fórmula de `flow_coin`, em texto simples. |
| method.premium_pct | string | — | Nota sobre a fórmula de `premium_pct`, em texto simples. |
| method.is_stale | string | — | Nota sobre a fórmula de `is_stale`, em texto simples. |
| method.units | string | — | Nota sobre a fórmula de `units`, em texto simples. |
| meta | object | — | Linhagem e atualidade desta resposta. |
| meta.schema | string | — | ID do esquema desta resposta. Só muda quando um campo existente muda de significado ou de tipo. |
| meta.source | array | — | Endpoints públicos de origem dos quais os dados foram coletados. |
| meta.source[] | object | — | Endpoints públicos de origem dos quais os dados foram coletados. |
| meta.source[].exchange | string | — | ID da corretora (em minúsculas). |
| meta.source[].endpoint | string | — | Endpoint público da fonte que o coletor lê (exibido para fins de linhagem; os clientes nunca o chamam). |
| meta.observed_at | number | ms | Timestamp informado pela fonte para os dados. |
| meta.received_at | number | ms | Horário em que o coletor da CoinBoss recebeu os dados. |
| meta.fetched_at | number | ms | Horário em que esta resposta foi montada. |
| meta.window | string | — | Janela de tempo coberta pelos números. |
| meta.quality | string | — | FRESH, PARTIAL, STALE, BROKEN ou UNAVAILABLE, avaliado a partir dos timestamps dos dados e da cobertura. |
| meta.is_stale | boolean | — | True quando os dados são mais antigos que sua janela de atualidade. |
| meta.cache_ttl_s | number | s | Tempo de vida do cache desta resposta. |
| meta.fallback | string | — | O que o endpoint retorna quando o coletor ou uma fonte falha. |
Gerada 2026-11-11 23:00 UTC a partir de 3 respostas reais.
Exemplo de resposta
/api/sd/etf/funds?asset=BTC · Resposta real capturada 2026-11-13 03:58:17 UTC. Arrays e mapas longos são encurtados para exibição: funds tinha 12 itens; meta.source tinha 5 itens; coverage.unavailable tinha 7 itens.
- "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…"
Amostras verificadas
Além do exemplo acima, a sonda chama este endpoint com estes parâmetros e verifica o esquema a cada vez.
| Parâmetros | HTTP | Latência | Resultado |
|---|---|---|---|
| asset=ETH | 200 | 3 ms | Aprovado PARTIAL |
| asset=HYPE | 200 | 4 ms | Aprovado PARTIAL |
| asset=DOGE | 400 | 2 ms | Aprovado retorna o erro esperado |
Verificado 2026-11-13 03:58:17 UTC
Detalhes
- Autenticação
- Nenhuma. Endpoint público.
- Limite de requisições
- 1200 requisições por minuto por IP
- Cache do servidor
- 5m
- Microcache de borda
- 10s
- Frequência de atualização
- Três rodadas do coletor por dia (02:35, 10:35, 16:35 UTC). Os emissores publicam uma vez por dia de negociação dos EUA, geralmente na noite da data de negociação.
- Janela
- Data de referência mais recente do emissor por fundo.
- Fontes de dados
- Divulgações diárias publicadas pelos próprios emissores dos fundos (participações, patrimônio líquido, cotas em circulação, NAV), coletadas e armazenadas pela CoinBoss (sd_etf_fund_daily). O fluxo líquido é calculado pela CoinBoss a partir dessas divulgações.
- Cobertura de corretoras
- Somente os fundos cujo emissor publica dados diários legíveis por máquina são cobertos. `funds_total` e `funds_covered` indicam quantos; todo fundo não coberto é listado em `coverage.unavailable`, com o motivo. Os totais são somas apenas dos fundos cobertos (`totals_scope = "covered_funds_only"`), não do mercado inteiro.
- Paginação
- Sem paginação; todos os fundos registrados do ativo são retornados.
- Ordenação
- Ticker em ordem crescente.
- Unidades
- 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.
- Método
- `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.
- Timestamps
- Milissegundos da época Unix (UTC), salvo se a descrição do campo indicar o contrário
- Formato da resposta
- json
- Estabilidade
- Estável
- Disponível desde
- 2026-11-11
Status ao vivo
O endpoint reporta qualidade dos dados PARTIAL — Cobertura parcial: vários grandes emissores não oferecem uma divulgação pública legível por máquina que possa ser coletada a partir de um servidor. Seus fundos são listados como indisponíveis, e os totais cobrem apenas os demais fundos. Compare `funds_covered` / `funds_total` antes de comparar os totais com outras fontes.
Disponibilidade, últimos 30 dias
100% de 407 verificações aprovadas
Erros
As chamadas com falha têm o mesmo formato em todos os endpoints. A lista completa está na página de erros. Erros e limites de requisições →
| Código | HTTP | Significado | O que fazer |
|---|---|---|---|
| INVALID_PARAM | 400 | Falta um parâmetro obrigatório ou um valor não é aceito. `param` indica o nome do parâmetro quando ele é conhecido. | Não repita a requisição sem alterações; corrija-a. |
| UNAUTHORIZED | 401 | O cabeçalho `CB-API-KEY` foi enviado, mas a chave é desconhecida ou foi revogada. Dados públicos não exigem chave — remova o cabeçalho ou use uma chave válida. | Não repita a requisição sem alterações. |
| FORBIDDEN | 403 | A rota não faz parte da API pública (é interna ou exclusiva de conta). | Não tente novamente. |
| NOT_FOUND | 404 | Rota desconhecida, ou a moeda / corretora / fundo solicitado não existe. | Não tente novamente; confira o caminho e os identificadores no catálogo. |
| RATE_LIMITED | 429 | Mais requisições do que o limite por minuto. `Retry-After` informa os segundos a aguardar. | Aguarde `Retry-After` e então tente novamente com backoff. |
| INTERNAL | 500 | Erro inesperado do servidor. A mensagem é genérica de propósito; cite `request_id` ao reportá-lo. | Tente novamente uma vez após alguns segundos; se persistir, reporte-o com o ID da requisição. |
| UPSTREAM_FAILED | 503 | A fonte de dados por trás deste endpoint não respondeu a tempo. Nenhum número desatualizado ou substituto é retornado em seu lugar. | Tente novamente com backoff; consulte a página de status. |
| UNAVAILABLE | 501 / 503 | O conjunto de dados ainda não está pronto temporariamente (aquecimento do cache) ou o endpoint ainda não tem uma fonte pública lícita. | Tente novamente mais tarde; o catálogo marca os endpoints que são indisponíveis por design. |
| REQUEST_FAILED | 200 | Alguns endpoints mais antigos respondem HTTP 200 com `success: false`. Verifique sempre `success`, não apenas o status HTTP. | Depende da mensagem; trate como uma requisição com falha. |
Experimente
/api/sd/etf/fundsParcialstring — Underlying asset, case-insensitive. `coin` is accepted as an alias.
https://www.coinboss.com/api/sd/etf/funds?asset=BTCMais nesta categoria
- Fundos de ETF à vista /api/sd/etf/funds
- Histórico de ETFs à vista /api/sd/etf/history
- Visão geral de ETFs à vista (divulgações dos emissores) /api/sd/etf/overview
- Fluxos líquidos diários de ETFs à vista por fundo /api/etf/detail
- Histórico do fluxo líquido diário de ETFs à vista /api/etf/flows
- Detalhe de um ETF /api/etf/fund/:ticker
- Lista de fundos de ETF /api/etf/funds
- Participações em moedas dos ETFs por fundo /api/etf/holdings
- Produtos de ETF / trust de um emissor /api/etf/issuer
- Visão geral de ETFs /api/etf/overview
- Ágio / deságio dos trusts da Grayscale /api/grayscale/premium
- Volumes de ETFs baseados em futuros /api/indicators/futures-etf-volumes