Futures Public Websocket delayed

Hi I am subscribing to the public websocket data, specifically to Quote data. My strategy is then trading based in the data it receives. I do it mainly to save “rate limit weights” but now I am not sure if Binance is throttling in any way the day it sends through the publicly available websocket. Server is already in Tokio, so I’d assume little delays. To me it seems that data is heavily delayed especially when volumes in the markets are high. Is public Websocket Data prioritized over a private WS connection?

Do you have any experience here? And what can I do to get data really really fast?

I have the same problem. Most of my received websockets messages have 2 to 10 milliseconds delay. But in brief moments when market activity is high. I get delays of hundreds of milliseconds to futures websockets streams btcusdt@bookTicker or btcusdt@depth@0ms. When market activity is very high i could see delays of a few seconds.
Same problem for private user data stream wss://fstream.binance.com/ws/ Sometimes i receive ORDER_TRADE_UPDATE or ACCOUNT_UPDATE events with delay of 100 or 500 milliseconds. I lose money in these moments.
I tried on AWS instances in Tokyo from t3.small to c5.18xlarge with 25Gbps bandwidth and that made no difference. I tried with windows and linux with different websockets libraries.
How can i get reliable low delay of no more than 10-20 milliseconds for websockets? At least for private user data stream events.

thank you for your feedback, we are working hard to improving the websocket performance.

Hi @dino, do you have any updates on this topic?
I am still struggling with the same problem. Most of the messages have low latencies, but with higher market traffic I face really high delays (over 100ms on @trade stream). I could also observe rising delays on /fapi/v1/trades.

1 Like

Hi @trader86 @dino

I think Ive the same issue here, experiencing huge delays as well while streaming trades from futures ws api during peak volatility events.

This recent exemple is for an instance dedicated to btcusdt & ethusdt futures contract (binance btcusdt futures being the most active market in all crypto basically) and if you look at the chart for that time you can see the volume spike up. At 19:56 the should have received about 30k trades at the end of the minute, but in reality far less than that because of the delay / restriction that was occuring

1min chart https://i.imgur.com/nE38Nwx.png

I’ve highlighted in yellow where the delay was detected, as you can see for this example it wasn’t so bad as the trade volume went down quickly after and the delay only lasted for about 20s

Sometime the delay gets so extended (like 4min +) that the ws end up closing itself. (leaving me with a 4min data gap :disappointed:, which could represent hundred of thousand of trades).

Is this some kind of rate limiting or bandwidth restriction policy ? I’m streaming data from a dozen exchanges and hundred of markets… and this is the only one that does this. So I’m doubtful about this being a problem on my end