IOC Order and FOK Order: The Exact Difference Between Partial and Full-or-Nothing Execution

An immediate or cancel order and a fill or kill (FOK) order are two order validities that handle unexecuted volume differently: the immediate or cancel order accepts partial execution and cancels the rest, while the FOK order requires full and…

5 minutes

Dark abstract illustration: fragmented orange cubes representing an immediate or cancel order with partial execution, facing a compact purple block representing a fill or kill order, around a glowing tower with no text or face.

An immediate or cancel order and a fill or kill (FOK) order are two order validities that handle unexecuted volume differently: the immediate or cancel order accepts partial execution and cancels the rest, while the FOK order requires full and immediate execution, or else it is cancelled in full. This distinction is defined by Euronext’s trading procedures for its derivatives markets, updated in June 2026.

What an immediate or cancel order does

According to the Euronext Derivatives Markets Trading Procedures document, an immediate or cancel order executes immediately against orders already present in the order book, at the specified price or at a better price if it is a limit order, up to the available volume: “an IOC designation can be added to Limit Orders and will be added to Market Orders automatically if no other designation is specified. IOC orders are immediately executed against any existing orders (at the specified price or better in the case of Limit Orders) up to the volume of the IOC order”. In other words, if only part of the requested volume finds a counterparty, that part is executed right away.

The volume that could not be filled is never kept waiting in the order book. The text is explicit on this point: “any residual volume left after part of the IOC order has traded will be automatically cancelled by the matching engine”. The matching engine therefore cancels the remainder itself, without any intervention from the trader.

What a fill or kill order does

The FOK order follows the opposite logic. According to Euronext, it only executes if the volume available at the specified price, or at a better price, allows the order to be satisfied in full and in a single pass: “a FOK designation can be added to both Limit Orders and Market Orders. FOK orders will only be executed if there is sufficient volume available (at the specified price or better in the case of Limit Orders) for the order to be executed in full”.

If this condition is not met at the moment the order reaches the market, it is rejected in full, with no partial execution whatsoever: “if this is not the case the order will be automatically cancelled by the matching engine”. A FOK order therefore never leaves a partially open position: it is all or nothing, immediately.

Comparison table of the two validities

Comparison of IOC and FOK execution rules according to Euronext (June 2026)
CriterionIOC orderFOK order
Partial executionAccepted, up to available volumeRefused, all or nothing
Fate of unexecuted volumeAutomatically cancelled by the matching engineThe entire order is cancelled, with no execution
Applies toLimit Orders, and Market Orders by defaultLimit Orders and Market Orders
Source and dateEuronext Trading Procedure for Derivatives, June 2026Euronext Trading Procedure for Derivatives, June 2026

What this text documents, and what it does not

These definitions come from Euronext’s trading procedures, meaning the functioning of an order book on a regulated exchange for derivative instruments. This text does not necessarily describe execution on a CFD or over-the-counter Forex platform: on those markets, each liquidity provider or broker sets its own contractual execution rules, which may reuse the same IOC and FOK labels without offering the same price or timing guarantees. Before using these validities on a CFD, it is therefore worth checking the relevant broker’s documentation rather than assuming it mirrors the exact rules of an exchange such as Euronext.

Furthermore, neither the immediate or cancel order nor the FOK order guarantees an execution price identical to the displayed price: they only guarantee a certain behavior toward available volume, under the conditions set by the venue or broker.

On a CFD, this distinction connects to a related but different question, that of slippage, meaning the gap between the quoted price and the price actually obtained. An IOC or FOK validity governs behavior toward available volume, not the price gap itself.

Frequently asked questions

Can an immediate or cancel order stay active in the order book for several seconds?

No, according to Euronext, the volume that is not immediately executed is automatically cancelled by the matching engine. An immediate or cancel order therefore does not linger in the order book: it executes in part or in full the moment it arrives, and then the remainder disappears.

Why is a FOK order sometimes cancelled even though part of the volume could have been filled?

Because the FOK rule requires full and immediate execution. If the volume available at the specified price or better does not cover the entire order, Euronext states that the whole order is cancelled by the matching engine, with no partial execution at all.

Do these IOC and FOK rules apply as-is on a CFD platform?

Not necessarily. The cited document describes how an order book functions on Euronext’s derivatives markets, a regulated exchange. On an over-the-counter CFD, each broker defines its own execution rules for these same labels, which may differ from those of an exchange.

Does an immediate or cancel order guarantee the announced price?

No. For a limit order, Euronext specifies that execution occurs at the specified price or at a better price, which sets a minimum acceptable price but does not guarantee that the entire volume finds a counterparty at that price.