← All guides Guide · Broker APIs

Your bot can read the market but can't place orders? Check the static IP

Since brokers began requiring API orders to come from a registered static IP, a common failure looks strange: everything works except placing an order. Here is how we find the cause.

The symptom

Login works. Prices, positions and funds load. Then the first order is refused with an IP error. On Upstox the error is UDAPI1154.

The reason it looks healthy: the IP check applies to order calls (place, modify, cancel, GTT), not to reading data. A bot can run all morning and only fail at the moment it needs to trade.

Check 1: is the server using IPv6?

Most people register their server's IPv4 address. But if the broker's API has an IPv6 address and your server has IPv6, Linux will usually prefer IPv6. The broker then sees an address you never registered.

Read the error message closely. Some brokers say which address the request came from. Register that one, or make the server use the family you registered.

Check 2: is the address really yours?

Cloud servers get recycled IP addresses. If another account already registered your server's IPv4, the broker may refuse to add it to yours. A stable IPv6 address, or a separately bought static IP, gets round it.

Check 3: does the broker use a separate host for orders?

Some broker SDKs send order calls to a different hostname from everything else. That host can have its own network route, which may not work from your server even when the main API does. If orders time out while other calls are fine, test the order host on its own.

A safe way to test

Send an order that cannot become a real one, for example with an instrument key that doesn't exist. If the reply is an IP error, the IP check failed. If it is “invalid instrument”, the request passed the IP check and reached validation. Either way nothing is placed.

Two traps after a fix

What we build in

Every bot we hand over runs this order-path test after deployment and after any network change. If the IP check fails, it alerts you before the market opens instead of failing on the first trade.

General information from building and running these systems, not legal or investment advice. Brokers change their APIs and rules; check your broker's current documentation before relying on any detail here.

Want this handled in your own software?

Tell us what you trade and what you'd like the software to do. You'll get questions or a rough scope within one working day.

Get a project estimate