/api/sd/options/chain
GETДеградацияSTALE

Цепочка опционов (одна площадка)

Колл и пут рядом для каждого страйка одной даты экспирации на одной площадке: открытый интерес, объём, цена маркировки, IV по цене маркировки / bid / ask и греки в том виде, в каком их публикует площадка.

GET/api/sd/options/chain
Деградация. Эндпоинт сообщает качество данных STALE

Запрос

Параметры запроса

ИмяТипОбязательныйПо умолчаниюДопустимые значенияОписание
coinstringОбязательный——Символ монеты без учёта регистра (например, `BTC`). При отсутствии или некорректном значении возвращается 400. Пример: BTC
exchangestringОбязательный—deribit, binance, bybit, okx, gate, coincallИдентификатор площадки. `all` здесь не принимается: цепочка опционов относится к одной площадке. Пример: okx
expirystringНеобязательный——Дата экспирации по UTC в формате `YYYY-MM-DD`. По умолчанию: ближайшая дата экспирации. `all` не принимается.
kindstringНеобязательный—inverse, linearСемейство контрактов, если на площадке торгуются опционы и с расчётами в монете (`inverse`), и с расчётами в стейблкоине (`linear`). По умолчанию: семейство с большим открытым интересом для этой даты экспирации.
limitintegerНеобязательный100≥ 1 · ≤ 500Число страйков на страницу (одна строка = один страйк с его коллом и путом).
offsetintegerНеобязательный0≥ 0 · ≤ 100000Число пропускаемых страйков.

Пример запроса

curl -s "https://www.coinboss.com/api/sd/options/chain?coin=BTC&exchange=okx"

Поля ответа

Таблица полей формируется из реальных ответов, поэтому в ней перечислено ровно то, что возвращает эндпоинт. В путях a[] обозначает элементы массива, а {*} — объекты с динамическим ключом, например монетой или биржей.

ПолеТипЕдиницаОписание
successboolean—true, если запрос выполнен успешно. При ошибке тело ответа имеет вид `{ success: false, code, error, request_id }`.
schemastring—Идентификатор схемы этого ответа. Меняется только тогда, когда у существующего поля меняется смысл или тип.
nownumbermsВремя сервера в момент формирования ответа.
coinstring—Символ монеты (в верхнем регистре).
exchangestring—Идентификатор биржи (в нижнем регистре).
expirystring—Дата экспирации (UTC), `YYYY-MM-DD`, или `all`.
expiry_tsnumbermsВремя экспирации.
days_leftnumberdaysЧисло дней до экспирации.
kindstring—Семейство контрактов: `inverse` (с расчётами в монете) или `linear` (с расчётами в стейблкоине).
kinds_availablearray—Семейства контрактов, которые торгуются на площадке для этой даты экспирации.
kinds_available[]string—Семейства контрактов, которые торгуются на площадке для этой даты экспирации.
expiries_availablearray—Даты экспирации, по которым сейчас есть контракты.
expiries_available[]string—Даты экспирации, по которым сейчас есть контракты.
underlyingstring—Базовый актив семейства контрактов.
settlestring—Валюта расчётов семейства контрактов.
contract_sizenumbercoinКоличество базовой монеты на контракт.
underlying_pricenumberUSDФорвардная цена / цена базового актива, публикуемая площадкой для этой даты экспирации.
index_pricenumberUSDСпотовая индексная цена, используемая для пересчёта в USD (в агрегатах — медиана собственных индексных цен площадок).
total_strikesnumber—Число страйков, доступных для этой даты экспирации до пагинации.
limitnumber—Применённое ограничение числа строк.
offsetnumber—Пропущенные строки.
returnednumber—Число страйков, возвращённых на этой странице.
rowsarray—Одна строка на страйк с его коллом и путом.
rows[]object—Одна строка на страйк с его коллом и путом.
rows[].strikenumberUSDЦена страйка.
rows[].callobject—Контракт колл на этом страйке; `null`, если на площадке такого нет.
rows[].call.instrumentstring—Название контракта так, как его записывает площадка.
rows[].call.oi_contractsnumbercontractsОткрытый интерес в контрактах по подсчёту площадки.
rows[].call.oi_coinnumbercoinОткрытый интерес в единицах базовой монеты.
rows[].call.oi_usdnumberUSDОткрытый интерес как номинал в USD: количество монет × спотовая индексная цена. Односторонний.
rows[].call.vol_contracts_24hnumbercontractsОбъём за 24h в контрактах по подсчёту площадки.
rows[].call.vol_coin_24hnumbercoinКоличество, проторгованное за 24h, в единицах базовой монеты.
rows[].call.vol_usd_24hnumberUSDНоминальный объём за 24h: проторгованное количество монет × текущая спотовая индексная цена. Не является оборотом по премии.
rows[].call.vol_premium_usd_24hnumber|nullUSDОборот по премии за 24h (цена опциона × количество), если площадка его публикует; в остальных случаях `null`. Никогда не суммируется с номинальным объёмом.
rows[].call.mark_pricenumber|null—Цена маркировки опциона в его единице котировки (монета для контрактов с расчётами в монете).
rows[].call.mark_price_usdnumber|nullUSDЦена маркировки опциона, пересчитанная в USD.
rows[].call.mark_ivnumber%Подразумеваемая волатильность по цене маркировки.
rows[].call.bid_ivnumber|null%Подразумеваемая волатильность по лучшему биду; `null`, если площадка её не публикует.
rows[].call.ask_ivnumber|null%Подразумеваемая волатильность по лучшему аску; `null`, если площадка её не публикует.
rows[].call.deltanumber|null—Дельта, публикуемая площадкой; `null`, если не публикуется.
rows[].call.gammanumber|null—Гамма, публикуемая площадкой; `null`, если не публикуется.
rows[].call.veganumber|null—Вега, публикуемая площадкой; `null`, если не публикуется.
rows[].call.thetanumber|null—Тета, публикуемая площадкой; `null`, если не публикуется.
rows[].call.observed_atnumbermsМетка времени, указанная источником для данных.
rows[].putobject—Контракт пут на этом страйке; `null`, если на площадке такого нет.
rows[].put.instrumentstring—Название контракта так, как его записывает площадка.
rows[].put.oi_contractsnumbercontractsОткрытый интерес в контрактах по подсчёту площадки.
rows[].put.oi_coinnumbercoinОткрытый интерес в единицах базовой монеты.
rows[].put.oi_usdnumberUSDОткрытый интерес как номинал в USD: количество монет × спотовая индексная цена. Односторонний.
rows[].put.vol_contracts_24hnumbercontractsОбъём за 24h в контрактах по подсчёту площадки.
rows[].put.vol_coin_24hnumbercoinКоличество, проторгованное за 24h, в единицах базовой монеты.
rows[].put.vol_usd_24hnumberUSDНоминальный объём за 24h: проторгованное количество монет × текущая спотовая индексная цена. Не является оборотом по премии.
rows[].put.vol_premium_usd_24hnumber|nullUSDОборот по премии за 24h (цена опциона × количество), если площадка его публикует; в остальных случаях `null`. Никогда не суммируется с номинальным объёмом.
rows[].put.mark_pricenumber—Цена маркировки опциона в его единице котировки (монета для контрактов с расчётами в монете).
rows[].put.mark_price_usdnumberUSDЦена маркировки опциона, пересчитанная в USD.
rows[].put.mark_ivnumber%Подразумеваемая волатильность по цене маркировки.
rows[].put.bid_ivnumber|null%Подразумеваемая волатильность по лучшему биду; `null`, если площадка её не публикует.
rows[].put.ask_ivnumber|null%Подразумеваемая волатильность по лучшему аску; `null`, если площадка её не публикует.
rows[].put.deltanumber|null—Дельта, публикуемая площадкой; `null`, если не публикуется.
rows[].put.gammanumber|null—Гамма, публикуемая площадкой; `null`, если не публикуется.
rows[].put.veganumber|null—Вега, публикуемая площадкой; `null`, если не публикуется.
rows[].put.thetanumber|null—Тета, публикуемая площадкой; `null`, если не публикуется.
rows[].put.observed_atnumbermsМетка времени, указанная источником для данных.
coverageobject—Что входит и что не входит в эти значения. Сверьтесь с этим блоком, прежде чем сравнивать итоги с другим источником.
coverage.included_exchangesarray—Источники, актуальные данные которых учтены.
coverage.included_exchanges[]string—Источники, актуальные данные которых учтены.
coverage.unavailablearray—Источники, которые не удалось включить, с указанием причины для каждого. Они никогда не учитываются как 0. пусто в образцах, по которым построена таблица
coverage.stale_excludedarray—Строки, не учтённые потому, что их последнее обновление выходит за окно актуальности. пусто в образцах, по которым построена таблица
coverage.field_gapsarray—Столбцы, которые площадка не публикует; для этой площадки они равны `null`.
coverage.field_gaps[]object—Столбцы, которые площадка не публикует; для этой площадки они равны `null`.
coverage.field_gaps[].exchangestring—Идентификатор биржи (в нижнем регистре).
coverage.field_gaps[].fieldsarray—Названия отсутствующих столбцов.
coverage.field_gaps[].fields[]string—Названия отсутствующих столбцов.
coverage.field_gaps[].kindstring—Семейство контрактов: `inverse` (с расчётами в монете) или `linear` (с расчётами в стейблкоине).
methodobject—Текстовое описание формул, использованных для этого ответа, по одной записи на поле.
method.chainstring—Пояснение к формуле для `chain`, обычный текст.
method.kindstring—Пояснение к формуле для `kind`, обычный текст.
method.oi_usdstring—Пояснение к формуле для `oi_usd`, обычный текст.
method.mark_pricestring—Пояснение к формуле для `mark_price`, обычный текст.
method.ivstring—Пояснение к формуле для `iv`, обычный текст.
method.greeksstring—Пояснение к формуле для `greeks`, обычный текст.
method.vol_usd_24hstring—Пояснение к формуле для `vol_usd_24h`, обычный текст.
method.vol_premium_usd_24hstring—Пояснение к формуле для `vol_premium_usd_24h`, обычный текст.
metaobject—Происхождение данных и актуальность этого ответа.
meta.schemastring—Идентификатор схемы этого ответа. Меняется только тогда, когда у существующего поля меняется смысл или тип.
meta.sourcearray—Публичные эндпоинты источников, из которых собраны данные.
meta.source[]object—Публичные эндпоинты источников, из которых собраны данные.
meta.source[].exchangestring—Идентификатор биржи (в нижнем регистре).
meta.source[].endpointstring—Публичный эндпоинт источника, который читает коллектор (показан для сведений о происхождении данных; клиенты его не вызывают).
meta.observed_atnumbermsМетка времени, указанная источником для данных.
meta.received_atnumbermsВремя получения данных коллектором CoinBoss.
meta.fetched_atnumbermsВремя формирования этого ответа.
meta.windowstring—Временное окно, которое охватывают значения.
meta.qualitystring—FRESH, PARTIAL, STALE, BROKEN или UNAVAILABLE — оценка по меткам времени данных и покрытию.
meta.is_staleboolean—True, если данные старше своего окна актуальности.
meta.cache_ttl_snumbersВремя жизни кеша этого ответа.
meta.fallbackstring—Что возвращает эндпоинт при сбое коллектора или источника.

Сформировано 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": [
      • { … 3 },
      • { … 3 }
      ],
    • "coverage": {
      • "included_exchanges": [ … 1 ],
      • "unavailable": [],
      • "stale_excluded": [],
      • "field_gaps": [ … 1 ],
      • "stale_included": [ … 1 ]
      },
    • "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": [ … 1 ],
      • "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=deribit20059 msПройдено STALE
coin=BTC&limit=5&exchange=bybit2003 msПройдено STALE
coin=BTC4001 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

Текущий статус

ДеградацияПроверено: 2026-11-13 03:52:54 UTCHTTP 20057 msСхема совпадаетВозраст самой новой точки данных: 5.4h

Эндпоинт сообщает качество данных STALE

Доступность за последние 30 дней

Пройдено 100% из 406 проверок

Расхождение схемы, обнаруженное последней автопроверкой
  • Возвращается, но не документировано: coverage.stale_included, coverage.stale_included[], coverage.stale_included[].exchange, coverage.stale_included[].age_s

Ошибки

Неудачные вызовы имеют одинаковую структуру на всех эндпоинтах. Полный список приведён на странице ошибок. Ошибки и лимиты запросов →

КодHTTPЗначениеЧто делать
INVALID_PARAM400Отсутствует обязательный параметр, или значение не принимается. `param` называет параметр, если он известен.Не повторяйте запрос без изменений; исправьте его.
UNAUTHORIZED401Заголовок `CB-API-KEY` был отправлен, но ключ неизвестен или отозван. Для публичных данных ключ не нужен — уберите заголовок или используйте действительный ключ.Не повторяйте запрос без изменений.
FORBIDDEN403Маршрут не входит в публичный API (внутренний или только для аккаунта).Не повторяйте запрос.
NOT_FOUND404Неизвестный маршрут, либо запрошенная монета / биржа / фонд не существует.Не повторяйте запрос; сверьте путь и идентификаторы с каталогом.
RATE_LIMITED429Запросов больше, чем позволяет поминутный лимит. `Retry-After` указывает, сколько секунд нужно подождать.Дождитесь истечения `Retry-After`, затем повторите запрос с нарастающей задержкой.
INTERNAL500Непредвиденная ошибка сервера. Сообщение намеренно общее; при обращении указывайте `request_id`.Повторите запрос один раз через несколько секунд; если ошибка сохраняется, сообщите о ней, указав ID запроса.
UPSTREAM_FAILED503Источник данных, стоящий за этим эндпоинтом, не ответил вовремя. Устаревшие или подменные значения вместо него не возвращаются.Повторите запрос с нарастающей задержкой; проверьте страницу статуса.
UNAVAILABLE501 / 503Набор данных временно не готов (прогрев кеша), либо у эндпоинта пока нет законного публичного источника.Повторите запрос позже; каталог помечает эндпоинты, недоступные по проектному решению.
REQUEST_FAILED200Некоторые более старые эндпоинты отвечают HTTP 200 с `success: false`. Всегда проверяйте `success`, а не только статус HTTP.Зависит от сообщения; считайте запрос неудачным.

Попробовать

GET/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.

URL запросаhttps://www.coinboss.com/api/sd/options/chain?coin=BTC&exchange=okx
Выберите эндпоинт и нажмите «Отправить запрос». Здесь появятся ответ, заголовки и время выполнения.