Overview
The Digital Wallet Platform is a production‑grade mobile‑money system that allows users to fund their wallets via multiple providers (M‑Pesa, Airtel Money, bank transfer, debit/credit card), withdraw to pre‑verified destinations, and transfer money internally. The platform enforces customisable spending rules and smart controls (Vacation Mode, Night Mode, Merchant‑Only Mode) while maintaining an immutable double‑entry ledger for every transaction.
Built with C# / ASP.NET Core on the backend and Flutter on the frontend, the system supports real‑time balance updates, fraud detection, sub‑wallet management, and detailed spending analytics.
Key Features
Phase 1 – Foundation
Secure registration with phone OTP, Argon2id‑hashed PIN, KYC document upload, and wallet creation.
Phase 2 – Money Movement
Multi‑source deposits, verified withdrawals (24‑hour cooling‑off), policy engine (2‑3 spending rules), regional hold & fraud OTP flows.
Phase 3 – Transfers & Smart Rules
Internal wallet‑to‑wallet transfers, recipient lookup, OTP‑gated large transfers, Vacation/Night/Merchant‑Only smart rules, real‑time SignalR notifications.
Phase 4 – Analytics & Admin
Spending overview cards, category pie charts, limit progress bars, paginated history with CSV export, sub‑wallet management, disputes, compliance reports.
🛡️ Security
JWT access/refresh tokens, device trust, PIN brute‑force lockout, HMAC‑validated webhooks, idempotency keys, advisory locks on all financial operations.
Architecture
Testing
Metrics
| Metric | Value |
|---|---|
| API Endpoints | 30+ across four API versions |
| Idempotent Money Operations | 100% |
| Balance Update Latency | Sub‑second via SignalR |
| Policy Engine | Up to 6 spending rules + 3 smart modes (pluggable) |
Project Gallery





