更新日志

更新日志与版本

API 的变更内容、当前版本以及兼容性规则。

v1当前版本
2026.11.12目录修订号

版本管理与兼容性

版本管理

  • 公开 API 的版本为 v1。路径前缀为 `/api`,不带版本号。
  • 目录有自己的基于日期的版本(`catalog_version`,例如 2026.11.11)。每当端点、参数或文档发生变化时,它都会改变。
  • 自采数据端点的每个响应都带有 `schema` ID(例如 `sd.oi.v1`)。仅当已有字段的含义或类型发生变化时才会发布新的 ID。

兼容性

  • 新增端点、可选参数、响应字段、枚举值或交易所属于非破坏性变更,随时可能发生。客户端必须忽略自己不认识的字段。
  • 删除或重命名字段、更改其类型或单位,或把可选参数改为必填,属于破坏性变更。此类变更会在上线之前在此公告。
  • 修正属于例外情况:对错误数值的修复,或对此前被静默接受的无效输入的修复,会立即发布,并在上线当天列于此处;客户端代码可能需要改动时会标记为破坏性变更。
  • 数值可能因覆盖范围改善(新增交易所或合约类型)而变化。响应中始终会给出覆盖范围,因此在比较合计之前请先比较 `coverage`。
  • 缺失的数据以 `null` 返回,并列在 `coverage.unavailable` 下;绝不会用 0 或估算值代替。把 `null` 当作 0 处理的代码会得出错误结果。

弃用

  • 标记为 `legacy` 的端点继续可用,但新的开发应使用所列的替代端点。
  • 旧版端点最早在其弃用条目出现在本更新日志 90 天之后才会被移除。
  • 标记为 `beta` 的端点服务于站内页面;其字段集合可能不经 90 天通知而变更,但每次变更仍会列在此处。

变更记录

新增2026.11.12向后兼容

`/api/currency/ex-table`: `market=perpetual`, `delivery` and `all`, plus one status vocabulary

  • New values of `market`: `perpetual` (perpetual contracts), `delivery` (dated futures) and `all` (spot, perpetual and delivery markets of the coin in one list). They return one row per market and number `rank` inside the requested view.
  • Every per-market row carries `market_status` (`ACTIVE`, `EXPIRING`, `EXPIRED`, `NO_QUOTE`, `STALE`), `reason_code` (`NO_QUOTE`, `EXPIRED`, `STALE`, `UNAVAILABLE` or null), `source_at`, `quality`, `is_stale`, `expires_in_s`, `symbol` and `base`. The state is derived from the contract specification of the exchange (expiry) and from the time the ticker was received. `status` and `status_reason` are unchanged.
  • `EXPIRING` marks a contract that still trades and expires within 24 hours (`meta.expiring_window_s`). Rows that are not `ACTIVE` or `EXPIRING` return `price: null`; no price is carried over from an earlier quote or from another contract.
  • `meta` adds `market_status_counts`, `type_counts` and `type_rankable`. The row order is the same for every caller: rankable rows by `volume_usd` descending, then rows without a quote, expired contracts last.
新增2026.11.12向后兼容

`/api/liquidation-events` 新增事件数 / 账户数与 BTC 最高价、最低价、振幅

  • 每一行新增字段:`btc_high`、`btc_low`、`btc_range`(美元,最高 − 最低)和 `btc_range_pct`((最高 − 最低) / 最低 × 100),以及 `btc_range_meta`。价格取 Binance(BTC/USDT)、Coinbase(BTC/USD)、Kraken(BTC/USD)现货 UTC 日K最高价 / 最低价的中位数。三家的日K未全部定稿时这些字段为 null。
  • `coinboss` 行新增字段:`liquidation_count`(去重后的爆仓事件数,不是人数)和 `account_count`(在提供账户标识的交易所上去重后的被爆仓账户数,目前仅 Hyperliquid;`quality` 为 `PARTIAL`),各自带一个 `_meta` 对象,给出来源、时间窗、质量与覆盖范围。基线行这两个字段均为 null。
  • CoinBoss 不发布爆仓人数;`coverage.metrics.people_count.quality` 为 `UNAVAILABLE`。`liquidated_traders` 与 `btc_amplitude` 没有变化:仍是第三方资料记录的文本,不会写入新字段。
变更2026.11.12向后兼容

`/api/currency/ex-table`: per-contract rows carry their own quote and a `status`

  • With `group=pair`, every contract row now uses the ticker of that contract. Before, only the main contract of each exchange had a price and the other rows returned `price: null`.
  • New row fields with `group=pair` and `market=spot`: `status` (`active`, `no_quote`, `not_provided`, `expired`), `status_reason`, `market_type`, `expiry_ts`, `expiry_date`, `native_symbol`, `quote`, `margin_type`, `price_source`, `price_at` and `rank`; the response adds `meta` (freshness window, volume window and unit, sort rule, row counts per status).
  • Rows that are not `active` return `price: null` and are never filled from another contract. `volume_usd` on such rows is `0` only when the exchange reports zero 24h turnover, otherwise `null`.
  • Order with `group=pair`: `active` rows first by `volume_usd` descending (these carry `rank`), then rows without a live quote by `oi_usd` descending, expired contracts last. `contract_type` now follows the exchange contract specification, so dated contracts on Deribit, Bybit, Gate and KuCoin are reported as `delivery`; `expiry` is set for all of them.
  • Requests without `group` return the same rows and fields as before.
变更2026.11.12向后兼容

`/api/liquidation-events` 返回前 10 名并带 `source` 字段

  • 本条更正下方 2026-11-11 的条目。历史基线行(第三方公开历史资料)恢复输出,按原样保留、不重新计算。
  • CoinBoss 记录的行是自有采集器的 UTC 单日汇总;只有当某日总额大于当时榜单第 10 名时才会入榜。每一行都带有 `source`(`historical_baseline` 或 `coinboss`)和 `basis`。
  • 榜单按 `total_usd` 排序并返回 10 行。新增字段:`data[].total_usd`(与 `amount_usd` 相同)、`data[].source`、`data[].basis` 和 `threshold_usd`。`coverage` 拆分为 `coverage.baseline` 与 `coverage.coinboss`;2026-11-11 引入的 `coverage.source`、`coverage.from`、`coverage.note` 移到这两个对象之下。
变更2026.11.12向后兼容

上游故障时返回 HTTP 503,并保留 JSON 错误响应体

  • 过去返回 HTTP 502 或 504 的失败请求,现在改为返回 503,并带有 `Retry-After` 响应头。API 前面的 CDN 会把 502 和 504 响应的响应体替换成它自己的文本,导致 `code` 和 `request_id` 丢失;503 则会原样通过。`code` 的取值与之前相同。
  • 某个端点背后的上游数据源出现故障时,不再影响其他端点:网关仅在出现连接错误和超时的情况下才会改用另一个实例重试。
  • `/api/sd/options/*` 和 `/api/sd/cme/overview` 接受以汉字书写的币种名称。没有相应市场的币种会得到 HTTP 200,聚合值为 `null`,而不再返回 400。
  • 资金费结算历史:对于 Bybit、OKX、Gate 和 Bitget 上成交最活跃的 150 个币种(HTX 为 40 个),会检测并回补 30 天窗口内的缺口,因此有更多币种的 `cum_7d` 和 `cum_30d` 是完整的。
修复2026.11.11向后兼容

爆仓波动指数已修复;数据源不可用的端点返回 503

  • `/api/indicators/cdri`:此前日度序列为空,原因是按日分组时把毫秒时间戳当成了秒。现在最多返回 90 个完整 UTC 日的爆仓总额;`current.days`(新增字段)为所用的天数,不足两天时 `current.cdri` / `current.liqCV` 为 `null`。
  • `/api/indicators/reddit-subs`:数据源拒绝请求期间返回 HTTP 503,错误码为 `UNAVAILABLE`,而不再返回 HTTP 500。仅当数据源返回正数时才会存储订阅人数。
  • HTTP 5xx 响应的错误响应体不再在旧版 `msg` 字段中携带上游错误文本;该字段现在保存与 `error` 相同的通用错误信息。
修复2026.11.11破坏性变更

已停止更新的记录会被标记并从合计值中剔除

  • `/api/coins/all` 和 `/api/coins/search`:超过 48 小时未更新的币种记录,其 `market_cap` 和 `mcap_rank` 返回 `null`,并带有 `is_stale: true`,且排在所有当前数据行之后。生效的规则以 `stale_rule` 原样返回。
  • `/api/derivatives/coins-full`:每个币种恰好一行。此前,多条币种记录共用同一代码时会为每条记录各生成一行;现在该行采用 48 小时内更新过的最大记录的名称、市值和排名,没有这样的记录时为 `null`。`mcap_rank` 为新增字段。
  • `/api/reserves/overview`:每一行都带有 `updated_at` 和 `is_stale`。`total` 现在只合计 36 小时内更新过的交易所;原先的口径保留为 `total_including_stale`,被排除的交易所列在 `stale_exchanges` 中。
  • `/api/margin/rates` 和 `/api/margin-fee/matrix`:利率已停止更新的资产和单元格带有 `is_stale: true`;阈值和数量在顶层返回。
  • 2026-10-28 至 2026-11-11 的每日全球市值快照已重新计算,原因是在合计中发现两条市值不合理(大于比特币)的记录。采集器现在会将此类数值存为 `null`。
变更2026.11.11向后兼容

数据源中断会在响应中如实上报,而不是直接失败或看似仍为最新

  • `/api/indicators/mempool/pools`:矿池数据源没有应答时,返回上次存储的结果并附带 `stale: true`、`cached_at` 和 `stale_reason`,而不再返回 HTTP 500。
  • `/api/etf/funds`:新增 `frozen_fields` 对象,列出数据源自 2026-10-08 起停止发布的基金层面字段,以及每个值所对应的日期。
  • `/api/indicators/halving`:新增 `current_difficulty` 对象(`value`、`as_of`、`source`)。`difficulty`(难度调整进度)在其数据源不可用期间保持为 `null`。
  • `/api/browser/detect`:链上查询失败时,不再被报告为没有活动的地址。所有链均无法查询时,`kind` 为 `lookup_failed`。
  • `/api/currency/flows`:文档现在列出该端点实际提供的 22 个时间窗口(5 分钟至 1 年)。
变更2026.11.11破坏性变更

不支持的参数值返回 400,而不再返回默认数据

  • `/api/derivatives/kline`:`interval=4h` 返回真正的 4 小时 K 线,由 1h K 线按 UTC 边界合成(此前返回的是 1h K 线)。`1h`、`4h`、`1d` 以外的任何周期都返回 400。
  • `/api/options/` 下的期权端点:不支持的 `currency` 返回 400,而不再返回 BTC 数据;全部七个端点都接受 `coin` 作为别名。
  • `/api/etf/flows`、`/api/etf/detail`、`/api/etf/funds` 和 `/api/etf/holdings`:不支持的 `asset` 返回 400,而不再返回 BTC 数据。
  • `/api/liquidations/coins`:不支持的 `range` 返回 400,而不再返回 24h 数据;生效的时间窗口以 `range` 原样返回。
  • `/api/liquidations`、`/api/liquidations/largest` 和 `/api/derivatives/coins-full` 上的 `limit` 上限为 1000。非数字的 `limit` 会使用默认值,而不再报错。
修复2026.11.11破坏性变更

修正每日成交量和研究统计数据

  • `/api/volume/coin`:`daily_30d` 曾把一天内每个滚动 24h 快照全部相加,使每日成交量被高估约 24 倍。现在改为取每个 UTC 日的最后一个快照。
  • `topic=derivatives` 时的 `/api/research/stats`:`volume_24h_usd` 存在同样的高估问题,现已修正。
  • 同一响应中的 `avg_funding_rate_pct` 现在为百分比,约为此前返回的原始小数的 100 倍。请调整所有曾将其乘以 100 的代码。
修复2026.11.11向后兼容

旧版行情端点忽略已停止更新的数据行

  • 受影响的端点:`/api/market/tickers`、`/api/market/volume-rank`、`/api/market/open-interest`、`/api/market/funding`、`/api/market/funding-spread`、`/api/market/long-short`、`/api/market/long-short-v2`、`/api/market/overview`、`/api/p3/volume/overview`、`/api/p3/perp-spot-volume`、`/api/volume/btc-ex-share` 和 `/api/derivatives/coins-full`。
  • 数据行只有在仍属当前数据时才计入:行情为 1 小时内,持仓量为 3 小时内(CME:120 小时),资金费率为 4 小时内,多空比为 24 小时内。
  • 合计值会略有降低,部分列表会变短。已停止交易的合约,其价格显示为 `null`,而不再显示最后一个值。
修复2026.11.11向后兼容

倍数合约已匹配到其基础币种

  • `/api/funding/coin`、`/api/funding/history`、`/api/funding/chart` 和 `/api/ls/coin` 现在会将以某币种的倍数报价的合约(例如 `1000PEPE`)匹配到基础币种,因此这些币种列出的交易所更多。
新增2026.11.11向后兼容

六家交易所的期权数据

  • 新增 `/api/sd/options/overview`、`/api/sd/options/expiries`、`/api/sd/options/strikes`、`/api/sd/options/chain` 和 `/api/sd/options/history`。
  • 持仓量、24h 名义成交额、看跌/看涨比、最大痛点、ATM IV、25-delta 偏度和 IV 期限结构,由 CoinBoss 根据 Deribit、Binance、Bybit、OKX、Gate 和 Coincall 的合约列表计算。
  • 名义成交额和权利金成交额是两个独立字段,绝不相加。交易所未公布的列为 `null`,并列在 `coverage.field_gaps` 下。
  • 历史为小时级,始于 2026-11-11;更早的小时不做回补。
新增2026.11.11向后兼容

来自一手发布渠道的现货 ETF、CME 和 CFTC 数据

  • 新增 `/api/sd/etf/overview`、`/api/sd/etf/funds` 和 `/api/sd/etf/history`,基于发行商披露构建。合计涵盖 CoinBoss 能够采集的基金;其余每只基金都会列出并附原因,`totals_scope` 始终为 `covered_funds_only`。
  • 基金资金流由 CoinBoss 根据流通份额和 NAV(或净资产和 NAV)计算。所用公式按基金在 `flow_method` 中返回。
  • 新增 `/api/sd/cme/overview`(八个 CME 产品的每日成交量和持仓量)和 `/api/sd/cme/cot`(按交易者类别划分的 CFTC 周度持仓)。
  • 尚未采集 CME 结算价。USD 数值使用带标注的参考价格(`price_src`),概览也因此标记为 PARTIAL。
新增2026.11.11向后兼容

订单簿深度与滑点

  • 新增 `/api/sd/liquidity`、`/api/sd/liquidity/history` 和 `/api/sd/liquidity/rank`。
  • 中间价 ±0.5 %、±1 % 和 ±2 % 范围内的深度,以及 10k / 100k / 1M USD 市价单的滑点,根据 24 家交易所的真实订单簿快照计算,永续合约和现货市场分别给出。
  • 未覆盖到某个价格带的快照会被标记为 `complete: false`,按下限值报告,且不计入聚合值。`n_included` 说明合计中包含多少个订单簿。
  • `/api/indicators/large-orderbook` 属于模型输出,不是订单簿;挂单流动性请使用新端点。
新增2026.11.11向后兼容

基于交易所标记价格和指数价格的基差

  • 新增 `/api/sd/basis`、`/api/sd/basis/history` 和 `/api/sd/basis/rank`。
  • 永续合约基差 = (mark − index) ÷ index × 100,取自同一交易所;现货-永续基差将永续合约与同一交易所的现货市场比较;交割合约另附年化值。
  • 聚合值提供 OI 加权、成交量加权和中位数三种。未通过纳入规则的行仍会返回,并附 `excluded_reason`。
  • 小时级历史始于 2026-11-11。
变更2026.11.11向后兼容

图标映射改用公开站点的源

  • `/api/coin-icons` 和 `/api/exchange-icons` 返回 `https://www.coinboss.com` 上的图标 URL,与其他所有公开端点同源。路径(`/api/coin-icon/{coin}`、`/api/exchange-icon/{exchange}`)保持不变。
已弃用2026.11.11向后兼容

`/api/basis/list` 和 `/api/cftc/cot` 标记为旧版

  • 请用 `/api/sd/basis/rank` 代替 `/api/basis/list`,用 `/api/sd/cme/cot` 代替 `/api/cftc/cot`。旧版端点继续可用。
变更2026.11.11向后兼容

`/api/liquidation-events` 现在仅提供 CoinBoss 自有记录

  • 该列表基于 CoinBoss 从交易所数据源收到的爆仓单构建。其历史始于 2026-08-19;更早的日期不返回任何行。
  • 字段名称和类型不变。
移除2026.11.11向后兼容

运维端点不再能从互联网访问

  • `/api/health/alerts`、`/api/health/server`、`/api/health/history` 和 `/api/health/ch-read` 对公开请求返回 404。它们从来不属于公开 API。
  • 服务状态请使用 `/api/meta/status`,数据新鲜度请使用 `/api/meta/quality`。
新增2026.11.11向后兼容

开发者中心与机器可读的 API 元数据

  • 新增 `/api/meta/catalog`、`/api/meta/endpoint`、`/api/meta/status`、`/api/meta/quality`、`/api/meta/changelog` 和 `/api/meta/openapi`。
  • 文档中的字段表和示例响应由 API 探针根据真实响应生成,该探针每 5 分钟调用一次全部公开端点。
  • 端点状态(可用 / 部分可用 / 降级 / 故障 / 不可用)现在来自这些真实调用,而不是进程状态。
变更2026.11.11向后兼容

统一的错误响应体和请求 ID

  • 每个响应都带有 `X-Request-Id` 响应头;错误响应体以 `request_id` 重复给出该值。
  • 所有端点的错误响应体现在均为 `{ success: false, code, error, request_id }`。`error` 仍为字符串,因此现有客户端可继续工作。
  • 未知的 `/api/*` 路由返回 JSON 404(`NOT_FOUND`),而不是 HTML 页面。
  • HTTP 429 响应包含 `Retry-After`。
  • 5xx 错误的信息为通用内容;不再回显内部细节。
新增2026.11.11向后兼容

自采数据端点,每个响应均带覆盖范围和质量信息

  • 新增 `/api/sd/oi`、`/api/sd/funding`、`/api/sd/liquidations`、`/api/sd/volume`、`/api/sd/ls`、`/api/sd/coin` 和 `/api/sd/quality`。
  • 持仓量按 USDT / USDC / 币本位 / 交割合约分别给出,并说明哪些交易所上报的是双边数值。
  • 资金费率同时返回原始值及其周期、归一化到 8h 的值和年化值;合约未在正常交易的交易所会被排除并列出。
已弃用2026.11.11向后兼容

`/api/market/long-short` 标记为旧版

  • 列表视图请使用 `/api/market/long-short-v2`,按交易所提供的账户数 / 持仓量 / 主动买卖比请使用 `/api/sd/ls`。
变更2026.10.31向后兼容

图标字段返回同源路径

  • `image_url` / `icon` 等字段现在包含 CoinBoss 路径(`/api/coin-icon/...`),而不是第三方 URL。
  • 没有经过验证的图标的币种返回 `null`;客户端应自行渲染占位图。
修复2026.10.24向后兼容

过期的行不再进入聚合值

  • 持仓量、资金费率和多空比的合计仅使用在新鲜窗口内更新过的行(CME 每日发布一次,其窗口更长)。
  • 已下架的合约在其最近一次更新移出窗口后,不再计入合计。

旧版端点

为保持兼容而保留。它们会继续工作;新的集成应使用替代端点。

端点替代端点说明
/api/market/long-short/api/market/long-short-v2为兼容现有集成而保留。请使用 `/api/market/long-short-v2`(增加了交易所筛选)或 `/api/sd/ls`(按交易所提供,账户数 / 持仓量 / 主动买卖口径分开)。
/api/basis/list/api/sd/basis/rank`apr_pct` 等于 `basis_pct × 3 × 365`,是把当前永续合约基差当作每 8 小时支付一次所做的简单外推;它不是资金费收益率,也不是交割收益率。`/api/sd/basis` 分别给出标记-指数基差、现货-永续基差和交割合约基差。