Digital finance platform work inside Amartha's inclusive financial ecosystem.
AmarthaFin E-Wallet
Architected and delivered a full e-wallet platform from scratch inside Amartha's broader digital finance ecosystem, with a strong focus on clean architecture, observability, migration safety, and reusable backend modules.
STAR Documentation.
Situation
Amartha publicly positions itself as a technology company building an inclusive digital finance ecosystem. Within that context, the wallet work needed to replace and extend existing financial flows while supporting growth, operational visibility, and safe migration from legacy systems.
Task
- Architect and deliver the backend foundation for the e-wallet platform.
- Improve observability and issue tracing across distributed services.
- Support the migration of users and transactions from the legacy savings platform.
Action
- Designed the service using clean architecture and modular backend components.
- Built reusable logging and monitoring modules to improve issue tracing and team productivity.
- Implemented real-time observability with Prometheus, Grafana, and New Relic APM.
- Optimized API endpoints and workflows to improve backend efficiency.
- Created Redash dashboards so operational teams could inspect transaction and user behavior more effectively.
Result
- Reduced future development overhead by 50% through cleaner architecture and modular delivery.
- Cut issue tracing time by roughly 75% by standardizing logging and monitoring modules.
- Migrated users and transactions from the legacy savings platform to the e-wallet system without major service disruption.
- Improved backend response efficiency through API and workflow optimization.
Results & Metrics
Development overhead reduction
50%
Issue tracing improvement
~75%
Migration stability
No major disruption
Technical Decisions
Use clean architecture for the wallet core
The platform needed to evolve safely over time, so separating delivery, use case, and data layers reduced future rework and kept business logic easier to test.
Treat observability as a product requirement
Financial systems are operationally sensitive, so proactive monitoring and reusable tracing modules reduced the cost of diagnosing incidents.
Design migration work alongside feature delivery
The wallet had to coexist with legacy flows, which made migration reliability just as important as net-new feature delivery.
Architecture Diagram
ERD
API Documentation
Base path
/api/v1/wallet
Auth
Bearer token
Rate limit
100 req/min
/transactionsCreate a wallet transaction request.
Auth: Required
Rate limit: 50 req/min
Example request
{
"wallet_id": "uuid",
"type": "topup",
"amount": 250000
}Example response
{
"status": "success",
"transaction_id": "trx_123",
"message": "transaction created"
}/transactions/:idFetch transaction detail and processing status.
Auth: Required
Rate limit: 100 req/min
Performance & Operational Notes
The project emphasized operational efficiency and troubleshooting speed more than public benchmark reporting.
Issue tracing
~75% faster
Operational visibility
Real-time dashboards + APM
Migration outcome
Stable transition
Security Measures
- Role-aware access control for sensitive financial workflows.
- Structured logging for critical transaction paths.
- Operational dashboards to detect failures earlier.
- Backend validation and safe workflow boundaries for transaction processing.
Testing Strategy
The work focused on modular service design, reusable monitoring, and safe migration support.
Coverage / confidence
Portfolio-documented approach
- Validation and business rule testing for wallet flows.
- Integration-focused verification around transaction migration.
- Monitoring and dashboard checks for production incident visibility.
Deployment Strategy
The platform work was delivered in an environment that required observability, safe rollout, and support for ongoing migration.
- Service delivery aligned with distributed backend components.
- Operational dashboards used as part of release confidence.
- Incremental migration strategy to reduce disruption risk.
Challenges Faced
- Balancing new platform development with legacy migration safety.
- Improving observability without slowing delivery.
- Keeping architecture modular while still meeting fintech delivery pressure.
Lessons Learned
- Observability should be designed as a product capability, not as an afterthought.
- Migration strategy deserves architectural attention as early as the first system design discussion.
- Reusable internal modules can create major compounding gains for backend teams.
Related ADRs
adr-clean-architecture-wallet • Accepted
ADR-001: Use Clean Architecture for Wallet Core Services
Use clean architecture boundaries so wallet business rules remain isolated from delivery and infrastructure layers.
adr-observability-first • Accepted
ADR-002: Build Reusable Observability Into Financial Backend Work
Standardize reusable logging and monitoring modules and connect them to dashboards and APM.