The most common reason a buy GTT gets rejected is insufficient margin at the moment the trigger fires — margin is checked only then, not when you originally set up the GTT.
Why does this happen?
Rupeezy doesn't check your available margin when you create a GTT — it just stores the trigger condition. Once the trigger price is hit and the order is actually sent to the exchange, the normal margin check runs like any other buy order. If your available funds dropped since you set the trigger — from other trades, withdrawals, or mark-to-market losses — the buy order can be rejected right there.
Other reasons a buy GTT can get rejected
The same reasons any buy order can get rejected still apply once the trigger fires — the stock hitting a circuit limit, an exchange restriction on that scrip, or the price moving out of the permitted range between the trigger and the order reaching the exchange.
What can I do about it?
Keep enough free margin available for the trade, and check your GTT tab periodically so a rejected trigger doesn't go unnoticed.
Things to keep in mind
- This check happens at trigger time, not creation time — a GTT that had enough margin when you set it up can still get rejected later if your funds have since been used elsewhere.
- A rejected GTT order doesn't retry on its own — you'll need to place a new GTT if you still want the trade.