Static IP for Zerodha Kite Connect
Kite Connect rejects API orders that do not come from the IPv4 you saved on the app. A home or office address changes. A dedicated Algo-IP Mumbai IPv4 stays on the whitelist.
Zerodha API facts
- API: Kite Connect
- Portal: developers.kite.trade
- Whitelist: My Apps → your app → IP Whitelist
- IPv4: yes
- IPv6: confirm in portal
- Max IPs: Confirm in Kite Connect app settings (often one primary IP)
- Protocols: HTTP proxy, REST, KiteTicker WebSocket
- Published: 2026-09-22
- Last verified: 2026-09-27
- Next review: 2026-12-27
- Verification source: Official developer portal developers.kite.trade. IPv6 and max-IP limits are marked “confirm in portal” until we re-check the live form.
How to whitelist a static IP
- Create an Algo-IP account, finish KYC, allocate IPv4 (₹199/month on a 12-month term). IPv6 only if Kite’s whitelist field accepts it — confirm in the portal.
- Copy the dedicated IPv4 from the dashboard.
- Open developers.kite.trade → My Apps → IP Whitelist and paste that address. Max IP slots: confirm in the same app settings (often one primary IP).
- Configure REST and WebSocket separately — one environment variable does not always cover both.
- Call api.ipify.org through the proxy and confirm it matches the Kite whitelist before you generate a token.
REST setup
Kite Connect REST (login, quotes, orders) must leave from the whitelisted IPv4. Set HTTPS_PROXY=http://USER:PASS@HOST:443 in the same process that imports kiteconnect, then generate the access token.
WebSocket setup
KiteTicker is a separate WebSocket connection. Point that client at the same HTTP CONNECT proxy (HOST:443). If REST works but the ticker fails with an IP error, the socket bypassed the proxy.
Python / proxy hint
REST: set HTTPS_PROXY / HTTP_PROXY to http://USER:PASS@HOST:443 before KiteConnect().
WebSocket: pass the same HTTP CONNECT proxy into KiteTicker (or your WS client). A REST-only proxy env does not automatically cover the ticker.
Common errors
Zerodha API IP not whitelisted
The request left from a different public IP than the one saved on the Kite app. Confirm api.ipify.org through the proxy, then re-check the whitelist field.
Kite 403 after a working session
Home/office IP rotated, or the bot skipped the proxy. Keep every REST and WebSocket call on the same dedicated IP.
IPv6 is ₹99/month only when an IPv4 VPS already has a free IPv6 and this broker’s form accepts an IPv6 literal. IPv4 is ₹199/month on a 12-month term.
Related guide: zerodha-kite-api-static-ip-whitelisting. Also see dedicated IPv4, trading proxy, broker setup wizard and all brokers.
Other broker setups