/api/etf/funds
GETParcial

Lista de fondos ETF

Lista de fondos ETF (ticker, emisor, AUM, comisión, ...)

GET/api/etf/funds
Cobertura parcial. Los flujos y las tenencias se actualizan a diario. `fee_pct`, `volume_usd`, `mkt_share_pct` y `cum_inflow_official` proceden de una fuente que dejó de publicar el 2026-10-08 y conservan su último valor hasta que haya un reemplazo en funcionamiento; no trate esos cuatro campos como actuales. `latest_premium_pct` es `null` por el mismo motivo. El objeto `frozen_fields` de la respuesta nombra estos campos junto con la fecha a la que se refiere cada valor.

Solicitud

Parámetros de consulta

NombreTipoObligatorioValor por defectoValores admitidosDescripción
assetstringOpcionalBTCBTC, ETH, SOL, HYPEActivo subyacente. Cualquier otro valor devuelve 400 `INVALID_PARAM`. Ejemplo: BTC

Solicitud de ejemplo

curl -s "https://www.coinboss.com/api/etf/funds?asset=BTC"

Campos de la respuesta

La tabla de campos se genera a partir de respuestas reales, por lo que recoge exactamente lo que devuelve el endpoint. Las rutas usan a[] para los elementos de un array y {*} para los objetos cuya clave es un nombre dinámico, como una moneda o un exchange.

CampoTipoUnidadDescripción
successboolean—true cuando la solicitud se completó correctamente. En caso de fallo, el cuerpo es `{ success: false, code, error, request_id }`.
assetstring—Símbolo del activo.
unitstring—Unidad de los valores de este objeto.
countnumber—Número de elementos.
fundsarray—Todos los fondos ETF spot del activo, ordenados por `latest_aum` descendente.
funds[]object—Un fondo con su último flujo, su AUM y sus atributos de instantánea.
funds[].tickerstring—Ticker del fondo.
funds[].issuerstring—Emisor del fondo.
funds[].latest_datestring—Día de negociación más reciente (YYYY-MM-DD) con datos de flujo del fondo; null cuando el fondo no tiene filas.
funds[].latest_flownumbermillion USDFlujo neto del fondo en `latest_date`; negativo = salida neta.
funds[].sum_7dnumber—Suma de 7 días.
funds[].cum_totalnumber—Total acumulado.
funds[].latest_aumnumbermillion USDActivos bajo gestión del fondo en `latest_date`; null cuando no están disponibles para ese día.
funds[].latest_premium_pctnumber|null%Prima (+) o descuento (−) del precio de mercado del fondo respecto a su valor liquidativo en `latest_date`; null cuando no está disponible para ese día.
funds[].sourcestring—De dónde procede el valor.
funds[].fee_pctnumber%Comisión de gestión anual del fondo en porcentaje (0.25 = 0.25 % anual); último valor conocido, véase su fecha en `frozen_fields`.
funds[].volume_usdnumberUSDVolumen en nocional USD.
funds[].mkt_share_pctnumber%AUM del fondo como porcentaje de la capitalización de mercado total de la moneda subyacente (no su cuota entre los ETF); último valor conocido, véase `frozen_fields`.
funds[].cum_inflow_officialnumbermillion USDEntrada neta acumulada desde el lanzamiento según la publica una fuente externa; último valor conocido, véase su fecha en `frozen_fields`.
funds[].etf_share_pctnumber%`latest_aum` del fondo como porcentaje de la suma de los `latest_aum` de todos los fondos del mismo activo.
frozen_fieldsobject—Campos cuya fuente dejó de actualizarse; llevan el último valor conocido y no deben leerse como actuales. `null` cuando no hay nada congelado.
frozen_fields.fieldsarray—Nombres de los campos congelados.
frozen_fields.fields[]string—Nombre del campo.
frozen_fields.as_ofstring—Fecha de la última actualización de los campos congelados (YYYY-MM-DD).
frozen_fields.latest_datestring—Fecha más reciente de los campos que siguen actualizándose (YYYY-MM-DD).
frozen_fields.detailarray—Detalle.
frozen_fields.detail[]object—Detalle.
frozen_fields.detail[].fieldstring—Nombre del campo congelado.
frozen_fields.detail[].as_ofstring—Fecha de la última actualización de este campo (YYYY-MM-DD).
frozen_fields.detail[].servedstring—Lo que devuelve la API para el campo: `last_known_value` o `null`.
frozen_fields.by_tickerobject—Por fondo: fecha de la última actualización de cada campo congelado. claves dinámicas: IBIT,FBTC,GBTC,BTC,BITB,ARKB
frozen_fields.by_ticker.{*}object—Campos congelados de un fondo, con el nombre del campo como clave.
frozen_fields.by_ticker.{*}.fee_pctstring%Fecha de la última actualización de `fee_pct` (YYYY-MM-DD).
frozen_fields.by_ticker.{*}.volume_usdstringUSDVolumen en nocional USD.
frozen_fields.by_ticker.{*}.mkt_share_pctstring%Fecha de la última actualización de `mkt_share_pct` (YYYY-MM-DD).
frozen_fields.by_ticker.{*}.cum_inflow_officialstring—Fecha de la última actualización de `cum_inflow_official` (YYYY-MM-DD).
frozen_fields.by_ticker.{*}.latest_premium_pctstring%Fecha de la última actualización de `latest_premium_pct` (YYYY-MM-DD).
frozen_fields.notestring—Nota.

Generada 2026-11-11 23:00 UTC a partir de 1 respuestas reales.

Respuesta de ejemplo

/api/etf/funds?asset=BTC · Respuesta real capturada 2026-11-13 03:58:19 UTC. Los arrays y mapas largos se abrevian para su visualización: funds tenía 13 elementos; frozen_fields.detail tenía 5 elementos; frozen_fields.by_ticker tenía 13 elementos.

  • {
    • "success": true,
    • "asset": "BTC",
    • "unit": "million_usd",
    • "count": 13,
    • "funds": [
      • { … 14 },
      • { … 14 }
      ],
    • "frozen_fields": {
      • "fields": [ … 5 ],
      • "as_of": "2026-10-08",
      • "latest_date": "2026-11-12",
      • "detail": [ … 2 ],
      • "by_ticker": { … 2 },
      • "note": "fields 所列字段的数据源自 as_of 之后未再更新:served=last_known_value 的字段返回的是 as_of 当日的最后已知值(不是 latest_date 的值);served=null 的字段在 latest_date 无数据、返回 null。其余字段(latest_flow/sum_7d…"
      }
    }

Detalles

Autenticación
Ninguna. Endpoint público.
Límite de solicitudes
1200 solicitudes por minuto por IP
Caché del servidor
5m
Microcaché de borde
10s
Frecuencia de actualización
cada hora (minuto 15); la fuente publica una vez por día de negociación de EE. UU.
Ventana
última instantánea por fondo (flujos sumados sobre 7 días de negociación y desde el inicio de cotización)
Fuentes de datos
Lista por fondo de los ETF spot de criptomonedas de EE. UU.: flujos de un rastreador público de flujos de ETF, AUM de un sitio público de datos de mercado.
Cobertura de exchanges
Todos los fondos del activo seleccionado (BTC, ETH, SOL, HYPE).
Ordenación
AUM más reciente descendente
Unidades
million USD (flows, AUM); percent (premium, fee, shares)
Método
cum_total = sum of daily flows; etf_share_pct = fund AUM / sum of AUM of all funds of the same asset x 100.
Marcas de tiempo
Milisegundos de época Unix (UTC), salvo que la descripción del campo indique otra cosa
Formato de respuesta
json
Estabilidad
Estable

Estado en vivo

ParcialComprobado 2026-11-13 03:58:19 UTCHTTP 2001 msEl esquema coincideAntigüedad del dato más reciente: 28h

Los flujos y las tenencias se actualizan a diario. `fee_pct`, `volume_usd`, `mkt_share_pct` y `cum_inflow_official` proceden de una fuente que dejó de publicar el 2026-10-08 y conservan su último valor hasta que haya un reemplazo en funcionamiento; no trate esos cuatro campos como actuales. `latest_premium_pct` es `null` por el mismo motivo. El objeto `frozen_fields` de la respuesta nombra estos campos junto con la fecha a la que se refiere cada valor.

Disponibilidad, últimos 30 días

100% de 410 comprobaciones superadas

Errores

Las llamadas fallidas tienen la misma estructura en todos los endpoints. La lista completa está en la página de errores. Errores y límites de solicitudes →

CódigoHTTPSignificadoQué hacer
INVALID_PARAM400Falta un parámetro obligatorio o un valor no se acepta. `param` indica el nombre del parámetro cuando se conoce.No reintente sin cambios; corrija la solicitud.
UNAUTHORIZED401Se envió la cabecera `CB-API-KEY`, pero la clave es desconocida o está revocada. Los datos públicos no necesitan clave: elimine la cabecera o use una clave válida.No reintente sin cambios.
FORBIDDEN403La ruta no forma parte de la API pública (interna o solo para cuentas).No reintente.
NOT_FOUND404Ruta desconocida, o la moneda / el exchange / el fondo solicitado no existe.No reintente; compruebe la ruta y los identificadores en el catálogo.
RATE_LIMITED429Más solicitudes que el límite por minuto. `Retry-After` indica los segundos de espera.Espere el tiempo de `Retry-After` y después reintente con espera progresiva.
INTERNAL500Error inesperado del servidor. El mensaje es genérico por diseño; cite `request_id` al informar del error.Reintente una vez tras unos segundos; si persiste, infórmelo con el ID de solicitud.
UPSTREAM_FAILED503La fuente de datos de este endpoint no respondió a tiempo. No se devuelven cifras desactualizadas ni sustitutas en su lugar.Reintente con espera progresiva; consulte la página de estado.
UNAVAILABLE501 / 503El conjunto de datos no está listo temporalmente (calentamiento de la caché) o el endpoint aún no tiene una fuente pública lícita.Reintente más tarde; el catálogo marca los endpoints que no están disponibles por diseño.
REQUEST_FAILED200Algunos endpoints antiguos responden HTTP 200 con `success: false`. Compruebe siempre `success`, no solo el estado HTTP.Depende del mensaje; trátelo como una solicitud fallida.

Pruébelo

GET/api/etf/fundsParcial
Parámetros

string · por defecto BTC — Underlying asset. Any other value returns 400 `INVALID_PARAM`.

URL de la solicitudhttps://www.coinboss.com/api/etf/funds?asset=BTC
Elija un endpoint y pulse «Enviar solicitud». Aquí aparecerán la respuesta, las cabeceras y los tiempos.