Does Kite WebSocket API Guarantee Identical Tick Data Across Multiple Simultaneous Connections?

sodha_rakesh
Dear Kite Connect Team and Community,

We are building a trading system using the KiteTicker WebSocket API (in MODE_FULL) to stream live tick data for instruments like NIFTY futures. To ensure redundancy and high availability, I'm running two separate instances of my application, each with its own WebSocket connection (both under different account and different API key).

However, I've noticed subtle differences in the processed data (e.g., derived volume bars) between the two instances, even though the code is identical and we're using exchange-provided timestamps. These differences seem to stem from minor variations in tick delivery timing or content.

My questions:
1. Does the Kite WebSocket API guarantee that tick streams (including fields like last_price, volume_traded, and exchange_timestamp) will be exactly identical across multiple simultaneous connections for the same subscribed instruments?
2. If not, are there known factors (e.g., server-side load balancing, network latency, or batching) that could cause desyncs, and any best practices to mitigate them?
3. For live trading, would you recommend relying on a single connection with failover, or is multi-connection consistency reliable enough?

Setup details:
Python with kiteconnect library.
Subscribed to MODE_FULL for full tick data.
Instances are on AWS EC2, with low-latency connections (same instance type for both).
No errors in logs; connections are stable.
Any insights or official stance would be greatly appreciated to help design a robust system.

Thanks!

Best Regards,
Rakesh
  • sujith
    As per the regulations a third party app can't show our data on their platform. You may speak to the compliance team on kiteconnect(at)zerodha.com
Sign In or Register to comment.