Gate Spot Depth Channel Upgrade Announcement

2025-05-30 08:56:54 UTC38715 lượt xem

To enhance the trading experience, Gate will soon launch a new depth channel spot.obu for spot trading. This new channel features optimized push logic and expanded depth levels. The details are as follows:

1. Channel Details

  • Name:spot.obu
  • Parameter format:ob.{symbol}.{level}
  • Examples:
    ob.BTC_USDT.400(400 level)、ob.BTC_USDT.50(50 level)
  • Levels and update frequency:
    400 levels: updated every 100ms
    50 levels: updated every 20ms

2.Subscription and Push Rules
1. Full Depth Push (full=true)
When the channel pushes a full depth update, the received depth data should completely replace the local depth, and the depth ID must be updated to the u field from the message. The server may resend full depth updates.

  • Upon subscribing to the channel, the first push will always be a full depth update.

2. Incremental Depth Push (full=false)
Incremental depth messages do not include the “full” field. Instead, the message contains “U” (the starting depth ID) and “u” (the ending depth ID).

  • If U = local depth ID + 1, the depth update is continuous:
    • Replace the local depth ID with the “u” value from the message.
    • If the “a” and “b” fields in the update are not empty, update the corresponding ask/bid sizes by price (level[0] is price, level[1] is size). If level[1] = “0”, remove the corresponding price level from the local depth.
  • If U ≠ local depth ID + 1, the depth data is not continuous. In this case, unsubscribe from the symbol and resubscribe to obtain an initial full depth snapshot.

3. Subscription Limits
For the same depth stream of the same currency pair, only one subscription per connection is allowed. Duplicate subscriptions will return an error, e.g.:

  1. { "error": { "code": 2, "message": "Alert sub ob.BTC_USDT.50" } }

3. Examples of Operations and Data Push

1.Subscription

1.1Subscription request example

  1. from websocket import create_connection
  2. import json
  3. ws = create_connection("wss://ws-testnet.gate.io/v4/ws/spot")
  4. subscribe_msg = {"time": 1748572393, "channel": "spot.obu", "event": "subscribe", "payload": ["ob.BTC_USDT.50"]}
  5. ws.send(json.dumps(subscribe_msg))
  6. print(ws.recv())

1.2 Subscription success response example

  1. {"time":1748572394,"time_ms":1748572394271,"conn_id":"b61f70b2e6bcca91","trace_id":"d2e2d92c3a7eabc3d5be52514ef508d2","channel":"spot.obu","event":"subscribe","payload":["ob.BTC_USDT.50"],"result":{"status":"success"},"requestId":"d2e2d92c3a7eabc3d5be52514ef508d2"}

1.3 depth push example

  1. {"channel":"spot.obu","result":{"t":1748572394325,"full":true,"s":"ob.BTC_USDT.50","u":28606981,"b":[["105958.9","0.00908"],["105953.2","0.02426"],["105942.6","0.02074"],["105937.7","0.0099"],["105932","0.01731"],["105927.1","0.01796"],["105921.4","0.02041"],["105893.2","0.01265"],["105872","0.01895"],["70000","0.00005"],["49000.1","0.0002"],["66","0.05"]],"a":[["106009.9","0.01555"],["106038.1","0.00648"],["106048.7","0.01751"],["106059.3","0.00198"],["106080.5","0.01861"],["106091.1","0.02018"],["106101.7","0.01548"],["106112.3","0.01776"],["106122.9","0.01546"],["106133.5","0.02117"]]},"time_ms":1748572394325,"event":"update"}

1.4 Incremental push example

  1. {"channel":"spot.obu","result":{"t":1748572395237,"s":"ob.BTC_USDT.50","u":28606989,"U":28606988,"b":[["66","0"]],"a":[["106009.9","0"]]},"time_ms":1748572395237,"event":"update"}

2. Unsubscribe

2.1 Unsubscribe request example

  1. from websocket import create_connection
  2. import json
  3. ws = create_connection("wss://ws-testnet.gate.io/v4/ws/spot")
  4. unsubscribe_msg = {"time": 1747054611, "channel": "spot.obu", "event": "unsubscribe", "payload": ["ob.BTC_USDT.50"]}
  5. ws.send(json.dumps(unsubscribe_msg))
  6. print(ws.recv())

2.2 Unsubscribe response example

  1. {"time": 1743673617,"time_ms": 1743673617242,"id": 1,"conn_id": "7b06ff199a98ab0e","trace_id": "8f86e4021a84440e502f73fde5b94918","channel": "spot.obu","event": "unsubscribe","payload": ["ob.BTC_USDT.50"],"result": {"status": "success"}}

4. Testnet Notice

This feature has been launched on the spot testnet. Please connect for testing via the following URL:
WebSocket spot testnet URL:
wss://ws-testnet.gate.io/v4/ws/spot

Please adjust your integration according to the new rules. If you have any questions, please contact our support team.


Gate Team
May 30th, 2025


Gateway to Crypto
Trade over 3,700 cryptocurrencies safely, quickly, and easily on Gate
Take Action Now
Sign up and claim up to $10,000 in welcome rewards
Invite friends and earn a 40% commission
Stay Connected
Visit Gate’s official website
Download the Gate App | Desktop
Follow us on X (Twitter) to get more bonuses
Join our Telegram community to discuss trending topics
Engage with our global community for the latest insights
Transparency & Security
Check our 100% Proof of Reserves