/api/sd/oi
GET可用

单个币种的持仓量

自采数据层:单个币种的持仓量(按交易所 / 合约,含质量标记)

GET/api/sd/oi

请求

查询参数

名称类型必填默认值可选值说明
coinstring必填——币种代码;缺失时返回 400。别名:`base`。 示例: BTC

请求示例

curl -s "https://www.coinboss.com/api/sd/oi?coin=BTC"

响应字段

字段表根据真实响应生成,因此所列内容与端点实际返回的完全一致。路径中 a[] 表示数组元素,{*} 表示以动态名称(如币种或交易所)为键的对象。

字段类型单位说明
successboolean—请求成功时为 true。失败时响应体为 `{ success: false, code, error, request_id }`。
coinstring—币种代码,大写(例如 BTC)。
nownumberms响应生成时的服务器时间。
total_usdnumberUSD全部已计入交易所和合约的持仓量,按各交易所上报的口径(USD 名义价值)。
n_exchangesnumber—合计中的交易所数量。
n_contractsnumber—合计中的合约数量。
asofnumberms已计入各行中最新的更新时间。
total_usd_single_adjustednumberUSD将同时上报多空双边的交易所(`double_sided.exchanges`)的数值减半后的 `total_usd`,使每家交易所都只计单边。
double_sidedobject—已知将多头 + 空头持仓量合并为一个数字公布的交易所。
double_sided.exchangesarray—交易所。
double_sided.exchanges[]string—交易所。
double_sided.oi_usdnumberUSD这些交易所减半之前上报的持仓量。
by_kindobject—按线性 / 反向拆分。
by_kind.linear_usdnumberUSD线性合约(以稳定币或 USD 作为保证金并结算)的持仓量。
by_kind.inverse_usdnumberUSD反向(币本位)合约的持仓量,按合约价格换算为 USD。
by_marginobject—按保证金币种拆分。
by_margin.othernumberUSD其他保证金币种(例如 CME 等以 USD 结算的交易所)。
by_margin.usdtnumberUSDUSDT 本位合约。
by_margin.usdcnumberUSDUSDC 本位合约。 可能缺失
by_margin.coinnumberUSD币本位合约。 可能缺失
by_contract_typeobject—按永续 / 交割拆分。
by_contract_type.perpetual_usdnumberUSD永续合约。
by_contract_type.delivery_usdnumberUSD交割合约(有到期日的期货)。
changeobject—持仓量在 1h / 4h / 24h 内的变化,两端均基于同一组合约计算。 动态键: h1,h4,h24
change.{*}object—在所述周期内的变化。
change.{*}.pctnumber%`prev` 与 `cur` 之间的变化百分比。
change.{*}.curnumberUSD已匹配合约的当前合计。
change.{*}.prevnumberUSD同一组合约在 `prev_ts` 时刻的合计。
change.{*}.n_matchednumber—两端都存在的合约(或交易所)。
change.{*}.n_totalnumber—当前存在的合约(或交易所)。
change.{*}.matched_share_pctnumber%已匹配集合所覆盖的当前持仓量占比。 可能缺失
change.{*}.prev_tsnumberms基准快照的时间。
change.{*}.span_minnumbermin基准与当前时刻之间的实际间隔。
change.{*}.basisstring—基准来自哪个快照序列。
change.{*}.frozen_excludedobject—因数值在两次快照之间没有变动(数据源未更新)而未计入变化的行。 可能缺失
change.{*}.frozen_excluded.n_baselinenumber—基准快照中的条目。 可能缺失
change.{*}.frozen_excluded.n_currentnumber—当前快照中的条目。 可能缺失
change.{*}.frozen_excluded.cur_usdnumberUSD当前值。 可能缺失
change.{*}.frozen_excluded.prev_usdnumberUSD基准值。 可能缺失
by_exchangearray—各交易所明细。
by_exchange[]object—各交易所明细。
by_exchange[].exchangestring—交易所 ID,小写(例如 `binance`)。
by_exchange[].oi_usdnumberUSD持仓量,以 USD 名义价值计。
by_exchange[].share_pctnumber%占总量的比例。
by_exchange[].n_contractsnumber—合约数量。
by_exchange[].linear_usdnumberUSD线性合约。
by_exchange[].inverse_usdnumberUSD反向(币本位)合约。
by_exchange[].perpetual_usdnumberUSD永续合约。
by_exchange[].delivery_usdnumberUSD交割合约。
by_exchange[].oi_sidestring—交易所将双边合并为一个数字上报时为 `double`,上报单边时为 `single`,交易所文档未说明时为 `unstated`。
by_exchange[].oi_usd_single_adjustednumber|nullUSD单边等值;单双边口径未说明时为 null。
by_exchange[].updated_atnumberms该行最近一次更新的时间。
by_exchange[].age_snumbers该行距上次更新的秒数。
by_exchange[].is_staleboolean—该行超出新鲜窗口时为 true;过期的行不计入合计。
contractsarray—各合约的数据行。
contracts[]object—各合约的数据行。
contracts[].exchangestring—交易所 ID,小写(例如 `binance`)。
contracts[].symbolstring—经 CoinBoss 归一化的合约代码(例如 BTCUSDT)。
contracts[].native_symbolstring|null—与交易所写法完全一致的合约代码。
contracts[].oi_usdnumberUSD持仓量,以 USD 名义价值计。
contracts[].oi_sidestring—`double`、`single` 或 `unstated`:交易所是否将持仓量的双边合并为一个数字上报。
contracts[].oi_usd_singlenumber|nullUSD`oi_usd` 的单边等值;单双边口径未说明时为 null。
contracts[].marginstring—保证金币种类别:`usdt`、`usdc`、`coin` 或 `other`。
contracts[].kindstring—`linear` 或 `inverse`。
contracts[].contract_typestring—`perpetual` 或 `delivery`。
contracts[].expiry_tsnumber|nullms交割合约的到期日;永续合约或未公布时为 null。
contracts[].margin_basisstring—保证金类别的判定依据(来自合约规格或交易所默认值)。
contracts[].updated_atnumberms该行最近一次更新的时间。
contracts[].age_snumbers该行距上次更新的秒数。
contracts[].is_staleboolean—该行超出新鲜窗口时为 true;过期的行不计入合计。
contracts[].collectorstring—生成该行的内部采集器。
contracts[].included_sincenumber|nullms该合约计入合计的时间;基础集合为 null。
coverageobject—上述数值包含什么、不包含什么。在与其他数据源比较合计之前,请先比对这一点。
coverage.included_exchangesarray—数据已计入合计的交易所。
coverage.included_exchanges[]string—已计入合计的交易所。
coverage.pendingarray—已采集但尚未计入合计的合约(例如其自身的 25 小时历史仍在积累中)。它们与当前值一并列出,使缺口一目了然。
coverage.pending[]object—已采集但尚未计入的条目。
coverage.pending[].exchangestring—交易所 ID,小写(例如 `binance`)。
coverage.pending[].symbolstring—经 CoinBoss 归一化的合约代码(例如 BTCUSDT)。
coverage.pending[].native_symbolstring—与交易所写法完全一致的合约代码。
coverage.pending[].marginstring—保证金币种类别。
coverage.pending[].contract_typestring—`perpetual` 或 `delivery`。
coverage.pending[].oi_usdnumberUSD持仓量,以 USD 名义价值计。
coverage.pending[].age_snumbers该行距上次更新的秒数。
coverage.pending[].reasonstring—原因代码。
coverage.pending[].detailstring|null—详情。
coverage.pending_usdnumber|nullUSD待计入合约的合计,不属于 `total_usd`。
coverage.stale_excludedarray—因最近一次更新超出可用窗口而被排除的行。 在生成此表所用的样本中为空
coverage.unavailablearray—无法计入的交易所 / 合约组合,每项均附原因。它们绝不会按 0 计。
coverage.unavailable[]object—没有可用数据的条目,附原因。绝不会上报为 0。
coverage.unavailable[].exchangestring—交易所 ID,小写(例如 `binance`)。
coverage.unavailable[].symbolstring—经 CoinBoss 归一化的合约代码(例如 BTCUSDT)。
coverage.unavailable[].native_symbolstring—与交易所写法完全一致的合约代码。
coverage.unavailable[].marginstring—保证金币种类别。
coverage.unavailable[].contract_typestring—`perpetual` 或 `delivery`。
coverage.unavailable[].reasonstring—原因代码。
coverage.unavailable[].detailstring—详情。
methodobject—以纯文本说明本响应所用的公式。
method.totalstring—总数。
method.usdstringUSD数值。
method.change_h1_h4string—1h 和 4h 持仓量变化的纯文本定义:每个合约与其自身距窗口起点最近的快照进行比较。
method.change_h24string—24h 持仓量变化的纯文本定义:同一交易所配对,对比距 24 小时前最近的小时快照,冻结的基准已剔除。
method.oi_sidestring—`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": [ … 2 ],
      • "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": { … 9 },
      • "h4": { … 9 }
      },
    • "by_exchange": [
      • { … 13 },
      • { … 13 }
      ],
    • "contracts": [
      • { … 16 },
      • { … 16 }
      ],
    • "coverage": {
      • "included_exchanges": [ … 8 ],
      • "pending": [],
      • "pending_usd": null,
      • "stale_excluded": [ … 2 ],
      • "unavailable": [ … 1 ]
      },
    • "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=ETH20024 ms通过
coin=SOL20021 ms通过
coin=ARKM20020 ms通过
—4001 ms通过 返回预期的错误

检查于 2026-11-13 03:57:39 UTC

详细信息

身份验证
无。公开端点。
速率限制
每个 IP 每分钟 1200 次请求
服务端缓存
20s
边缘微缓存
10s
更新频率
多数交易所每 60 秒(与行情一并写入;binance 前 50 和 okx 有专用的 60 秒任务);binance / bingx / aster / gate / htx 每 5 分钟全量扫描;币本位 / USDC 本位 / 交割合约每 120 秒(每 5 分钟并入共享表);cme 每个交易日一次(04:10 UTC);另有 15 分钟一次的合约级快照,用于计算短窗口变化
时间窗口
最新快照(3 小时内的行,cme 为 120 小时;超过 15 分钟后置 is_stale 标志,cme 为 36 小时);1 小时 / 4 小时变化(基于 15 分钟快照)和 24 小时变化(基于小时归档)
数据来源
持仓量由自有采集器轮询 22 家衍生品交易所(如 binance、okx、bybit、gate、bitget、hyperliquid)的公开 REST API 获得,外加 CME 官方的每日成交量/持仓量报告。
交易所覆盖范围
23 个有新鲜数据行的数据源(22 家交易所 + cme);全部合约类型(USDT / USDC / USD 线性、币本位反向、永续与交割);bybit 和 gate 上报双边持仓量,与交易所披露的口径一致;超过 3 小时(cme:120 小时)的行已排除;coverage 块列出已计入、待计入(等待积累 25 小时自有历史)、因过期被排除以及不可用的交易所
单位
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

实时状态

可用检查于 2026-11-13 03:57:39 UTCHTTP 20032 ms结构一致最新数据点距今 2s

近 30 天可用性

411 次检查中 100% 通过

最近一次探测发现结构漂移
  • 实际返回但文档未记载: 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_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/oi可用
参数

string — Coin symbol; 400 when missing. Alias: `base`.

请求 URLhttps://www.coinboss.com/api/sd/oi?coin=BTC
选择一个端点,然后点击“发送请求”。响应、响应头和耗时将显示在这里。