| 模式 | 描述 | 客戶端要求 |
|---|---|---|
| 深度快照 (Level 1 / 5 / 50) | 每條訊息皆為指定深度下的完整訂單簿快照。 | 可直接使用,無需維護本地訂單簿狀態。 |
| 深度增量更新 (INCREMENT) | 訊息僅包含訂單簿的增量變化資料。 | 客戶端需維護本地訂單簿: 1. 先透過 REST API 取得初始快照 2. 依序套用 WebSocket 增量更新 |
| 深度類型 | 現貨(SPOT) | 合約(FUTURES) |
|---|---|---|
| Level 1 | 即時 | 即時 |
| Level 5 | 100 ms | 100 ms |
| Level 50 | 100 ms | 100 ms |
| Increment | 即時 | 即時 |
{
"id": "1545910660739",
"action": "SUBSCRIBE", // 或 UNSUBSCRIBE
"channel":"obu",
"tradeType": "SPOT", // SPOT / FUTURES
"symbol": "BTC-USDT",
"depth": "5", // 1 / 5 / 50 / INCREMENT
"rpiFilter": 0 // 0:只有非RPI订单 [默认] 1(只支持合約):非RPI订单+RPI订单. 当rpiFilter=1时, "depth"只支持 5/50.
}Note:
O 與 C 分別表示本次推送資料的序列起始值與序列結束值。1.對於快照推送(Snapshot),訂單簿資料對應單一序列點的狀態,因此 O 與 C 的值始終相同。 2.對於增量推送(Incremental),單次推送可能聚合多筆訂單簿變更,體現在買單(b)與賣單(a)陣列中的多檔位更新,因此 O 與 C 的值可能不同。
//SPOT-bbo
{
"T": "obu.SPOT",
"dp": "1",
"t": "snapshot",
"P": 1768217874990007701,
"d": {
"C": 25984468414,
"M": 1768217874986000000,
"O": 25984468414,
"a": [
[
"90701.2",
"0.5771583"
]
],
"b": [
[
"90701.1",
"0.13918404"
]
],
"s": "BTC-USDT"
}
}
//SPOT-increment
{
"T": "obu.SPOT",
"dp": "increment",
"t": "delta",
"P": 1768217909684719896,
"d": {
"C": 25984544840,
"M": 1768217909683000000,
"O": 25984544839,
"a": [],
"b": [
[
"1",
"12996.24994153"
]
],
"s": "BTC-USDT"
}
}
//FUTURES-bbo
{
"T": "obu.FUTURES",
"dp": "1",
"t": "snapshot",
"P": 1768217994549513415,
"d": {
"a": [
[
"90629.2",
"2236"
]
],
"b": [
[
"90629.1",
"301"
]
],
"s": "XBTUSDTM",
"C": 1732420529826,
"M": 1768217994548000000,
"O": 1732420529826
}
}
//FUTURES-increment
{
"T": "obu.FUTURES",
"dp": "increment",
"t": "delta",
"P": 1768218044321756061,
"d": {
"a": [
[
"90601.5",
"0"
]
],
"b": [],
"C": 1732420557695,
"s": "XBTUSDTM",
"M": 1768218044321000000,
"O": 1732420557695
}
}
//FUTURES-RPI
{
"t" : "snapshot",
"T" : "obu.FUTURES",
"d" : {
"O" : 1731931329201,
"b" : [
[
"88862.4",
"891",
"0"
]
],
"M" : 1767323800296000000,
"s" : "XBTUSDTM",
"a" : [
[
"88862.5",
"1645",
"0"
]
],
"C" : 1731931329201
},
"P" : 1767323800305802104,
"dp" : "5"
}
sequenceStart(new) <= sequenceEnd(old) + 1
sequenceEnd(new) > sequenceEnd(old) "sequence": "100001",
"asks": [
["115669", "0.1"],
["115553.5", "0.05"],
["115442", "0.2"]
],
"bids": [
["115404", "0.5"],
["115403.5", "0.3"],
["115388.9", "0.1"]
]
}| Price | Size | Side |
|---|---|---|
| 115669 | 0.1 | Sell |
| 115553.5 | 0.05 | Sell |
| 115442 | 0.2 | Sell |
| 115404 | 0.5 | Buy |
| 115403.5 | 0.3 | Buy |
| 115388.9 | 0.1 | Buy |
{
"T": "obu.spot",
"t": "delta",
"dp": "increment",
"P": 1760324595709048090,
"d": {
"C": 100002,
"M": 1760324595706000,
"O": 100002,
"a": [["115669", "0.0151843"]],
"b": [],
"s": "BTC-USDT"
}
}sequenceStart (100002) <= sequenceEnd(old) + 1 (100001 + 1 = 100002) and sequenceEnd (100002) > sequenceEnd(old) (100001).{
"T": "obu.spot",
"t": "delta",
"dp": "increment",
"P": 1760324595709048090,
"d": {
"C": 100003,
"M": 1760324595706000,
"O": 100003,
"a": [],
"b": [["115404", "0"]],
"s": "BTC-USDT"
}
}sequenceStart (100003) <= sequenceEnd(old) + 1 (100002 + 1 = 100003) and sequenceEnd (100003) > sequenceEnd(old) (100002).| Price | Size | Side |
|---|---|---|
| 115669 | 0.0151843 | Sell |
| 115553.5 | 0.05 | Sell |
| 115442 | 0.2 | Sell |
| 115403.5 | 0.3 | Buy |
| 115388.9 | 0.1 | Buy |