In trading, speed is survival. One second you’re placing an order, the next, the price has already moved. You try to buy 100 shares, but only 15 go through, and now you’re stuck with an incomplete order that’s going nowhere. This kind of half-baked execution throws off your strategy, wastes time, and adds unnecessary risk.
Zerodha gives you a way to avoid this. It’s designed for traders who want clean execution without the clutter, offering a variety of order validity options, but one of the most powerful and often misunderstood is the IOC order.
But like many useful tools, it often flies under the radar simply because most people don’t know it exists, or don’t know how to use it right.
If you’ve ever felt frustrated watching a perfect setup slip away because your order didn’t fully execute, this is the fix you didn’t know you needed.
In this guide, we’re unpacking everything you need to know about the IOC in Zerodha. We will break down what IOC means in Zerodha, how to place an IOC order in Zerodha, and how it stacks up against other validity types. By the end, you'll be able to use this tool to trade with more precision, speed, and control.
Table of Contents
- What is IOC in Zerodha? The Core Concept
- IOC Means in Zerodha: Breaking Down "Immediate" and "Cancel"
- What is an IOC Order in Zerodha: A Practical How-To Guide
- What is Day, IOC, and Minutes in Zerodha: A Clear Comparison
What is IOC in Zerodha? The Core Concept
IOC stands for "Immediate or Cancel". It’s a type of order validity that tells the stock exchange to execute a trade immediately, for whatever quantity is available at your specified price (or better), and then cancel any part of the order that couldn't be filled.
Think of it like this: You walk up to a fruit vendor and say, "I want to buy 10 kilos of mangoes for ₹100 per kilo, right now". The vendor checks his stall and finds he only has 6 kilos available at that price. With an IOC instruction, you would buy those 6 kilos instantly, and your request for the remaining 4 kilos is immediately cancelled.
You don't wait for him to get more stock from the back. You don't leave your money with him, hoping he finds more later. The transaction is immediate for what's available, and the rest of the demand vanishes. That is precisely how the IOC in Zerodha works.
The primary function of an IOC order is to ensure you don’t have pending orders lingering in the system. It’s a powerful tool for traders who demand speed and certainty, eliminating the risk of a forgotten order executing hours later when the market dynamics have completely changed.
IOC Means in Zerodha: Breaking Down "Immediate" and "Cancel"
To truly grasp the concept, let's dissect the 2 parts of the validity IOC means in Zerodha: "Immediate" and "Cancel". These words dictate the entire lifecycle of your order, which lasts only a fraction of a second.
The "Immediate" Command
When you place an IOC order, the Zerodha Kite platform sends it straight to the exchange (like the NSE or BSE). The exchange's matching engine then looks for counter-orders that can fulfil your request. "Immediate" means this check happens in a blink.
- For a limit order, the system searches for sellers (if you are buying) or buyers (if you are selling) at your specified price or a more favourable one.
- For a market order: The system executes your order at the best available prices in the market at that exact moment.
The key is that this process does not involve waiting. The order doesn't sit in a queue. It demands instant satisfaction from the available liquidity in the market depth.
The "Cancel" Command
This is where the magic happens and what makes the IOC Zerodha order type unique. After the "Immediate" check is complete, one of 2 things will have occurred:
- Full execution: Your entire order quantity was matched with counter-orders. For example, you wanted to buy 500 shares, and 500 shares were available. Your order is marked as 'COMPLETE'.
- Partial execution: Only a portion of your order was matched. For example, you wanted to buy 500 shares, but only 200 were available at your price. The system executes the trade for 200 shares, and the pending order for the remaining 300 shares is instantly and automatically cancelled.
In a scenario where no shares are available at your specified price at that moment, the entire order is cancelled immediately. The "Cancel" part ensures that no part of your order remains pending, keeping your order book clean and preventing unintended trades.
What is an IOC Order in Zerodha: A Practical How-To Guide
Placing an IOC order on Zerodha's Kite platform, both on the web and mobile app, is a straightforward process. It’s hidden within the order window's advanced options, and knowing how to access it can significantly enhance your trading strategy.
Here’s a step-by-step walkthrough to place an IOC order in Zerodha:
- Log in to your Zerodha account: Open the Kite web platform or the Kite mobile app and log in with your credentials.
- Select your scrip: Go to your watchlist and click on the stock, index, or futures/options contract you wish to trade. This will open the market depth view.
- Initiate the order: Click the 'Buy' (B) or 'Sell' (S) button to open the order window.
- Enter basic order details:
- Intraday/long-term: Choose between MIS (Margin Intraday Square off) for intraday trades or CNC (Cash and Carry) for delivery-based trades.
- Quantity: Enter the number of shares you want to trade.
- Price: For a limit order, enter the specific price at which you want to trade. For a market order, this field will be greyed out.
- Access advanced options: In the order window, you will see a 'Variety' section or simply scroll down to find the 'Validity' option.
- Select IOC validity: Click on the 'Validity' dropdown menu. By default, it is set to 'DAY'. Change this selection to 'IOC'.
- Place the order: Once you have set the validity to IOC and confirmed all other details, swipe or click the final 'Buy' or 'Sell' button to place your order.
Your order will be sent to the exchange with the IOC instruction. You can immediately check its status in the 'Orders' tab. It will either be 'COMPLETE' (if fully or partially filled) or 'CANCELLED' (if not filled at all). The filled quantity will reflect in your 'Positions' tab.
Also, read our detailed Zerodha review with a full analysis of charges, features, and more to get the complete details.
What are Day, Minutes, and IOC in Zerodha: A Clear Comparison
Traders using Zerodha often face a choice between 3 main validity types: DAY, IOC, and Minutes. Understanding the precise difference is crucial, as choosing the wrong one can lead to missed opportunities or unwanted trades. Each serves a distinct purpose.
Let’s define them before comparing:
- Day: This is the default validity. A Day order remains active in the market until the trading session ends (e.g., 3:30 PM IST for the NSE equity segment). If the order is not executed by the end of the day, the exchange automatically cancels it. It's for traders who are willing to wait for their price.
- IOC (Immediate or Cancel): As we've covered, this order demands immediate execution. It either fills instantly (in part or full) or is cancelled. It does not wait in the system.
- Minutes: This is a more niche validity option. A 'Minutes' order stays active for a specific number of minutes, which you define (from 1 to 120 minutes on Zerodha). If the order is not executed within that timeframe, it gets cancelled. It's useful for strategies tied to short-term events.
To make the distinction crystal clear, here is a table comparing what is day IOC is and the minutes in Zerodha:
Feature |
DAY Validity |
IOC Validity |
Minutes Validity |
Full Form |
Day |
Immediate or Cancel |
Minutes |
Order Duration |
Active until market close (e.g., 3:30 PM) |
A fraction of a second |
User-defined (1-120 minutes) |
Partial Execution |
Possible. The remaining part of the order stays open until the market closes. |
Possible. The remaining part of the order is instantly cancelled. |
Possible. The remaining part of the order stays open for the set duration. |
Risk of Forgotten Order |
High. An open order can execute hours later, unexpectedly. |
Zero. The order is either filled or cancelled immediately. |
Medium. The order stays open for the specified time, which could be up to 2 hours. |
Best For |
Placing orders at a desired price and waiting patiently for it to be met. |
Quick execution, avoiding partial fills, trading volatile markets, and large volume trades. |
Time-sensitive strategies, like trading around a news announcement within a specific window. |
Visibility in Market Depth |
A large DAY limit order is visible to all market participants. |
A large IOC order is not visible as it executes instantly against existing orders. |
A large Minutes limit order is visible for its active duration. |
Day, IOC, and Minutes each serve a different trading style: patient, instant, or time-bound. The right one depends on your strategy and speed. Use them smartly to stay in control of your trades, not at the mercy of the market.
Conclusion
If you're the kind of trader who hates waiting (because who has the patience to stare at a screen while prices bounce like a toddler on sugar?), then tools like IOC are your new best friend. But, having the right order type is only half the game. The other half? Picking the right broker who doesn’t slow you down.
That’s where Finology Select comes in. It shows you stock brokers that actually fit your vibe. Low brokerage? Fast execution? Clean UI? Select filters, it all, so you don’t waste your time (or money) on platforms that don’t get you.
And hey, if you’re someone who enjoys a good side-by-side showdown, Select lets you compare brokers on everything from fees to features, without needing a finance degree to understand the results.
Want to go beyond order types and understand whether your funds and trades are truly secure? Read the complete breakdown in Is Zerodha safe.
Frequently Asked Questions (FAQs)
What is the primary difference between a day order and an IOC order in the Zerodha Kite app?
The primary difference is the order's lifespan. A day order remains active and open in the system until the market closes (3:30 PM for NSE/BSE). An IOC (Immediate or Cancel) order exists for only a fraction of a second; it must be executed immediately against an existing counter-order, or it is cancelled.
If my IOC order in Zerodha is only partially filled, what happens to the rest of my order quantity?
If your IOC order is partially filled, the executed portion will appear in your 'Positions'. The remaining, unexecuted portion of the order is immediately and automatically cancelled by the exchange system. It will not remain as a pending order.
Are there any extra fees or charges for using the validity IOC in Zerodha?
No, Zerodha does not levy any additional fees or charges for using an IOC order. The standard brokerage, STT, exchange transaction charges, and other statutory fees apply, just as they would for a regular Day order. The validity type does not affect the cost of the trade.
Can I use IOC orders for options and futures (F&O) trading on Zerodha?
Yes, absolutely. The IOC validity option is available across all segments on Zerodha, including Equity (CNC and MIS), Futures and Options (F&O), currency, and commodities. It is particularly useful in the highly liquid and volatile F&O markets.
How do I know if my IOC order was executed or cancelled on Zerodha?
You can check the status of your order in the 'Orders' tab in Zerodha Kite. If your IOC order was filled (either partially or fully), its status will show as 'COMPLETE'. If it could not be matched at all, its status will show as 'CANCELLED'.
Why would a trader choose an IOC order over a regular Day order?
A trader would choose an IOC order for several reasons:
- Speed: To execute a trade instantly at the current available price.
- Risk management: To avoid leaving pending orders that could execute at an inopportune time.
- Volatile markets: To prevent slippage during fast market movements.
- Large orders: To execute a large quantity in parts without revealing the full size in the market depth.