I subscribed to the spot individual trades stream for “BTCUSDT” symbol, but the received data seems broken for me.
Trades that share the same “Buyer order ID” (or “Seller order ID”) should have the same “m” value (Is the buyer the market maker?), because if the buyer made a limit order then all the sub-trades must have the same “m” value (m = true) and if he made a market order then all the sub-trades must have the same “m” value (m = false) and vice versa for the seller.
However, this is not true for the data I got.
Here is a snippet from the data.
.
.
You can see that the buy order with the ID = 9412932154 needed 3 trades to be filled.
The first trade has m = false which means the buy order is a market order, but the second and third trades have m = true which means that the buy order is a limit order.
How is this even possible? any explanation, please.