What you need to know about crypto fill or kill orders in 2026
A fill or kill order is a strict instruction to buy or sell a specific amount of a crypto asset immediately and completely or not at all. If the market cannot fill the entire amount at your conditions at once, the order is canceled. There is no partial fill and no waiting period. This matters in crypto because markets can be thin, volatile, and fragmented across many venues. A fill or kill order helps you avoid slippage, partial executions, and uncertain exposure.
This type of instruction fits into broader trading strategies that focus on precise execution. Advanced traders, market makers, arbitrageurs, and bots often use fill or kill behavior as part of automated workflows that run on centralized exchanges, decentralized exchanges, and aggregation protocols.
The rest of this guide explains how fill or kill orders work, when they are most useful, their pros and cons, how they fit into automated trading, how they compare to other order types, and practical tips for using them effectively.
Understanding how a fill or kill order works
A fill or kill order combines two components: an order (usually a limit order) and a time-in-force condition. The time-in-force condition states that the order must be fully executed the moment it reaches the market. If full execution is not possible at or better than the specified price, the entire order is canceled right away.
On centralized exchanges the matching engine checks the order book when your order arrives. If there is enough liquidity at your price or better to fill 100% of the quantity, the trade happens instantly and the order disappears as filled. If there is not enough liquidity, the exchange cancels the order instead of leaving a partially filled remainder in the book.
On decentralized exchanges and protocols the logic is similar but implemented through smart contracts or off-chain solvers. When you submit a transaction with fill or kill behavior, the contract or protocol checks current liquidity across pools or order books:
If the full trade can execute within your price and slippage constraints, the trade proceeds in that same transaction.
If it cannot, the trade reverts and your tokens remain in your wallet, minus any gas costs.
Some systems like CoW Swap or routing aggregators simulate the trade against available liquidity across multiple pools or sources. They only finalize a transaction if it meets the full size and price conditions. Otherwise they revert the transaction instead of accepting a partial result.
This is different from regular limit orders or good-till-canceled orders, which can remain on the book and get filled in pieces over time. It is also different from immediate-or-cancel orders, which can accept a partial fill and cancel only the unfilled part. A true fill or kill order is all or nothing and instant.
When to use a fill or kill order
Fill or kill instructions are most useful when the exact size of the trade matters as much as the price. Common scenarios include:
You are trying to move a large position without leaving a visible trace on the order book. A partial fill could move the price or reveal your intentions.
You are taking advantage of a short-lived arbitrage or spread. The strategy only makes sense if you fill the entire size. A partial fill breaks the math of the trade.
You have strict risk or portfolio limits. For example, you either want a full hedge or no hedge at all. A small partial hedge could increase your risk instead of reducing it.
You are dealing with illiquid tokens where partial fills are likely and may be hard to close later at reasonable prices.
Institutional traders and market makers use fill or kill behavior to control execution in block trades or when working with clients who require specific size. Bots and automated strategies use it when they depend on exact quantities, such as delta-neutral strategies, cross-exchange arbitrage, or structured products that need precise legs.
Typical parameters include the limit price, the exact quantity, and a maximum acceptable slippage relative to an external price. On-chain, you might also set a deadline so that the transaction is only valid within a short time window.
Advantages and trade-offs
The main advantage of a fill or kill order is execution certainty in terms of size and price range. You either get exactly what you ask for, or you keep your current position. This helps avoid:
Partial exposure that complicates risk management.
Hidden slippage that occurs as your order gets dripped into a thin market.
Unwanted "hanging" orders that remain in the book and can be picked off by faster traders.
Another benefit is control over information leakage. Because the order is either filled instantly or canceled, it is less likely to sit visible on an order book and reveal your intentions.
The trade-offs are real. The strict conditions mean you may get more unfilled orders, especially in illiquid or volatile markets. You can miss trades that a more flexible order could have completed over time. On-chain, a failed fill or kill attempt still consumes gas, so multiple failed attempts can become expensive.
Compared with regular limit orders, fill or kill is less flexible but more precise. Compared with immediate-or-cancel orders, it avoids partial fills but further reduces the chance of execution. Compared with market orders, it protects against slippage but at the cost of a higher chance of no trade.
How fill or kill orders fit into automated trading
Automated trading systems often rely on strict rules around quantity and price, which makes fill or kill behavior a natural fit. In algorithmic strategies, the bot may submit a stream of small fill or kill orders to probe liquidity across venues and pick off favorable prices without building partial positions.
On centralized exchanges, APIs usually expose a time-in-force field where you can request fill or kill. The strategy logic then decides when to attempt such orders, for example only when spreads are tight and depth is sufficient.
On decentralized exchanges, smart contracts and protocols handle the logic. Market makers and aggregators might combine multiple liquidity sources in a single transaction. They check available liquidity across pools, route the order, and enforce that the full quantity executes within slippage bounds. If not, they revert the trade. This pattern appears in advanced routers, intent-based systems, and protocols that batch and match trades.
Relevant features for automated use include time-in-force settings, explicit price triggers, and slippage limits. Liquidity routing logic decides where to send the order to maximize the chance of a full fill while staying within all constraints.
Comparing fill or kill orders to other order types
Fill or kill is one of several time and size sensitive instructions that traders can use. It sits alongside:
Standard limit orders, which prioritize price but allow gradual and partial fills over time.
Market orders, which prioritize speed and execution certainty but accept potentially large slippage and partial fills.
Immediate-or-cancel orders, which must execute instantly but allow partial fills before canceling the rest.
Stop and stop-limit orders, which only activate when a trigger price is hit.
You would choose a fill or kill order when you care about all of the following at once: exact size, strict price control, and immediate execution. If you mainly care about getting some exposure quickly, a market or immediate-or-cancel order can be better. If you care more about price than timing, a standard limit order works better and has a higher chance of eventual fill.
The key distinction is the all-or-nothing nature. That single rule changes how the order interacts with liquidity and how you manage risk around it.
Practical tips for using fill or kill orders effectively
First, be honest about the liquidity of the market you are trading. A strict fill or kill order in a thin token at an aggressive price is likely to fail. Start by checking order book depth or on-chain pool sizes and simulate or estimate whether your full size is realistic.
Second, choose your price limits carefully. A limit that is too tight will rarely execute. A limit that is too loose defeats the purpose of protecting yourself. If possible, base your limit on recent trades, spreads, and volatility rather than a guess.
Third, plan for the possibility of no fill. Your strategy should define what to do if the order is canceled. You might retry with a smaller size, widen the price, try another venue, or skip the trade altogether. Automated strategies should make this logic explicit.
Fourth, manage on-chain costs. Each failed attempt consumes gas. Batch checks when possible, and avoid spamming large fill or kill attempts when gas prices are high or block space is tight.
For beginners, start with small sizes and observe how often your conditions are met across different times of day and market conditions. For advanced users, integrate fill or kill logic into position sizing, cross-venue routing, and risk controls so that your entire strategy assumes all-or-nothing execution when needed.
Conclusion
A fill or kill order is a strict instruction that demands immediate and complete execution or no trade at all. In crypto markets that are often fast, fragmented, and volatile, this gives you precise control over size and price at the cost of a higher chance of getting no fill.
Understanding how fill or kill orders differ from regular limit, market, and immediate-or-cancel orders can improve execution quality and make your strategies more predictable. Once you are familiar with this order type, the next step is to explore how other advanced instructions like post-only, stop-limit, and iceberg orders can further refine how your trades hit the market.
FAQ
What is a fill or kill order?
A fill or kill order is a strict instruction to buy or sell a specific amount of a crypto asset immediately and completely or not at all. If the market cannot fill the entire amount at your specified conditions at once, the order is canceled. There is no partial fill and no waiting period.
When should I use a fill or kill order?
Fill or kill orders are most useful when the exact size of the trade matters as much as the price. Common scenarios include moving large positions without leaving traces on the order book, taking advantage of short-lived arbitrage opportunities, maintaining strict risk or portfolio limits, or dealing with illiquid tokens where partial fills are problematic.
What are the main advantages and disadvantages of fill or kill orders?
The main advantages include execution certainty in terms of size and price range, avoiding partial exposure that complicates risk management, preventing hidden slippage, and controlling information leakage. The trade-offs include getting more unfilled orders in illiquid or volatile markets, missing trades that more flexible orders could complete, and consuming gas costs on-chain even when orders fail.
How do fill or kill orders work differently on centralized versus decentralized exchanges?
On centralized exchanges, the matching engine checks the order book when your order arrives and either fills 100% instantly or cancels the order. On decentralized exchanges, smart contracts or off-chain solvers check current liquidity across pools - if the full trade can execute within your constraints, it proceeds in the same transaction, otherwise the trade reverts and your tokens remain in your wallet.
What should I consider when using fill or kill orders effectively?
Consider the liquidity of the market you're trading and check order book depth before placing orders. Choose price limits carefully based on recent trades and volatility rather than guessing. Plan for the possibility of no fill by defining what to do if the order is canceled. For on-chain trading, manage gas costs by avoiding repeated failed attempts when gas prices are high.


