TradingView to ICICI Direct Copier: Easy Breeze in 7 Steps
Your TradingView strategy fires, and the slow part is still yours. You open ICICI Direct, find the contract and type the order while the premium moves. TPcopier connects TradingView to ICICI Direct so that step goes away. Its Indian TvCopier is a Windows program for your own PC or VPS. It takes each alert from TradingView and places the order through ICICI's Breeze API, from your registered static IP.
You need four things:
- A TradingView plan that sends webhook alerts. TradingView offers webhooks on its paid plans.
- Your own Breeze API app at ICICI Direct, with your static IP registered.
- One Windows PC or VPS with that IP, switched on during market hours, ideally with port 80 open to it.
- The Indian TvCopier and its licence key.
Why the order leaves from your own computer
SEBI's framework for retail algo trading has applied since 1 April 2026. Under it, a broker takes an API order only from a static IP registered to that client, and a family may share one. That rules out a cloud copier, because its server's address isn't yours. So TPcopier sells this as software. Your Breeze keys stay sealed on your machine. TPcopier.com checks the licence, and it only passes alerts on when TradingView can't reach your PC. The copier also stays far below 10 orders a second, the rate under which the exchange asks for no strategy registration.
How an alert travels from TradingView to ICICI Direct
When it can reach your PC, TradingView sends the alert straight to the program, with nothing in between. It takes three moves:
- TradingView posts the alert to the Webhook URL on the program's TradingView page,
http://<your public IP>/tv/<a long secret token>. - The program takes it on port 80. TradingView only sends webhooks to port 80 or 443, and the dashboard itself stays private on your PC.
- Then it finds the contract through Breeze and sends the order from your static IP.
This needs port 80 open to this machine. If TradingView can't reach it, nothing arrives, as step 5 explains. The program must also be running: an alert that arrives while it's closed never trades. If the listener can't start, say because another program already uses port 80, the TradingView page shows a red box saying "Not listening on port 80", with the reason.
Set up TradingView to ICICI Direct in 7 steps
1. Take the demo key
Open the Indian copier page on tpcopier.com and press Get the free demo. Once you have signed up, the Indian TvCopier card in your account has Get my free demo key and Download for Windows. The demo is the whole app. Later, when you pay with Binance Pay, the same key becomes a lifetime key. Sales are final, so test first; prices are on the pricing page.
2. Install and activate
Start the program on the machine with your static IP and paste your licence key. It needs Microsoft WebView2, and on Windows 10 it offers to install it.
The activation screen with the key box and this computer's name (example).
3. Register your static IP with ICICI
Create your Breeze API app at ICICI Direct and register the static IP of this machine. The program's Dashboard shows the public IP it sends from, with a Copy button. ICICI documents the API in its Breeze API reference; form details and any fees are on ICICI's own pages.
The Dashboard, with the Static IP band and its Copy button (example).
4. Add ICICI Direct
Open Accounts, press + Connect a broker and pick ICICI Direct (Breeze). Fill in App key, Secret key and Session token, as the next section explains. Press Save this account, then Test the connection. A working account answers "connected as" and your ICICI user name.
A new ICICI Direct account: the session token is the one that changes daily (example).
5. Open port 80
In the program, open TradingView and press Allow port 80 in Windows Firewall. If Windows asks whether the app may use the network, press Allow access. At home, forward port 80 on your router to this PC; on a VPS, open it in the provider's firewall too. The page then checks, on this PC, that the program is listening on port 80, that the firewall rule is there, and which public address the machine has. On a home Jio or Airtel line TradingView usually can't reach the PC at all, because the address is shared, so use a Windows VPS with a static IP.
6. Point the TradingView alert at the program
Copy the address under 1 The webhook URL on the program's TradingView page, marked DIRECT. In TradingView's alert dialog, open Notifications and paste it into Webhook URL. Then put your JSON in the Message box. TradingView's webhook help shows where both boxes are. Treat the URL as a password: keep it out of screenshots, and press Regenerate if it leaks.
7. Read one alert before the open
Paste a message under Try it before the market opens on the program's TradingView page and press Read it. You'll see how the app reads it, and nothing goes to ICICI.
Read it: the notes and the parsed order for an example alert, with nothing sent.
The Breeze login each morning
ICICI's session lasts one trading day, so log in on the Breeze login page each morning. Afterwards, the address bar holds an API_Session value of eight or nine digits. Paste that number into Session token as it is.
You don't need to convert it. Breeze doesn't sign requests with that number. Instead, the app swaps it at ICICI's customerdetails call for the real session token, then keeps that token for the day.
App key and Secret key come from your Breeze app registration, and they aren't part of the morning routine. The app never sends the secret itself, either. Each Breeze request carries a SHA-256 checksum of the time, the request body and your secret. That's why the program needs the secret, and why it stays on your computer.
Writing the alert for ICICI Direct
The message is JSON, and only JSON: the program refuses a plain-text alert and says why in the Signal Feed. Here's an example for a Bank Nifty put with a limit price and a stop. It shows the format; it isn't a trade idea.
{
"action": "BUY",
"symbol": "BANKNIFTY",
"strike": 52000,
"option_type": "PE",
"lots": 1,
"price": 310.5,
"sl": 262,
"source": "bnf breakdown"
}
Write the symbol the way the exchange does. The app also cleans TradingView's own forms, so NSE:RELIANCE becomes RELIANCE and NIFTY1! becomes NIFTY. At ICICI you never write a contract name, because Breeze has none for options. It names a contract by its parts: stock code, strike, call or put, and expiry. For the expiry, it asks ICICI's option chain which dates exist for that strike and takes the nearest one still open. If your alert names an expiry that ICICI doesn't list, the refusal quotes the dates it does list.
Shares need one more translation. ICICI's stock code isn't the NSE symbol. RELIANCE is RELIND at ICICI, for example, and ICICIBANK is ICIBAN. The app reads ICICI's Security Master file for that mapping and for F&O lot sizes, and it fetches a fresh copy every 12 hours. So your share alert still says RELIANCE:
{"action": "BUY", "symbol": "RELIANCE", "quantity": 20, "price": 2950, "source": "swing"}
If the file won't download, the app sends the NSE symbol and tries again ten minutes later. ICICI may refuse a share order in that gap.
To close a trade, send "action": "EXIT" with the same symbol, strike and option type. The app reads the position back from ICICI and cancels any order still working on that contract. Then it closes what ICICI shows as held.
How the order goes out at ICICI Direct
Breeze has no separate product word. An option always goes as options. For shares, the account's Product setting decides: Intraday goes as margin, and Delivery / carry goes as cash. The app looks options up on NFO and shares on NSE.
Breeze knows three order types: limit, market and stoploss. Its stop is a stop-limit, so the app sends an SL-M at its trigger price, because Breeze refuses a stop priced at zero.
Keep Convert market signals into protective limits on, as it is by default. Then an alert with no price goes as a LIMIT order 0.5% through the last price from Breeze's quote. If that quote fails, the order goes at market.
The tick size catch
One quirk belongs to ICICI alone. Breeze publishes no tick size, so the app borrows one from another broker's instrument file. That works once an account at another broker has resolved the same underlying since the program started. With ICICI as your only broker, the app rounds its own prices to two decimals. That covers protective limits and trailing stops, and the exchange refuses a price that's off the tick. Your alert's own prices go out as you wrote them, so keep them on the tick.
The sl in the alert becomes a real order only after you switch on Send the stop loss as a real order for the account. It's off by default. Once it's on, the stop goes in after the entry fills, never alongside it.
When ICICI Direct says no
| The Signal Feed says | What to do |
|---|---|
| the session token has expired - Breeze tokens last one trading day | Log in on Breeze again and paste the new number |
| ICICI Direct did not accept that API session number | Use today's API_Session number from the address bar |
| has no (date) expiry at ICICI Direct. Nearest: ... | Fix the expiry, or leave it out |
| ICICI Direct lists no ... contract | Check the strike exists on the exchange |
FAQ
Do I log in to ICICI Direct every day for TradingView alerts?
Yes. The Breeze session lasts one trading day. Each morning, log in on the Breeze page and paste the API_Session number into Session token. The App key and Secret key stay as they are.
Does TradingView to ICICI Direct meet SEBI's static IP rule?
That's what the design is for. Since 1 April 2026, a broker takes an API order only from a static IP registered to you. Here, the order leaves your own PC or VPS through your own Breeze app, from that IP.
Do I write RELIND or RELIANCE in the alert?
Write RELIANCE. The app reads ICICI's Security Master and swaps the NSE symbol for ICICI's own code, RELIND in this case. The same file gives it ICICI's F&O lot sizes.
What happens if my PC is off when an alert fires?
Nothing trades. With the program off, nothing takes the alert, and it doesn't trade later either. Keep the PC or VPS running through market hours.
Can it trade futures at ICICI Direct?
No. The app trades index and stock options and NSE cash equity. It refuses a futures alert in words, and nothing reaches ICICI.
Send your first TradingView to ICICI Direct alert on one lot
Create a TPcopier account and take the demo key from the Indian Copier page. Then send one alert at one lot before anything bigger. For calls from a channel rather than a chart, read Telegram to ICICI Direct. The Indian brokers overview compares all ten, and TradingView alerts to Zerodha covers Kite, and the Indian TvCopier setup guide shows every screen. For the alert format itself, see the TradingView webhook message for Indian brokers.
Risk warning: trading options and shares carries a high risk of losing money and is not suitable for everyone. Nothing here is investment advice.