Static IP for Angel One SmartAPI

Since 1 April 2026, Angel One accepts SmartAPI orders only from the static IP registered on your API app. You need one fixed public IPv4 address that only you use, set as the primary static IP when you create the app, with your order calls sent through it. Angel One supports only IPv4 for now, so an IPv6 address won't work here.

Last checked against the broker's own docs on 31 October 2026

What Angel One checks

From Angel One's notice on SmartAPI changes and the SmartAPI team's forum announcement:

Why IPv6 won't work with SmartAPI (yet)

Two separate reasons. Angel One's console accepts only IPv4, and the API host itself, apiconnect.angelone.in, has no IPv6 address, so an IPv6-only exit can't reach it at all. The streaming host is the same. You can check:

dig +short apiconnect.angelone.in AAAA       # empty: no IPv6
dig +short smartapisocket.angelone.in AAAA   # empty: no IPv6

So for Angel One, take a dedicated IPv4. At TrueIP that's ₹200 a month plus GST, and the same address works with every other broker too.

How to register your IP with Angel One

  1. Get a fixed IPv4 address with its proxy details: host, port, username and password.
  2. Check the exact exit address: curl -x http://USER:PASS@HOST:PORT https://ifconfig.co
  3. Log in to the SmartAPI portal and create an app with that address as the primary static IP. Angel One's notice describes this as Add App, then entering the primary static IP.
  4. Use the new API key from that app. Keys created before static IP keys may not work for orders.
  5. Set up TOTP for your account in SmartAPI and keep the secret safe.

Send SmartAPI orders through the fixed IP

The official smartapi-python client's SmartConnect takes a requests-style proxies dict:

import os
import pyotp
from SmartApi import SmartConnect

PROXY = os.environ["PROXY_URL"]  # http://USER:PASS@HOST:PORT

obj = SmartConnect(
    api_key=os.environ["ANGEL_API_KEY"],
    proxies={"http": PROXY, "https": PROXY},  # smartapi calls leave from the fixed IP
)
totp = pyotp.TOTP(os.environ["ANGEL_TOTP_SECRET"]).now()
session = obj.generateSession(os.environ["ANGEL_CLIENT_CODE"], os.environ["ANGEL_PIN"], totp)

Generate the TOTP right before generateSession, and keep the machine's clock synced, because a drifting clock gives a wrong code. The full SmartAPI proxy guide on GitHub covers older client versions, a sample order and verification.

Common SmartAPI errors

For a step-by-step check of IP errors, see how to fix "IP not whitelisted" errors.

Angel One static IP: FAQs

Does Angel One SmartAPI support IPv6?

Not yet. The SmartAPI team says only IPv4 static IPs are supported for now, and the API host has no IPv6 address. Use a dedicated IPv4.

Can my family use the same IP on Angel One?

Angel One maps a static IP to one client at a time, but family members as SEBI defines family can share one through a written request to the broker.

How often can I change my Angel One static IP?

No more than once per calendar week.

Which TrueIP plan should I take for Angel One?

A dedicated IPv4 at ₹200 a month plus GST. IPv6 won't connect to SmartAPI.

Sources

Get your dedicated static IP

IPv6 ₹50 a month, IPv4 ₹200 a month, plus GST. Live in minutes, whitelisted once.

Get IPv4 · ₹200/mo + GSTGet IPv6 · ₹50/mo + GST

Other brokers

Zerodha Kite Connect

Zerodha Kite Connect accepts API orders only from a whitelisted IP. The rules, IPv4 or IPv6, where to add the IP, and Python code to route orders through it.

Upstox API

Upstox accepts API orders only from your registered static IP. The rules, IPv4 or IPv6, where to add the IP, and the Python SDK setup that avoids 407 errors.

Fyers API

Fyers accepts API orders only from the static IP on your Algo trading app. How the new app works, IPv4 or IPv6, and the Python setup for fyers-apiv3.

Flattrade Pi API

Flattrade needs a static IP to create an API key, and both the token and orders must come from it. The rules, IPv4 or IPv6, and the NorenRestApiPy proxy setup.