I placed an order to buy a certain amount of crypto. The filled amount is slightly less than the order I placed, but the order status is "FILLED" in the v2 REST API or "Expired" in FIX (tag 150=C). Why?
Buy orders will fill up to the order amount in increments no smaller than the minimum quantity of cryptocurrency (typically .00000001). If the remaining fiat left on the order cannot buy the minimum quantity of cryptocurrency, the order is filled.
The way that this is reported to the client varies by service. In the v2 REST API, the order will be marked as "FILLED".
In FIX, customers will receive partial fills (tag 150=1) as cryptocurrency is purchased, and then either:
- an expire (tag 150=C) to denote that the fiat remaining on the order is less than what is needed to purchase the minimum order quantity, or
- a filled message (tag 150=2) if the order filled entirely.