About TopUp
TopUp is a mobile wallet and multi-service app for users in Bangladesh. A Singapore-based fintech company launched it in 2017 and brought in TechCare as its technology partner. We owned the engineering end to end: architecture, backend, mobile apps, payment integrations, security and day-to-day operations.
The app started with one feature, mobile recharge. Over four years it grew to cover bus, train and movie tickets, utility bills, wallet-to-wallet transfers and cashback offers, all from one home screen. TopUp went live before bKash had an app, at a time when most mobile money in the country still ran through USSD menus on feature phones.
Performance Highlights (2017-2021)
2M+
Total App Installs
5 Crore BDT
Transaction Volume
(about CAD$600K)
55%
User Retention Rate
(consumer fintech typically sees 20-30%)
7
Service Categories, up from 1 at launch
11
Engineers at Peak
4 Years
Continuous Operation
The Challenges
Solutions & Impact
TechCare's Journey with TopUp
2017 - Ideation & MVP
The client came to TechCare with a plan for an app-first wallet in Bangladesh and no in-house engineering team. We designed the architecture to support many services later, then shipped an MVP with just one:
2018 - Product-Market Fit
Users came back to recharge week after week, which told us they trusted the app with their money. Once retention held, we added the first new services:
2019 - Super-App Expansion
With ticketing live, TopUp moved into everyday payments. Each new service brought new partners, and more points where a transaction could fail:
2020 - Scale & Reliability
Installs climbed toward 2 million. Money now moved between users as well as to partners, so fraud and failure handling became the main engineering work:
2021 - Operational Maturity
By 2021 TopUp ran seven service categories on the same platform it launched on. Our focus shifted to stability, compliance and operations:
Results & Impact
2 Million Installs
Grew from a recharge-only MVP to more than 2 million installs, in a market of roughly 55 million smartphone users at the time.
55% Retention
More than half of users kept using TopUp, about double the retention typical for consumer fintech apps.
One Service to Seven
Added ticketing, bills, transfers and cashback to the original architecture, with no platform rewrite between 10K and 2M installs.
5 Crore BDT Processed
Handled about 5 crore BDT in transactions across all services, with every payment matched against partner records.
Built Before the bKash App
Shipped an app-first wallet before the market leader had one, with no local playbook to copy.

Tech Stack, How We Built It

Systems Delivered, What We Built







System Architecture, How It Fits Together
Both clients, the React Native app and the admin web panel, talk to the backend only through the API gateway. The gateway checks the session, applies rate limits and routes each call to the right service. Redis sits in front of the database for sessions, OTPs, wallet balance reads and idempotency keys. Slow partner calls go through a queue so the app never waits on a bank or operator.
Clients
- TopUp Mobile AppReact Native: Android + iOS
- Admin Web PanelOps, support, finance
Backend Services
- Admin APIRefunds, disputes, reports
- User & Wallet ServicePIN, OTP, KYC, balance
- Service ModulesRecharge, Tickets, Bills, Transfers
- Reconciliation Engine
- Fraud & Risk Rules
- Cashback & Promotions
- RedisCache, sessions, OTP, idempotency keys
- Message QueueAsync partner calls, retries
- Primary DatabaseUsers, wallets, transactions, ledger
External Partners
- Payment GatewayBanks and cards
- Mobile Operators
- Bus, Train and Cinema Partners
- Utility Billers
- SMS OTP and Push
Transaction Workflow, How a Payment Moves
Every service in TopUp, from a 20 taka recharge to a train ticket, runs through the same payment path. That is what let the team add new services without touching the payment core.
- Mobile Recharge
- Bus Ticket
- Train Ticket
- Movie Ticket
- Utility Bill
- Wallet-to-Wallet Transfer
- Wallet balance
- Card or bank via gateway
- Success Confirm transaction Debit wallet or capture payment Apply cashback rules
- Timeout Retry with same idempotency key Partner response
- Failed Release lock Reverse or refund
Lessons for Fintech Founders
-
Build for how your users already pay
The most advanced stack or the most technical team will not win a fintech market on its own. What matters is the way people in your market already handle money and the habits they trust. Use your product the way a regular customer would, on their phone, at their pace, and judge every feature from their side. The satisfaction of working with sophisticated technology is not a reason to ship something.
-
Start with one feature and earn the next
TopUp launched with mobile recharge only. People trust a new money app with one small thing first. Expand only after they keep coming back.
-
Make every new feature easy to adopt
TopUp's early growth came from card holders who already paid digitally. Later features were harder for newer users to learn, and some existing features fell behind what users expected. Keep current features up to date before adding new ones, and teach each new one inside the app.
-
Abstract payment partners early
Every bank, operator and biller API behaves differently. Put one interface in front of all of them before the second partner arrives, not after the fifth.
-
Design for failure
Partners will go down and networks will drop. The user should always end up with a completed payment, a retry or a refund, never an unknown state.
-
Get reconciliation right before adding clever features
A cashback campaign brings users in once. Money that does not match the partner's records loses their trust for good.
| Do | Don't |
|---|---|
| Watch real users pay, in their own setting | Choose technology because it is new or impressive |
| Launch narrow and measure repeat use | Launch every service at once |
| Keep existing features current | Add features faster than users can learn them |
| Treat every payment as able to fail | Assume partner APIs will stay up |
| Reconcile daily against partner records | Leave mismatches for month-end |