Обзор спотовых ETF (раскрытия эмитентов)
Запасы, чистые активы и чистый поток спотовых крипто-ETF по одному активу — сумма по фондам, данные которых CoinBoss может собрать из раскрытий эмитентов, с полным списком фондов и причиной отсутствия каждого неучтённого фонда.
/api/sd/etf/overviewЗапрос
Параметры запроса
| Имя | Тип | Обязательный | По умолчанию | Допустимые значения | Описание |
|---|---|---|---|---|---|
| asset | string | Обязательный | — | BTC, ETH, SOL, HYPE | Базовый актив, без учёта регистра. `coin` принимается как псевдоним. Пример: BTC |
Пример запроса
curl -s "https://www.coinboss.com/api/sd/etf/overview?asset=BTC"Поля ответа
Таблица полей формируется из реальных ответов, поэтому в ней перечислено ровно то, что возвращает эндпоинт. В путях a[] обозначает элементы массива, а {*} — объекты с динамическим ключом, например монетой или биржей.
| Поле | Тип | Единица | Описание |
|---|---|---|---|
| success | boolean | — | true, если запрос выполнен успешно. При ошибке тело ответа имеет вид `{ success: false, code, error, request_id }`. |
| schema | string | — | Идентификатор схемы этого ответа. Меняется только тогда, когда у существующего поля меняется смысл или тип. |
| now | number | ms | Время сервера в момент формирования ответа. |
| asset | string | — | Базовый актив. |
| as_of | string | — | Самая поздняя отчётная дата эмитента среди покрытых фондов. |
| as_of_min | string | — | Самая ранняя отчётная дата эмитента среди покрытых фондов. |
| expected_as_of | string | — | Последний торговый день США, срок публикации за который уже истёк. |
| totals_scope | string | — | Всегда `covered_funds_only`: итоги не являются итогами по всему рынку. |
| funds_total | number | — | Фонды, зарегистрированные для актива. |
| funds_covered | number | — | Фонды с актуальными данными эмитента. |
| holdings_coin_total | number | coin | Запасы в монетах, просуммированные по покрытым фондам. |
| holdings_funds | number | — | Фонды, включённые в `holdings_coin_total`. |
| aum_usd_total | number | USD | Чистые активы, просуммированные по покрытым фондам. |
| aum_funds | number | — | Фонды, включённые в `aum_usd_total`. |
| net_flow_usd | number | USD | Чистый выпуск / погашение паёв, просуммированные по фондам, дата потока которых равна `net_flow_as_of`. Метод CoinBoss. |
| net_flow_as_of | string | — | Дата, на которую учитывается чистый поток. |
| net_flow_funds_covered | number | — | Фонды, включённые в `net_flow_usd`. |
| net_flow_funds | array | — | Тикеры, включённые в `net_flow_usd`. |
| net_flow_funds[] | string | — | Тикеры, включённые в `net_flow_usd`. |
| net_flow_missing | array | — | Покрытые фонды, не включённые в `net_flow_usd`, с указанием причины для каждого. |
| net_flow_missing[] | object | — | Покрытые фонды, не включённые в `net_flow_usd`, с указанием причины для каждого. |
| net_flow_missing[].ticker | string | — | Тикер фонда. |
| net_flow_missing[].reason | string | — | Машиночитаемый код причины. |
| net_flow_missing[].flow_as_of | string|null | — | Дата, на которую учитывается поток. |
| funds | array | — | Одна строка на каждый зарегистрированный фонд, включая фонды, данные которых собрать нельзя. |
| funds[] | object | — | Одна строка на каждый зарегистрированный фонд, включая фонды, данные которых собрать нельзя. |
| funds[].ticker | string | — | Тикер фонда. |
| funds[].issuer | string | — | Идентификатор эмитента фонда. |
| funds[].name | string | — | Название фонда. |
| funds[].status | string | — | OK, STALE, ERROR или UNAVAILABLE. |
| funds[].as_of_date | string|null | — | Отчётная дата эмитента для строки. |
| funds[].holdings_coin | number|null | coin | Число монет в запасах по раскрытию эмитента. |
| funds[].holdings_usd | number|null | USD | Рыночная стоимость запасов по раскрытию эмитента. |
| funds[].ref_price | number|null | USD | Референсная цена за монету, используемая эмитентом. |
| funds[].aum_usd | number|null | USD | Чистые активы фонда. |
| funds[].aum_src | string|null | — | Как получены чистые активы: `reported`, `nav_x_shares` или `holdings_mv_sum`. |
| funds[].shares_out | number|null | shares | Паи в обращении. |
| funds[].shares_src | string|null | — | Как получено число паёв в обращении: `reported` либо вывод из чистых активов и NAV. |
| funds[].nav | number|null | USD | Стоимость чистых активов на пай. |
| funds[].market_price | number|null | USD | Рыночная цена закрытия за пай. |
| funds[].premium_pct | number|null | % | Премия (+) или дисконт (−) рыночной цены к NAV в том виде, в каком их публикует эмитент. |
| funds[].fee_pct | number|null | % | Комиссия спонсора за год; `null`, если она не публикуется. |
| funds[].flow_usd | number|null | USD | Чистый выпуск / погашение паёв фонда на дату потока. Метод CoinBoss. |
| funds[].flow_shares | number|null | shares | Изменение числа паёв в обращении. |
| funds[].flow_coin | null | coin | Изменение запасов в монетах; включает начисление комиссии, уплачиваемой в монете; только для справки. |
| funds[].flow_method | string|null | — | Использованная формула: `shares_x_nav` или `aum_nav_ratio_t1`. |
| funds[].flow_as_of | string|null | — | Дата, на которую учитывается поток. |
| funds[].flow_obs_date | string|null | — | Отчётная дата более новой из двух использованных строк. |
| funds[].flow_prev_date | string|null | — | Отчётная дата более старой из двух использованных строк. |
| funds[].flow_note | string|null | — | Почему поток отсутствует или имеет особый статус (например, `no_previous_row`, `multi_day_gap`). |
| funds[].is_stale | boolean|null | — | True, если данные старше своего окна актуальности. |
| funds[].source_url | string|null | — | Эндпоинт эмитента, из которого собрана строка (только для сведений о происхождении данных). |
| funds[].observed_at | number|null | ms | Метка времени, указанная источником для данных. |
| funds[].received_at | number|null | ms | Время получения данных коллектором CoinBoss. |
| funds[].unavailable_reason | string|null | — | Код причины, если данные фонда собрать нельзя. |
| funds[].unavailable_detail | string|null | — | Объяснение, если данные фонда собрать нельзя. |
| coverage | object | — | Что входит и что не входит в эти значения. Сверьтесь с этим блоком, прежде чем сравнивать итоги с другим источником. |
| coverage.included_exchanges | array | — | Источники, актуальные данные которых учтены. |
| coverage.included_exchanges[] | string | — | Источники, актуальные данные которых учтены. |
| coverage.unavailable | array | — | Источники, которые не удалось включить, с указанием причины для каждого. Они никогда не учитываются как 0. |
| coverage.unavailable[] | object | — | Источники, которые не удалось включить, с указанием причины для каждого. Они никогда не учитываются как 0. |
| coverage.unavailable[].exchange | string | — | Идентификатор биржи (в нижнем регистре). |
| coverage.unavailable[].issuer | string | — | Идентификатор эмитента фонда. |
| coverage.unavailable[].reason | string | — | Машиночитаемый код причины. |
| coverage.unavailable[].detail | string | — | Понятное человеку объяснение причины. |
| coverage.stale_excluded | array | — | Строки, не учтённые потому, что их последнее обновление выходит за окно актуальности. пусто в образцах, по которым построена таблица |
| method | object | — | Текстовое описание формул, использованных для этого ответа, по одной записи на поле. |
| method.holdings_coin_total | string | — | Пояснение к формуле для `holdings_coin_total`, обычный текст. |
| method.aum_usd_total | string | — | Пояснение к формуле для `aum_usd_total`, обычный текст. |
| method.net_flow_usd | string | — | Пояснение к формуле для `net_flow_usd`, обычный текст. |
| method.net_flow_missing | string | — | Пояснение к формуле для `net_flow_missing`, обычный текст. |
| method.flow_coin | string | — | Пояснение к формуле для `flow_coin`, обычный текст. |
| method.premium_pct | string | — | Пояснение к формуле для `premium_pct`, обычный текст. |
| method.is_stale | string | — | Пояснение к формуле для `is_stale`, обычный текст. |
| method.units | string | — | Пояснение к формуле для `units`, обычный текст. |
| meta | object | — | Происхождение данных и актуальность этого ответа. |
| meta.schema | string | — | Идентификатор схемы этого ответа. Меняется только тогда, когда у существующего поля меняется смысл или тип. |
| meta.source | array | — | Публичные эндпоинты источников, из которых собраны данные. |
| meta.source[] | object | — | Публичные эндпоинты источников, из которых собраны данные. |
| meta.source[].exchange | string | — | Идентификатор биржи (в нижнем регистре). |
| meta.source[].endpoint | string | — | Публичный эндпоинт источника, который читает коллектор (показан для сведений о происхождении данных; клиенты его не вызывают). |
| meta.observed_at | number | ms | Метка времени, указанная источником для данных. |
| meta.received_at | number | ms | Время получения данных коллектором CoinBoss. |
| meta.fetched_at | number | ms | Время формирования этого ответа. |
| meta.window | string | — | Временное окно, которое охватывают значения. |
| meta.quality | string | — | FRESH, PARTIAL, STALE, BROKEN или UNAVAILABLE — оценка по меткам времени данных и покрытию. |
| meta.is_stale | boolean | — | True, если данные старше своего окна актуальности. |
| meta.cache_ttl_s | number | s | Время жизни кеша этого ответа. |
| meta.fallback | string | — | Что возвращает эндпоинт при сбое коллектора или источника. |
Сформировано 2026-11-11 23:00 UTC; использовано реальных ответов: 4.
Пример ответа
/api/sd/etf/overview?asset=BTC · Реальный ответ, получен 2026-11-13 04:02:51 UTC. Длинные массивы и словари сокращены для отображения: funds: элементов было 12; meta.source: элементов было 5; coverage.unavailable: элементов было 7.
- "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…"
Проверенные образцы
Помимо примера выше, автопроверка вызывает этот эндпоинт с указанными параметрами и каждый раз сверяет схему.
| Параметры | HTTP | Задержка | Результат |
|---|---|---|---|
| asset=ETH | 200 | 4 ms | Пройдено PARTIAL |
| asset=SOL | 200 | 4 ms | Пройдено PARTIAL |
| asset=HYPE | 200 | 2 ms | Пройдено PARTIAL |
| — | 400 | 1 ms | Пройдено возвращает ожидаемую ошибку |
Проверено: 2026-11-13 03:58:18 UTC
Сведения
- Аутентификация
- Не требуется. Публичный эндпоинт.
- Лимит запросов
- 1200 запросов в минуту на один IP
- Серверный кеш
- 5m
- Пограничный микрокеш
- 10s
- Частота обновления
- Три цикла коллектора в сутки (02:35, 10:35, 16:35 UTC). Эмитенты публикуют данные один раз за торговый день США, обычно вечером в день торгов.
- Окно
- Последняя отчётная дата эмитента по каждому фонду (`as_of`, `as_of_min`); `expected_as_of` — последний торговый день США, срок публикации за который уже истёк.
- Источники данных
- Ежедневные раскрытия, публикуемые самими эмитентами фондов (запасы, чистые активы, паи в обращении, NAV); их собирает и хранит CoinBoss (sd_etf_fund_daily). Чистый поток CoinBoss рассчитывает по этим раскрытиям.
- Покрытие бирж
- Покрыты только фонды, эмитент которых публикует машиночитаемые ежедневные данные. `funds_total` и `funds_covered` показывают, сколько их; каждый непокрытый фонд указан в `coverage.unavailable` с причиной. Итоги — это суммы только по покрытым фондам (`totals_scope = "covered_funds_only"`), а не по всему рынку.
- Единицы измерения
- 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.
- Метод расчёта
- 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`.
- Метки времени
- Миллисекунды эпохи Unix (UTC), если в описании поля не указано иное
- Формат ответа
- json
- Стабильность
- Стабильный
- Доступен с
- 2026-11-11
Текущий статус
Эндпоинт сообщает качество данных PARTIAL — Частичное покрытие: несколько крупных эмитентов не предоставляют публичного машиночитаемого раскрытия, которое можно собирать с сервера. Их фонды указаны как недоступные, а итоги охватывают только остальные фонды. Сверьте `funds_covered` / `funds_total`, прежде чем сравнивать итоги с другими источниками.
Доступность за последние 30 дней
Пройдено 100% из 408 проверок
Ошибки
Неудачные вызовы имеют одинаковую структуру на всех эндпоинтах. Полный список приведён на странице ошибок. Ошибки и лимиты запросов →
| Код | HTTP | Значение | Что делать |
|---|---|---|---|
| INVALID_PARAM | 400 | Отсутствует обязательный параметр, или значение не принимается. `param` называет параметр, если он известен. | Не повторяйте запрос без изменений; исправьте его. |
| UNAUTHORIZED | 401 | Заголовок `CB-API-KEY` был отправлен, но ключ неизвестен или отозван. Для публичных данных ключ не нужен — уберите заголовок или используйте действительный ключ. | Не повторяйте запрос без изменений. |
| FORBIDDEN | 403 | Маршрут не входит в публичный API (внутренний или только для аккаунта). | Не повторяйте запрос. |
| NOT_FOUND | 404 | Неизвестный маршрут, либо запрошенная монета / биржа / фонд не существует. | Не повторяйте запрос; сверьте путь и идентификаторы с каталогом. |
| RATE_LIMITED | 429 | Запросов больше, чем позволяет поминутный лимит. `Retry-After` указывает, сколько секунд нужно подождать. | Дождитесь истечения `Retry-After`, затем повторите запрос с нарастающей задержкой. |
| INTERNAL | 500 | Непредвиденная ошибка сервера. Сообщение намеренно общее; при обращении указывайте `request_id`. | Повторите запрос один раз через несколько секунд; если ошибка сохраняется, сообщите о ней, указав ID запроса. |
| UPSTREAM_FAILED | 503 | Источник данных, стоящий за этим эндпоинтом, не ответил вовремя. Устаревшие или подменные значения вместо него не возвращаются. | Повторите запрос с нарастающей задержкой; проверьте страницу статуса. |
| UNAVAILABLE | 501 / 503 | Набор данных временно не готов (прогрев кеша), либо у эндпоинта пока нет законного публичного источника. | Повторите запрос позже; каталог помечает эндпоинты, недоступные по проектному решению. |
| REQUEST_FAILED | 200 | Некоторые более старые эндпоинты отвечают HTTP 200 с `success: false`. Всегда проверяйте `success`, а не только статус HTTP. | Зависит от сообщения; считайте запрос неудачным. |
Попробовать
/api/sd/etf/overviewЧастичноstring — Underlying asset, case-insensitive. `coin` is accepted as an alias.
https://www.coinboss.com/api/sd/etf/overview?asset=BTCДругие эндпоинты этой категории
- Фонды спотовых ETF /api/sd/etf/funds
- История спотовых ETF /api/sd/etf/history
- Обзор спотовых ETF (раскрытия эмитентов) /api/sd/etf/overview
- Дневные чистые потоки спотовых ETF по фондам /api/etf/detail
- История дневных чистых потоков спотовых ETF /api/etf/flows
- Сведения об одном ETF /api/etf/fund/:ticker
- Список фондов ETF /api/etf/funds
- Запасы монет ETF по фондам /api/etf/holdings
- ETF и трасты одного эмитента /api/etf/issuer
- Обзор ETF /api/etf/overview
- Премия / дисконт трастов Grayscale /api/grayscale/premium
- Объёмы фьючерсных ETF /api/indicators/futures-etf-volumes