While25 - Programmable Trading Platform
homeomsrmschartspythonaicompareblogsupportGet While25
While25

A programmable trading platform.

Get While25Book a call

Order managementRisk managementChartsAI assistantCompare

Python SDKAPIDownload

AboutBlogCareersSupportContact

Interactive BrokersAlpacaZerodhaUpstoxAll brokers

TermsPrivacyLicenceRiskAIAcceptable useNotices

While25 is software. It is not a broker, dealer, exchange or investment adviser, and nothing on this site is a recommendation to buy or sell any instrument. Orders you place route to your own brokerage account; While25 never holds funds or securities.

Trading carries risk of loss, including losses greater than your deposit on leveraged products. Backtests and simulations do not predict future returns. Broker and exchange names are trademarks of their owners. We plan to add Coinbase, Binance and Robinhood; you cannot connect them yet.

© 2026 While25

while25

Connect a broker · Zerodha

Zerodha

Kite Connect gives you an API key and secret from a developer account that sits beside your trading account. The free Personal plan places orders; live and historical data is the paid one.

Time
About 15 minutes
Difficulty
Moderate
Costs
Personal API free · ₹500 a month per key for data
You end up with
An API key and an API secret

Before you start

  • An active Zerodha account and your client ID, the one that looks like AB1234.
  • A separate developer account at developers.kite.trade, ideally on the email your Zerodha account uses.
  • There is no paper mode. Kite Connect talks to your real account, so keep sizes tiny until you trust the setup.
  1. 01

    Create a developer account

    Sign up at developers.kite.trade/signup with your email, name, mobile number and state. This is a different login from Kite itself.
  2. 02

    Pick a plan

    Kite Connect Personal is free: it places orders and reads your positions, holdings and funds, but it carries no live or historical market data. Kite Connect at ₹500 a month per API key adds both. Start on Personal if you already have prices elsewhere, and upgrade when you want the platform to stream them.
    developers.kite.tradeKite Connect · plansPersonal · free1Connect · ₹500/moOrders, positions, holdingsboth plansLive and historical datapaid only
    1 · Free places orders. Data is the paid plan.
  3. 03

    Create an app

    Go to My Apps and press Create new app. You need an app name, your Zerodha client ID, and a redirect URL. The postback URL is optional and only matters if you want order updates pushed to a server.

    The redirect URL has to match exactly, character for character, whatever While25 sends. http://127.0.0.1:8000 is fine while you are testing on your own machine.

    developers.kite.trade/apps/newCreate new appApp nameWhile25 Desktop1Zerodha client IDAB12342Redirect URLhttp://127.0.0.1:80003Postback URLoptionalCreate4
    1 · Any name. 2 · Your trading client ID. 3 · Where the login sends you back. 4 · Create.
  4. 04

    Copy the key and the secret

    The app page shows an API key and, behind a reveal, an API secret. The key identifies the app; the secret signs the login exchange and must never leave your machine.
    developers.kite.trade/appsWhile25 Desktop · appAPI keyxxxxxxxxxxxxxxxx1API secret••••••••••••••••••••••••2StatusActive
    1 · The key. 2 · Reveal the secret and copy it.
  5. 05

    Log in once a day

    Kite hands out a short-lived request_token when you log in, and While25 exchanges it for an access_token using a checksum of your key, that token and your secret. The access token expires at 6 AM the next morning, by regulation. So the first thing you do each trading day is log in again.
    The daily login1 · Kite login pageyou sign in2 · request_tokenback at your redirect URL3 · access_tokenvalid until 6 AM
    Three hops, once a day, and the platform handles them for you.

What you copied

API key
Public. Identifies your app to Kite.
API secret
Private. Signs the login exchange. Never put it in anything that leaves your machine.
Redirect URL
Must match your app registration exactly, including the port and any trailing slash.

An access token also dies if you log out of Kite Web, or if anyone does a master logout on the account.

When it does not work

The login page says the redirect URL does not match+

The URL in the app registration and the one being sent differ somewhere: http against https, a port, a trailing slash. They must be identical.

Everything worked yesterday and today Kite says unauthorised+

The access token expired at 6 AM. Log in again; this is a regulatory requirement, not a bug, and no refresh token exists.

Orders work but there are no prices+

You are on the free Personal plan, which carries no market data. The ₹500 a month plan adds live and historical data.

Invalid checksum+

The checksum is SHA-256 over api_key plus request_token plus api_secret, in that order, with no separators. A stale secret is the usual cause.

Straight from Zerodha

  • Zerodha · How to sign up for Kite Connect ↗
  • Zerodha · What Kite API costs ↗
  • Kite Connect · API documentation ↗

Also trade through Upstox? The Upstox guide is the same shape. New to all of this and want a risk-free first look? Alpaca paper takes five minutes.