Seems like a bug in the depth stream for BTCUSDT perp

I am trying to get data from this stream (partial snap): btcusdt@depth20@100ms from futures stream. But I am getting weird snapshots in between like:

{
“E” : 1725891867668, “T” : 1725891867668, “U” : 5311741052606,
“a” : [……],
“b” : [ [ “55225.97”,“0.003”], ……],
“e” : “depthUpdate”,
“pu” : 5311741052600,
“s” : “BTCUSDT”,
“u” : 5311741082178
}

The price tick size is 0.1 for BTCUSDT perp. Then:

  1. Why do we get 2 decimal places in prices.
  2. Even if we excuse that, getting 0 in the 2nd decimal place would have been fine, but I am getting some prices with non zero 2nd decimal place.

Can someone please tell me if I am missing something or fix it if not?

This bug is happening in all 5,10,20 depth streams

u might check raw data first, before processing, i bet it will be slightly different…

This is the raw data

Because the quote precision of BTCUSDT is 2 decimal places. This is independent of the price tick size.

This could be an old order getting filled or canceled.

Current settings for PRICE_FILTER have tick size set to 0.10, but historically it might have been different.

Thanks!