# Freelancer Payment Platform
## Multi-Currency to M-Pesa Payments via Interledger Protocol
A complete payment platform that enables clients worldwide to pay Kenyan freelancers using any currency (USD, BTC, EUR, etc.) with automatic conversion and delivery to M-Pesa accounts, powered by Interledger Protocol and Rafiki.
---
## 🌟 Features
- **Multi-Currency Support**: Accept payments in USD, EUR, GBP, BTC, ETH, and more
- **Interledger Protocol Integration**: Efficient cross-ledger routing using ILP/Rafiki
- **M-Pesa Integration**: Direct disbursement to Kenyan mobile money accounts
- **Real-time Exchange Rates**: Automatic currency conversion at market rates
- **Transparent Fees**: Clear fee structure with no hidden charges
- **Secure Transactions**: Industry-standard encryption and authentication
- **User-Friendly Interface**: Simple, intuitive dashboard for clients and freelancers
- **Transaction History**: Complete audit trail of all payments
- **Role-Based Access**: Separate interfaces for clients, freelancers, and admins
---
## 🏗️ Architecture
### Technology Stack
**Backend:**
- Node.js with Express
- PostgreSQL database (Neon Serverless)
- Rafiki for ILP integration
- M-Pesa Daraja API
- JWT authentication
**Frontend:**
- Next.js 14+ (App Router)
- React
- Tailwind CSS
- Lucide React Icons
- Axios
**Infrastructure:**
- Local Node.js Runtime (No Docker required)
- Neon PostgreSQL
---
## 🚀 Quick Start
### Prerequisites
- **Node.js 18+** installed locally
- **Neon Account**: PostgreSQL connection string
- **M-Pesa Daraja API credentials** (sandbox or production)
### Installation
1. **Clone the repository**
```bash
git clone
github.com
cd freelancer-payment-platform
```
2. **Backend Setup**
```bash
cd backend
npm install
```
3. **Configure Backend Environment Variables**
Create `backend/.env` with:
```env
PORT=3001
NODE_ENV=development
DATABASE_URL=postgresql://user:password@neon-hostname/neond …