期权链(单个交易所)
单个交易所某一到期日下每个行权价的看涨与看跌期权并排展示:持仓量、成交量、标记价格、标记 / 买价 / 卖价 IV,以及交易所公布的希腊值。
/api/sd/options/chain请求
查询参数
| 名称 | 类型 | 必填 | 默认值 | 可选值 | 说明 |
|---|---|---|---|---|---|
| coin | string | 必填 | — | — | 币种代码,不区分大小写(例如 `BTC`)。缺失或格式错误时返回 400。 示例: BTC |
| exchange | string | 必填 | — | deribit, binance, bybit, okx, gate, coincall | 交易所 ID。此处不接受 `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 | — | 本响应的结构 ID。仅当已有字段的含义或类型发生变化时才会改变。 |
| now | number | ms | 响应生成时的服务器时间。 |
| coin | string | — | 币种代码(大写)。 |
| exchange | string | — | 交易所 ID(小写)。 |
| 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 | — | 交易所公布的 Delta;未公布时为 `null`。 |
| rows[].call.gamma | number|null | — | 交易所公布的 Gamma;未公布时为 `null`。 |
| rows[].call.vega | number|null | — | 交易所公布的 Vega;未公布时为 `null`。 |
| rows[].call.theta | number|null | — | 交易所公布的 Theta;未公布时为 `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 | — | 交易所公布的 Delta;未公布时为 `null`。 |
| rows[].put.gamma | number|null | — | 交易所公布的 Gamma;未公布时为 `null`。 |
| rows[].put.vega | number|null | — | 交易所公布的 Vega;未公布时为 `null`。 |
| rows[].put.theta | number|null | — | 交易所公布的 Theta;未公布时为 `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 | — | 交易所 ID(小写)。 |
| 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 | — | 本响应的结构 ID。仅当已有字段的含义或类型发生变化时才会改变。 |
| meta.source | array | — | 采集数据所用的上游公开端点。 |
| meta.source[] | object | — | 采集数据所用的上游公开端点。 |
| meta.source[].exchange | string | — | 交易所 ID(小写)。 |
| 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
详细信息
- 身份验证
- 无。公开端点。
- 速率限制
- 每个 IP 每分钟 1200 次请求
- 服务端缓存
- 60s
- 边缘微缓存
- 10s
- 更新频率
- 采集器每 10 分钟运行一轮;交易所在最近一次成功采集后的 25 分钟内视为新鲜。
- 时间窗口
- 单个到期日的最新快照。
- 数据来源
- Deribit、Binance、Bybit、OKX、Gate 和 Coincall 的公开 REST 期权端点,由 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 天可用性
406 次检查中 100% 通过
- 实际返回但文档未记载: 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