How to handle a freeze-quantity rejection on Zerodha
A freeze-quantity rejection occurs when you attempt to place a single order on Kite for a quantity that exceeds the maximum order size (the “freeze quantity” or “freeze lot”) set by NSE or BSE for that instrument. The exchange rejects such orders at the matching engine level before any fill can occur.
This is not a Zerodha-specific restriction. Both NSE and BSE define freeze quantities for individual stocks and derivatives contracts as a market-integrity safeguard to prevent erroneous bulk orders from disrupting the order book.
Conflict-of-interest disclosure. This guide is published by WebNotes Editorial Team for informational purposes only. WebNotes has no commercial relationship with Zerodha, NSE, or BSE.
Prerequisites
- An active Zerodha trading account with Kite access.
- Understanding of the instrument you are trading (equity or F&O).
- Sufficient margin or funds to cover the full intended position across multiple tranches.
Step 1: Confirm that the rejection is freeze-quantity related
Open the Orders tab on Kite. Click the rejected order. The Reason field will contain a message such as:
“17070: Order quantity is more than freeze quantity”
or
“Exchange error: Order quantity exceeds maximum allowed quantity”
NSE exchange error code 17070 specifically denotes a freeze-quantity breach. BSE uses a similar exchange error indicating quantity limit exceeded. If the rejection message mentions “RMS” instead, the issue is a Zerodha-side restriction; see How to fix an RMS rejection on Zerodha.
Step 2: Identify the freeze quantity for the instrument
For NSE equity (cash segment)
NSE publishes freeze quantities in the equity CM Lot Sizes file available at nseindia.com under Market Data. The freeze quantity for equity shares is typically set at multiples of the Market Lot (usually 1 for most large-cap stocks). For many liquid large-cap stocks, the NSE freeze quantity is around 5,000 to 20,000 shares. For less liquid stocks, it can be as low as 500 shares.
For NSE F&O (futures and options)
The freeze quantity for F&O contracts is published in the F&O Contract Master file available from the NSE website. It is expressed in the number of units. For index futures, the freeze lot is typically expressed in lots:
| Instrument | Approximate freeze lot |
|---|---|
| Nifty 50 futures | 180 lots |
| Bank Nifty futures | 900 lots |
| Stock futures | Varies; typically 50 to 200 lots |
The values in the table above are illustrative. Verify the current figures from the NSE contract file before trading.
For BSE equity and F&O
BSE publishes similar contract specifications on bseindia.com. The freeze quantity format is the same concept but the specific numbers may differ from NSE for the same underlying.
Using Zerodha’s instrument master
For a programmatic lookup, Zerodha publishes a daily instrument master CSV (available via the Kite Connect API) that includes the freeze_quantity field for each tradeable instrument. This is the most reliable source for Zerodha clients.
Step 3: Compute the required number of tranches
Divide the total desired quantity by the freeze quantity, rounding up to the nearest whole number.
Example: You want to buy 18,000 shares of a stock with a freeze quantity of 5,000 shares. Number of tranches = ceiling(18,000 / 5,000) = 4 (three tranches of 5,000 and one of 3,000).
For F&O in lots: if the freeze lot is 180 Nifty lots and you want 400 lots, number of tranches = ceiling(400 / 180) = 3 (two tranches of 180 lots and one of 40 lots).
Step 4: Place orders in tranches on Kite
Open the order form for the instrument. Set the quantity to the first tranche size (equal to or below the freeze quantity). Select your order type (limit is preferred for large tranches to control price impact) and submit.
After the first order is placed, repeat for each subsequent tranche. There is no mandatory delay between tranches from the exchange perspective, but spacing them by a few seconds avoids order-book shock if your combined tranches represent a significant fraction of the visible depth.
For limit orders, consider staggering the limit price slightly across tranches to represent a realistic bid or offer ladder rather than a single price wall.
Step 5: Monitor fills and place remaining tranches
After placing each tranche, monitor the Orders tab for fill status. A partially filled tranche (status: Open with partial fill) means the remaining quantity in that tranche is still at the exchange. You do not need to place the next tranche until the current one is fully filled or you have decided to cancel the unfilled portion.
What can go wrong
Order split still rejected. If a tranche quantity is still above the freeze limit (for example, because the limit was lower than expected from an outdated source), reduce the tranche size further. The freeze quantity value in the Zerodha instrument master CSV is the most current source.
Price slippage between tranches. In fast-moving markets, the first tranche may fill at a different price from subsequent ones. This is normal market impact. Avoid market orders for large tranches in illiquid instruments.
Margin blocked for each tranche separately. Zerodha’s RMS blocks margin for each order independently at placement time, not just at fill time. Ensure you have enough available margin to cover all tranches simultaneously if you plan to place them concurrently.
Corporate action changes the freeze quantity mid-session. On the ex-date of a stock split or bonus issue, the freeze quantity for the pre-split shares may be adjusted intraday. If in doubt, re-check the NSE contract file after any corporate action date.
Escalation path
Freeze-quantity limits are exchange-mandated and cannot be increased by Zerodha or by the client. If you believe the exchange has set an incorrect freeze quantity for an instrument, you may raise a query with NSE Investor Services at investorservice@nse.co.in or with BSE at is@bseindia.com. For Zerodha-specific instrument-master queries, contact Zerodha support.
Related guides
- How to fix an RMS rejection on Zerodha
- How to fix a price-band rejection on Zerodha
- How to handle a partially filled order on Zerodha
- Kite Connect API
References
- NSE India, “Equity Market Lot and Freeze Quantity,” nseindia.com, Market Data section.
- NSE India, “Derivatives Contract Specifications,” nseindia.com, F&O segment.
- BSE India, “Equity and Derivatives Freeze Quantity,” bseindia.com.
- Zerodha Support, “What is freeze quantity and how do I fix this rejection?” support.zerodha.com.
- Zerodha, “Kite Connect Instrument Master, field definitions,” kite.trade/docs.