All work
Full-Stack

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.

Zerodha Workstation: MT5-Style Desktop Terminal on Kite Connect — illustration
What makes it serious
  • 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

  1. User enters their own API key; app opens Kite login and catches the callback
  2. Instruments load and symbols resolve across exchanges
  3. Charts pull chunked history and merge higher timeframes
  4. Orders go to the paper book unless Live Trading is typed on
  5. EAs and tester remain paper-only
Stack
PythonPySide6Zerodha Kite ConnectWindows DPAPI
#zerodha#kite-connect#desktop-app#pyside6#paper-trading#india