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.

GolangPostgreSQLRedisPrometheusGrafanaNew RelicRedashMicroservices

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

POST/transactions

Create 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"
}
GET/transactions/:id

Fetch 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.