# 🌍 East Africa Cross-Border Payment Router
A production-style REST API and web app that routes cross-border payments across East Africa — with **live FX conversion**, **smart provider routing**, **multi-currency wallets**, and **transaction settlement**, backed by a PostgreSQL database.
> Built to simulate the real problem of fragmented mobile money systems across Kenya, Uganda, Tanzania and Rwanda.
## 🚀 Live Demo
🔗
east-africa-payment-router.…
Try it directly in your browser — no setup needed. Convert currencies, route payments, create wallets, send money, and view transaction history all from the UI.
## 💡 Problem It Solves
Sending money across East Africa is fragmented — M-Pesa Kenya, Airtel Uganda, M-Pesa Tanzania, and MTN Rwanda all operate as separate, disconnected systems. This project simulates a unified router that automatically:
- Converts between currencies using **live exchange rates**
- Picks the correct mobile money provider for each country
- Settles the transaction and records it permanently
- Lets users hold balances in multiple currencies via wallets
## ✨ Features
- 💱 **Live FX Conversion** — real-time exchange rates via ExchangeRate API, with caching
- 🗺️ **Smart Payment Routing** — automatically matches currency to mobile money provider
- 💸 **Settlement Engine** — generates a full transaction record with a unique ID
- 👛 **Multi-Currency Wallets** — create wallets, top up, and send between wallets
- 📋 **Transaction History** — every transaction persisted in PostgreSQL and queryable
- 🔐 **API Key Authentication** — protected endpoints, just like real fintech APIs
- ✅ **Input Validation & Error Handling** — rejects invalid currencies, negative amounts, same-currency transfers
- 🖥️ **Interactive Web UI** — test every feature without Postman or curl
## 🔧 API Reference
All `/api/v1/*` routes require an `x-api-key` header.
| Method | Endpoint | Description |
|--------|----------|--------------|
| GET | `/` | Health check |
| …