What Is an Immediate-or-Cancel Order?
Not every order instruction insists on getting everything or nothing. Some are built to grab whatever is available in the moment and simply move on from the rest.
The short answer
An immediate-or-cancel order tells the market to execute as much of the requested quantity as possible the instant it arrives, and to cancel whatever portion remains unfilled rather than leaving it open. A partial fill is perfectly acceptable under this instruction — the only thing it refuses to do is wait. If none of the order can be filled right away, the whole thing is simply canceled.
Speed over completeness
The defining feature of this order type is that it prioritizes immediacy and accepts an incomplete outcome as the cost of that speed. Where some order types are built around never ending up with a partial position, an immediate-or-cancel order is built around never leaving an order sitting on the books past the moment it was submitted. Whatever trades, trades; whatever doesn’t, disappears.
How it differs from its closest relatives
It helps to line this up against two similar instructions. A fill-or-kill order shares the same instant-or-nothing timing, but it demands the entire quantity fill at once — a partial fill isn’t good enough, so the whole order is killed if it can’t be completed in full. An all-or-none order shares the completeness requirement but relaxes the timing, letting the order sit and wait for the right conditions instead of canceling immediately. An immediate-or-cancel order sits at the opposite end from both: flexible on quantity, strict on timing.
Why partial fills happen
Partial execution typically comes down to how much size is actually available at the requested price the moment the order reaches the market. If a marketable limit order is priced to trade right away but the visible quantity at that price is smaller than what’s being requested, only that smaller amount executes under an immediate-or-cancel instruction, and the remainder is dropped rather than held open to catch a later match. This makes the order sensitive to how much depth exists at a given price, which itself relates to factors like the bid-ask spread and overall trading activity in that security at that moment.
When this instruction is useful
This type of order tends to appeal to traders who want to capture whatever liquidity exists right now without committing to keep an order open and exposed to price movement later. It avoids the scenario where an order lingers unfilled for an extended stretch while the market moves away from the original price. The trade-off is that a large order might only get partially executed, leaving the trader to decide separately whether and how to handle the unfilled remainder — submitting a new order, adjusting the price, or leaving it be.
The bottom line
An immediate-or-cancel order is a tool for capturing available liquidity in the moment rather than committing to full completion or extended patience. It sacrifices certainty of quantity for certainty of timing, which is the reverse trade-off of an all-or-none order and a looser version of the strictness built into a fill-or-kill order. Understanding where each one sits on that spectrum makes it easier to see why so many variations exist in the first place.