Static IP for Algo Trading in India: Setup by Broker
Since April 2026, API orders must come from a registered static IP. Where to get one (ISP, cloud server, platform) and where each broker wants it entered.
If you run your own code against a broker’s API, every order request has had to come from a static IP registered with that broker since 1 April 2026. You can get one from your home ISP (usually a paid add-on, sometimes only on business plans), rent a small cloud server in Mumbai that comes with a fixed address, or skip running your own app by using a platform your broker has integrated. Registering the IP takes two minutes. Getting it wrong can lock you out for a week, because most brokers only let you change it once a week.
Last updated: November 2026.
What a static IP is
Your public IP address is the number your broker’s server sees when your order arrives. Most home and mobile connections get a dynamic one: the ISP hands you an address from a pool and can change it whenever the router reconnects or the power goes. A static IP is reserved for you and doesn’t change. Under the new rules, that fixed number is how your broker knows an order came from you and not from someone holding a copy of your API key.
Why your broker suddenly cares
SEBI’s February 2025 circular told brokers to stop allowing open APIs and to permit access “only through a unique vendor client specific API key and static IP whitelisted by the broker”, so every order can be traced to the person behind it (SEBI circular). That one sentence explains the two rules that trip people up.
- The IP must be yours alone. FYERS says the same IP can’t be mapped to several users, and Kite forum users have run into “IP already linked to another account” when an address was already claimed. The only exception is family as SEBI defines it: spouse, dependent children and dependent parents, after a declaration to the broker.
- It only covers orders. Placing, modifying and cancelling orders (and GTT at most brokers) need the registered IP. Market data, WebSocket feeds, positions and the order book work from anywhere. All five brokers in the table below say so.
The rest of the April changes, from the 10 orders-per-second line to the daily login, are in the SEBI algo trading rules post.
Option 1: ask your home ISP
Home fibre plans in India almost always come with a dynamic IP. Some ISPs sell a static one as an add-on, others only on business plans. I couldn’t find a current price for Jio, Airtel or ACT on their own websites, so I’m not quoting one.
Jio Fiber is the awkward one. Forum reports, including this Kite forum thread, consistently say home plans don’t offer a static IP, and that Jio home connections sit behind carrier-grade NAT for IPv4. In plain terms, the public address you see is shared with other customers, so even if it never changed you couldn’t register it as yours. Users who needed one describe moving to a JioBusiness connection.
Airtel Xstream Fiber and ACT Fibernet users report getting a static IP as a paid monthly add-on, arranged through customer support (or a local ACT agent) rather than through the app.
If you go this route, get these answers on email before you pay: the monthly charge, whether it’s a dedicated IPv4 address (not shared, not IPv6-only), how long activation takes, and whether the address survives a router replacement. Then check the next bill.
My honest view: a home static IP only makes sense if your trading PC already runs all day and you have power backup. A power cut at 10:40 am stops your strategy however fixed the address is.
Option 2: a small cloud server in Mumbai
This is what I’d pick for a Python strategy. You rent a small Linux machine in a Mumbai data centre, reserve a fixed public IP for it, and run your code there. It keeps going through power cuts at home, the IP doesn’t change until you release it, and being in the same city as NSE keeps the network path short.
What the IP part costs, checked in November 2026:
- AWS, Mumbai region (ap-south-1). Since February 2024 AWS charges for every public IPv4 address, in use or idle: $0.005 an hour, about $3.60 for a 30-day month, on top of the server (AWS VPC pricing). An Elastic IP is the static kind on EC2. The simpler option is Lightsail. Its cheapest plan with a public IPv4 is $5 a month (Lightsail pricing), and a Lightsail static IP costs nothing while it’s attached to an instance (Lightsail billing FAQ). Skip the $3.50 IPv6-only plan; static IPs can’t be attached to it.
- Google Cloud (Mumbai, asia-south1) and Azure (India regions). Both let you reserve a static public IP, and both charge for it. Check their current IP pricing pages before you commit; I’m not quoting numbers I couldn’t confirm.
- DigitalOcean. No Mumbai region; the nearest is Bangalore (BLR1). Reserved IPs are free while assigned to a Droplet and $5 a month when they aren’t (DigitalOcean docs).
These prices are in US dollars. If your account is billed in India, expect GST on top.
Four things catch people out on a cloud server:
- The server clock is usually set to UTC. A job meant for 9:15 am IST has to be scheduled for 3:45 UTC.
- An unattached static IP still costs money at most providers. If you stop the experiment, release the IP.
- You still do the daily 2FA login yourself. The server holds your code, not your permission to trade, so plan to complete the broker login from your phone each morning.
- Security is now your job. Use SSH keys, not passwords, and keep your API secret out of any code you push to GitHub.
Option 3: don’t run your own app at all
If you don’t write code, renting a server to satisfy a rule meant for people who do is the wrong answer. Angel One’s SmartAPI notice says individual retail clients using no-code platforms hosted on broker servers don’t need to provide a static IP, and that for empanelled vendors the registered IP can be the vendor’s or the client’s. Dhan says strategies deployed on Dhan Cloud aren’t subject to the static IP requirement (Dhan support).
We build INDfolio, which turns no-code strategies and TradingView alerts into orders at seven brokers, so weigh this section accordingly. I’m not going to tell you how any platform, ours included, handles the static IP at each broker, because it depends on that broker’s integration. Ask the platform directly whose IP your orders leave from and whether you need to register anything yourself.
Where to register the IP at each broker
The field lives on each broker’s API page. This is what each broker’s own documentation said when I checked in November 2026:
| Broker | Where the field is | IPv4 / IPv6 | Primary + secondary | How often you can change it |
|---|---|---|---|---|
| Zerodha | developers.kite.trade → Profile (top right) → IP Whitelist → Update | Both | Primary required, secondary optional. One set covers every app on your developer account | Once per calendar week; takes effect instantly |
| FYERS | FYERS API Dashboard → Algo trading app → static IP, redirect URL, permissions → Activate (new App ID ends in 200) | Not stated in its support docs | Check your broker’s API page | Once in 7 days |
| Dhan | web.dhan.co → Profile → Get Trading & Data APIs → Add IP (or the Set IP API) | Both | One primary, one secondary | Locked for 7 days after you set it |
| Angel One | SmartAPI dashboard → Add App → Primary Static IP | Not stated in its notice | Primary required; secondary optional, for redundancy | Not more than once a calendar week |
| Upstox | My Apps → your Algo Trading App → Static IPs (or the Update Static IPs API) | Both | Primary required, secondary optional; set per user, not per app | Once a week; a change invalidates your current access token |
| Alice Blue, Shoonya | Check your broker’s API page | Check | Check | Check |
Sources: Zerodha and its FAQ, FYERS and its troubleshooting guide, Dhan and its API docs, Angel One’s SmartAPI notice, and Upstox.
Two Upstox quirks matter: it allows only one active API app per user, and every IP change forces a fresh login. At Zerodha, one IP set covers all your apps. For the full app setup at each broker, see our guides for Zerodha Kite Connect, FYERS, Dhan and Angel One SmartAPI.
Find the IP you’re actually sending from
Register the address your orders will really leave from. On the machine that will run your strategy (the server, not your laptop), run:
curl -4 https://api.ipify.org
curl -6 https://api6.ipify.org
The first prints your public IPv4 address; the second prints your IPv6 address, or fails if there isn’t one. If both come back, your code may reach the broker over either. Zerodha’s FAQ lists exactly this as a cause of rejected orders: requests going out over IPv6 while only IPv4 is whitelisted.
My advice: register the IPv4 address as primary and, if your broker accepts IPv6, the server’s fixed IPv6 as secondary. On a laptop, don’t register IPv6 at all, for the reason below.
Common problems and the fix
You’re on a laptop using a mobile hotspot. Mobile data connections share IPs through carrier NAT and change them constantly. Orders will be rejected, and if you registered that IP, you’ve used up your change for the week. Don’t send API orders over a hotspot.
You’re on a VPN. Your traffic leaves from the VPN’s exit IP, which ordinary VPNs share between many customers, so you can’t register it. A dedicated-IP VPN plan can work, but you’re trusting the VPN company never to reassign it.
The IP changed after a router reboot or power cut. That’s a dynamic IP behaving normally. With a weekly change limit, registering one “for now” can leave you stuck for days. Wait until you have a genuinely static address.
Your machine picked IPv6 on its own. Most operating systems prefer IPv6 when it’s available. Laptops also use temporary IPv6 “privacy” addresses that rotate, so the IPv6 you saw this morning may not be the one in use tomorrow. Force IPv4 in your code or network settings, or run from a server with a fixed IPv6.
You’re on the office network. Hundreds of colleagues share that IP and IT can change it without telling you. Don’t register it.
Orders are still rejected and everything looks right. Read the broker’s error first (Dhan returns DH-905 “Invalid IP” on a mismatch), compare the whitelisted IP character by character with what curl printed, then generate a fresh access token. Upstox requires one after any IP change.
My recommendation: one strategy vs several
If you write code and run one strategy, get a Lightsail-style server in Mumbai with its attached static IP. Five dollars a month plus GST is less than one bad fill on a missed exit. Register the IPv4 as primary and keep your laptop out of the order path entirely.
If you run several strategies on one account, you still want one server, not several. Every strategy on that account shares the registered IP and the same 10 orders-per-second budget anyway, so run them as separate processes on the one machine. Spreading them across a home PC, a laptop and a server just multiplies the ways an IP can go wrong. Use the secondary slot for a backup server in another availability zone only if a missed trading day would genuinely hurt. And if family members trade from the same box, file your broker’s family declaration rather than hoping nobody notices.
If you don’t write code at all, don’t rent a server. Pick a platform your broker has integrated, ask it the IP question, and spend the setup time testing the strategy instead. If you’re weighing INDfolio for that, the plans are on our pricing page.
Frequently asked questions
Do I need a static IP to fetch market data or check positions? No. Brokers apply the static IP check only to order requests: placing, modifying and cancelling orders, plus GTT at most of them. Quotes, WebSocket feeds, positions and the order book work from any IP.
Can I use the same static IP with two brokers? Yes. Zerodha’s FAQ says each broker whitelists IPs independently for its own accounts, so you register the same address separately with each broker.
Can two people share one static IP for algo trading? Only family members as SEBI defines them: spouse, dependent children and dependent parents. Each broker has its own process, usually a declaration in the API dashboard or an email from your registered address.
How often can I change my registered static IP? About once a week. Zerodha, Angel One and Upstox allow one change per calendar week; FYERS and Dhan allow one change every 7 days.
Does the static IP have to be in India? Zerodha’s team said in May 2025 that there’s no India-location requirement, and none of the broker notices I read mention one. A Mumbai server is still the sensible choice because it’s close to the exchange.
Put this into practice
Build and backtest your own strategy free — no coding, no card.
Related guides
Angel One SmartAPI Algo Trading: Python Setup for 2026
Get an Angel One SmartAPI key, register your static IP, log in with TOTP and place an order in Python. Plus the real rate limits and error codes.
10 min
Upstox API Algo Trading: Python Setup Guide for 2026
Upstox's API is free to use. How to create the app, get the daily access token, register a static IP and place v3 orders from Python.
11 min
Zerodha API Charges: What Kite Connect Costs in 2026
Kite Connect Personal is free; Connect is ₹500 a month per app. What each plan includes, the October 2026 credits rule, and one month of costs worked out.
9 min