A basket order lets you line up several trades, check the margin they need together, and fire them off with one click instead of punching each one in by hand. For an options spread with four legs, or a monthly buy list of five ETFs, that saves time and cuts the gap between the first order and the last. But a basket is not a single trade. Each order still lives or dies on its own, and that is where most of the surprises come from.
We’ll walk through how basket orders work on Zerodha’s Kite (the platform with the most detailed public documentation on this), why the sequence of orders changes your margin, two worked examples with rupee numbers, and the specific ways a basket can leave you half in and half out of a position.
In this article
What is a basket order?
Zerodha’s support page puts it simply: a basket order on Kite lets you place multiple orders simultaneously, and you can save the basket and reuse it any time. You build the list in advance (instrument, buy or sell, quantity, price, order type) and execute it when you are ready.
The limits on Kite, per the same page and the Kite app user manual:
- Up to 20 orders in one basket.
- Up to 50 saved baskets in total.
- No additional fee for using a basket. You pay the normal charges on each order that executes.
Zerodha’s Z-Connect guide to advanced orders adds that a basket can mix stocks, options and futures. If you use another broker, its basket feature may have different limits, so check its help pages before you build something large.
On Kite web there is also a “quick basket” that you can open from any page and fill on the fly. The catch, per Zerodha’s quick baskets help page, is that quick baskets cannot be saved. Switch browser, device or account, or use incognito, and the instruments you added won’t be there.
Why traders use them
The main reason is timing. Zerodha’s own example is an iron condor, which has four legs: two buys and two sells. Place them one by one and the market can move between your second and third order, so the strategy you planned is not the strategy you end up with. A basket shrinks that window, because you prepare everything in advance and send it in one go.
The Z-Connect guide lists a few common uses:
- Multi-leg options structures such as iron condors, spreads and butterflies, so all legs go out together.
- Long-term investors building a diversified list, for example equity funds, gold ETFs and debt funds, and executing it as their monthly investment.
- Adjusting several open positions at once.
There is a quieter use too. Exchanges cap how much you can buy or sell in a single order, a limit called the freeze quantity. The Kite manual says these limits can be checked under Volume Freeze Quantity on the NSE website, and that an order larger than the limit has to be placed multiple times. A basket makes that easier: you add one order, clone it as many times as needed, and execute the lot.
Basket order margin: required vs final
This is the part people skip, and it is the part that causes rejections. When you open a basket, Kite shows two numbers:
- Required margin: the funds you need to place all the orders in the basket.
- Final margin: what will eventually be blocked in your account once all the orders have executed.
Zerodha says the required margin changes with the sequence of orders, while the final margin stays the same. For F&O strategies its advice is to put the option buy orders before futures or short (written) option orders. That gives the lowest margin requirement. For an equity basket, or if you have enough funds to place every order on its own, the sequence does not matter.
A basket saves you clicks. It does not turn four orders into one trade. Each leg still has to clear its own checks, and any one of them can fail.
Why does order matter? Once your long option leg is in, the short leg sitting against it is a hedged position, and hedged positions need less margin than a naked short. The Z-Connect guide says Kite builds tiny delays of a few milliseconds between orders in a basket for exactly this reason. Without them, margin calculations might not keep up, and the sell orders could get rejected.
One more setting to understand. Kite has an “Include existing positions” option that factors in open positions outside the basket. Zerodha warns it can sometimes show a required margin of zero even when you do need funds to place an order, because a basket order might reduce your overall margin while still needing margin at the moment it is placed. If the number looks too good, switch the option off and check again.
Worked example 1: a two-leg call spread
All prices, premiums and margin figures below are made-up round numbers to show the arithmetic. They are not current exchange margins or market prices.
Say we want a bull call spread on an index: buy one lot of a lower-strike call and sell one lot of a higher-strike call, same expiry. Assume:
- Premium paid on the bought call: ₹6,000 for the lot.
- Margin a broker would ask for the sold call on its own (naked): ₹1,20,000.
- Margin for the sold call once the bought call is already in place (hedged): ₹20,000.
- Available funds in the account: ₹40,000.
Sequence A: sell first, then buy. The first order is a naked short call. The system checks ₹1,20,000 against our ₹40,000 and rejects it. The buy order then goes through on its own because ₹6,000 is affordable. We now hold a lone long call, not a spread.
Sequence B: buy first, then sell. The buy uses ₹6,000, leaving ₹34,000. The short call is now hedged and needs ₹20,000, which fits. Total used: ₹6,000 + ₹20,000 = ₹26,000. Both legs go through.
Same two orders, same final position if both fill. The only difference is the sequence, and in our made-up numbers that is the difference between a clean spread and a half-built one. This is exactly the pattern behind Zerodha’s guidance to put buy legs first.
Worked example 2: a monthly ETF basket
Again, hypothetical prices for illustration only.
Suppose we put ₹30,000 a month into four ETFs and keep a saved basket for it:
| Leg | Planned amount | Assumed price | Quantity | Cost |
|---|---|---|---|---|
| Large-cap equity ETF | ₹12,000 | ₹250 | 48 | ₹12,000 |
| Mid-cap equity ETF | ₹6,000 | ₹180 | 33 | ₹5,940 |
| Gold ETF | ₹6,000 | ₹95 | 63 | ₹5,985 |
| Debt ETF | ₹6,000 | ₹1,150 | 5 | ₹5,750 |
| Total | ₹30,000 | ₹29,675 |
Quantities are rounded down to whole units, which is why the total lands at ₹29,675 rather than ₹30,000. Each month we open the saved basket, update quantities if prices have moved, and execute. Sequence does not matter here, because these are plain equity purchases.
Now suppose only ₹20,000 has landed in the trading account. Zerodha’s quick-basket page says that when funds are short, only the orders that can be processed with the available funds will be executed, and each order goes through the same checks as an individual order. Walk the basket top to bottom: the first leg uses ₹12,000, leaving ₹8,000. The second leg, at ₹5,940, fits and leaves ₹2,060. The gold and debt legs then fail for lack of funds. Our “balanced” monthly buy has quietly become an all-equity buy. Nothing broke; the basket did what it was designed to do. But the portfolio is now off its target mix until we fix it.
Where basket orders go wrong
Most problems trace back to one fact: the exchange sees separate orders, not a package. Here are the failure modes worth planning for.
1. Rejected legs
Kite places basket orders in the sequence shown and asks you to confirm the status of each individual order, in the basket or the order book, to see whether it was placed, executed or rejected. If some legs are rejected, Zerodha says you can modify them and execute them manually from the basket’s order window. So check every leg after you hit execute. Don’t assume a green confirmation on the first order speaks for the rest.
2. Wrong sequence on F&O
As example 1 showed, putting a short leg first can get it rejected for margin while the rest of the basket goes through. Long option legs first, then futures and short options.
3. Limit legs that don’t fill
A basket sends the orders together, but a limit order still fills only at your price or better. If one leg’s limit is away from the market, that leg can sit open while the others fill. You then hold an unbalanced position, which for a spread can mean much more risk than you planned. Before executing, look at each leg’s price against the current bid and ask.
4. Partial funding
Example 2 covered this. Top up the account before running a large basket, or reorder the legs so the ones you care most about come first.
5. Stale saved baskets
A basket saved last month still carries last month’s prices, quantities and, for options, possibly last month’s strikes and expiry. Re-check every leg before running a saved basket. This is boring and it is the step that saves you.
6. Trusting a zero margin number
If “Include existing positions” is on and required margin shows zero, verify. Zerodha itself flags that this can happen even when funds are needed.
The basket did exactly what it was built to do. The portfolio just ended up somewhere we didn’t plan, because nobody checked the funds first.
Basket orders with alerts and SIPs
Kite also lets you hook a basket to other tools. With Alert Triggers Order (ATO), described in the Kite manual and the Z-Connect guide, you link a basket of up to 20 orders to an alert, and the whole basket is placed on the exchange when the alert condition is met. The stock SIP feature can also use baskets: per the manual, a user can link 3 baskets to one SIP, and stock SIP orders are CNC (delivery) only, with market or limit orders allowed.
These save effort, but they also remove the moment where you look at the screen before the orders go out. Everything we said about rejections, unfilled limits and funding applies with more force when nobody is watching. If you use an ATO on a multi-leg options basket, check margin and sequence when you set it up, not when it fires.
A short checklist before you hit execute
- Confirm every leg: instrument, buy or sell, quantity, product type, price and order type.
- For F&O, put long option legs first, then futures and short options.
- Compare required margin with your available funds, not just final margin.
- If “Include existing positions” is on and shows zero, recheck with it off.
- For limit legs, check the price against the current bid and ask.
- For orders above the exchange freeze quantity, split them using clone or duplicate.
- After executing, open the order book and confirm the status of each order.
- If a leg is rejected, fix and re-place it, or close the legs that did fill. Don’t leave a half-built structure overnight by accident.
Baskets fit neatly with the rest of your order toolkit. If you are new to multi-leg trades, start with our options trading for beginners guide, and read about the bracket order for another way to link entries with exits. Sizing each leg sensibly matters as much as sending it cleanly, which our risk management in trading guide covers. For a deeper look at the four-leg structure in Zerodha’s example, see Zerodha Varsity’s chapter on the iron condor.
Disclaimer: This article is for education only and is not investment advice. The worked examples use hypothetical prices, premiums and margins. Broker features and limits can change, so check your broker’s current documentation. Please consult a SEBI-registered adviser before making investment decisions.

Leave a Reply
Join the conversation
Commenting is open to registered readers. Sign up with just your email — no password needed, and it takes under a minute.
Sign up to comment Log in