/api/sd/etf/funds
GETParcialPARTIAL

Fondos ETF spot

Una fila por cada fondo registrado de un activo: emisor, fecha de referencia, tenencias, activos netos, participaciones, NAV, precio de mercado, prima, comisión y flujo calculado por CoinBoss, o el motivo por el que el fondo no puede recopilarse.

GET/api/sd/etf/funds
Cobertura parcial. Cobertura parcial: varios emisores grandes no ofrecen una divulgación pública legible por máquina que pueda recopilarse desde un servidor. Sus fondos se listan como no disponibles y los totales cubren únicamente los fondos restantes. Compare `funds_covered` / `funds_total` antes de comparar los totales con otras fuentes.

Solicitud

Parámetros de consulta

NombreTipoObligatorioValor por defectoValores admitidosDescripción
assetstringObligatorio—BTC, ETH, SOL, HYPEActivo subyacente, sin distinción entre mayúsculas y minúsculas. `coin` se acepta como alias. Ejemplo: BTC

Solicitud de ejemplo

curl -s "https://www.coinboss.com/api/sd/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 }`.
schemastring—Id de esquema de esta respuesta. Solo cambia cuando un campo existente cambia de significado o de tipo.
nownumbermsHora del servidor en el momento de generar la respuesta.
assetstring—Activo subyacente.
as_ofstring—Fecha de referencia del emisor más reciente entre los fondos cubiertos.
expected_as_ofstring—Día de negociación de EE. UU. más reciente cuyo plazo de publicación ya ha vencido.
funds_totalnumber—Fondos registrados para el activo.
funds_coverednumber—Fondos con datos frescos del emisor.
fundsarray—Una fila por fondo registrado, incluidos los fondos que no pueden recopilarse.
funds[]object—Una fila por fondo registrado, incluidos los fondos que no pueden recopilarse.
funds[].tickerstring—Ticker del fondo.
funds[].issuerstring—Id del emisor del fondo.
funds[].namestring—Nombre del fondo.
funds[].statusstring—OK, STALE, ERROR o UNAVAILABLE.
funds[].as_of_datestring|null—Fecha de referencia del emisor de la fila.
funds[].holdings_coinnumber|nullcoinMonedas en cartera, según lo divulgado por el emisor.
funds[].holdings_usdnumber|nullUSDValor de mercado de las tenencias, según lo divulgado por el emisor.
funds[].ref_pricenumber|nullUSDPrecio de referencia por moneda utilizado por el emisor.
funds[].aum_usdnumber|nullUSDActivos netos del fondo.
funds[].aum_srcstring|null—Cómo se obtuvieron los activos netos: `reported`, `nav_x_shares` o `holdings_mv_sum`.
funds[].shares_outnumber|nullsharesParticipaciones en circulación.
funds[].shares_srcstring|null—Cómo se obtuvieron las participaciones en circulación: `reported` o derivadas de los activos netos y el NAV.
funds[].navnumber|nullUSDValor liquidativo por participación.
funds[].market_pricenumber|nullUSDPrecio de mercado de cierre por participación.
funds[].premium_pctnumber|null%Prima (+) o descuento (−) del precio de mercado respecto al NAV, tal como lo publica el emisor.
funds[].fee_pctnumber|null%Comisión anual del patrocinador; `null` cuando no se publica.
funds[].flow_usdnumber|nullUSDCreación / reembolso neto del fondo en su fecha de flujo. Método de CoinBoss.
funds[].flow_sharesnumber|nullsharesVariación de las participaciones en circulación.
funds[].flow_coinnullcoinVariación de las tenencias en monedas; incluye el devengo de comisiones pagado en moneda, solo a título informativo.
funds[].flow_methodstring|null—Fórmula utilizada: `shares_x_nav` o `aum_nav_ratio_t1`.
funds[].flow_as_ofstring|null—Fecha en la que se contabiliza el flujo.
funds[].flow_obs_datestring|null—Fecha de referencia de la más reciente de las dos filas utilizadas.
funds[].flow_prev_datestring|null—Fecha de referencia de la más antigua de las dos filas utilizadas.
funds[].flow_notestring|null—Por qué el flujo falta o es especial (por ejemplo `no_previous_row`, `multi_day_gap`).
funds[].is_staleboolean|null—True cuando los datos son más antiguos que su ventana de frescura.
funds[].source_urlstring|null—Endpoint del emisor del que se recopiló la fila (solo linaje).
funds[].observed_atnumber|nullmsMarca de tiempo que la fuente asigna a los datos.
funds[].received_atnumber|nullmsHora en que el recolector de CoinBoss recibió los datos.
funds[].unavailable_reasonstring|null—Código de motivo cuando el fondo no puede recopilarse.
funds[].unavailable_detailstring|null—Explicación cuando el fondo no puede recopilarse.
coverageobject—Qué se incluye y qué no en las cifras. Conviene revisarlo antes de comparar totales con otra fuente.
coverage.included_exchangesarray—Fuentes cuyos datos frescos se incluyen.
coverage.included_exchanges[]string—Fuentes cuyos datos frescos se incluyen.
coverage.unavailablearray—Fuentes que no pudieron incluirse, cada una con su motivo. Nunca se cuentan como 0.
coverage.unavailable[]object—Fuentes que no pudieron incluirse, cada una con su motivo. Nunca se cuentan como 0.
coverage.unavailable[].exchangestring—Id del exchange (en minúsculas).
coverage.unavailable[].issuerstring—Id del emisor del fondo.
coverage.unavailable[].reasonstring—Código de motivo legible por máquina.
coverage.unavailable[].detailstring—Explicación del motivo legible por personas.
coverage.stale_excludedarray—Filas excluidas porque su última actualización está fuera de la ventana de frescura. vacío en las muestras usadas para generar esta tabla
methodobject—Enunciado en texto plano de las fórmulas utilizadas en esta respuesta, con una entrada por campo.
method.holdings_coin_totalstring—Nota de fórmula de `holdings_coin_total`, en texto plano.
method.aum_usd_totalstring—Nota de fórmula de `aum_usd_total`, en texto plano.
method.net_flow_usdstring—Nota de fórmula de `net_flow_usd`, en texto plano.
method.net_flow_missingstring—Nota de fórmula de `net_flow_missing`, en texto plano.
method.flow_coinstring—Nota de fórmula de `flow_coin`, en texto plano.
method.premium_pctstring—Nota de fórmula de `premium_pct`, en texto plano.
method.is_stalestring—Nota de fórmula de `is_stale`, en texto plano.
method.unitsstring—Nota de fórmula de `units`, en texto plano.
metaobject—Linaje y frescura de esta respuesta.
meta.schemastring—Id de esquema de esta respuesta. Solo cambia cuando un campo existente cambia de significado o de tipo.
meta.sourcearray—Endpoints públicos de origen de los que se recopilaron los datos.
meta.source[]object—Endpoints públicos de origen de los que se recopilaron los datos.
meta.source[].exchangestring—Id del exchange (en minúsculas).
meta.source[].endpointstring—Endpoint público de la fuente que lee el recolector (se muestra por linaje; los clientes nunca lo llaman).
meta.observed_atnumbermsMarca de tiempo que la fuente asigna a los datos.
meta.received_atnumbermsHora en que el recolector de CoinBoss recibió los datos.
meta.fetched_atnumbermsHora en que se compuso esta respuesta.
meta.windowstring—Ventana temporal que cubren las cifras.
meta.qualitystring—FRESH, PARTIAL, STALE, BROKEN o UNAVAILABLE, según las marcas de tiempo de los datos y la cobertura.
meta.is_staleboolean—True cuando los datos son más antiguos que su ventana de frescura.
meta.cache_ttl_snumbersTiempo de vida en caché de esta respuesta.
meta.fallbackstring—Qué devuelve el endpoint cuando falla el recolector o una fuente.

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

Respuesta de ejemplo

/api/sd/etf/funds?asset=BTC · Respuesta real capturada 2026-11-13 03:58:17 UTC. Los arrays y mapas largos se abrevian para su visualización: funds tenía 12 elementos; meta.source tenía 5 elementos; coverage.unavailable tenía 7 elementos.

  • {
    • "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": [
      • { … 30 },
      • { … 30 }
      ],
    • "coverage": {
      • "included_exchanges": [ … 5 ],
      • "unavailable": [ … 2 ],
      • "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": [ … 2 ],
      • "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…"
      }
    }

Muestras verificadas

Además del ejemplo anterior, la sonda llama a este endpoint con estos parámetros y comprueba el esquema en cada ocasión.

ParámetrosHTTPLatenciaResultado
asset=ETH2003 msCorrecto PARTIAL
asset=HYPE2004 msCorrecto PARTIAL
asset=DOGE4002 msCorrecto devuelve el error esperado

Comprobado 2026-11-13 03:58:17 UTC

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
Tres rondas del recolector al día (02:35, 10:35, 16:35 UTC). Los emisores publican una vez por día de negociación de EE. UU., normalmente la tarde-noche de la fecha de negociación.
Ventana
Última fecha de referencia del emisor por fondo.
Fuentes de datos
Divulgaciones diarias publicadas por los propios emisores de los fondos (tenencias, activos netos, participaciones en circulación, NAV), recopiladas y almacenadas por CoinBoss (sd_etf_fund_daily). CoinBoss calcula el flujo neto a partir de esas divulgaciones.
Cobertura de exchanges
Solo se cubren los fondos cuyo emisor publica datos diarios legibles por máquina. `funds_total` y `funds_covered` indican cuántos; cada fondo no cubierto se lista en `coverage.unavailable` con el motivo. Los totales son sumas solo sobre los fondos cubiertos (`totals_scope = "covered_funds_only"`), no sobre todo el mercado.
Paginación
Sin paginación; se devuelven todos los fondos registrados del activo.
Ordenación
Ticker ascendente.
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.
Marcas de tiempo
Milisegundos de época Unix (UTC), salvo que la descripción del campo indique otra cosa
Formato de respuesta
json
Estabilidad
Estable
Disponible desde
2026-11-11

Estado en vivo

ParcialComprobado 2026-11-13 03:58:17 UTCHTTP 2004 msEl esquema coincideAntigüedad del dato más reciente: 83m

El endpoint informa de una calidad de datos PARTIAL — Cobertura parcial: varios emisores grandes no ofrecen una divulgación pública legible por máquina que pueda recopilarse desde un servidor. Sus fondos se listan como no disponibles y los totales cubren únicamente los fondos restantes. Compare `funds_covered` / `funds_total` antes de comparar los totales con otras fuentes.

Disponibilidad, últimos 30 días

100% de 407 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/sd/etf/fundsParcial
Parámetros

string — Underlying asset, case-insensitive. `coin` is accepted as an alias.

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