Stellar-powered financial infrastructure for African businesses.
AfriDollar is a comprehensive financial infrastructure platform built on the Stellar blockchain, designed to provide African businesses with access to digital dollars, transparent foreign exchange services, and fast cross-border payments. The platform leverages USDC on Stellar, compliant asset issuance, and interoperable payment rails to help businesses reduce currency volatility risks, access USD liquidity, and settle transactions in seconds.
To make digital dollar access and cross-border payments seamless, transparent, and accessible for businesses across Africa.
To build compliant and scalable financial infrastructure using Stellar that enables African businesses to transact globally with speed, reliability, and low cost.
- Business Wallets: Self-custodied Stellar wallets designed for businesses
- Treasury Management: Digital dollar treasury management using USDC
- FX Conversion: Conversion between local currencies and USDC with transparent exchange rates
- Payroll Infrastructure: Payroll distribution in USDC and local stable assets
- Cross-Border Payments: Infrastructure for supplier and international settlement payments
- Compliance Layer: Authorization flags, clawback functionality, KYC/AML verification
Frontend → Backend Services → Stellar Infrastructure
↓
Treasury & Compliance Layer
↓
Banking Integrations
| Layer | Technology |
|---|---|
| Frontend | Next.js 14, React 18, TypeScript, Tailwind CSS |
| Backend | Express.js, TypeScript, REST APIs |
| Blockchain | Stellar SDK, Soroban SDK, Stellar Horizon APIs |
| Database | PostgreSQL, Redis |
| Containerization | Docker |
| Infrastructure | Cloud Services |
afri-dollar/
├── apps/
│ ├── backend/ # Express.js backend API
│ └── frontend/ # Next.js frontend application
├── packages/
│ ├── database/ # Shared database configurations and migrations
│ └── shared/ # Shared utilities and types
├── .github/ # GitHub workflows and configurations
└── docs/ # Additional documentation
- Node.js >= 18.0.0
- npm >= 9.0.0
- PostgreSQL
- Redis
- Docker (optional, for containerization)
- Clone the repository:
git clone https://github.com/0xdevmes/afri-dollar.git
cd afri-dollar- Install dependencies:
npm install- Set up environment variables:
cp .env.example .envConfigure the required environment variables in .env:
# Database
DATABASE_URL=postgresql://user:password@localhost:5432/afridollar
REDIS_URL=redis://localhost:6379
# Stellar
STELLAR_NETWORK=testnet
STELLAR_HORIZON_URL=https://horizon-testnet.stellar.org
STELLAR_SECRET_KEY=your_secret_key
# API Keys
CIRCLE_API_KEY=your_circle_api_key
REHIVE_API_KEY=your_rehive_api_key
# JWT
JWT_SECRET=your_jwt_secret- Set up the database:
npm run db:migrate
npm run db:seed- Start the development servers:
npm run devThis will start both the frontend (http://localhost:3000) and backend (http://localhost:3001) servers.
npm run dev- Start development servers for all apps and packagesnpm run build- Build all apps and packages for productionnpm run test- Run tests across all packagesnpm run lint- Run ESLint across all packagesnpm run format- Format code with Prettiernpm run format:check- Check code formattingnpm run type-check- Run TypeScript type checking across all packages
This project uses Turborepo for monorepo management. Each app and package can be developed independently:
# Run specific app
npm run dev --filter=backend
npm run dev --filter=frontend
# Build specific app
npm run build --filter=backend
npm run build --filter=frontendThe project uses Husky for Git hooks and lint-staged for pre-commit checks:
- ESLint for linting
- Prettier for code formatting
- Commitlint for commit message conventions
- TypeScript for type checking
Follow the Conventional Commits specification:
feat: add new feature
fix: fix bug
docs: update documentation
style: format code
refactor: refactor code
test: add tests
chore: update dependencies
The backend API runs on http://localhost:3001 in development.
Key endpoints:
GET /health- Health check endpointGET /api/v1- API informationPOST /api/v1/auth/login- User authenticationPOST /api/v1/wallet/create- Create walletGET /api/v1/wallet/balance- Get wallet balancePOST /api/v1/transactions/send- Send transaction
For detailed API documentation, see apps/backend/README.md.
The frontend application runs on http://localhost:3000 in development.
For detailed frontend documentation, see apps/frontend/README.md.
- USDC on Stellar: Stable digital dollar access, treasury operations, cross-border settlement
- SEP-24: Deposit/withdrawal interoperability, fiat on/off-ramp integrations
- Stellar Classic Assets: Compliant local currency asset issuance
- Stellar Asset Contracts (SAC): Smart contract compatibility
- Soroban: Programmable financial logic and automation
- Testnet: Used for development and testing
- Mainnet: Production deployment (future)
- Encrypted API communication
- Secure wallet management
- Multi-layer authentication
- Infrastructure monitoring
- Transaction auditing
AfriDollar maintains compliance through:
- KYC/AML procedures
- FATF-aligned controls
- Transaction monitoring
- Asset authorization controls
- Clawback functionality where required
For detailed security information, see SECURITY.md.
- Wallet infrastructure
- USDC integrations
- Internal ledger synchronization
- Basic treasury dashboard
- Testnet asset issuance
- SEP-24 integration
- Stable asset issuance
- Circle API integration
- Compliance systems
- Soroban compatibility
- Mainnet deployment
- Business onboarding
- Payroll-as-a-Service
- Treasury automation
- Local banking integrations
We welcome contributions! Please see our contributing guidelines for details.
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'feat: add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
- Eleazar Musa - Founder & Software Engineer
- Ebube Ebuka Onuora - CEO / Founder
- Jethro Adamu - CTO / Co-Founder
This project is licensed under the MIT License - see the LICENSE file for details.
For support, email dev.mes.anonfedora@gmail.com or open an issue in the repository.
- Stellar Development Foundation
- Circle
- The open-source community