WebSocket spot market data ticksize/precision

Hi, everybody!

I see problems with market data price precision. For example, spot ETHBTC “tickSize”: “0.00001000”.
But I see data with precision 10^-6 like “0.06011800”. And there are many cases like that.
What should I use as a precision?

Could you please give a little bit more data of which stream return it, is it from production or testnet, etc?

One of the reasons that can cause this is that orders placed before tick size changes can still stay with the old size.

Yes, sure. For example websocket production spot market, ethbtc@depth, stream.binance.com
Based on exchange info the tick size is 0.00001 (5 digits)
Here is the snapshot I get when subscribe:

0.07088100 - all asks from this level and worth with tick size 0.000001 (6 digits)
0.07088000 - last ask with tick size 0.00001
...~885 levels with tick size 0.00001
0.06204000 - best ask

0.06202000 - best bid
...~100 levels with tick size 0.00001
0.06108000 - last bid with tick size 0.00001
0.06107900 - all bids from this level and worth with tick size 0.000001 (6 digits)

So, there is some “correct zone” around bests. And everything beyond is “incorrect”. The same with depths I get while listening websocket. “Correct” borders may move during day depending on the current best prices.

I understand that one of the reasons that can cause this is that orders placed before tick size changes can still stay with the old size. Are there any other possible causes?

Thank you!