Closing Auction Session (CAS) Support
Effective Date: August 3, 2026
The exchange runs a Closing Auction Session (CAS) — a call-auction window that discovers the official closing price for eligible securities. CAS applies to F&O-eligible stocks, where the closing price is determined by a closing auction rather than the volume-weighted average. The Upstox API now surfaces CAS state so your app can identify eligible securities and track the closing auction as it progresses.
What's New?
-
cas_eligible instrument flag: A new
cas_eligibleboolean field has been added to equity instrument records in the Instruments JSON files and the Instrument Search API response. It istruefor securities that participate in the closing auction. Read this flag dynamically rather than hardcoding a static list, so your app stays correct as the eligible universe changes. -
CAS status in the Exchange Status API: The Exchange Status API now returns an optional
cas_eligible_statusobject (withstatusandlast_updated) for CAS-eligible segments such asNSE_EQ. For segments where CAS does not exist (for example,NSE_FO), the field is omitted. The new CAS status values areCTS_CLOSE,CAS_LM_START,CAS_M_STOP, andCAS_STOP, in addition to the standard market statuses. See the CAS statuses reference for full descriptions.
Order Flow for CAS-Eligible Securities
For a CAS-eligible security, continuous trading ends earlier than the regular market close, and a closing auction runs before the session closes. Track the cas_eligible_status transitions to align your order flow:
| Time (IST) | CAS status | What it means for order flow |
|---|---|---|
| ~3:15 PM | CTS_CLOSE | Continuous trading closes for CAS-eligible securities ahead of the closing auction. |
| ~3:20 PM | CAS_LM_START | The closing auction opens; limit and market orders are accepted. |
| ~3:25 PM | CAS_M_STOP | Market-order entry is restricted; limit orders continue. |
| 3:28 – 3:30 PM | CAS_STOP | The closing auction order-entry window ends (randomised). |
| 3:30 PM | NORMAL_CLOSE | The market closes. |
CAS applies only to eligible securities in eligible segments. Non-CAS securities and segments continue to follow the standard market status timeline.
Orders Blocked During CAS
During the closing auction window, the exchange restricts which order types it accepts, and these restrictions change as the session progresses. Orders that are not permitted in the current phase are rejected. Use the cas_eligible_status transitions to decide what to allow in your order entry UI, and surface a clear message when an order cannot be placed.
| CAS phase (status) | Order types accepted | Rejection example |
|---|---|---|
After CTS_CLOSE, before CAS_LM_START (~3:15–3:20 PM) | None — order entry paused | Order placement is paused. Try again after 3:20 PM |
CAS_LM_START (~3:20–3:25 PM) | Limit and Market | SL orders aren't allowed now. Place a Limit or Market Order. |
CAS_M_STOP (~3:25 PM onwards) | Limit only | Market orders aren't allowed now. Place a Limit Order |
CAS_STOP (~3:28–3:30 PM) | None — order-entry window closed | Order placement is paused. The closing auction has ended |
Stop-loss (SL and SL-M) orders are not accepted at any point during the closing auction. The exact rejection wording may vary; rely on the CAS status rather than parsing the message text.
Additional order restrictions apply throughout the closing auction for CAS-eligible securities:
- Stop-loss orders (
SL,SL-M) are rejected at every phase of the auction. - Immediate-or-Cancel (IOC) orders are not allowed.
- Order slicing is prohibited.
- GTT triggers for CAS stocks operate only until 3:15 PM; wind down GTT-dependent flows before this time.
- Unexecuted limit orders from the continuous session carry forward into the auction with their price-time priority retained.
- Price band: Orders must fall within ±3% of the Reference Price, or they are rejected. This band applies to futures on CAS-eligible underlyings as well.
Derivatives (F&O) Close Time Change
Alongside CAS, the close time for the derivatives segments has changed. NSE_FO and BSE_FO now report NORMAL_CLOSE at 3:40 PM IST, instead of 3:30 PM.
| Segment | NORMAL_CLOSE (IST) |
|---|---|
NSE_EQ, BSE_EQ | 3:30 PM |
NSE_FO, BSE_FO | 3:40 PM |
If your app assumes a single 3:30 PM close across all segments, update it to read the per-segment NORMAL_CLOSE from the Exchange Status API so that F&O order flow stays aligned with the extended session. For the full segment-wise schedule, see Market Timings.
Further Reading
For more on CAS, see these Upstox Developer Community posts:
- SEBI Introduces Closing Auction Session (CAS) for F&O-Eligible Stocks — background on what CAS is and why the exchange introduced it.
- Closing Auction Session (CAS): What API and Algo Developers Need to Know — a developer-focused walkthrough with the migration checklist and order-flow guidance.
Thank You
We look forward to your feedback. Our goal is to provide tools that keep your trading apps aligned with exchange sessions and help you optimise your order flow.