Partial Fills
Understand crypto partial fills, remaining order quantity, queue priority, fees, average price and practical spot execution management.
Reading progress — saved on this device
A partial fill occurs when only part of an order executes. It is normal market microstructure rather than an error: available opposite-side liquidity, queue priority and time-in-force determine how much of the requested quantity can trade immediately.
Executed quantity versus remaining quantity
An order begins with an original quantity. Each fill reduces the unfilled remainder. The venue reports cumulative filled quantity, remaining quantity and one or more execution prices.
Remaining quantity = original quantity − cumulative filled quantityA partially filled resting limit can remain active for the balance, depending on its time-in-force. A marketable order can also partially fill if the venue imposes protection, liquidity disappears or a limit boundary prevents further execution.
Why partial fills occur
Only part of the requested quantity is available at acceptable prices.
Other resting orders at the same price are ahead of yours.
The next available price would violate your limit.
IOC can fill what is immediately available and cancel the rest by design.
Partial fills are especially common when order size is large relative to displayed depth or when a passive order sits in a competitive queue.
Manage state explicitly
| State | What to check | Common action risk |
|---|---|---|
| Partially filled, remainder live | Remaining quantity and queue position | Accidentally submitting a replacement while old remainder still rests |
| Partially filled, remainder cancelled | Why it cancelled: IOC, manual cancel, venue rule | Assuming the whole original quantity executed |
| Several fill prices | Cumulative weighted average | Using simple mean rather than size-weighted average |
| Fees per fill | Maker/taker classification and fee currency | Ignoring fee drag or mixed fee treatment |
Worked example
You place a limit buy for 10 ETH at £2,500. Your order receives three fills: 2 ETH at £2,498, 3 ETH at £2,500 and then no more liquidity trades at or below your limit.
Cumulative filled quantity is 5 ETH, leaving 5 ETH unfilled. If the order is GTC, that remainder can stay live at £2,500.
Filled cost = (2×2,498) + (3×2,500) = £12,496 Average fill = £12,496 ÷ 5 = £2,499.20If you now submit another 5 ETH buy without cancelling the original remainder, both orders can later fill and leave you with 15 ETH rather than the intended 10.
Reconcile partial fills like an execution ledger
For material orders, treat each fill as a ledger entry: order ID, trade ID, quantity, price, fee, timestamp and liquidity classification. Sum those records back to the venue's cumulative-filled figure. This is especially important when fills arrive through WebSocket/API messages that can be duplicated, delayed or delivered out of sequence.
A robust workflow uses the venue's cumulative order state as the reconciliation anchor rather than simply adding every message received. If the connection drops after a 3 ETH fill and reconnects after another 2 ETH has executed, querying the order state prevents the client from assuming only the first 3 ETH traded.
Common mistakes and misunderstandings
- Assuming “partially filled” means the order is no longer live.
- Submitting a replacement before confirming cancellation of the remainder.
- Calculating average fill as an unweighted mean of execution prices.
- Ignoring that some fills can be maker and others taker under complex order changes/venue rules.
- Reconciling requested quantity rather than cumulative executed quantity.
Knowledge checkpoint
Q1. If a 10 ETH order fills 5 ETH and remains GTC, what quantity is still capable of executing?
Q2. Why can replacing an unconfirmed remainder create an oversized position?
Q3. How should several partial-fill prices be combined into one average?
Q4. Which time-in-force intentionally allows “fill what is available now, cancel the rest”?
FAQ
❓ Is a partial fill an error?
No. It is a normal result when only some quantity can execute under the order price and priority rules.
❓ Does the unfilled remainder stay open?
It depends on time-in-force and venue rules. GTC commonly leaves it live; IOC commonly cancels it.
❓ Can one order have many trade IDs?
Yes. A single order can generate multiple individual fills/executions.
❓ Do fees apply to each partial fill?
Venues calculate fees on executed quantity, often per fill or aggregated, according to the fee schedule.
Summary
- Partial fills are normal when only part of an order can execute.
- The key state variables are cumulative filled quantity and live remainder.
- A live remainder can create duplicate exposure if replaced without confirmation.
- Average execution price must be weighted by filled quantity.
This building block explains execution mechanics and risk. It is not a recommendation, signal or instruction to trade any cryptoasset.
Want this in a personalised order?
Take the crypto assessment and get a custom path of 10 modules matched to what you already know. Free, no card required.
Build my path →