How to fix a sell GTT being rejected on Zerodha
A sell GTT (Good Till Triggered) order is rejected on Kite at the moment it fires, not when you create it, because that is when Zerodha sends a real limit order to the exchange and the exchange tries to debit the shares from your demat account . If the shares are not free to deliver, or the demat debit is not authorised, the exchange refuses the order and the GTT is marked rejected. The GTT itself can sit happily for months and still fail at the one moment it matters.
This guide covers the four causes that produce almost every rejected sell GTT: the holding is not free in demat, the CDSL debit is not authorised through DDPI or a fresh TPIN, the quantity no longer matches what you hold, and the special case of T1 holdings bought a day earlier that have not yet settled. For the broader question of why a delivery sell is refused by the depository layer, the companion guide how to fix a DP-related sell rejection on Zerodha covers the same authorisation machinery for ordinary orders.
Conflict-of-interest disclosure. This guide is published by webnotes.in for informational purposes and is written independently. WebNotes operates a Zerodha account-opening referral programme, disclosed on the pages that carry the referral link; this guide does not carry it and earns no referral commission from the procedure described here.
Step-by-step procedure
The procedure infobox at the top lists the five steps. The detail below expands the two that catch people out: the free-balance check and the daily authorisation.
1. Read the exact rejection reason in the order book
Open Orders in Kite, move to the order history, and expand the rejected order that the GTT produced. Zerodha publishes the literal exchange or RMS reason there. The common strings are “insufficient holdings”, “DP not authorised” or a TPIN-related message, a series-change or suspension note, or a segment-disabled message if a Kill Switch is on. Read the wording first; the fix differs by cause and the order book tells you which one you hit. Zerodha also sends the rejection by email, so the reason is in your inbox even if you were away from the screen.
2. Confirm the holding is free in demat at trigger time
Open Holdings in Kite and read the free quantity for the scrip, not the total quantity. The exchange debits from the free demat balance at the instant the GTT fires, and several states reduce that free balance below the number you think you own:
- Pledged shares. Stock pledged for margin against MTF or for an F&O margin benefit is locked and cannot be delivered until unpledged.
- Lock-in. IPO anchor allotments, ESOP lock-ins, and similar holds keep the stock un-deliverable for a fixed period.
- T1 settlement. Shares bought a day earlier are in T1 status and not yet in demat; see the T1 section below.
- Already sold. A quantity you sold through a normal order earlier in the day is no longer free, even though Kite may still display it in Holdings until end of day.
Cross-check on the CDSL Easi portal for an independent view of what is genuinely free in demat. If the free balance is below the GTT quantity, the trigger will be rejected even though your headline holding looks sufficient.
3. Authorise the demat debit through DDPI or a fresh TPIN
Every delivery sell needs the demat debit authorised. There are two valid routes at Zerodha, and the Power of Attorney route was phased out by SEBI in 2022 in favour of DDPI.
If you have DDPI active, the debit is pre-authorised once and no daily step is needed; the GTT will fire and the shares will be debited automatically. If you do not have DDPI, a sell GTT relies on a CDSL TPIN authorisation, and this is where most sell GTTs without DDPI fail. The TPIN authorisation is valid for only one trading day, and you must make a fresh authorisation every trading day after 7 AM for the GTT to be allowed to deliver that day. A GTT that fires on a day you did not pre-authorise is rejected by the depository layer regardless of the holdings. For a GTT, where you cannot know in advance which day the trigger will fire, this makes DDPI the practical choice; a TPIN-only account must pre-authorise every day the GTT could trigger, which is rarely realistic. The mechanics of TPIN and DDPI are set out in full in how to fix a DP-related sell rejection on Zerodha .
4. Match the GTT quantity to the current free balance
A GTT stores a fixed quantity. If you reduce the holding after creating it, by selling part of it, pledging some for margin, or through a corporate action that changes the share count, the stored quantity can exceed your free balance when the trigger fires. The exchange then rejects the over-sized delivery. Edit the GTT, or delete and recreate it, so its quantity is at or below the free demat balance. Note that Zerodha cancels GTTs on scrips that undergo a material corporate action (bonus, split, extraordinary dividend above 2 per cent, rights, consolidation) precisely because the share count or price reference changes; after such an action you must place a fresh GTT at the adjusted level.
5. Recreate the GTT and confirm it is active
A rejected GTT is consumed. It does not retry, and there is no mechanism for it to re-submit the unfilled quantity. Once the holding is free and the debit is authorised, place a fresh GTT and confirm it shows as active in the GTT tab. The new GTT then fires the next time the last traded price touches your trigger.
The T1 holdings issue
The single most confusing sell GTT rejection comes from T1 holdings. When you buy a delivery stock, the shares are credited to your demat account on the settlement day under the T+1 settlement cycle, which means a buy on a given trading day settles into demat the next trading day. Until then the position sits as a T1 holding: yours economically, but not yet a free demat balance.
Zerodha lets you sell a T1 holding the same day through the ordinary sell flow, because the broker manages the early-delivery obligation internally. A GTT is different. A GTT triggers at a future, unknown moment and converts into a plain delivery sell that the exchange tries to settle against the free demat balance. If the GTT fires while the bought shares are still in T1 status and not yet credited, the free balance is not there and the exchange rejects the order. Set sell GTTs against settled holdings, or accept that a GTT placed the same day you buy can be rejected if the trigger is touched before the stock settles into demat the next trading day.
How a sell GTT differs from a buy GTT rejection
A buy GTT and a sell GTT fail for different reasons, because the exchange checks different things. A buy GTT needs cash margin at trigger time and is rejected mainly for insufficient funds or a price-band breach; a sell GTT needs free, authorised demat stock and is rejected for the holdings and DDPI reasons above. For the funding side, see why a buy GTT is rejected . Where the GTT fires but the resulting limit order never fills because the market gapped past your limit price, the issue is execution, not rejection, and is covered in why a GTT triggered but was not executed and the GTT trigger email price versus the execution price .
Frequently asked questions
Why was my sell GTT order rejected on Zerodha?
Does a sell GTT need TPIN or DDPI authorisation?
Can I set a sell GTT on shares I bought yesterday?
Why does the sell GTT say insufficient holdings when I own the shares?
Does a rejected GTT retry on its own?
How many active GTTs can I keep on Zerodha?
See also
- Zerodha
- Kite by Zerodha
- GTT (Good Till Triggered) order on Zerodha
- How to place a GTT order on Kite
- How to delete or cancel a GTT on Kite
- How to modify a GTT on Kite
- Why a buy GTT is rejected
- Why a GTT triggered but was not executed
- GTT trigger email price versus execution price
- GTT validity rules on Kite
- Why GTTs are disabled, cancelled, or expired
- GTT order limitations and rejection
- GTT for F&O on Zerodha
- How to find your GTT orders on Kite
- How to fix a DP-related sell rejection on Zerodha
- DDPI at Zerodha
- CDSL
- Demat account
- T+1 settlement
- CNC product code
- Margin trading facility at Zerodha
- How to fix an RMS rejection on Zerodha
- How to fix a price-band rejection on Zerodha
- How to fix a circuit-limit rejection on Zerodha
- Trigger price versus limit price
- SL-M order on Kite
- IPO
- Futures and options
- Zerodha Console
External references
- Zerodha support: Why was a sell Good Till Triggered (GTT) order rejected?
- Zerodha support: Why are GTTs disabled, cancelled, expired, or rejected?
- Zerodha support: How can I use the GTT feature?
- Zerodha GTT terms and conditions
- CDSL India
References
- Zerodha support, Why was a sell Good Till Triggered (GTT) order rejected? (as of 21 June 2026): rejection for insufficient demat holdings, missing CDSL TPIN or DDPI authorisation, series change or suspension, and Kill Switch segment disablement; TPIN authorisation valid one day and to be refreshed after 7 AM; 500 active GTT cap; one-year equity validity.
- Zerodha support, Why are GTTs disabled, cancelled, expired, or rejected? (as of 21 June 2026): discretionary cancellation on delisting, suspension, series change, and corporate actions.
- Zerodha GTT terms and conditions, zerodha.com/tos/gtt (server-side storage; trigger releases a limit order to the exchange).
- SEBI circular SEBI/HO/MIRSD/DoP/P/CIR/2022/44, dated 4 April 2022, on Demat Debit and Pledge Instruction replacing Power of Attorney for demat debit authorisation.
- SEBI press release on the T+1 rolling settlement cycle for equities, phased in through 2022 and effective across all scrips from 27 January 2023.