GET可用
單一幣種的持倉量
自研資料層:單一幣種的持倉量(依交易所/合約劃分,附品質標記)
GET
/api/sd/oi請求
查詢參數
| 名稱 | 型別 | 必填 | 預設值 | 可用值 | 說明 |
|---|---|---|---|---|---|
| coin | string | 必填 | — | — | 幣種代號;缺少時回傳 400。別名:`base`。 範例: BTC |
請求範例
curl -s "https://www.coinboss.com/api/sd/oi?coin=BTC"回應欄位
欄位表由真實回應產生,因此列出的正是端點實際回傳的內容。路徑中的 a[] 代表陣列元素,{*} 代表以動態名稱(例如幣種或交易所)為鍵的物件。
| 欄位 | 型別 | 單位 | 說明 |
|---|---|---|---|
| success | boolean | — | 請求成功時為 true。失敗時回應內容為 `{ success: false, code, error, request_id }`。 |
| coin | string | — | 幣種代號,大寫(例如 BTC)。 |
| now | number | ms | 建立回應時的伺服器時間。 |
| total_usd | number | USD | 所有納入的交易所與合約的持倉量,依各交易所回報的口徑(USD 名義價值)。 |
| n_exchanges | number | — | 總額所含的交易所數量。 |
| n_contracts | number | — | 總額所含的合約數量。 |
| asof | number | ms | 所納入資料列中最新的更新時間。 |
| total_usd_single_adjusted | number | USD | 即 `total_usd`,但回報雙邊數字的交易所(`double_sided.exchanges`)其數值已減半,使每家交易所都只計一邊。 |
| double_sided | object | — | 已知將多頭 + 空頭持倉量合併為單一數字公布的交易所。 |
| double_sided.exchanges | array | — | 交易所。 |
| double_sided.exchanges[] | string | — | 交易所。 |
| double_sided.oi_usd | number | USD | 這些交易所減半前所回報的持倉量。 |
| by_kind | object | — | 依正向/反向合約拆分。 |
| by_kind.linear_usd | number | USD | 正向合約(以穩定幣或 USD 作為保證金並結算)的持倉量。 |
| by_kind.inverse_usd | number | USD | 反向(幣本位)合約的持倉量,依合約價格換算為 USD。 |
| by_margin | object | — | 依保證金幣種拆分。 |
| by_margin.other | number | USD | 其他保證金幣種(例如 CME 這類以 USD 結算的交易所)。 |
| by_margin.usdt | number | USD | USDT 本位合約。 |
| by_margin.usdc | number | USD | USDC 本位合約。 可能不存在 |
| by_margin.coin | number | USD | 幣本位合約。 可能不存在 |
| by_contract_type | object | — | 依永續/交割合約拆分。 |
| by_contract_type.perpetual_usd | number | USD | 永續合約。 |
| by_contract_type.delivery_usd | number | USD | 定期期貨(交割合約)。 |
| change | object | — | 持倉量在 1h / 4h / 24h 內的變化,兩端皆以同一組合約計算。 動態鍵: h1,h4,h24 |
| change.{*} | object | — | 所述期間內的變化。 |
| change.{*}.pct | number | % | `prev` 與 `cur` 之間的變化百分比。 |
| change.{*}.cur | number | USD | 配對合約的當前加總。 |
| change.{*}.prev | number | USD | 同一組合約在 `prev_ts` 時的加總。 |
| change.{*}.n_matched | number | — | 兩端皆存在的合約(或交易所)。 |
| change.{*}.n_total | number | — | 目前存在的合約(或交易所)。 |
| change.{*}.matched_share_pct | number | % | 配對集合佔當前持倉量的比例。 可能不存在 |
| change.{*}.prev_ts | number | ms | 基準快照的時間。 |
| change.{*}.span_min | number | min | 基準與目前之間的實際時間差。 |
| change.{*}.basis | string | — | 基準取自哪一個快照序列。 |
| change.{*}.frozen_excluded | object | — | 因數值在兩次快照之間沒有變動(來源未更新)而未計入變化的資料列。 可能不存在 |
| change.{*}.frozen_excluded.n_baseline | number | — | 基準快照中的項目。 可能不存在 |
| change.{*}.frozen_excluded.n_current | number | — | 當前快照中的項目。 可能不存在 |
| change.{*}.frozen_excluded.cur_usd | number | USD | 當前值。 可能不存在 |
| change.{*}.frozen_excluded.prev_usd | number | USD | 基準值。 可能不存在 |
| by_exchange | array | — | 各交易所明細。 |
| by_exchange[] | object | — | 各交易所明細。 |
| by_exchange[].exchange | string | — | 交易所 ID,小寫(例如 `binance`)。 |
| by_exchange[].oi_usd | number | USD | 持倉量,以 USD 名義價值計。 |
| by_exchange[].share_pct | number | % | 佔總額的比例。 |
| by_exchange[].n_contracts | number | — | 合約數量。 |
| by_exchange[].linear_usd | number | USD | 正向合約。 |
| by_exchange[].inverse_usd | number | USD | 反向(幣本位)合約。 |
| by_exchange[].perpetual_usd | number | USD | 永續合約。 |
| by_exchange[].delivery_usd | number | USD | 交割合約。 |
| by_exchange[].oi_side | string | — | 交易所以單一數字回報雙邊時為 `double`,回報單邊時為 `single`,交易所文件未說明時為 `unstated`。 |
| by_exchange[].oi_usd_single_adjusted | number|null | USD | 單邊等值;單雙邊口徑未說明時為 null。 |
| by_exchange[].updated_at | number | ms | 此資料列最近一次更新的時間。 |
| by_exchange[].age_s | number | s | 此資料列距上次更新的秒數。 |
| by_exchange[].is_stale | boolean | — | 資料列超出新鮮視窗時為 true;過期的資料列不計入總額。 |
| contracts | array | — | 各合約的資料列。 |
| contracts[] | object | — | 各合約的資料列。 |
| contracts[].exchange | string | — | 交易所 ID,小寫(例如 `binance`)。 |
| contracts[].symbol | string | — | 經 CoinBoss 正規化的交易品種代號(例如 BTCUSDT)。 |
| contracts[].native_symbol | string|null | — | 與交易所寫法完全一致的合約代號。 |
| contracts[].oi_usd | number | USD | 持倉量,以 USD 名義價值計。 |
| contracts[].oi_side | string | — | `double`、`single` 或 `unstated`:交易所是否以單一數字回報持倉量的雙邊。 |
| contracts[].oi_usd_single | number|null | USD | `oi_usd` 的單邊等值;單雙邊口徑未說明時為 null。 |
| contracts[].margin | string | — | 保證金幣種類別:`usdt`、`usdc`、`coin` 或 `other`。 |
| contracts[].kind | string | — | `linear` 或 `inverse`。 |
| contracts[].contract_type | string | — | `perpetual` 或 `delivery`。 |
| contracts[].expiry_ts | number|null | ms | 交割合約的到期日;永續合約或未公布時為 null。 |
| contracts[].margin_basis | string | — | 保證金類別的判定依據(合約規格或交易所預設值)。 |
| contracts[].updated_at | number | ms | 此資料列最近一次更新的時間。 |
| contracts[].age_s | number | s | 此資料列距上次更新的秒數。 |
| contracts[].is_stale | boolean | — | 資料列超出新鮮視窗時為 true;過期的資料列不計入總額。 |
| contracts[].collector | string | — | 產生此資料列的內部採集器。 |
| contracts[].included_since | number|null | ms | 此合約納入總額的時間;基礎集合為 null。 |
| coverage | object | — | 上述數字包含與不包含哪些內容。與其他來源比較總額之前,請先比對這一項。 |
| coverage.included_exchanges | array | — | 資料已計入總額的交易所。 |
| coverage.included_exchanges[] | string | — | 已計入總額的交易所。 |
| coverage.pending | array | — | 已採集但尚未計入總額的合約(例如仍在累積自身 25 小時歷史的期間)。會連同當前數值一併列出,讓缺口一目了然。 |
| coverage.pending[] | object | — | 已採集但尚未計入的項目。 |
| coverage.pending[].exchange | string | — | 交易所 ID,小寫(例如 `binance`)。 |
| coverage.pending[].symbol | string | — | 經 CoinBoss 正規化的交易品種代號(例如 BTCUSDT)。 |
| coverage.pending[].native_symbol | string | — | 與交易所寫法完全一致的合約代號。 |
| coverage.pending[].margin | string | — | 保證金幣種類別。 |
| coverage.pending[].contract_type | string | — | `perpetual` 或 `delivery`。 |
| coverage.pending[].oi_usd | number | USD | 持倉量,以 USD 名義價值計。 |
| coverage.pending[].age_s | number | s | 此資料列距上次更新的秒數。 |
| coverage.pending[].reason | string | — | 原因代碼。 |
| coverage.pending[].detail | string|null | — | 詳細說明。 |
| coverage.pending_usd | number|null | USD | 待納入合約的加總,不屬於 `total_usd`。 |
| coverage.stale_excluded | array | — | 因最後更新時間超出可用視窗而未計入的資料列。 在產生此表所用的樣本中為空 |
| coverage.unavailable | array | — | 無法納入的交易所/合約組合,各附原因。絕不會以 0 計入。 |
| coverage.unavailable[] | object | — | 沒有資料的項目及其原因。絕不會回報為 0。 |
| coverage.unavailable[].exchange | string | — | 交易所 ID,小寫(例如 `binance`)。 |
| coverage.unavailable[].symbol | string | — | 經 CoinBoss 正規化的交易品種代號(例如 BTCUSDT)。 |
| coverage.unavailable[].native_symbol | string | — | 與交易所寫法完全一致的合約代號。 |
| coverage.unavailable[].margin | string | — | 保證金幣種類別。 |
| coverage.unavailable[].contract_type | string | — | `perpetual` 或 `delivery`。 |
| coverage.unavailable[].reason | string | — | 原因代碼。 |
| coverage.unavailable[].detail | string | — | 詳細說明。 |
| method | object | — | 以純文字說明此回應所用的公式。 |
| method.total | string | — | 總數。 |
| method.usd | string | USD | 數值。 |
| method.change_h1_h4 | string | — | 1h 與 4h 持倉量變化定義的純文字說明:每個合約與其自身最接近時間視窗起點的快照比較。 |
| method.change_h24 | string | — | 24h 持倉量變化定義的純文字說明:同一交易所與最接近 24 小時前的小時快照配對,並排除凍結的基準。 |
| method.oi_side | string | — | `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"
- "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"
- "h4"
- "by_exchange"
- "contracts"
- "coverage"
- "included_exchanges"
- "pending"
- "pending_usd"null
- "stale_excluded"
- "unavailable"
- "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=ETH | 200 | 24 ms | 通過 |
| coin=SOL | 200 | 21 ms | 通過 |
| coin=ARKM | 200 | 20 ms | 通過 |
| — | 400 | 1 ms | 通過 回傳預期的錯誤 |
檢查於 2026-11-13 03:57:39 UTC
詳細資訊
- 身分驗證
- 無。公開端點。
- 速率限制
- 每個 IP 每分鐘 1200 次請求
- 伺服器快取
- 20s
- 邊緣微快取
- 10s
- 更新頻率
- 多數交易所每 60 s(與行情一併寫入;binance 前 50 名與 okx 有專用的 60 s 排程);binance / bingx / aster / gate / htx 全量掃描每 5 min;幣本位/USDC 本位/交割合約每 120 s(每 5 min 併入共用資料表);cme 每個交易日一次(04:10 UTC);另有 15 分鐘的合約層級快照,用於計算短時間視窗的變化
- 時間視窗
- 最新快照(3 h 內的資料列,cme 為 120 h;超過 15 min 即標記 is_stale,cme 為 36 h);1 h / 4 h 變化(依 15 分鐘快照)與 24 h 變化(依小時歸檔)
- 資料來源
- 持倉量由自有採集器輪詢 22 家衍生品交易所(例如 binance、okx、bybit、gate、bitget、hyperliquid)的公開 REST API 取得,另加 CME 官方的每日成交量/持倉量報告。
- 交易所覆蓋範圍
- 23 個有新鮮資料列的來源(22 家交易所 + cme);涵蓋所有合約類型(USDT/USDC/USD 正向、幣本位反向、永續與交割);bybit 與 gate 依交易所揭露的口徑回報雙邊持倉量;超過 3 h(cme:120 h)的資料列會被排除;coverage 區塊列出已納入、待納入(等待累積 25 h 自有歷史)、因過期排除以及未提供的交易所
- 單位
- 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 epoch 毫秒(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_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 狀態碼。 | 視訊息而定;請當作失敗的請求處理。 |
試用
GET
/api/sd/oi可用參數
string — Coin symbol; 400 when missing. Alias: `base`.
請求 URL
https://www.coinboss.com/api/sd/oi?coin=BTC選擇一個端點並按下「送出請求」。回應內容、標頭與耗時會顯示在這裡。
此分類的其他端點
- 單一幣種的持倉量 /api/sd/oi
- 各幣種跨交易所持倉量排行 /api/market/open-interest
- 單一幣種的 OI 堆疊圖序列 /api/oi/chart
- 單一幣種的彙總持倉量歷史 /api/oi/history
- 持倉量矩陣 /api/oi/matrix
- 單一幣種的持倉量摘要 /api/oi/summary