AFRAMP is a blockchain payment platform designed specifically for the African market, enabling seamless conversion between local currencies and digital assets. We specialize in onramp (fiat-to-crypto) and offramp (crypto-to-fiat) transactions using African stablecoins and provide essential services like bill payments.
Built on the Stellar network with multi-chain compatibility, AFRAMP connects traditional African financial systems (like mobile money and local banks) to global blockchain ecosystems. Our platform tackles the high costs and slow speeds of cross-border payments by leveraging blockchain for near-instant, low-fee settlements.
- African Users & Diaspora: Send remittances, pay bills, and manage finances with minimal fees.
- Businesses & Developers: Integrate pan-African payments and treasury solutions.
- Contributors: Help build the future of African fintech with open, verifiable systems.
The AFRAMP frontend repository is organized for clarity and scalability:
Aframp/
├── public/ # Static assets
├── src/
│ ├── assets/ # Images, fonts, icons
│ ├── components/ # Reusable UI components (Buttons, Modals, etc.)
│ ├── contexts/ # React contexts (Auth, Wallet, Theme)
│ ├── hooks/ # Custom React hooks
│ ├── pages/ # Top-level page components (Dashboard, Onramp, Bills)
│ ├── services/ # API and blockchain service integrations
│ ├── styles/ # Global and module CSS/Tailwind config
│ ├── utils/ # Helper functions and constants
│ └── App.js # Main application component
├── .env.example # Environment variables template
├── package.json
└── README.md
Follow these instructions to get a local copy of the AFRAMP frontend up and running.
Ensure you have the following installed on your system:
- Node.js (v18 or higher) & npm
- Git
- A modern web browser
- (Recommended) A Stellar wallet browser extension (like Freighter)
-
Clone the repository and install dependencies:
git clone https://github.com/your-org/Aframp.git cd Aframp npm install -
Configure environment variables:
cp .env.example .env.local
Edit the
.envfile to set your configuration, such as the backend API URL and Stellar network (Testnet/Mainnet). -
Start the development server:
npm start
The application will open at
http://localhost:3000. -
Connect to the Backend: The frontend is designed to work with the AFRAMP backend services, which handle blockchain interactions, user KYC, and transaction processing. Ensure the backend services are running and the
REACT_APP_API_URLin your environment points to the correct location.
The onramp page lives at /onramp and assumes a connected Stellar wallet address is already stored in localStorage.
- Start the dev server (see setup above).
- Visit
http://localhost:3000/onramp. - Ensure
localStorage.walletAddressis set to a valid Stellar address (56 characters, starts withG).
No additional environment variables are required for the onramp page. Exchange rates are fetched from CoinGecko on the client.
- Fiat: NGN, KES, GHS, ZAR, UGX
- Crypto: cNGN, cKES, cGHS, USDC, XLM
- Bank Transfer: 0% processing fee
- Card Payment: 1.5% processing fee
- Mobile Money: 0.5% processing fee
- Wallet switching is a client-only selector and does not yet integrate with Freighter accounts.
- Exchange rates are best-effort with cached fallbacks on API failure.
- Run Unit Tests: Execute
npm testto launch the test runner. - Code Linting: Use
npm run lintto check code style and catch errors. - Build for Production: Run
npm run buildto create an optimized production build in thebuild/folder.
We welcome contributions from the community! To ensure a smooth process, please follow these guidelines.
- Fork the Repository: Start by forking the main AFRAMP repository to your own GitHub account.
- Create a Feature Branch: In your fork, create a new branch for your work (e.g.,
feat/add-new-componentorfix/transaction-bug). - Implement Your Changes: Write clear, well-commented code. Ensure your changes align with the project's architecture, which integrates with Stellar's ecosystem protocols (SEPs) for ramps and authentication.
- Test Thoroughly: Verify your changes work correctly and don't break existing functionality.
- Submit a Pull Request (PR): Push your branch to your fork and open a PR against the main repository's
developormainbranch. Clearly describe the problem and your solution.
- Title & Description: Use a clear title and provide a detailed description of the changes.
- Linked Issue: Reference any related GitHub issue.
- Code Quality: Code must pass linting checks and existing tests.
- Screenshots: For UI changes, include before/after screenshots or screen recordings.
We strive to maintain a respectful and inclusive environment. Please be constructive in discussions and reviews. Major feature proposals are best discussed by opening an issue first.
- Stellar Documentation: The foundation of our platform.
- AFRAMP Backend Repository: [Link to backend service repo]
- Live Application: https://app.aframp.com
- Verification Portal: https://verify.aframp.com (Live transaction explorer)
- Open an Issue: Use GitHub Issues to report bugs or request features.
This project is licensed under the Apache 2.0 License. By contributing, you agree that your contributions will be licensed under the same license.
Built for Africa, Verified by Blockchain. Onramp to the future. Offramp to opportunity. 🔗🌍