Are different streams on the same connection synchronized/in time-order?

Suppose that I have two streams on the same connection, such as btcusd@depth10@100ms and btcusd@bookTicker.

Does the order that I receive payloads for different streams on the same connection indicate anything about the ordering of the relevant events?

For example, if I receive a btcusd@bookTicker payload after I receive a btcusd@depth10@100ms payload (on the same connection), can I assume that the bookTicker payload reflects changes to the book that happened after the @depth10@100ms payload was created?

It would be really nice if the depth and bookTicker payloads had a time field.

Is this for futures? there is a E in the payload for reference.

Okay - different streams on the same connection are NOT in time order.

I’m not talking about futures. I’m talking about the payloads for websocket streams for the spot (?) market.

The partial book depth stream payloads and the individual and all book ticker stream payloads do not have an “E”. (I can’t give example stream names because I can’t use at signs as a new user.)

The difference/differential depth stream payloads do have an “E” for update time.

Sorry partial book depth stream has no timestamp yet. For now it only can be compared with bookTicker with updateId.

Are there plans to add E event time to the payload? I don’t understand why E isn’t added to all payloads.


Some people lost a lot of money last week because some streams lagged reality and they had no way to detect that. Adding E to all relevant streams and REST responses would make it possible to detect such incidents.