Цепочка опционов (одна площадка)
Колл и пут рядом для каждого страйка одной даты экспирации на одной площадке: открытый интерес, объём, цена маркировки, IV по цене маркировки / bid / ask и греки в том виде, в каком их публикует площадка.
/api/sd/options/chainЗапрос
Параметры запроса
| Имя | Тип | Обязательный | По умолчанию | Допустимые значения | Описание |
|---|---|---|---|---|---|
| coin | string | Обязательный | — | — | Символ монеты без учёта регистра (например, `BTC`). При отсутствии или некорректном значении возвращается 400. Пример: BTC |
| exchange | string | Обязательный | — | deribit, binance, bybit, okx, gate, coincall | Идентификатор площадки. `all` здесь не принимается: цепочка опционов относится к одной площадке. Пример: okx |
| expiry | string | Необязательный | — | — | Дата экспирации по UTC в формате `YYYY-MM-DD`. По умолчанию: ближайшая дата экспирации. `all` не принимается. |
| kind | string | Необязательный | — | inverse, linear | Семейство контрактов, если на площадке торгуются опционы и с расчётами в монете (`inverse`), и с расчётами в стейблкоине (`linear`). По умолчанию: семейство с большим открытым интересом для этой даты экспирации. |
| limit | integer | Необязательный | 100 | ≥ 1 · ≤ 500 | Число страйков на страницу (одна строка = один страйк с его коллом и путом). |
| offset | integer | Необязательный | 0 | ≥ 0 · ≤ 100000 | Число пропускаемых страйков. |
Пример запроса
curl -s "https://www.coinboss.com/api/sd/options/chain?coin=BTC&exchange=okx"Поля ответа
Таблица полей формируется из реальных ответов, поэтому в ней перечислено ровно то, что возвращает эндпоинт. В путях a[] обозначает элементы массива, а {*} — объекты с динамическим ключом, например монетой или биржей.
| Поле | Тип | Единица | Описание |
|---|---|---|---|
| success | boolean | — | true, если запрос выполнен успешно. При ошибке тело ответа имеет вид `{ success: false, code, error, request_id }`. |
| schema | string | — | Идентификатор схемы этого ответа. Меняется только тогда, когда у существующего поля меняется смысл или тип. |
| now | number | ms | Время сервера в момент формирования ответа. |
| coin | string | — | Символ монеты (в верхнем регистре). |
| exchange | string | — | Идентификатор биржи (в нижнем регистре). |
| expiry | string | — | Дата экспирации (UTC), `YYYY-MM-DD`, или `all`. |
| expiry_ts | number | ms | Время экспирации. |
| days_left | number | days | Число дней до экспирации. |
| kind | string | — | Семейство контрактов: `inverse` (с расчётами в монете) или `linear` (с расчётами в стейблкоине). |
| kinds_available | array | — | Семейства контрактов, которые торгуются на площадке для этой даты экспирации. |
| kinds_available[] | string | — | Семейства контрактов, которые торгуются на площадке для этой даты экспирации. |
| expiries_available | array | — | Даты экспирации, по которым сейчас есть контракты. |
| expiries_available[] | string | — | Даты экспирации, по которым сейчас есть контракты. |
| underlying | string | — | Базовый актив семейства контрактов. |
| settle | string | — | Валюта расчётов семейства контрактов. |
| contract_size | number | coin | Количество базовой монеты на контракт. |
| underlying_price | number | USD | Форвардная цена / цена базового актива, публикуемая площадкой для этой даты экспирации. |
| index_price | number | USD | Спотовая индексная цена, используемая для пересчёта в USD (в агрегатах — медиана собственных индексных цен площадок). |
| total_strikes | number | — | Число страйков, доступных для этой даты экспирации до пагинации. |
| limit | number | — | Применённое ограничение числа строк. |
| offset | number | — | Пропущенные строки. |
| returned | number | — | Число страйков, возвращённых на этой странице. |
| rows | array | — | Одна строка на страйк с его коллом и путом. |
| rows[] | object | — | Одна строка на страйк с его коллом и путом. |
| rows[].strike | number | USD | Цена страйка. |
| rows[].call | object | — | Контракт колл на этом страйке; `null`, если на площадке такого нет. |
| rows[].call.instrument | string | — | Название контракта так, как его записывает площадка. |
| rows[].call.oi_contracts | number | contracts | Открытый интерес в контрактах по подсчёту площадки. |
| rows[].call.oi_coin | number | coin | Открытый интерес в единицах базовой монеты. |
| rows[].call.oi_usd | number | USD | Открытый интерес как номинал в USD: количество монет × спотовая индексная цена. Односторонний. |
| rows[].call.vol_contracts_24h | number | contracts | Объём за 24h в контрактах по подсчёту площадки. |
| rows[].call.vol_coin_24h | number | coin | Количество, проторгованное за 24h, в единицах базовой монеты. |
| rows[].call.vol_usd_24h | number | USD | Номинальный объём за 24h: проторгованное количество монет × текущая спотовая индексная цена. Не является оборотом по премии. |
| rows[].call.vol_premium_usd_24h | number|null | USD | Оборот по премии за 24h (цена опциона × количество), если площадка его публикует; в остальных случаях `null`. Никогда не суммируется с номинальным объёмом. |
| rows[].call.mark_price | number|null | — | Цена маркировки опциона в его единице котировки (монета для контрактов с расчётами в монете). |
| rows[].call.mark_price_usd | number|null | USD | Цена маркировки опциона, пересчитанная в USD. |
| rows[].call.mark_iv | number | % | Подразумеваемая волатильность по цене маркировки. |
| rows[].call.bid_iv | number|null | % | Подразумеваемая волатильность по лучшему биду; `null`, если площадка её не публикует. |
| rows[].call.ask_iv | number|null | % | Подразумеваемая волатильность по лучшему аску; `null`, если площадка её не публикует. |
| rows[].call.delta | number|null | — | Дельта, публикуемая площадкой; `null`, если не публикуется. |
| rows[].call.gamma | number|null | — | Гамма, публикуемая площадкой; `null`, если не публикуется. |
| rows[].call.vega | number|null | — | Вега, публикуемая площадкой; `null`, если не публикуется. |
| rows[].call.theta | number|null | — | Тета, публикуемая площадкой; `null`, если не публикуется. |
| rows[].call.observed_at | number | ms | Метка времени, указанная источником для данных. |
| rows[].put | object | — | Контракт пут на этом страйке; `null`, если на площадке такого нет. |
| rows[].put.instrument | string | — | Название контракта так, как его записывает площадка. |
| rows[].put.oi_contracts | number | contracts | Открытый интерес в контрактах по подсчёту площадки. |
| rows[].put.oi_coin | number | coin | Открытый интерес в единицах базовой монеты. |
| rows[].put.oi_usd | number | USD | Открытый интерес как номинал в USD: количество монет × спотовая индексная цена. Односторонний. |
| rows[].put.vol_contracts_24h | number | contracts | Объём за 24h в контрактах по подсчёту площадки. |
| rows[].put.vol_coin_24h | number | coin | Количество, проторгованное за 24h, в единицах базовой монеты. |
| rows[].put.vol_usd_24h | number | USD | Номинальный объём за 24h: проторгованное количество монет × текущая спотовая индексная цена. Не является оборотом по премии. |
| rows[].put.vol_premium_usd_24h | number|null | USD | Оборот по премии за 24h (цена опциона × количество), если площадка его публикует; в остальных случаях `null`. Никогда не суммируется с номинальным объёмом. |
| rows[].put.mark_price | number | — | Цена маркировки опциона в его единице котировки (монета для контрактов с расчётами в монете). |
| rows[].put.mark_price_usd | number | USD | Цена маркировки опциона, пересчитанная в USD. |
| rows[].put.mark_iv | number | % | Подразумеваемая волатильность по цене маркировки. |
| rows[].put.bid_iv | number|null | % | Подразумеваемая волатильность по лучшему биду; `null`, если площадка её не публикует. |
| rows[].put.ask_iv | number|null | % | Подразумеваемая волатильность по лучшему аску; `null`, если площадка её не публикует. |
| rows[].put.delta | number|null | — | Дельта, публикуемая площадкой; `null`, если не публикуется. |
| rows[].put.gamma | number|null | — | Гамма, публикуемая площадкой; `null`, если не публикуется. |
| rows[].put.vega | number|null | — | Вега, публикуемая площадкой; `null`, если не публикуется. |
| rows[].put.theta | number|null | — | Тета, публикуемая площадкой; `null`, если не публикуется. |
| rows[].put.observed_at | number | ms | Метка времени, указанная источником для данных. |
| coverage | object | — | Что входит и что не входит в эти значения. Сверьтесь с этим блоком, прежде чем сравнивать итоги с другим источником. |
| coverage.included_exchanges | array | — | Источники, актуальные данные которых учтены. |
| coverage.included_exchanges[] | string | — | Источники, актуальные данные которых учтены. |
| coverage.unavailable | array | — | Источники, которые не удалось включить, с указанием причины для каждого. Они никогда не учитываются как 0. пусто в образцах, по которым построена таблица |
| coverage.stale_excluded | array | — | Строки, не учтённые потому, что их последнее обновление выходит за окно актуальности. пусто в образцах, по которым построена таблица |
| coverage.field_gaps | array | — | Столбцы, которые площадка не публикует; для этой площадки они равны `null`. |
| coverage.field_gaps[] | object | — | Столбцы, которые площадка не публикует; для этой площадки они равны `null`. |
| coverage.field_gaps[].exchange | string | — | Идентификатор биржи (в нижнем регистре). |
| coverage.field_gaps[].fields | array | — | Названия отсутствующих столбцов. |
| coverage.field_gaps[].fields[] | string | — | Названия отсутствующих столбцов. |
| coverage.field_gaps[].kind | string | — | Семейство контрактов: `inverse` (с расчётами в монете) или `linear` (с расчётами в стейблкоине). |
| method | object | — | Текстовое описание формул, использованных для этого ответа, по одной записи на поле. |
| method.chain | string | — | Пояснение к формуле для `chain`, обычный текст. |
| method.kind | string | — | Пояснение к формуле для `kind`, обычный текст. |
| method.oi_usd | string | — | Пояснение к формуле для `oi_usd`, обычный текст. |
| method.mark_price | string | — | Пояснение к формуле для `mark_price`, обычный текст. |
| method.iv | string | — | Пояснение к формуле для `iv`, обычный текст. |
| method.greeks | string | — | Пояснение к формуле для `greeks`, обычный текст. |
| method.vol_usd_24h | string | — | Пояснение к формуле для `vol_usd_24h`, обычный текст. |
| method.vol_premium_usd_24h | string | — | Пояснение к формуле для `vol_premium_usd_24h`, обычный текст. |
| 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; использовано реальных ответов: 3.
Пример ответа
/api/sd/options/chain?coin=BTC&exchange=okx · Реальный ответ, получен 2026-11-13 03:52:54 UTC. Длинные массивы и словари сокращены для отображения: rows: элементов было 45; expiries_available: элементов было 12.
- "success"true
- "schema""coinboss.sd.options/1"
- "now"1794541974766
- "coin""BTC"
- "exchange""okx"
- "expiry""2026-11-13"
- "expiry_ts"1794556800000
- "days_left"0.1716
- "kind""inverse"
- "kinds_available"
- "inverse"
- "linear"
- "expiries_available"
- "2026-11-13"
- "2026-11-14"
- "2026-11-15"
- "2026-11-16"
- "2026-11-20"
- "2026-11-27"
- "2026-12-04"
- "2026-12-25"
- "underlying""BTC-USD"
- "settle""BTC"
- "contract_size"0.01
- "underlying_price"71428.8359576
- "index_price"71417.4
- "total_strikes"45
- "limit"100
- "offset"0
- "returned"45
- "rows"
- "coverage"
- "included_exchanges"
- "unavailable"
- "stale_excluded"
- "field_gaps"
- "stale_included"
- "method"
- "chain""T-quote for one exchange, one expiry and one contract family: one row per strike (ascending) with the call and put legs; paginated by strike with limit (default…"
- "kind""inverse = coin-settled (Deribit BTC/ETH, OKX *-USD); linear = USD/USDT/USDC-settled. When an exchange lists both families for the expiry and kind is omitted, th…"
- "oi_usd""sum over contracts of oi_coin x that exchange's spot index price (USDT/USDC treated 1:1 as USD); oi_coin is open interest in units of the underlying coin after …"
- "mark_price""exchange-native quote: Deribit/OKX inverse in underlying coin per 1 coin; Binance in USDT per contract (contract_size coins); others in USD per 1 coin. mark_pri…"
- "iv""mark_iv / bid_iv / ask_iv in percent as published by the exchange (no-quote sentinels such as 0 or -1 are null)"
- "greeks""delta/gamma/vega/theta exactly as published by the exchange (OKX: Black-Scholes greeks in USD terms); never computed by CoinBoss; null where the exchange does n…"
- "vol_usd_24h""NOTIONAL 24h volume = sum of vol_coin (24h traded quantity in underlying coin) x the exchange's CURRENT spot index price; not premium turnover. Binance statisti…"
- "vol_premium_usd_24h""PREMIUM turnover (option price x quantity) as reported by the exchange: Deribit volume_usd, Binance amount, Gate sum(|size| x multiplier x price) from the 24h t…"
- "meta"
- "schema""coinboss.sd.options/1"
- "source"
- "observed_at"1794522472654
- "received_at"1794522473638
- "fetched_at"1794541974766
- "window""latest"
- "quality""STALE"
- "is_stale"true
- "cache_ttl_s"60
- "fallback""on collector failure the last stored rows are served: an exchange whose newest batch is older than 25 min (collector cycle is 10 min) is excluded from totals (l…"
Проверенные образцы
Помимо примера выше, автопроверка вызывает этот эндпоинт с указанными параметрами и каждый раз сверяет схему.
| Параметры | HTTP | Задержка | Результат |
|---|---|---|---|
| coin=ETH&exchange=deribit | 200 | 59 ms | Пройдено STALE |
| coin=BTC&limit=5&exchange=bybit | 200 | 3 ms | Пройдено STALE |
| coin=BTC | 400 | 1 ms | Пройдено возвращает ожидаемую ошибку |
Проверено: 2026-11-13 03:28:17 UTC
Сведения
- Аутентификация
- Не требуется. Публичный эндпоинт.
- Лимит запросов
- 1200 запросов в минуту на один IP
- Серверный кеш
- 60s
- Пограничный микрокеш
- 10s
- Частота обновления
- Цикл коллектора — каждые 10 минут; площадка считается актуальной в течение 25 минут после последнего успешного цикла.
- Окно
- Последний снимок одной даты экспирации.
- Источники данных
- Публичные REST-эндпоинты опционов Deribit, Binance, Bybit, OKX, Gate и Coincall; данные собирает и хранит CoinBoss (sd_opt_latest, sd_opt_summary_hourly). Сторонние агрегаторы не используются.
- Покрытие бирж
- Шесть опционных площадок. Для монеты, по которой на выбранных площадках нет торгуемых опционов, возвращается HTTP 200 с полями null, `meta.quality = "UNAVAILABLE"` и причиной в `coverage.unavailable`. Площадки без публичной ленты опционов также перечислены там.
- Пагинация
- На основе смещения: `limit` (макс. 500) и `offset`; `total_strikes` и `returned` передаются в ответе.
- Сортировка
- По возрастанию страйка.
- Единицы измерения
- USD notional = contracts × contract size × spot index price of the venue. `*_coin` fields are in units of the underlying coin. Implied volatility is in percent (55 = 55 %). `vol_premium_usd_24h` is premium turnover, reported separately and never added to notional volume.
- Метод расчёта
- Greeks and IV are passed through from the venue, not recomputed. A venue that does not publish a column returns `null` for it and the column is listed under `coverage.field_gaps`.
- Метки времени
- Миллисекунды эпохи Unix (UTC), если в описании поля не указано иное
- Формат ответа
- json
- Стабильность
- Стабильный
- Доступен с
- 2026-11-11
Текущий статус
Эндпоинт сообщает качество данных STALE
Доступность за последние 30 дней
Пройдено 100% из 406 проверок
- Возвращается, но не документировано: coverage.stale_included, coverage.stale_included[], coverage.stale_included[].exchange, coverage.stale_included[].age_s
Ошибки
Неудачные вызовы имеют одинаковую структуру на всех эндпоинтах. Полный список приведён на странице ошибок. Ошибки и лимиты запросов →
| Код | 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/options/chainДеградацияstring — Coin symbol, case-insensitive (for example `BTC`). Missing or malformed values return 400.
string — Venue id. `all` is not accepted here: a chain belongs to one venue.
string — UTC expiry date as `YYYY-MM-DD`. Default: the nearest expiry. `all` is not accepted.
string — Contract family when the venue lists both coin-settled (`inverse`) and stablecoin-settled (`linear`) options. Default: the family with the larger open interest for that expiry.
integer · по умолчанию 100 · мин. 1 · макс. 500 — Strikes per page (one row = one strike with its call and put).
integer · по умолчанию 0 · мин. 0 · макс. 100000 — Number of strikes to skip.
https://www.coinboss.com/api/sd/options/chain?coin=BTC&exchange=okxДругие эндпоинты этой категории
- Цепочка опционов (одна площадка) /api/sd/options/chain
- Опционы по датам экспирации /api/sd/options/expiries
- История опционов (почасовая) /api/sd/options/history
- Обзор опционов (все площадки) /api/sd/options/overview
- Опционы по страйкам /api/sd/options/strikes
- Сводка по опционам для страницы монеты /api/currency/options-summary
- Улыбка / временная структура подразумеваемой волатильности опционов /api/options/iv
- История подразумеваемой волатильности опционов /api/options/iv-history
- Макс. боль по опционам /api/options/max-pain
- OI опционов по датам экспирации /api/options/oi-by-expiry
- OI опционов по страйкам /api/options/oi-by-strike
- Обзор опционов /api/options/overview
- Распределение объёма опционов /api/options/volume-dist