Go to the B2B signup page. Verify your email with a one-time code, set a password, then fill in your organization profile: name, SEBI registration number, BSE enlistment number, desired subdomain, and support contact.
You must sign up with a business/company email address (e.g. yourname@yourpractice.com) โ free personal email providers like Gmail, Yahoo, and Outlook are not accepted for B2B signup.
2Upload verification documents
You'll be asked to upload:
SEBI Registration Certificate
GST Certificate
PAN
Bank Account Proof
Aadhaar
A short live Video KYC (recorded in-browser โ hold up an ID and state your name/ID number aloud)
You can add or remove any of these documents later too, from Settings โ Verification Documents โ you're not locked to what you submit at signup.
3Wait for approval
A platform reviewer checks your submitted documents and either approves or rejects your organization. You'll be able to log in once approved.
4Set up your Organization Profile
In Settings โ Organization Profile, fill in your name, SEBI reg no, BSE enlistment no, logo, tagline, and brand color โ this is what your own clients see on your public landing page and in emails.
Tip: use "Auto-fill from a website or file" (or the same feature on the Legal & Compliance Documents page) โ upload a document like your SEBI certificate and AI will try to extract these fields for you to review before saving.
5Your own credentials (Digio, CVL KRA, Razorpay, PaRRVA, Resend)
Compliance rule for B2B tenants: client KYC/e-sign must run on your own vendor accounts โ the platform's shared account is for the default org only.
Every integration below lives in Settings. Leave a field blank to keep using the platform shared default (only until you configure your own โ B2B tenants should plan to use their own accounts).
What to configure
Where (Admin page)
What to fill in / Why
Digio (Aadhaar OTP e-sign)
Settings โ Your Own Digio Credentials
Client ID, Client Secret, Webhook Secret โ so clients sign under your own Digio account, not the platform's shared account.
CVL KRA (automated KYC lookup)
Settings โ Your Own CVL KRA Credentials
All 6 required together: Username, Password, POS Code, Base URL, API Key, AES Key โ partially filled = shared default fallback.
Your own Resend API key + verified email_from sender โ so Welcome Kit, OTP, and alert emails go out under your own name.
Agreement PDF
Settings โ Agreement / MITC PDF Template
Your own reviewed client agreement โ both Digio and consent-click signing use this same file.
Alternative zero-vendor-cost path: consent-click signing + manual KYC + Valid UPI โ you can switch between these at any step, independently for each client.
6Telegram, WhatsApp & email channels
Settings โ Channel Configuration โ trade calls, the Welcome Kit, and your inbox all connect from here.
Telegram โ get your own bot token (from @BotFather), register the webhook, then use "Detect My Groups" to map plan categories. Replies show up in the Telegram Inbox.
WhatsApp Business โ Phone Number ID + Access Token (Meta Business). Outbound/inbound messages appear on the WhatsApp Inbox page.
Resend email โ see the credentials step above; without this, no Welcome Kit email can go out (B2B tenants should configure their own account).
Owner Telegram chat id (optional) โ get a personal copy of every client's Welcome Kit sent to you as well.
In Settings, choose which payment method(s) your clients see:
Your own Razorpay account โ enter your Key ID/Secret/Webhook Secret so your clients' payments go directly into your own account, not a shared one.
Valid UPI โ a free, always-available option: set your UPI ID (must contain @valid, per SEBI's Valid UPI requirement) and upload your QR code. Clients pay directly and submit a UTR for you to verify manually.
8Upload your compliance documents
On the Legal & Compliance Documents page, upload your own reviewed Disclosures, Terms & Conditions, MITC, Refund Policy, Grievance Redressal, Privacy Policy, AML Policy, and Internal Policy. These are attached automatically to your clients' Welcome Kit emails once uploaded.
RA OS does not write this content for you โ these must be your own reviewed documents, since you are the registered Research Analyst responsible for them.
9Subdomain, custom domain & website content
The Domain & Microsite and Website Content pages โ your public site's URL, footer links, and text blocks.
Every organization gets a free subdomain by default (yourname.os.profitxresearch.com style). For a custom domain (whitelabel), enable the add-on in Settings โ Add-ons, then follow Domain & Microsite โ connecting a real domain needs DNS steps with your registrar and a manual Vercel step with the platform owner.
Website Content page lets you edit footer links and editable text blocks on your public site without code. Content Hub (platform owner org only) manages profitxresearch.com marketing CMS โ B2B tenants use Website Content for their own microsite.
Logo/favicon upload: Settings โ Branding โ upload the actual image file, don't paste a URL.
10Add plans and clients
Create your subscription plans in Plans, then either add clients manually in Client Master (Logs), or bring in an existing roster from prior software using Data Migration (clients, plans, and historical payments can all be imported).
When a client joins, they go through a sequential Sign Agreement โ KYC โ Payment flow. You control which method is used for each of the first two steps โ this is entirely your own choice as the registered RA, not something RA OS imposes on you:
Agreement signing: Aadhaar OTP e-sign via Digio (a paid, per-signature vendor cost), or RA OS's built-in "consent-click" method โ the client reviews the agreement, draws a signature, and RA OS generates a Certificate of Electronic Consent as the audit-trail record, at no per-signature vendor cost. SEBI accepts any legally verifiable signing method, not Aadhaar OTP specifically โ this is your own compliance judgment as the RA.
KYC verification: an automated instant lookup via CVL-KRA specifically (a paid, per-check vendor cost), or manual verification โ which works for a client registered with ANY KRA, not just CVL: you record what you personally checked (e.g. PAN + Aadhaar copy shared by the client) and the notes are saved to the same audit trail. Manual verification is your own liability as the RA โ RA OS never verifies KYC on your behalf either way, it only provides the tool and the record-keeping.
Combine Valid UPI (step 7) with consent-click signing and manual KYC and there is effectively no external vendor cost for onboarding a client โ you can still switch to the paid/automated options for any client, at any time. Every signed agreement (regardless of method) can be bulk-downloaded as a ZIP with an Excel index from Reports โ Bulk Signed Agreements, for your own audit records.
11Client onboarding โ admin walkthrough
Add clients from Client Master (Logs), share the signup link, and track every step โ why: SEBI's audit trail requires every stage to be recorded.
Create your Plans first โ category, segment, price, duration. These are exactly what clients see at signup.
Client Master (Logs) โ Add Client: email, plan, optional payment link. Why: a pre-added client is auto-linked when they sign up.
Send the client your public signup URL (yoursubdomain.../client/signup or your custom domain).
Watch the status badges on the CRM row: Agreement (Digio pending/signed or consent-click), KYC (CVL processing/verified or manual), Payment (Razorpay auto or UPI pending).
UPI verify: when a client submits a UTR, the CRM shows payment pending โ you verify it manually and activate the client. Why: Valid UPI has no automatic bank confirmation.
Once active, the Welcome Kit (Resend email + Telegram) goes out automatically โ invoice, signed agreement, and policies attached.
Use the Resend to Customer dropdown to resend the Welcome Email or Telegram link โ this does not trigger a new charge.
Telegram links always mint fresh โ a resend never reuses a stale cached invite link, so it can't silently go dead. If a Welcome Kit or Telegram notification ever fails to send, it now self-heals automatically in the background โ no admin click needed to retry it.
Telegram join detection: if an active client's onboarding timeline shows a Telegram link was sent but they haven't actually joined the group after a reasonable window, you'll see a ๐ bell alert and it's flagged on their Client Master onboarding-journey timeline โ so a delivery gap never goes unnoticed until a client complains.
12Daily operations (Dispatch, Compliance, Comms)
Your day-to-day work โ sending trades, updating compliance, and client communication.
Dashboard โ pending KYC, UPI payments, expiring subscriptions, and recent dispatches, all at a glance.
Trade Dispatch โ send recommendations (all/category/individual). Use the Schedule option for auto-dispatch at a future time. PaRRVA segments (Intraday/Single Stock/Derivative) are submitted from here too โ never touch the production PaRRVA logic itself; just set your own credentials in Settings.
Compliance Tracker โ Filing Calendar, Annual Audit Kit, Document Vault, and BSE Periodic Report data. Why: this collects the data you'll need for half-yearly filing well in advance.
Complaints โ log every investor complaint; this feeds both your public monthly disclosure and your BSE periodic report.
SEBI/BSE Circulars โ review new circulars and mark the ones relevant to you.
Communication Center โ send bulk email/Telegram/WhatsApp messages to active clients.
Telegram / WhatsApp Inbox โ view and reply to inbound messages.
Public Appearance Master โ log your TV/social/media appearances, for BSE periodic reporting.
Client Activity Log โ a single cross-client feed of every event (signup, agreement signed, KYC verified, payment, Welcome Kit sent, Telegram link sent, Telegram joined, portal logins), sortable and filterable with IST timestamps. Why: answers "who hasn't joined Telegram yet" or "who's actively using the portal" across your whole client base at a glance, instead of checking each client one by one.
Invite staff from the Team & Access page; secure your own account under Settings โ Security (MFA).
Admin โ full access including Settings credentials, billing, team management.
Moderator โ Client Master, Trade Dispatch, Reports, Communication, Compliance, Blog/Circulars โ but not Settings credentials, Platform Billing, the Team page, or permanent client deletion.
MFA (TOTP) โ Settings โ Security โ enroll in Two-Factor Authentication (Google Authenticator etc.). Why: your admin account holds Razorpay/Digio keys โ MFA is strongly recommended.
Alternate Login Emails โ Settings โ add extra verified emails to the same account.
14Trade Dispatch & scheduled dispatch
Send recommendations from Trade Dispatch โ targeting all clients, a category, or specific individuals. Use the Schedule panel to queue a dispatch for a future date/time (cron sends automatically). Use Compliance Tracker, Complaints, and Public Appearance Master for regulatory record-keeping.
15PaRRVA Verified Performance on site
Once you submit trade calls to PaRRVA (Trade Dispatch's Intraday/Single Stock/Derivative segments โ see the earlier step), you can show your SEBI PaRRVA-verified performance directly on your own public site. Enter your own PaRRVA Enrolment ID/Password under Settings โ Your Own PaRRVA Credentials, then turn on Settings โ PaRRVA Verified Performance โ Public Display.
Off by default for every organization โ nothing appears on your site until you switch it on. Real performance figures also only appear once PaRRVA has enough trade history to report (typically a few months after your first submissions) โ until then, your site shows an honest "building our verified track record" message instead of a blank or broken section.
16Social Media Auto-Posting โ getting your developer credentials
Settings โ Social Media Auto-Posting lets you connect unlimited accounts per platform (Facebook, Instagram, LinkedIn, Twitter/X, YouTube, Telegram) and post manually, on a schedule, or from an AI-drafted suggestion you approve. Every published post is automatically logged as a Public Appearance record, ready-made for your Reports exports (H1/H2 periodic and Annual Compliance Audit).
Same one-time external step already required for Digio/CVL KRA/Razorpay: RA OS cannot generate these credentials for you โ each platform requires you to register your own developer app directly with that platform. Below is exactly how, for each one.
Facebook (Page posts, Reels, Stories)
You need an existing Facebook Page (not a personal profile) for your practice.
In the app dashboard, add the Facebook Login and Pages API products.
Under Tools โ Graph API Explorer, select your app, select your Page, and generate a Page Access Token with the pages_manage_posts and pages_read_engagement permissions.
Note your Page ID (visible on your Page's About section, or via the Graph API Explorer).
In RA OS: Settings โ Social Media Auto-Posting โ Connect Account โ Facebook โ paste the Page Access Token and Page ID.
Instagram (feed, Reels, Stories)
Your Instagram account must be a Professional (Business) account, linked to the same Facebook Page above.
Reuse the same Meta App from the Facebook steps โ no separate app needed.
In Graph API Explorer, find your Instagram Business Account ID by querying your linked Page: GET /{page-id}?fields=instagram_business_account.
The same Page Access Token from the Facebook steps works for Instagram too.
In RA OS: Connect Account โ Instagram โ paste the Page Access Token and IG Business Account ID.
LinkedIn (Organization posts)
You need an existing LinkedIn Company Page for your practice, and you must be an admin of it.
Request access to the "Share on LinkedIn" / Community Management API product (LinkedIn reviews this request โ approval can take a few days).
Once approved, generate an Access Token via LinkedIn's OAuth flow (3-legged OAuth, w_organization_social scope).
Note your Organization URN โ format urn:li:organization:XXXXXXX, visible in your Company Page's admin URL.
In RA OS: Connect Account โ LinkedIn โ paste the Access Token and Organization URN.
Twitter/X
Go to developer.x.com โ apply for a developer account (free tier available, has a monthly post-write limit โ check current limits before relying on this for volume).
Create a Project and an App inside it. Under the app's User authentication settings, set permissions to Read and Write.
Under Keys and tokens, generate: API Key, API Secret, Access Token, and Access Token Secret (all 4 are required โ regenerate Access Token/Secret AFTER setting Read+Write permission, or they'll be read-only).
In RA OS: Connect Account โ Twitter/X โ paste all 4 values.
Under APIs & Services โ Library, enable the YouTube Data API v3.
Under APIs & Services โ Credentials โ Create Credentials โ OAuth client ID (type: Desktop app) โ note the Client ID and Client Secret.
Complete Google's OAuth consent flow once (as the channel owner) to get a Refresh Token โ the standard way is Google's own OAuth 2.0 Playground: enter your Client ID/Secret in its settings, authorize the YouTube Data API v3 scope, and exchange for a refresh token.
In RA OS: Connect Account โ YouTube โ paste the Client ID, Client Secret, and Refresh Token.
Telegram (as a marketing/broadcast channel)
Message @BotFather on Telegram โ /newbot โ follow the prompts to get a Bot Token.
Use a separate, new bot for this โ do not reuse your trade-dispatch bot token from Section 6, so a compromised marketing-post credential can never touch client trade delivery.
Add this new bot to your marketing channel/group and promote it to Admin.
Get the Chat ID โ the simplest way is to forward any message from the channel to @userinfobot, or check the bot's own getUpdates API response after posting once manually.
In RA OS: Connect Account โ Telegram โ paste the Bot Token and Chat ID.
This exact same process applies whether you are the default (B2C) organization or a B2B tenant โ the Settings page, the Connect Account form, and every step above are identical for every organization on RA OS. Only the credentials themselves are yours alone, never shared with any other organization.
17Educational CMS โ Courses & Mentorship
A separate, lighter offering from your regular trade-recommendation client roster: build and sell educational Courses (video, PDF, image, and link lessons, organized into modules) to your own students. Enable it from Settings โ Add-ons (โน499/month โ free for the default org).
Course builder โ /admin/educational-cms.html โ create courses, modules, and lessons; video lessons embed via privacy-enhanced YouTube, PDFs/images upload directly.
Separate student identity โ students sign up and log in through their own dedicated flow (/edu-signup.html, /edu-login.html: name/email/mobile/password + email-OTP verification), deliberately kept apart from your ra_os.clients roster, since course enrollment is not the RA advisory relationship.
Mentorship e-sign โ an optional "Educational Course Mentorship" consent step for enrollees, signed either by drawn signature or Digio Aadhaar OTP โ your choice of method, same as your regular client agreement options.
Dedicated payment gateway โ Settings โ Educational Billing: your own Razorpay + UPI credentials, kept completely separate from your RA-service payment account, so student course-fee money never mixes with client advisory-fee money.
Catalog & player โ students browse the published course catalog (/edu-catalog.html) and enroll with one click; lessons play through /edu-course.html.
Course revenue you collect from your own students still feeds into RA OS's existing revenue-share reporting (Platform Billing), same percentage as your regular client-fee revenue โ but the money itself is never collected by RA OS; it always lands directly in your own Educational Billing account.
18Your plan & pricing โ revenue-share model
RA OS does not charge a flat monthly SaaS fee. Instead, the platform fee is a small percentage of your own advisory revenue โ you only pay RA OS when you are actually earning from your own clients. The percentage tier is based on how many paid clients you have; each tier also has its own minimum monthly floor, in case your revenue-share amount in a given month is lower than the floor.
Your paid-client count
Platform fee
Minimum monthly fee
Up to 50 clients
2% of your advisory revenue
โน499 / month
51โ300 clients
3% of your advisory revenue
โน1,499 / month
Above 300 clients
3.8% of your advisory revenue
โน3,999 / month
Included at every tier, no extra cost: the full admin dashboard (Client Master, Trade Dispatch, Compliance Tracker, Complaints, Reports, Settings, Team & Access), your own client portal on your own subdomain, PaRRVA trade submission + verified public performance display, Social Media Auto-Posting (unlimited connected accounts, manual/scheduled/AI-drafted posts, automatic Public Appearance compliance logging), unlimited plans/clients/trade dispatches, and the free self-service Data Migration importer.
Optional paid add-ons (Settings โ Add-ons, toggle on only what you need): Whitelabel custom domain (free to enable, you bring your own domain), Scheduled automatic backups, Trade Reports โ Google Drive sync, NISM-XV + CPE Exam Prep for your team (โน1,499/year โ note: the RA-XV main exam mock test and its CPE renewal mock test are now free and public for anyone at /nism-prep.html, unlimited retakes, no login needed; this paid add-on additionally gives your team full study-module access and the complete question bank), Automatic/Scheduled Trade Dispatch, Market Watch Live Signal Analysis, Client Auto-Pay, Educational CMS โ Courses & Mentorship (โน499/month, see Section 17 above). Exact current pricing for each is always shown live on the Add-ons page in your dashboard.
Prefer a done-for-you setup instead of doing it all yourself? A one-time, optional full data-migration-and-setup service is available on request (see Section 19 below) โ this is never mandatory, and every add-on above stays purely opt-in.
19Platform Billing & Data Migration
The Platform Billing page shows your current client-count tier, your computed revenue-share fee for the period, and your full invoice/payment history โ there is no separate plan to "subscribe" to, since your fee is calculated automatically from your own paid-client count each period (see Section 18 above). On the Data Migration page, import clients/plans/payments as a CSV from your prior software โ a column-mapping step is included; migrated payments are excluded from the revenue-share calculation. This self-service import is free and always available.
Prefer not to do the migration yourself? The platform team can complete your full data migration and account setup for you, as a one-time paid service โ contact the platform team for pricing. This is entirely optional, never mandatory โ you can always do all of it yourself for free using the page above.
GST & Company Details (optional). Settings โ GSTIN for invoices; company name/CIN for Pvt Ltd/LLP.
20Bug report & fix approval
Sidebar โ Bug Report (Platform B2B section) โ upload a screenshot, add a description, and track your ticket.
From Bug Report in your admin sidebar (/admin/support-tickets.html): describe the issue, attach up to 5 screenshots (PNG/JPEG/GIF/WEBP), submit. Your org only sees its own tickets; the platform owner sees all.
Fix workflow (human-approved โ no auto-deploy):
pending approval โ approved for fix โ in progress โ fixed โ closed
B2B admin: submit a ticket โ wait โ confirm once it's fixed, or reopen it if it's still broken.
Platform owner: approve/reject from the Fix Approval Queue โ an agent session picks up the ticket โ marks it fixed.
Approved tickets record a fix_approved_at timestamp โ work begins in a Cursor/Claude agent session using the ticket ID; code is never deployed automatically.
21Admin portal โ what every page does
The sidebar tabs you'll see โ a B2B tenant gets the same practice tabs as a B2C admin, plus a Platform (B2B) section (User Guide, Bug Report, Billing, etc.).
Recommended for compliance โ the shared platform account is only meant for getting started; a B2B tenant should configure their own.
Strongly recommended for B2B tenants โ client e-sign and KYC must run under your own SEBI registration, not another RA's shared account. Settings has dedicated sections for each.
Does a bug fix deploy automatically?
No. The platform owner approves the ticket first; only then does an agent session implement the fix. This is a zero-downtime discipline โ sacred flows (onboarding, payments, trade dispatch) are never touched without approval.
Can I use my own domain instead of a subdomain?
Yes โ it's a paid add-on (whitelabel). Enable it in Settings โ Add-ons, then follow the steps on the Domain & Microsite page.
Do I have to use Razorpay?
No โ Valid UPI is a free alternative, and you can enable one or both. Custom/other payment modes may be added in future.
What happens if my documents are rejected?
You'll be notified and can re-upload corrected documents for another review.
Can I import my client data from another platform?
Yes โ the Data Migration page accepts a CSV/Excel export from any prior software (clients, plans, and historical payments), with a column-mapping step so it works regardless of the source system's format.
How do I show my PaRRVA performance on my own site?
Enter your own PaRRVA credentials in Settings, then switch on the "PaRRVA Verified Performance โ Public Display" toggle. It's off by default, and only shows real data once PaRRVA has enough trade history.
Is the NISM-XV / CPE mock test really free?
Yes โ the RA-XV main exam mock test and its CPE renewal mock test at /nism-prep.html are fully public and unlimited: no signup, no login, no payment, and no cap on retakes. Each attempt draws a fresh random set of questions from the full bank. The paid NISM-XV + CPE Exam Prep add-on (Section 18) is only needed for full study-module access and the complete question bank for your team.
More questions? See the Full B2B FAQ (English/Hindi + PDF), the User Guide PDF, or contact the platform team.