A comprehensive Farcaster MiniApp for seamless crypto payments, built on Base network with USDC integration.
- Send Money: Transfer USDC to phone numbers across multiple countries
- Pay Bills: Pay for goods, services, and bills using USDC
- Deposit/Buy: Purchase USDC using local currencies
- Payment Links: Generate shareable payment request links
- Real-time Rates: Live exchange rates for multiple currencies
- Multi-country Support: Tanzania, Kenya, Nigeria, Uganda, Ghana, and more
- Farcaster Integration: Native MiniApp experience within Farcaster
- Wallet Integration: Seamless connection with Farcaster custody wallets
- QR Code Generation: EIP-681 compatible QR codes for wallet scanning
- Transaction History: Complete payment tracking and history
- Responsive Design: Mobile-first, premium UI/UX
- Framework: Next.js 14 with App Router
- Styling: Tailwind CSS with custom animations
- Blockchain: Base network (Ethereum L2)
- Wallet: Privy Auth + Coinbase OnchainKit MiniKit
- Payments: Paycrest API integration
- Database: Prisma with PostgreSQL
- Deployment: Vercel
- Node.js 18+
- npm or yarn
- Farcaster account with custody wallet
-
Clone the repository
git clone https://github.com/0xMgwan/nedapayminiapp.git cd nedapayminiapp -
Install dependencies
npm install
-
Environment Setup Create
.env.localfile:# Privy Configuration NEXT_PUBLIC_PRIVY_APP_ID=your_privy_app_id PRIVY_APP_SECRET=your_privy_app_secret # Coinbase OnchainKit NEXT_PUBLIC_ONCHAINKIT_API_KEY=your_onchainkit_api_key # Paycrest API PAYCREST_API_KEY=your_paycrest_api_key PAYCREST_BASE_URL=https://api.paycrest.io # Database DATABASE_URL=your_postgresql_url # Farcaster MiniApp (Generated via npx create-onchain --manifest) FARCASTER_HEADER=your_farcaster_header FARCASTER_PAYLOAD=your_farcaster_payload FARCASTER_SIGNATURE=your_farcaster_signature NEXT_PUBLIC_URL=your_deployment_url
-
Database Setup
npx prisma generate npx prisma db push
-
Run Development Server
npm run dev
Open http://localhost:3001 to view the app.
/farcaster- Main MiniApp interface/payment-request- Payment request handler/.well-known/farcaster.json- Farcaster manifest
- MiniKitProvider: Farcaster MiniKit integration
- Premium UI Components: Custom buttons, tabs, and animations
- Payment Processing: USDC transactions on Base network
- Multi-currency Support: Real-time exchange rates
npx create-onchain --manifestnpm run buildnpm test| Country | Currency | Flag |
|---|---|---|
| Tanzania | TZS | πΉπΏ |
| Kenya | KES | π°πͺ |
| Nigeria | NGN | π³π¬ |
| Uganda | UGX | πΊπ¬ |
| Ghana | GHS | π¬π |
- Wallet Security: Farcaster custody wallet integration
- Transaction Signing: Real wallet signatures required
- API Security: Secure Paycrest API integration
- Environment Variables: Sensitive data protection
- Onramp: Buy USDC with local currencies
- Offramp: Convert USDC to local currencies
- Payment Processing: Handle bill payments and transfers
- Real-time currency conversion
- Multiple provider fallbacks
- Cached rates for performance
- Premium Animations: Smooth transitions and hover effects
- Dark Theme: Consistent with Farcaster design
- Mobile Responsive: Optimized for mobile devices
- Brand Integration: Base and USDC logos throughout
- Accessibility: WCAG compliant design
- Connect your GitHub repository to Vercel
- Set environment variables in Vercel dashboard
- Deploy automatically on push to main branch
Ensure all environment variables are set in your deployment platform.
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Live Demo: [Your Deployment URL]
- Farcaster Frame: [Your Frame URL]
- Documentation: [Your Docs URL]
Built by David Machuche
- Farcaster team for MiniKit
- Base network for infrastructure
- Coinbase for OnchainKit
- Paycrest for payment processing
Made with β€οΈ for the Farcaster ecosystem