Skip to main content

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?

  1. cas_eligible instrument flag: A new cas_eligible boolean field has been added to equity instrument records in the Instruments JSON files and the Instrument Search API response. It is true for 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.

  2. CAS status in the Exchange Status API: The Exchange Status API now returns an optional cas_eligible_status object (with status and last_updated) for CAS-eligible segments such as NSE_EQ. For segments where CAS does not exist (for example, NSE_FO), the field is omitted. The new CAS status values are CTS_CLOSE, CAS_LM_START, CAS_M_STOP, and CAS_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 statusWhat it means for order flow
~3:15 PMCTS_CLOSEContinuous trading closes for CAS-eligible securities ahead of the closing auction.
~3:20 PMCAS_LM_STARTThe closing auction opens; limit and market orders are accepted.
~3:25 PMCAS_M_STOPMarket-order entry is restricted; limit orders continue.
3:28 – 3:30 PMCAS_STOPThe closing auction order-entry window ends (randomised).
3:30 PMNORMAL_CLOSEThe 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 acceptedRejection example
After CTS_CLOSE, before CAS_LM_START (~3:15–3:20 PM)None — order entry pausedOrder placement is paused. Try again after 3:20 PM
CAS_LM_START (~3:20–3:25 PM)Limit and MarketSL orders aren't allowed now. Place a Limit or Market Order.
CAS_M_STOP (~3:25 PM onwards)Limit onlyMarket orders aren't allowed now. Place a Limit Order
CAS_STOP (~3:28–3:30 PM)None — order-entry window closedOrder 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.

SegmentNORMAL_CLOSE (IST)
NSE_EQ, BSE_EQ3:30 PM
NSE_FO, BSE_FO3: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:

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.