Preparing to comply with SEBI's retail algo rules (Static IP, ratelimits, order types)

We have published a detailed update regarding the new algo circular and related changes in the Kite Connect forum.

This includes important information on static IP registration, upcoming changes effective April 1, and API-related requirements.

Kindly refer to the thread below for complete details and post your queries there.

5 Likes

Hello @nivas_k , @Matti

1)how do we check if the system works fine post registering ip .Please don’t expect us to test it directly live in markets . ( Can you provide a page on kiteconnect account which logs the ip from where orders are coming. It will make it robust to reconcile and also update manually for future cases during live market hours )

2)There has been some restriction on placing market orders and stop loss market orders via api. It has been told that api users will need to pass market protection while punching orders. Issue is the latest python kiteconnect library does not have market protection feature yet. . What does this mean for people using official python kiteconnect library ? . Will market protection be default applied on such orders?

1st april is quite nearby. Can someone please confirm on the above points asap so necessary steps can be taken. Thanks

2 Likes

Is IPV6 supported?
“Market orders will require market protection. Orders placed with market protection set to “0” will be rejected.” why?
You said that the post will be comprehensive enough but what is this?

Static ip will have people moving to cloud services, where they have to store API keys… instead of their own devices. What a stupid decision by SEBI.

1 Like

I have configured IP in profile page.
Is there any API, i can call from the my System to check whether the IP is configured correctly ?

eg. GET /static_ip/config

When called from correct system, It should return.

{  "status": "success",  "data": "The static IP (x.x.x.x) configured is valid."}

When called from different system, i should return error.

{  "status": "error",  "data": "The static IP (x.x.x.x) configured is not valid. Your current IP is (y.y.y.y)"}

I do not want to check this configuration in live orders.
Hoping for a solution before enabling the restriction.

2 Likes

Why not make live dummy orders like buy order hdfcbank for 100 rupees? The ip validation if any should come before order is passed to exchange.

Yes, this is a valid concern. The risks around storing API keys and running trading setups on cloud environments are often underestimated—especially by non-IT users. Even within the IT community, misconfigurations and security gaps are quite common.

If this rule effectively nudges users toward static IP setups via ISPs or cloud infrastructure, there needs to be clearer guidance on the associated risks. For example, exposing a home/static IP without proper safeguards can increase vulnerability—not just for trading accounts, but for broader cyber threats affecting individuals and their families.

While solutions exist to mitigate these risks (including managed environments), the current approach by SEBI doesn’t feel very trader-friendly unless accompanied by better education and security standards.

2 Likes

@Matti

Can we have something like this if not now but soon in coming weeks. This would make automation relatively robust if ip were to change even during live market hours.

@BB789 It is better to check config via a separate validation API than using Order API.
You cannot test dummy order every time an IP is changed.

Also, you do not need to wait for the market to open to check the IP configuration.
Order API will work only when market is open.
Validation API should work at any time of the day.

Hope i have addressed your query.

3 Likes

Yes.

Market protection set to 0, considered as a market order, which is not allowed via API. 1 = 1%.

your API doesn’t have the market_protection feature to pass… you have added that in your documentation, but the functionality is not available in python library. How we are going to place order now ?

your document at t.co/Nh47bAXSoS says, we need to pass paramter “market_protection” along with the API request, however the same parameter has not been implemented yet in your python library at t.co/TziMZLFkIR

3 Likes

@Ankit_Prajapati, could you recheck now? The library has been updated.

@Arockiya_Raja @Matti

For placing SL-M orders ,does market protection variable needs to be assigned from april 1st or is it unchanged?

Thanks

I asked ‘why’ not ‘how’.

This is the rule for algos. Exchanges have never allowed market orders for institutional algos either. Retail algos weren’t formally recognised until now. Now that they are, the same rule applies.

SLM needs to be placed with market protection.

@Arockiya_Raja @Matti

I am on previous version of pykiteconnect.
I dont use market orders.

Is there any impact on Limit or SL-Limit ? Can i continue with below ?

kiteconnect 5.0.1

No changes to Limit or SL-L.

1 Like

Hopefully, new restrictions will be activated tomorrow by Zerodha, so that we can atleast do some kind of testing with AMO before April 1st.

Yup, the plan is to take the changes live tomorrow.

1 Like