Why Was a Market Order Partially Filled at Multiple Prices?
A market order can be partially filled at multiple prices when the order size exceeds the available liquidity at the best quoted price, forcing the exchange to fill the remainder at progressively worse prices until the order is complete or canceled. This is normal exchange behavior, not an error.
How a Market Order Interacts with the Order Book
A market order is an instruction to buy or sell immediately at the best available price. Unlike a limit order, it does not specify a price. The exchange matches the order against existing limit orders on the book, starting with the highest bid (if selling) or lowest ask (if buying).
The order book is a list of all resting limit orders. Each price level has a certain number of shares or coins available. When your market order arrives, the exchange fills it against the first price level until that level is exhausted, then moves to the next, and so on.
Why partial fills happen at multiple prices
Insufficient volume at the top of the book. If you place a market order to buy 1,000 units of a cryptocurrency, but only 300 units are offered at the lowest ask price, the exchange fills those 300. It then looks to the next ask price level, which might have 400 units. It fills those. The remaining 300 units get filled at the third price level, or wherever liquidity exists.
Thin order books. Cryptocurrencies with low trading volume or wide spreads often have small quantities at each price level. A modest market order can eat through several levels.
Fast-moving markets. During high volatility, limit orders get canceled or consumed quickly. By the time your market order reaches the matching engine, the top level may already be gone, and the next level may have a worse price.
Exchange matching logic. Some exchanges split large orders across multiple price levels automatically, even if a single level has enough volume, to reduce price impact. This is less common for retail orders but occurs with certain broker smart-order routers.
What the fill report shows
Your trade confirmation will list multiple "fills" or "executions" at different prices. For example:
- 300 units at 1.0000
- 400 units at 1.0005
- 300 units at 1.0010
The average fill price is the weighted average of all fills. This is what you actually paid or received, not the single price you might have expected.
Does this mean you paid more than you intended?
Yes, if you were buying. The later fills are at higher prices than the first. If you were selling, the later fills are at lower prices. This is a form of slippage - the difference between the expected price and the actual average price.
The total cost of the order includes all fills. You cannot cancel the already-filled portions. The unfilled portion may be canceled if you chose a time-in-force like immediate-or-cancel, or it may remain as a working order if you chose good-til-canceled.
How to Avoid or Reduce Multiple-Price Fills
Use a limit order instead. A limit order specifies the worst price you will accept. If the market moves against you, the order will not fill beyond that price. However, it may not fill at all if the market never reaches your limit.
Split your order. Placing several smaller market orders over time can reduce the number of price levels consumed at once, though it exposes you to price changes between orders.
Trade during high liquidity. Volumes are typically higher during major exchange trading hours or when the project has active news. More liquidity means thicker order books at each price level.
Use an iceberg order. If your platform supports it, an iceberg order hides your true size by displaying only a small portion at a time. This can prevent other traders from front-running your order, but the fill may still occur at multiple prices as the hidden portions are revealed.
What Happens to the Unfilled Part
If your market order is not fully filled, what remains depends on the time-in-force you selected:
- Immediate-or-cancel (IOC): The unfilled portion is canceled immediately. You only get the fills that were available.
- Fill-or-kill (FOK): The entire order must fill immediately or it is all canceled. If any price level lacks enough volume, nothing fills.
- Good-til-canceled (GTC) or day order: The unfilled portion stays on the book as a limit order at the last price attempted. However, market orders are typically not allowed to rest - most exchanges cancel any unfilled remainder automatically. Check your exchange's policy.
When multiple-price fills are a problem
This is rarely a technical problem. It is the expected behavior of a market that lacks infinite liquidity. The real issue is when you did not anticipate the slippage. If you are trading a thinly traded altcoin or placing a very large order relative to daily volume, expect multiple fills at worsening prices.
Some traders misinterpret a multi-price fill as a "partial fill" in the sense that the order was not fully executed. That is a different situation - see "Partial Fill Only X Shares Executed What Happens to the Rest" for that case. Here, the order did fill completely, just at more than one price.
Not financial advice. munchcoin.xyz publishes market data and general information about digital assets. Crypto assets are volatile and you can lose everything you put in. Nothing here is a recommendation to buy, sell or hold, and we make no price predictions.
Prices are sourced from third parties and may be delayed or wrong. Verify anything you intend to act on against a primary source.