Invesstum
A mutual fund investing app backed by a direct BSE StAR MF integration.
Overview
Invesstum is a mutual fund investing app — onboarding, KYC, bank and nominee setup, SIPs, SWPs, mandates, goal planning, and portfolio tracking — backed by a NestJS middleware that integrates directly with BSE StAR MF, India's mutual fund distributor trading platform. Scheme master data is synced from Accord Fintech, and registrar data from CAMS, so the app always reflects current fund and folio information.
The challenge
BSE StAR MF's API is legacy SOAP/XML and pipe-delimited, demands JOSE-encrypted payloads and whitelisted IPs, and spans multi-step flows — UCC creation, mandate registration, order placement — that can't be called safely or practically from a mobile client. The proxy had to own that orchestration and keep credentials off the client entirely, while background jobs kept scheme data and cart-abandonment follow-ups running independently of user requests.
What I built
- NestJS middleware adapting BSE's XML/pipe-delimited payloads to and from JSON
- JOSE-based payload encryption for BSE's secure API mode
- Server-side orchestration of multi-step flows: UCC creation, mandate setup, SIP/SWP, order placement
- Scheme master sync from Accord Fintech and registrar data from CAMS
- BullMQ-backed queue for scheduled jobs, including cart-abandonment follow-ups
- React Native app covering onboarding, KYC, 2FA, mandates, goal planner, and portfolio/orders
Screenshots





Architecture
Engineering highlights
Protocol adaptation
Legacy SOAP/XML and pipe-delimited responses from BSE are normalised into typed JSON before they ever reach the client, so the mobile app only ever deals with one clean contract.
Server-side credential isolation
API credentials, member codes, and IP whitelisting requirements stay entirely on the backend — the mobile app never holds anything that could talk to BSE directly.
Multi-step orchestration
Flows like KYC-to-mandate-to-order span several sequential BSE calls; the middleware owns that sequencing so the client just sees a single request/response per step.
Results
KYC · SIP · SWP · Goals
Client features covered
Accord · CAMS synced
Reference data
JOSE-secured payloads
Encryption
Monkville
E-commerce · Shopify · Integrations