Zerodha Workstation: MT5-Style Desktop Terminal on Kite Connect
The MT5 workstation codebase re-wired to Zerodha Kite Connect with DPAPI credential storage and paper-first trading.
Browser authorisation through a one-shot local callback server, NSE/BSE/NFO instrument search, chunked historical downloads with merged higher timeframes, a mock Kite server for tests, and live manual orders only behind a typed LIVE confirmation.

- DPAPI-protected credentials and browser OAuth via local callback
- Chunked history with merged H4/W1/MN timeframes
- Paper by default; live only after typed confirmation and only for manual orders
- Mock Kite server for tests
Indian traders who like the MetaTrader workflow have no equivalent desktop terminal for Zerodha. This project takes the Skynet/MT5 workstation and swaps the data and order layer for Kite Connect. Credentials are stored with Windows DPAPI, authorisation opens the Kite login in the browser and completes through a one-shot local callback server, and the provider polls REST within Zerodha's rate limit.
Instrument search covers NSE, BSE and NFO; history is downloaded in chunks sized to Kite's per-request limits and higher timeframes (4-hour, weekly, monthly) are merged locally. A small detail that breaks naive implementations is handled: index instruments report a zero tick size in the instrument file, so the app substitutes the real one.
The trading model is deliberately conservative. A paper account with simulated leverage is the default; a Live Trading toggle requires typing LIVE, and even then only manual orders go live while EAs stay on paper. Tests run against a local mock Kite server so the suite never touches Zerodha.
Trading tool; shared as engineering work, not financial advice.
How it works
- User enters their own API key; app opens Kite login and catches the callback
- Instruments load and symbols resolve across exchanges
- Charts pull chunked history and merge higher timeframes
- Orders go to the paper book unless Live Trading is typed on
- EAs and tester remain paper-only