A step-by-step guide to building automated investment advice in India. Eight stages, the options at each one, exactly how each step connects to the next, real costs, and what breaks. Written for someone who has not built this before.
Verified September 2026Free · No signupOfficial sources only
BeginnerStart here. No prior knowledge assumed.
How to use this page
This page walks you through building one product: software that tells someone what to invest in,
and then either helps them do it or deliberately does not. Goal in, portfolio out, rebalanced over
time.
The regulator here is SEBI, not RBI, and the single most important thing to
understand arrives before any code: the product most teams have in mind cannot be built by
one entity.
Watch out
Advice and execution were structurally separated, and it was deliberate. A registered investment adviser advises and may not execute. An Execution Only Platform executes direct mutual fund plans and may not advise. The free-advice-plus-one-tap-buy product that several Indian platforms offered before 2023 is not one regulated activity that got harder — it is two regulated activities that may not sit in the same entity. Everything else on this page follows from that sentence.
What you are actually building
Before anything else, work out which of these you are. The answer determines your registration,
your revenue model, your liability and roughly 80% of your architecture:
You are
You may
You may NOT
You are paid by
Investment Adviser (IA)
Recommend, plan, review
Execute
The client. Fee-only, capped
Research Analyst (RA)
Publish research, model portfolios
Give personalised advice
Subscription
Execution Only Platform (EOP)
Transact direct plans
Advise, or touch regular plans
AMCs or investors, by category
Distributor
Sell regular plans
Advise
Commission from the manufacturer
None of these
Publish general education
Anything a reasonable person reads as a recommendation
Nobody, safely
Note
“Robo-advisory” is not a registration category. There is no robo licence, no lighter-touch digital regime, and no threshold below which an algorithm counts as a calculator. SEBI regulates the activity, and a program that recommends securities to a specific person on the basis of their circumstances is giving investment advice regardless of whether a human read it first.
What this is not:
Not a way to avoid the fee cap. Advisory fees for individuals and HUFs are
capped, and that ceiling is the first number in the model. Build Sheet 07 works through why.
Not safer because the advice came from a model.Using AI increases your
responsibility; it does not share it. Step 6.
Not education because you called it education. Step 1.
The whole journey, in one table
#
Step
In plain words
1
Which entity are you?
And is what you are planning actually advice.
2
Register
IA, EOP, or both through two entities.
3
Onboard
KYC, agreement, fee disclosure.
4
Risk profiling
Capacity and tolerance are different things.
5
Recommend
And store what you excluded.
6
Deliver the advice
With the AI disclosure, and a human who owns it.
7
Execution
The wall, and how the client crosses it.
8
Review and audit
Two clocks, and a line-wise annual audit.
Note
Steps 1, 5, 7 and 8 are the skipped ones. Steps 3, 4 and 6 are the parts that look like a product and a vendor will sell you all three. The registration question, the exclusions record, the execution wall and the audit trail are what an inspection is about.
IntermediateBuild it. Pipelines, tools and working code.
Steps 1 and 2 — the perimeter, and registration
Step 1 — Is what you are building actually advice?
Three screen tests, and if any answer is yes you are probably in the advisory perimeter:
Does the output use anything you know about this specific user?
Would a reasonable user read it as a recommendation?
Would you be comfortable if a regulator saw it without the disclaimer?
The drift is always gradual and it is always the same sequence. A calculator gains a
“based on your answers” label. A fund table gains a default sort. A list gains a
“popular with people like you” badge. No single change looks like the moment you
started giving advice, and by the end you have.
Watch out
“For educational purposes only” is not a defence, and there is a large order saying so. SEBI's December 2025 action against an unregistered advisory operation impounded roughly ₹546 crore and imposed a market ban. The regulator's position is that a disclaimer does not change what an activity is — inside a course, a private group, a newsletter or a chatbot reply. If the label is doing the compliance work, there is no compliance.
Step 2 — Register, and budget properly for it
Item
Position
Supervisory body
IAASB — BSE Limited, appointed 25 July 2024 for five years. Your day-to-day counterparty, not SEBI
Capital
The old corporate net-worth requirement was abolished in December 2024 and replaced by a deposit held under lien in favour of IAASB
Qualification
Since November 2025, a graduate of any discipline with the required NISM certification may register. The finance-degree requirement is gone
Fee
₹15,000 registration, within 15 days of approval. Budget 3 to 6 months for the process
Corporatisation trigger
300 clients OR ₹3 crore in fees in a financial year, whichever comes first. Notify immediately, then 3 months to in-principle and 3 more to complete — onboarding continues throughout
Fee ceiling
₹1.51 lakh per client per year for individuals and HUFs, inflation-revised
If you also want to execute
A separate entity registered as an EOP. See step 7
Note
Depth on the IA framework — part-time IA, compliance officer eligibility, the perimeter of “investment advice”, the tooling and the data licensing trap — lives in Build Sheet 07 and is not repeated here. This page owns the workflow and the wiring.
Steps 3 to 5 — onboard, profile, recommend
Step 3 — Onboard
KYC, the advisory agreement, and the fee disclosure in writing before any advice. Nothing exotic,
and one thing worth building properly on day one: the client should be able to see the fee
they are paying as a rupee figure, not only as a percentage. Against a ceiling of
₹1.51 lakh a year, the absolute number is the one that gets questioned later.
Steps 4 and 5 — Profiling and the recommendation
Python — steps 4 and 5, profiling, the binding constraint, and the exclusions nobody stores
from datetime import date, timedelta
# STEP 4. TWO DIFFERENT THINGS, ROUTINELY COLLAPSED INTO ONE SCORE.
#
# CAPACITY = how much loss this person can absorb without the plan failing.
# Arithmetic. Horizon, income stability, dependants, emergency
# fund, the size of this pot relative to everything else.
# TOLERANCE = how much loss this person can live through without selling.
# Psychology. Measured by questionnaire, and questionnaires are
# optimistic on a day the market is calm.
#
# A single "risk score" that blends them is unusable, because the two failure
# modes are opposite: too much capacity wastes return, too much tolerance
# produces a complaint after a drawdown.
def risk_inputs(client):
capacity = score_capacity(client) # 1..7
tolerance = score_tolerance(client) # 1..7
required = required_for_goal(client) # what the GOAL demands
binding = min(capacity, tolerance) # never 'required'
return {
"capacity": capacity, "tolerance": tolerance,
"required": required, "binding": binding,
# The asymmetry that predicts complaints. Flag it, and record that
# the conversation happened.
"flag_review": tolerance - capacity >= 2,
"goal_unreachable": required > binding,
}
def resolve_goal(inp, client):
"""If the goal needs more risk than the client can bear, the GOAL changes
-- horizon, contribution or target -- not the portfolio. This is exactly
the constraint an optimiser will quietly relax if you let it."""
if not inp["goal_unreachable"]:
return {"action": "proceed"}
return {"action": "renegotiate_goal",
"options": ["extend_horizon", "raise_contribution", "lower_target"],
"not_an_option": "raise_risk_above_binding"}
# STEP 5. THE RECOMMENDATION, AND THE PART EVERYONE DROPS.
def recommend(universe, inp, policy):
included, excluded = [], []
for f in universe:
why = exclusion_reason(f, inp, policy) # ONE reason, the first that bites
(excluded if why else included).append({"fund": f["id"], "reason": why}
if why else {"fund": f["id"]})
return {
"as_of": date.today().isoformat(),
"binding_constraint": inp["binding"],
"universe_size": len(universe),
"included": included,
# "Why was this fund never recommended to this client?" has a correct
# answer and it CANNOT be recomputed later, because the catalogue, the
# policy and the client's profile will all have moved.
"excluded": excluded,
"policy_version": policy["version"],
"universe_snapshot_hash": sha256_of(universe),
}
# WHAT TO CHECK
# [ ] capacity and tolerance stored SEPARATELY, and both shown to the client
# [ ] 'required' is never a permission. If the goal needs more risk than the
# client can bear, the goal changes
# [ ] tolerance exceeding capacity by two bands or more is flagged, the
# conversation is had, and the fact that it was had is recorded
# [ ] store EXCLUSIONS, not just the recommendation. Cheap to write, and the
# difference between inspection-ready and inspection-panicked
# [ ] store the universe as it stood, not a pointer to a catalogue that
# changes weekly
# [ ] a risk profile has an expiry. So does a recommendation. They are not
# the same clock -- see step 8
The gotcha that separates a defensible product from a pretty one:store the exclusions. Every robo-advisor stores what it recommended. Almost none
stores what it ruled out and why, because at build time the excluded set looks like the absence of
data rather than data.
It is not. “Why was this fund never recommended to this client?” has a correct
answer, it is the question an inspection asks, and it cannot be reconstructed later
— the catalogue changes weekly, the policy changes quarterly, and the client’s profile
changes annually. A few kilobytes per recommendation buys an answer that no amount of effort
afterwards can.
Steps 6 to 8 — delivery, the wall, the clocks
Steps 6 to 8 — Delivery, the wall, and the two clocks
Python — steps 6 to 8, the AI disclosure, the execution wall, and two clocks
# STEP 6. DELIVERY, AND THE DISCLOSURE.
# SEBI (Intermediaries) (Amendment) Regulations, 2025 -- notified 10 February
# 2025 -- inserted Regulation 16C: a regulated entity is SOLELY liable for
# the AI/ML tools it uses, whether built in-house or bought. Liability covers
# data privacy and security, the integrity of the output, and compliance with
# all applicable law. There is no vendor to point at.
def deliver(advice, client, ai_used):
return {
"advice_id": advice["id"],
"delivered_at_ist": now_ist(),
"ai_disclosure": describe_ai_use(ai_used) if ai_used else None,
# Disclosing the EXTENT of AI use is the requirement. "We use AI" is
# not an extent. Which step, on what inputs, reviewed by whom.
"reviewed_by": advice["qualified_reviewer"], # a named person
"rationale_plain_words": advice["rationale"],
"rendered_document": advice["pdf_bytes"], # what they SAW
}
# STEP 7. THE WALL.
# An investment adviser may not execute. An Execution Only Platform may not
# advise. The client crosses between them; your code must not.
EOP_CATEGORY = {
1: {"registers_with": "AMFI", "agent_of": "AMC", "paid_by": "AMC"},
2: {"registers_with": "stock_exchange_EOP_segment",
"agent_of": "investor", "paid_by": "investor",
"base_minimum_capital_rupees": 10_00_000},
}
def handoff(advice, client, eop):
# Direct plans only. An EOP may not touch regular plans, and an entity may
# not be Category 1 and Category 2 at once.
assert all(f["plan"] == "DIRECT" for f in advice["included"]), "EOP: direct plans only"
assert eop["entity_id"] != advice["adviser_entity_id"], "advice and execution: separate entities"
return {
"action": "present_to_client_for_authorisation", # never auto-execute
"client_authorises": True,
"route": eop["entity_id"],
"adviser_receives_from_amc": 0, # fee-only. No commission, ever.
}
# STEP 8. TWO CLOCKS, AND THEY ARE NOT THE SAME CLOCK.
def clocks(client, advice):
return {
"profile_valid_until": client["profiled_on"] + timedelta(days=365),
"advice_valid_until": advice["as_of"] + timedelta(days=advice["shelf_life_days"]),
# Suitability can lapse with NOBODY transacting: the fund changed
# mandate, or the client's circumstances did. Both need a trigger.
"watch": ["mandate_change", "life_event", "drawdown_breach"],
}
def monitoring_record(run):
# Record the runs that found NOTHING. An absence of records is
# indistinguishable from an absence of monitoring, including to you.
return {"ran_at_ist": now_ist(), "clients_checked": run["n"],
"exceptions": run["exceptions"], "no_exception_is_a_result": True}
# WHAT TO CHECK
# [ ] the adviser entity receives nothing from any product manufacturer. Not
# a rebate, not a marketing fee, not a platform contribution
# [ ] no auto-execution. The client authorises, every time
# [ ] a fund changing mandate re-checks EVERY client holding it. Suitability
# regresses without anyone transacting
# [ ] glide paths beat annual reviews -- a yearly step-down is wrong for 364
# days and most wrong in the year before the client needs the money
# [ ] the AI disclosure names the STEP and the INPUTS, not the vendor
# [ ] the annual compliance audit is LINE-WISE against every provision, by a
# CA, CS or CMA. Build the evidence as you go or reconstruct it in March
The AI position, stated plainly because it is the opposite of what most teams
assume:using AI increases your responsibility, it does not share it.
SEBI’s position is that responsibility for AI-assisted advice sits with the adviser
irrespective of the scale and scenario of AI usage, that the integrity and transparency of
the derived advice must be ensured, and that the extent of AI use must be disclosed to the
client. Since 10 February 2025 that has had a regulation number:
Regulation 16C makes a regulated entity solely liable for AI and ML tools it uses,
whether developed in-house or procured.
Watch out
A fuller AI framework is coming and it is not final yet. SEBI put out a consultation on responsible AI in the securities market on 20 June 2025, comments closed 11 July 2025, and the Chairman has since signalled a tiered framework by purpose of AI use, with kill switches and human oversight. Principles trailed in the consultation: board-level governance with technically competent senior oversight, third-party model oversight, independent audits and periodic review, disclosure to clients where AI directly affects them — advisory is named — and testing in an environment segregated from live. Not final at the time of writing. Design to it anyway, because Regulation 16C already puts the liability on you and the tiering only decides how much evidence you have to keep.
The execution wall, in detail
This is the structural fact of the product, so it is worth being precise about what sits on each
side.
Category 1 EOP
Category 2 EOP
Registers with
AMFI
Stock exchange, EOP segment, as a stock broker
Acts as agent of
The AMCs
The investor
Integrates with
AMCs and their RTAs
The exchange platform
Paid by
The AMCs
The investor
Deposit
—
₹10 lakh base minimum capital, not additive if already a member in another segment
Both categories: direct plans only, and you may not be both. An EOP may not
provide services for regular plans at all, and Category 2 may not act as a transaction aggregator for
direct plans.
Note
The commercial consequence is the one to plan around. The pre-2023 Indian model was free advice subsidised by execution or distribution revenue. The separation removed the subsidy: the adviser is fee-only against a capped fee, and the execution platform cannot advise. If your plan assumes advice is a free acquisition channel for an execution business, it is a plan for a structure that no longer exists — and that was the point of the change, not a side effect of it.
What it costs
Robo-advisory — what it costs
Verified September 2026
IA registrationdirect
₹15,000 within 15 days of approval, plus a deposit held under lien in favour of IAASB since the corporate net-worth requirement was abolished in December 2024. Budget 3 to 6 months for the process itself.
A second entity, if you want to executedirect
An EOP registration. Category 1 through AMFI; Category 2 as a stock broker with a ₹10 lakh base minimum capital deposit, not additive if you are already a member in another segment. Two entities, two sets of filings, two boards.
The fee ceilingindirect
₹1.51 lakh per client per year for individuals and HUFs is the ceiling, and the realistic retail average is a fraction of it. It decides whether you can afford human oversight per client, which decides whether you can be advisory at all. Most Indian plans fail at this line rather than at the technology — worked through in Build Sheet 07.
The calculation layerdirect
Effectively free and should be built rather than bought. There is no meaningful optimiser market at Indian retail advisory scale. What a wealthtech platform actually sells is RTA plumbing, reporting and compliance workflow — evaluate it on that.
Market datadirect
Read the redistribution licence before you show a price to a client. A broker API licence generally covers your own use; showing that data to your clients is redistribution. Teams find this in diligence. Detail in Build Sheet 07.
Compliance auditdirect
Annual, line-wise against every provision, by a CA, CS or CMA, with adverse findings filed to timeline. Cheap if the evidence accumulates automatically; expensive if it is reconstructed in March.
AI, as a cost rather than a savingindirect
Regulation 16C makes you solely liable for a model you bought. Add independent review, the disclosure surface, segregated testing and the evidence trail to the subscription price before comparing it against a human.
Where to buy these: Wealth Advisory Build Sheet names every tool with its unit cost. Getting Access covers which ones you can sign up for today, which need a sales call, and which are licensed.
Note
The number that decides the business is clients per adviser. Everything above is fixed cost against a capped per-client fee, so the model lives or dies on how many clients one qualified person can oversee without the oversight becoming a rubber stamp. Work that number out in week one, the same way the Video KYC guide says to work out your audit rate — it is the ceiling on the business and almost nobody computes it until they hit it.
AdvancedShip it. Failure modes, thresholds and evidence.
Three versions you could build
Education, honestly
Build: calculators and explanatory content that use nothing about the
individual user, with no default sort, no personalised badge and no “based on your
answers”.
You get: a legitimate audience and no advisory perimeter. Run the three
screen tests every release, because the drift is gradual and nobody intends it.
Fee-only advisory
Build: IA registration → onboarding with the fee in rupees → capacity
and tolerance profiled separately → recommendations with stored exclusions → AI extent
disclosed and a named reviewer → client authorises execution elsewhere → two review clocks
→ evidence accumulating for the annual audit.
Trade: a capped fee against a defensible position. The economics are hard
and the compliance is tractable, which is the opposite of what most teams expect.
Advisory and execution, two entities
Build: the above, plus a separately registered EOP, with a handoff that
presents for authorisation and never auto-executes, and an adviser entity that
receives nothing from any manufacturer.
It breaks when: the two entities share a product team and the wall becomes a
diagram rather than a control. Assert it in code — the adviser entity id and
the execution entity id are different values, and a commission field on the adviser side is
hard-coded to zero.
Note
If you take one thing from this page: store what you excluded, and why. It costs a few kilobytes per recommendation, it is the question an inspection actually asks, and it is the one artefact here that cannot be reconstructed at any price after the fact.
What goes wrong
What goes wrong
Why
Fix
One entity doing advice and execution
Built to the pre-2023 model.
Two entities. Assert the ids differ in code.
Capacity and tolerance blended into one score
One number is easier to display.
Store and show both. The failure modes are opposite.
The optimiser relaxed the risk constraint
“Required” treated as an input.
The goal changes, never the binding constraint.
Cannot say why a fund was never recommended
Exclusions were never stored.
Store them at recommendation time, with the universe snapshot.
“We use AI” as the disclosure
Treated as a label rather than an extent.
Name the step, the inputs and the reviewer.
Vendor blamed for a model output
Procurement felt like risk transfer.
Regulation 16C: sole liability, in-house or bought.
Auto-execution on acceptance
It converts better.
Client authorises. Every time.
Suitability lapsed with nobody transacting
A fund changed mandate.
Mandate change re-checks every client holding it.
No record of monitoring that found nothing
Only exceptions were logged.
Log the run. Absence of records reads as absence of monitoring.
“Educational” content that personalises
Gradual drift, no single guilty release.
Three screen tests, every release.
Commission received on the adviser side
A platform rebate booked as revenue.
Fee-only. Hard-code the field to zero and test it.
This page is a guide, not a specification. Investment advice is a registered activity, the fee ceiling and the advice/execution separation are structural rather than negotiable, and the responsible-AI framework referred to here is a consultation. Nothing here is legal advice. Have your registration route, your advisory agreement and your execution handoff reviewed by qualified counsel before advising a single client.
Sources
Every figure, rule and date on this page, and where to check it. Entries are typed so you can see which are primary-sourced and which are industry reporting.
officialSEBI (Investment Advisers) Regulations and the 2024–25 amendments — the abolition of the corporate net-worth requirement in December 2024 and its replacement with a deposit held under lien in favour of the IAASB; BSE Limited appointed as IAASB on 25 July 2024 for five years; the ₹15,000 registration fee; the 300-client or ₹3 crore corporatisation trigger; the ₹1.51 lakh per client annual fee ceiling for individuals and HUFs; the November 2025 opening of registration to graduates of any discipline holding the required NISM certification; and the annual line-wise compliance audit by a CA, CS or CMA. www.sebi.gov.in
officialSEBI (Intermediaries) (Amendment) Regulations, 2025 — Regulation 16C — notified 10 February 2025 following a November 2024 consultation and the Board’s 208th meeting. A SEBI-regulated entity is solely liable for AI and ML tools it uses, whether developed in-house or procured, covering investor data privacy, the integrity of AI output and compliance with applicable law. Parallel amendments were made on the market infrastructure and depository side. www.sebi.gov.in
officialSEBI regulatory framework for Execution Only Platforms — circular SEBI/HO/IMD/IMD-PoD-1/P/CIR/2023/86 dated 13 June 2023, effective 1 September 2023, with the base minimum capital circular of October 2023. Category 1 registering with AMFI as agent of the AMCs; Category 2 registering as a stock broker in the exchange EOP segment as agent of the investor with a ₹10 lakh deposit that is not additive across segments; direct plans only; no regular plans; and no transaction aggregation for direct plans by Category 2. www.sebi.gov.in
officialSEBI position on advisory and execution segregation — the requirement that advisory and distribution be segregated at client level, and at group level for non-individuals, and that an individual may not provide advice and execution simultaneously — the basis for a robo-advisory platform needing a separate entity. www.sebi.gov.in
officialSEBI consultation paper on responsible AI in the securities market — released 20 June 2025 with comments closed 11 July 2025: governance by technically competent senior management, third-party model oversight, data governance, independent audits and periodic review, disclosure to clients where AI directly affects them including advisory services, testing in an environment segregated from live, and a tiered approach by purpose of AI use. STATUS: NOT FINAL at the time of writing; the Chairman has since signalled tiering with kill switches and human oversight. www.sebi.gov.in
officialSEBI enforcement on unregistered advisory — the December 2025 order impounding approximately ₹546 crore with a market ban, and the established position that a “for educational purposes only” label does not excuse unregistered advisory activity inside a course, a private group or a chatbot reply. www.sebi.gov.in
industryCommentary on the effect of the EOP framework on robo-advisers — the observation that the framework ended the combined free-advice-plus-execution model, so investors no longer obtain both from one platform. Interpretation of a regulatory change, not a figure.
industryReporting on SEBI’s forthcoming AI guidelines — the Chairman’s June and August 2026 remarks on a tiered responsible-AI framework and on SEBI’s own use of AI in surveillance. Speeches and reporting, not notified regulation — treat as direction.
Checked September 2026. The responsible-AI framework is a consultation, not a regulation. Regulation 16C is in force and already places the liability on you; verify the tiering before designing to it.
Ask an AI about this page
Opens your assistant with this page as the source, and a question rather than a summary. It will ask what you are building before it answers.