NBS Signal ToolNifty · Bank Nifty · Sensex

Connecting Zerodha

Two different jobs that are easy to confuse: the owner sets up one Kite Connect app, once. Everyone else connects their own Zerodha account to it, every trading day.

Which half do you need?

If you were given an account here and want to start seeing signals, you want part two. Part one is done once, by whoever runs the server, and is already done on this one.

Part one — the owner, once

Creating the Kite Connect app

Kite Connect is the API side of Zerodha and is billed separately from a trading account.

The free plan is the wrong one

Zerodha offers two, and the split is unlucky for a tool like this one:

PlanIncludesThis tool
Personal
free
orders, GTT, alerts, margins, portfolio uses none of it — no order is ever placed
Connect
₹500 / month
live streaming quotes and historical candles uses only this

So the free plan gives you everything this tool never touches, and the one thing it needs — price data — is the paid side. On the free plan the tool signs in perfectly and then shows no candles, which reads like a broken connection rather than a missing subscription.

Historical data used to be a second charge on top of that. It is bundled now, so one Connect subscription covers both the streaming and the candles.

Figures checked September 2026 against zerodha.com/products/api. They have moved twice in two years — ₹2,000 plus ₹2,000 for data, then ₹2,000 bundled, now ₹500 — so read them there rather than here.

Before you let anyone else connect

Kite Connect is issued for personal use, one Zerodha account, by default. Letting other people connect their own Zerodha accounts through your app is multi-user access, and Zerodha grants that on request rather than automatically — you write to kiteconnect@zerodha.com, and for anything offered to other clients they will talk to you about compliance and, depending on what you are running, a SEBI audit.

Running it for yourself needs none of that. Running it for a group is a conversation with Zerodha first rather than afterwards. It is their rule and a SEBI one, and it is not something this software can grant you.

  1. Create an app

    At developers.kite.trade/apps, create a new app of type Connect. The name is yours to choose.

  2. Set the redirect URL, exactly

    This is the only field that has to be right to the character:

    https://nbs-signal-tool.tail7b2558.ts.net/kite/callback

    Zerodha allows one redirect URL per app. It is where their login sends the browser back to, so if it does not match this server the connection fails at the last step with no useful message. Leave the postback URL empty — nothing here listens for one.

  3. Copy the API key and secret into the server

    They go in the server's environment as KITE_API_KEY and KITE_API_SECRET, and the server is restarted so it reads them. They belong to the app, not to any one person — every user connects their own Zerodha account through this same app.

    The secret is what lets a request token be exchanged for a session. It stays on the server; it is never rendered into a page.

CREATE NEW APP — DIAGRAM, NOT A SCREENSHOT Type Connect App name anything you like Redirect URL — the one that has to match https://nbs-signal-tool.tail7b2558.ts.net/kite/callback Postback URL leave it empty
The form, as a diagramOnly the redirect URL has to be exact. Zerodha allows one per app, and if it does not match this server character for character the login returns you to the wrong place and the connection fails.

Part two — you, each trading day

Connecting your account

  1. Log in here

    With the email and password the owner gave you. There is no sign-up form and no email reset. How access works.

  2. Press Connect Zerodha

    In the header, or from the notice the tool shows when it has no token. It sends you to Zerodha's own login page.

  3. Log in to Zerodha and approve

    Your Zerodha password and 2FA are typed on Zerodha's page, not on this one. This site never sees them. Zerodha then sends your browser back to the redirect URL above with a one-time request token, which the server exchanges for a session using the app secret.

  4. You land back here, connected

    The connection page names the Zerodha user the session belongs to and when it was issued. From then on the candles and the option chain are read under your own Kite session.

Signing in
Signing inThe door. Accounts are made by the owner rather than by signing up, so there is no registration form here and no email reset - a forgotten password is reset by hand.
The connection page
The connection pageWhat you land on after connecting, and what you check when something looks stale. It names the Zerodha user the token belongs to and when it was issued, and it says in as many words that no order is ever placed and that the token is cleared every morning.

Why this is a daily step

Zerodha clears every access token each morning at around 07:30 IST, whenever it was issued. That is their rule, not a choice made here, and no amount of uptime on this server avoids it: reconnecting needs your password and your second factor, which only you have.

So the honest shape of a trading day is: the server has been running all night, and you still press Connect Zerodha once before the open. Until you do, the tool loads and shows you nothing live — and if you have asked it to run all session, it deliberately does not start either, because a feed with no token is a loop logging failures.

What the connection allows

It canIt cannot
read index candlesplace an order
read the option chainmodify or cancel an order
stream live pricesmove funds
read your Zerodha user id and name, to show you which account is connectedsee your Zerodha password — you type it on Zerodha's page

The token is stored on the server only, is never rendered into a page or written to a log, and is deleted with your account. You can disconnect at any time from the connection page, or revoke the app from Zerodha's side. What is stored, in full.

When it will not connect

What you seeUsually
Zerodha returns you to a page that will not loadthe redirect URL on the app does not match this server
“The site owner needs to set KITE_API_KEY”the server has no app credentials yet — part one is not done
Connected yesterday, nothing todaythe daily 07:30 IST clear-out; press Connect Zerodha again
Connects, then says the feed is downthe Kite Connect subscription or the historical-data permission has lapsed