Source: src/utils/zerodha/zerodha-event.utils.tsbuildSnapshot() Each active index setting produces a snapshot object on every broadcast interval. Snapshots are:
  1. Stored in latestSnapshotData (in-memory Map)
  2. Mirrored to latestDataMap in socket-manager.ts
  3. Emitted via Socket.IO as {indexName}TickData
  4. Persisted to IndexData MongoDB collection

Top-level snapshot

Legacy flat fields (from options)

When options are active, OI and bid/ask fields are flattened to the top level for backward compatibility with the financial table UI:

Cash segment (cash)

Futures segment (futures)

Options segment (options)

Strike entry

Each strike in the chain contains:

baseValue resolution

getActiveSegmentValue selects baseValue based on activeSegment: Fallback: options underlying → futures LTP → cash LTP → 0.

Consumers

See Latest data map and Data flow for the full pipeline.