Discrepancy in Market Feed Data via WebSocket (v3 API) – Volume, OHLC Not Matching Charts

I’m currently using the Upstox v3 Market Feed Data API via WebSocket, and I’ve noticed a significant inconsistency between the data received through the WebSocket feed and what is displayed on the Upstox chart.

Specifically:

  • Volume traded data via WebSocket doesn’t match the chart volume.
  • Open, High, Low, Close (OHLC) values are also different when compared to the chart data for the same instrument and interval.

This discrepancy is causing challenges in maintaining data accuracy on my application. I’ve verified that I’m subscribed correctly to the tokens and receiving live ticks, but the mismatch persists.

Could someone from the team or community shed light on why this might be happening? Is there a known issue, delay in aggregation, or a different source used for chart rendering vs WebSocket?

Any help or guidance on how to resolve this or align the data sources would be greatly appreciated.

Thanks in advance!

Can you share some more info on your setup. First are you aggregating tickdata from websocket and storing it in a db?

Thanks for your response.

Yes, I’m aggregating the tick data received via the Upstox v3 Market Feed WebSocket and storing it in a database for analysis and charting purposes.

Here’s a brief of my setup:

  • I’m subscribed to the full market feed for selected instruments like HDFCBANK using the full mode (which includes OHLC, LTQ, volume, etc.).

  • On receiving each tick, I store the following:

    • Timestamp
    • Last Traded Price (LTP)
    • Last Traded Quantity (LTQ)
    • **Volume Traded (Total)
  • I aggregate these values at a **per-second or per-minute level to generate candles and compare them with the TradingView/Upstox chart data.

What I’m noticing:

  • Even though I’m receiving ticks continuously, the sum of LTQs within a second (or the delta in Volume Traded) is significantly lower than what the chart shows for the same timestamp.
  • For example, on 27-06-25 at 15:00:00, the Upstox chart shows 24.375K volume, but in my feed at that second, I only received two ticks — one with LTQ 108, one with LTQ 13.

This leads me to suspect either:

  1. The WebSocket feed is sending only snapshot ticks (not all trades), or
  2. There’s some filtering or throttling on the backend for equity symbols.

I would appreciate if you could clarify:

  • Whether the feed is tick-by-tick for all trades, or only the last trade snapshot within a time window,
  • And whether chart data is based on a different feed (such as Tick-by-Tick / co-location) that is not exposed via the public WebSocket.

Thanks again for your time and support.

Warm regards,
Madhukumar

@Pradeep_Jaiswar @MohitGolecha
Can we get a reply to this one, please?

Hi @Madhukumar_19862135 @Amit_Kumar_Sharma

The LTPC feed is not tick-by-tick. It needs over 100mbps of stable bandwidth to support a handful instruments. The OHLC is with TBT accuracy, 1min granularity and onwards. That 1 min candle stats will always match the Charts data. Its the same socket we’re using!