E-Wallet & E-Remittance Platform
A large-scale digital wallet and money-transfer platform we worked on end to end: a Java microservice backend, a multi-provider payments engine, currency exchange, and a Flutter mobile app, all running on Kubernetes with full CI/CD.
A large-scale digital wallet and money-transfer platform we worked on end to end: a Java microservice backend, a multi-provider payments engine, currency exchange, and a Flutter mobile app, all running on Kubernetes with a full CI/CD pipeline.
The Brief
Moving money is unforgiving work. A payments platform has to be correct to the cent, secure by design, available around the clock, and able to plug into real banking and payment networks, all while supporting multiple brands and markets. The goal was to build an enterprise-grade e-wallet and e-remittance platform: customers hold balances and send money, the system clears payments through real banking partners, handles currency exchange, and enforces strict financial rules, with everything able to scale and be operated reliably in production.
What We Built
We delivered the platform as a large set of focused backend services, web back-offices, and a customer mobile app.
- Digital wallet: customer accounts and balances, with secure money movement between them.
- E-remittance: cross-border money transfer with currency exchange built in.
- Multi-channel payments engine: a pluggable payment-channel framework that integrates several banking and payment providers (including a ClearBank integration with webhook handling) behind one consistent interface.
- FX and exchange rates: dedicated services for live FX pricing and exchange-rate management.
- Rules engine: a configurable engine that enforces financial, compliance, and transaction rules.
- Security and auth: a dedicated authentication and authorization service protecting the whole platform.
- Back-office portals: web front-ends for administrators, agents, and corporate clients to manage users, orders, and operations.
- Supporting services: notifications, statistics, support ticketing, rebates, and system configuration.
- White-label support: the platform is built to serve multiple brands from one core.
- Mobile app: a Flutter e-wallet app for customers to hold balances, send money, and manage their accounts.
The Architecture
We built the backend as a Java microservice platform, where each domain (payments, orders, users, FX, rules, auth, notifications, and more) is its own service. Services communicate over gRPC, with shared protocol definitions compiled for both the backend and the Dart/Flutter mobile client, so the contract between server and app stays consistent.
A key design choice was the payment-channel abstraction: a single framework with interchangeable provider implementations (real banking partners and mocks for testing), so new payment providers can be added without touching the rest of the system.
The entire platform runs on Kubernetes across testing, staging, and production environments, deployed through a GitOps workflow (ArgoCD) with a Jenkins CI pipeline and Gerrit-based code review. This gives the platform the elastic scale, high availability, and controlled, auditable releases that a payments system demands.
The Stack
- Backend: Java (JDK 14), Gradle, Lombok, built as gRPC microservices.
- Mobile: Flutter (Dart), with gRPC client interfaces generated from shared protobuf definitions.
- Frontend: web back-office applications for admin, agent, and corporate users.
- Payments: a multi-provider payment-channel framework with banking integrations (e.g. ClearBank, with webhook handling).
- Data and pricing: dedicated FX pricing and exchange-rate services with JPA persistence.
- Infrastructure: Kubernetes across testing, staging, and production, with ArgoCD GitOps, Jenkins CI, and Gerrit code review.
The Outcome
We delivered an enterprise-grade payments platform capable of running a real digital-wallet and remittance business: customers move money and send remittances from a mobile app, payments clear through real banking partners, currency is exchanged in real time, and strict financial rules are enforced throughout. Built on a scalable Kubernetes foundation with full CI/CD, the platform is engineered for the reliability and security that payments demand.
A platform built for real money movement: secure, compliant, and engineered to scale.