Gate.io 永续合约深度频道全新升级通知
为提升用户的交易体验,Gate即将推出全新深度频道futures.obu,专为U本位永续合约设计,该频道将优化推送逻辑并扩展深度档位,具体规则包括:频道名称为futures.obu,支持ob.{symbol}.{level}格式的参数,例如ob.BTC_USDT.400(400档)和ob.BTC_USDT.50(50档),其中400档每100毫秒更新,50档每20毫秒更新;全量深度推送时需完整替换本地深度,增量深度推送则包含起始ID和结束ID,用户可通过WebSocket连接进行订阅和取消订阅操作,且针对同一合约的同一深度流,一个链接仅允许一次订阅,重复订阅会返回错误,此外,开发者需根据新规则调整对接逻辑,如有疑问可联系客户支持团队,模拟环境已上线,欢迎开发者进行测试。
为提升交易体验,Gate将于近期在U本位永续合约中推出全新深度频道futures.obu,优化推送逻辑并扩展深度档位。具体规则如下:
1.频道详情
- 名称:futures.obu
- 参数格式:ob.{symbol}.{level}
示例:ob.BTC_USDT.400(400档)、ob.BTC_USDT.50(50档) - 档位与频率:
400档:每100ms更新
50档:每20ms更新
2.订阅与推送规则
1.全量深度推送(full=true): 当频道推送的深度为全量深度时,需要将该深度数据完整替换本地深度,并将深度ID更新为消息中的字段 u。服务端可能会重复推送全量深度。
- 订阅该频道时,首次推送为全量深度。
2.增量深度推送(full=false): 增量消息中不会显示 “full” 字段,此时消息包含字段 “U”(深度起始ID)和 “u”(深度结束ID)。
- 如果 U = 本地深度ID + 1,则表示深度连续更新:
将本地深度ID替换为消息中的 “u”。
若更新中的 “a” 和 “b” 不为空,分别按价格更新对应的买、卖深度数量(level[0] 为价格,level[1] 为数量)。当数量 level[1] = “0” 时,需移除对应档位。 - 若 U ≠ 本地深度ID + 1,则深度数据不连续,需要取消订阅该市场,并重新订阅以获取初始化深度。
- 如果 U = 本地深度ID + 1,则表示深度连续更新:
3.订阅限制: 针对同一合约的同一深度流,一个链接只允许订阅一次,重复订阅会返回错误。示例:
{ "error": { "code": 2, "message": "Alert sub ob.BTC_USDT.50" } }
3.操作与数据推送示例
- 3.1订阅
订阅请求示例
from websocket import create_connection
import json
ws = create_connection("wss://ws-testnet.gatenode.ch/v4/ws/futures/usdt")
subscribe_msg = {"time": 1747054611, "channel": "futures.obu", "event": "subscribe", "payload": ["ob.BTC_USDT.50"]}
ws.send(json.dumps(subscribe_msg))
print(ws.recv())
订阅成功响应示例
{"time":1747054611,"time_ms":1747054611614,"conn_id":"d7de96c024f2a5b2","trace_id":"e6fd9bdd617fcdb80d0762ffa33e71f6","channel":"futures.obu","event":"subscribe","payload":["ob.BTC_USDT.50"],"result":{"status":"success"}}
全量推送示例
{"channel":"futures.obu","result":{"t":1747054612673,"full":true,"s":"ob.BTC_USDT.50","u":73777715168,"b":[["104027.1","509392"],["104027","477932"],["104026.9","495268"],["104026.7","32736"],["104026.5","34203"],["104026.3","41574"],["104026.1","38304"],["104025.9","32032"],["104025.7","37002"],["104025.5","34533"],["104025.3","33314"],["104025.1","35940"],["104024.9","45910"],["104024.7","35976"],["104024.5","43786"],["104024.3","48071"],["104016.7","41323"],["104006.3","43951"],["103995.9","33242"],["103985.5","41970"],["103975.1","42491"],["103964.7","37901"],["103954.3","39813"],["103943.9","36248"],["103933.5","39625"],["103923.1","39711"],["103912.7","33346"],["103902.3","31525"],["103891.9","34768"],["103881.5","43964"],["103871.1","43706"],["102897.6","1"],["11000","44782"]],"a":[["104027.2","44617"],["104027.4","39322"],["104027.6","41485"],["104027.8","31237"],["104028","31186"],["104028.2","46392"],["104028.4","35450"],["104028.6","36521"],["104028.8","32805"],["104029","41248"],["104029.2","39116"],["104029.4","40685"],["104029.6","37907"],["104029.8","40635"],["104030","38132"],["104037.6","29238"],["104048","38673"],["104058.4","39043"],["104068.8","45300"],["104079.2","45954"],["104089.6","39731"],["104100","44410"],["104110.4","37043"],["104120.8","31646"],["104131.2","32643"],["104141.6","40837"],["104152","42588"],["104162.4","45369"],["104172.8","30834"],["104183.2","41898"],["108000","699"],["100000000","10"]]},"time_ms":1747054612848}
增量推送示例
{"channel":"futures.obu","result":{"t":1747054612695,"s":"ob.BTC_USDT.50","U":73777715169,"u":73777715212,"b":[["104024.5","10343"],["104014.5","509392"],["104014.3","477932"],["104012.6","33314"],["104012.5","15215"],["104011.6","48071"],["104027.1","0"],["104027","0"],["104026.9","0"],["104026.7","0"],["104026.5","0"],["104026.3","0"],["104026.1","0"],["104025.9","0"],["104025.7","0"],["104025.5","0"],["104025.3","0"],["104025.1","0"],["104024.9","0"],["104024.7","0"],["104024.3","0"]],"a":[["104027.2","0"],["104027.4","0"],["104027.6","0"],["104027.8","0"],["104028.2","0"],["104028.4","0"],["104028.6","0"],["104028.8","0"],["104029.2","0"],["104029.6","0"],["104029.8","0"],["104030","0"]]},"time_ms":1747054612925}
- 3.2 取消订阅
取消订阅请求示例
from websocket import create_connection
import json
ws = create_connection("wss://ws-testnet.gatenode.ch/v4/ws/futures/usdt")
unsubscribe_msg = {"time": 123456, "channel": "futures.obu", "event": "unsubscribe", "payload": ["ob.BTC_USDT.50"]}
ws.send(json.dumps(unsubscribe_msg))
print(ws.recv())
取消订阅响应示例
{"time": 1743673617,"time_ms": 1743673617242,"id": 1,"conn_id": "7b06ff199a98ab0e","trace_id": "8f86e4021a84440e502f73fde5b94918","channel": "futures.obu","event": "unsubscribe","payload": ["ob.BTC_USDT.50"],"result": {"status": "success"}}
4.模拟盘测试通知
此功能已在永续合约模拟环境上线,请通过以下URL接入测试: WebSocket U本位永续合约模拟交易地址:
wss://ws-testnet.gatenode.ch/v4/ws/futures/usdt
请开发者根据新规则调整对接逻辑。如有疑问,请联系客户支持团队。
Gate团队
2025年5月13日
加密货币之门
安全、快捷、轻松交易超过 %Amount_of_Currency% 种加密货币
立即行动
注册账户,最高可领 $10,000 迎新奖励
邀请他人注册,可获 40% 佣金
关注官方渠道
访问Gate 官网
下载Gate App | 电脑端
关注X (Twitter),获取最新福利
加入Telegram社群,讨论热点话题
进入全球社区,获取最新资讯
透明度保障
查看 100% 储备金证明