Открытый интерес по одной монете
Собственный слой данных: открытый интерес по одной монете (по биржам / контрактам, с флагами качества)
/api/sd/oiЗапрос
Параметры запроса
| Имя | Тип | Обязательный | По умолчанию | Допустимые значения | Описание |
|---|---|---|---|---|---|
| coin | string | Обязательный | — | — | Символ монеты; 400, если не указан. Псевдоним: `base`. Пример: BTC |
Пример запроса
curl -s "https://www.coinboss.com/api/sd/oi?coin=BTC"Поля ответа
Таблица полей формируется из реальных ответов, поэтому в ней перечислено ровно то, что возвращает эндпоинт. В путях a[] обозначает элементы массива, а {*} — объекты с динамическим ключом, например монетой или биржей.
| Поле | Тип | Единица | Описание |
|---|---|---|---|
| success | boolean | — | true, если запрос выполнен успешно. При ошибке тело ответа имеет вид `{ success: false, code, error, request_id }`. |
| coin | string | — | Символ монеты в верхнем регистре (например, BTC). |
| now | number | ms | Время сервера в момент формирования ответа. |
| total_usd | number | USD | Открытый интерес по всем учтённым биржам и контрактам в том виде, в каком его сообщает каждая биржа (номинал в USD). |
| n_exchanges | number | — | Число бирж в итоге. |
| n_contracts | number | — | Число контрактов в итоге. |
| asof | number | ms | Самое позднее время обновления среди учтённых строк. |
| total_usd_single_adjusted | number | USD | `total_usd`, в котором значения бирж, сообщающих обе стороны (`double_sided.exchanges`), уменьшены вдвое, так что каждая площадка учитывается по одной стороне. |
| double_sided | object | — | Биржи, о которых известно, что они публикуют открытый интерес лонг + шорт одним числом. |
| double_sided.exchanges | array | — | Биржи. |
| double_sided.exchanges[] | string | — | Биржи. |
| double_sided.oi_usd | number | USD | Открытый интерес этих бирж в том виде, в каком он сообщён, до деления пополам. |
| by_kind | object | — | Разбивка на линейные / инверсные. |
| by_kind.linear_usd | number | USD | Открытый интерес линейных контрактов (маржа и расчёты в стейблкоине или USD). |
| by_kind.inverse_usd | number | USD | Открытый интерес инверсных контрактов (с маржой в монете), пересчитанный в USD по цене контракта. |
| by_margin | object | — | Разбивка по валюте маржи. |
| by_margin.other | number | USD | Прочие валюты маржи (например, площадки с расчётами в USD, такие как CME). |
| by_margin.usdt | number | USD | Контракты с маржой в USDT. |
| by_margin.usdc | number | USD | Контракты с маржой в USDC. может отсутствовать |
| by_margin.coin | number | USD | Контракты с маржой в монете. может отсутствовать |
| by_contract_type | object | — | Разбивка на бессрочные / срочные. |
| by_contract_type.perpetual_usd | number | USD | Бессрочные контракты. |
| by_contract_type.delivery_usd | number | USD | Срочные фьючерсы (поставочные контракты). |
| change | object | — | Изменение открытого интереса за 1h / 4h / 24h, рассчитанное по одному и тому же набору контрактов на обоих концах. динамические ключи: h1,h4,h24 |
| change.{*} | object | — | Изменение за указанный период. |
| change.{*}.pct | number | % | Изменение в процентах между `prev` и `cur`. |
| change.{*}.cur | number | USD | Текущая сумма по сопоставленным контрактам. |
| change.{*}.prev | number | USD | Сумма по тем же контрактам на момент `prev_ts`. |
| change.{*}.n_matched | number | — | Контракты (или биржи), присутствующие на обоих концах. |
| change.{*}.n_total | number | — | Контракты (или биржи), присутствующие сейчас. |
| change.{*}.matched_share_pct | number | % | Доля текущего открытого интереса, покрытая сопоставленным набором. может отсутствовать |
| change.{*}.prev_ts | number | ms | Время базового снимка. |
| change.{*}.span_min | number | min | Фактический интервал между базовым снимком и текущим моментом. |
| change.{*}.basis | string | — | Из какого ряда снимков взят базовый снимок. |
| change.{*}.frozen_excluded | object | — | Строки, не учтённые в изменении, поскольку их значение не менялось между двумя снимками (источник не обновляется). может отсутствовать |
| change.{*}.frozen_excluded.n_baseline | number | — | Элементы в базовом снимке. может отсутствовать |
| change.{*}.frozen_excluded.n_current | number | — | Элементы в текущем снимке. может отсутствовать |
| change.{*}.frozen_excluded.cur_usd | number | USD | Текущее значение. может отсутствовать |
| change.{*}.frozen_excluded.prev_usd | number | USD | Базовое значение. может отсутствовать |
| by_exchange | array | — | Разбивка по биржам. |
| by_exchange[] | object | — | Разбивка по биржам. |
| by_exchange[].exchange | string | — | Идентификатор биржи в нижнем регистре (например, `binance`). |
| by_exchange[].oi_usd | number | USD | Открытый интерес (номинал в USD). |
| by_exchange[].share_pct | number | % | Доля в общем значении. |
| by_exchange[].n_contracts | number | — | Число контрактов. |
| by_exchange[].linear_usd | number | USD | Линейные контракты. |
| by_exchange[].inverse_usd | number | USD | Инверсные контракты (с маржой в монете). |
| by_exchange[].perpetual_usd | number | USD | Бессрочные контракты. |
| by_exchange[].delivery_usd | number | USD | Срочные контракты. |
| by_exchange[].oi_side | string | — | `double`, если биржа сообщает обе стороны одним числом, `single`, если одну сторону, `unstated`, если биржа этого не документирует. |
| by_exchange[].oi_usd_single_adjusted | number|null | USD | Односторонний эквивалент; null, если соглашение об учёте сторон не указано. |
| by_exchange[].updated_at | number | ms | Время последнего обновления этой строки. |
| by_exchange[].age_s | number | s | Число секунд с последнего обновления этой строки. |
| by_exchange[].is_stale | boolean | — | true, если строка старше окна актуальности; устаревшие строки в итогах не используются. |
| contracts | array | — | Строки по контрактам. |
| contracts[] | object | — | Строки по контрактам. |
| contracts[].exchange | string | — | Идентификатор биржи в нижнем регистре (например, `binance`). |
| contracts[].symbol | string | — | Символ инструмента, нормализованный CoinBoss (например, BTCUSDT). |
| contracts[].native_symbol | string|null | — | Символ в точности так, как его записывает биржа. |
| contracts[].oi_usd | number | USD | Открытый интерес (номинал в USD). |
| contracts[].oi_side | string | — | `double`, `single` или `unstated`: сообщает ли биржа обе стороны открытого интереса одним числом. |
| contracts[].oi_usd_single | number|null | USD | Односторонний эквивалент `oi_usd`; null, если соглашение об учёте сторон не указано. |
| contracts[].margin | string | — | Класс валюты маржи: `usdt`, `usdc`, `coin` или `other`. |
| contracts[].kind | string | — | `linear` или `inverse`. |
| contracts[].contract_type | string | — | `perpetual` или `delivery`. |
| contracts[].expiry_ts | number|null | ms | Дата экспирации срочного контракта; null для бессрочных контрактов или если она не опубликована. |
| contracts[].margin_basis | string | — | Как определён класс маржи (по спецификации контракта или по умолчанию для площадки). |
| contracts[].updated_at | number | ms | Время последнего обновления этой строки. |
| contracts[].age_s | number | s | Число секунд с последнего обновления этой строки. |
| contracts[].is_stale | boolean | — | true, если строка старше окна актуальности; устаревшие строки в итогах не используются. |
| contracts[].collector | string | — | Внутренний коллектор, сформировавший строку. |
| contracts[].included_since | number|null | ms | Когда этот контракт вошёл в итоги; null для базового набора. |
| coverage | object | — | Что входит и что не входит в приведённые выше значения. Сверьтесь с этим блоком, прежде чем сравнивать итоги с другим источником. |
| coverage.included_exchanges | array | — | Биржи, данные которых учтены в итогах. |
| coverage.included_exchanges[] | string | — | Биржи, учтённые в итогах. |
| coverage.pending | array | — | Контракты, которые уже собираются, но ещё не включены в итоги (например, пока накапливается их собственная 25-часовая история). Приводятся с текущим значением, чтобы расхождение было видно. |
| coverage.pending[] | object | — | Элементы, которые собираются, но ещё не включены. |
| coverage.pending[].exchange | string | — | Идентификатор биржи в нижнем регистре (например, `binance`). |
| coverage.pending[].symbol | string | — | Символ инструмента, нормализованный CoinBoss (например, BTCUSDT). |
| coverage.pending[].native_symbol | string | — | Символ в точности так, как его записывает биржа. |
| coverage.pending[].margin | string | — | Класс валюты маржи. |
| coverage.pending[].contract_type | string | — | `perpetual` или `delivery`. |
| coverage.pending[].oi_usd | number | USD | Открытый интерес (номинал в USD). |
| coverage.pending[].age_s | number | s | Число секунд с последнего обновления этой строки. |
| coverage.pending[].reason | string | — | Код причины. |
| coverage.pending[].detail | string|null | — | Сведения. |
| coverage.pending_usd | number|null | USD | Сумма по ожидающим контрактам; в `total_usd` не входит. |
| coverage.stale_excluded | array | — | Строки, не учтённые потому, что их последнее обновление выходит за окно пригодности. пусто в образцах, по которым построена таблица |
| coverage.unavailable | array | — | Пары «биржа / контракт», которые не удалось включить, с указанием причины для каждой. Они никогда не учитываются как 0. |
| coverage.unavailable[] | object | — | Элементы, по которым нет данных, с указанием причин. Никогда не сообщаются как 0. |
| coverage.unavailable[].exchange | string | — | Идентификатор биржи в нижнем регистре (например, `binance`). |
| coverage.unavailable[].symbol | string | — | Символ инструмента, нормализованный CoinBoss (например, BTCUSDT). |
| coverage.unavailable[].native_symbol | string | — | Символ в точности так, как его записывает биржа. |
| coverage.unavailable[].margin | string | — | Класс валюты маржи. |
| coverage.unavailable[].contract_type | string | — | `perpetual` или `delivery`. |
| coverage.unavailable[].reason | string | — | Код причины. |
| coverage.unavailable[].detail | string | — | Сведения. |
| method | object | — | Текстовое описание формул, использованных для этого ответа. |
| method.total | string | — | Всего. |
| method.usd | string | USD | Значение. |
| method.change_h1_h4 | string | — | Текстовое определение изменений открытого интереса за 1h и 4h: каждый контракт сравнивается с собственным снимком, ближайшим к началу окна. |
| method.change_h24 | string | — | Текстовое определение изменения открытого интереса за 24h: сопоставление в пределах одной биржи с почасовым снимком, ближайшим к моменту 24 часа назад; застывшие базы сравнения исключаются. |
| method.oi_side | string | — | `double`, `single` или `unstated`: сообщает ли биржа обе стороны открытого интереса одним числом. |
Сформировано 2026-11-11 23:00 UTC; использовано реальных ответов: 4.
Пример ответа
/api/sd/oi?coin=BTC · Реальный ответ, получен 2026-11-13 03:57:39 UTC. Длинные массивы и словари сокращены для отображения: change: элементов было 3; contracts: элементов было 95; by_exchange: элементов было 22; coverage.included_exchanges: элементов было 22.
- "success"true
- "coin""BTC"
- "now"1794542259643
- "total_usd"49005713133.94
- "n_exchanges"22
- "n_contracts"95
- "asof"1794542258000
- "total_usd_single_adjusted"43766392634.71
- "double_sided"
- "exchanges"
- "oi_usd"10478640998.46
- "by_kind"
- "linear_usd"44169662162.94
- "inverse_usd"4836050971
- "by_margin"
- "other"8250815931.650002
- "usdt"30919742583.03
- "usdc"4999103648.259998
- "coin"4836050971
- "by_contract_type"
- "perpetual_usd"40820877874.21
- "delivery_usd"8184835259.73
- "change"
- "h1"
- "h4"
- "by_exchange"
- "contracts"
- "coverage"
- "included_exchanges"
- "pending"
- "pending_usd"null
- "stale_excluded"
- "unavailable"
- "method"
- "total""SUM(oi_usd) over fresh contracts (non-CME updated within 3h; CME within 120h)"
- "usd""linear: contracts × contract_size × mark/last price; inverse: contracts × contract_face_value_usd (or coin amount × price)"
- "change_h1_h4""same-contract pairing vs own snapshot nearest to now−W (15-minute snapshots, hourly fallback)"
- "change_h24""same-exchange pairing vs hourly snapshot nearest to now−24h (site-wide convention); contracts whose baseline snapshot is a frozen carry-over (identical to the c…"
- "oi_side""as disclosed by each exchange; double = exchange API itself reports open interest as twice the single-sided figure"
Проверенные образцы
Помимо примера выше, автопроверка вызывает этот эндпоинт с указанными параметрами и каждый раз сверяет схему.
| Параметры | HTTP | Задержка | Результат |
|---|---|---|---|
| coin=ETH | 200 | 24 ms | Пройдено |
| coin=SOL | 200 | 21 ms | Пройдено |
| coin=ARKM | 200 | 20 ms | Пройдено |
| — | 400 | 1 ms | Пройдено возвращает ожидаемую ошибку |
Проверено: 2026-11-13 03:57:39 UTC
Сведения
- Аутентификация
- Не требуется. Публичный эндпоинт.
- Лимит запросов
- 1200 запросов в минуту на один IP
- Серверный кеш
- 20s
- Пограничный микрокеш
- 10s
- Частота обновления
- раз в 60 s для большинства площадок (запись вместе с тикерами; для топ-50 binance и для okx — отдельные задания с периодом 60 s); полные обходы binance / bingx / aster / gate / htx — раз в 5 min; контракты с маржой в монете / USDC / срочные — раз в 120 s (переносятся в общую таблицу раз в 5 min); cme — один раз за торговый день (04:10 UTC); 15-минутные снимки на уровне контрактов — для изменений в коротких окнах
- Окно
- последний снимок (строки в пределах 3 h, cme — 120 h; флаг is_stale — после 15 min, cme — 36 h); изменения за 1 h / 4 h (15-минутные снимки) и 24 h (почасовой архив)
- Источники данных
- Открытый интерес, который собственные коллекторы опрашивают через публичные REST API 22 площадок деривативов (например, binance, okx, bybit, gate, bitget, hyperliquid), а также официальный ежедневный отчёт CME об объёме и открытом интересе.
- Покрытие бирж
- 23 источника с актуальными строками (22 площадки + cme); все типы контрактов (линейные USDT / USDC / USD, инверсные с маржой в монете, бессрочные и срочные); bybit и gate сообщают открытый интерес с двусторонним учётом, как раскрывает сама площадка; строки старше 3 h (cme: 120 h) исключаются; блок coverage перечисляет площадки включённые, ожидающие (пока накапливается 25 h собственной истории), исключённые как устаревшие и недоступные
- Единицы измерения
- open interest in USD notional; total_usd_single_adjusted halves venues that report double-sided OI; changes in percent
- Метод расчёта
- total_usd = SUM(oi_usd) over fresh contracts (multiplier contracts folded); breakdowns by kind / margin / contract type; h1 / h4 change by same-contract pairing against 15-minute snapshots (+/- 10 min, fallback hourly archive) and only when >= 50% of OI is matched; h24 change by same-exchange pairing against the hourly bucket nearest now - 24 h
- Метки времени
- Миллисекунды эпохи Unix (UTC), если в описании поля не указано иное
- Формат ответа
- json
- Стабильность
- Стабильный
- Доступен с
- 2026-11-11
Текущий статус
Доступность за последние 30 дней
Пройдено 100% из 411 проверок
- Возвращается, но не документировано: coverage.stale_excluded[], coverage.stale_excluded[].exchange, coverage.stale_excluded[].symbol, coverage.stale_excluded[].oi_usd, coverage.stale_excluded[].age_s, coverage.stale_excluded[].reason
Ошибки
Неудачные вызовы имеют одинаковую структуру на всех эндпоинтах. Полный список приведён на странице ошибок. Ошибки и лимиты запросов →
| Код | 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/oiДоступенstring — Coin symbol; 400 when missing. Alias: `base`.
https://www.coinboss.com/api/sd/oi?coin=BTCДругие эндпоинты этой категории
- Открытый интерес по одной монете /api/sd/oi
- Рейтинг монет по открытому интересу на всех биржах /api/market/open-interest
- Ряды для графика OI с накоплением по одной монете /api/oi/chart
- История агрегированного открытого интереса по одной монете /api/oi/history
- Матрица открытого интереса /api/oi/matrix
- Сводка открытого интереса по одной монете /api/oi/summary