BlinkPay is a revolutionary payment platform built on Solana that enables walletless payments through Solana Blinks. Users can make payments without installing wallets, while merchants can accept Solana payments seamlessly.
- π Walletless Payments: Pay with Solana Blinks without installing wallets
- πͺ Merchant Dashboard: Complete merchant onboarding and management
- β‘ Real-time Updates: Live payment status and transaction tracking
- π± Mobile-First: PWA support with offline capabilities
- π Secure: Production-grade security with encrypted key storage
- π° Multi-token Support: USDC, SOL, and any SPL token
- βοΈ Anchor Smart Contracts: Rust-based Solana programs
- π Real-time WebSocket: Live payment updates
- π± PWA Support: Installable web app
- π‘οΈ Error Boundaries: Robust error handling
- π§ͺ Testing Suite: Comprehensive test coverage
- π³ Docker Deployment: Production-ready containerization
- Walletless Payments: Pay with Solana Blinks without installing wallets
- Merchant Dashboard: Complete merchant onboarding and management
- Real-time Updates: Live payment status and transaction tracking
- Mobile-First: PWA support with offline capabilities
- Secure: Production-grade security with encrypted key storage
- Multi-token Support: USDC, SOL, and any SPL token
- Anchor Smart Contracts: Rust-based Solana programs
- Real-time WebSocket: Live payment updates
- PWA Support: Installable web app
- Error Boundaries: Robust error handling
- Testing Suite: Comprehensive test coverage
- Docker Deployment: Production-ready containerization
βββββββββββββββββββ βββββββββββββββββββ βββββββββββββββββββ
β Frontend β β Backend β β Solana β
β (Next.js) βββββΊβ (Node.js) βββββΊβ Blockchain β
β β β β β β
β β’ React UI β β β’ Express API β β β’ Smart Contractsβ
β β’ PWA Support β β β’ WebSocket β β β’ PDAs β
β β’ Mobile-First β β β’ JWT Auth β β β’ Events β
βββββββββββββββββββ βββββββββββββββββββ βββββββββββββββββββ
- Next.js 14: React framework with SSR/SSG
- TypeScript: Type-safe development
- Tailwind CSS: Utility-first styling
- Solana Wallet Adapter: Wallet integration
- Heroicons: Beautiful icons
- PWA: Progressive Web App capabilities
- Node.js: JavaScript runtime
- Express: Web framework
- TypeScript: Type-safe development
- WebSocket: Real-time communication
- JWT: Authentication
- PostgreSQL: Database (optional)
- Solana: High-performance blockchain
- Anchor: Solana program framework
- Rust: Smart contract language
- SPL Tokens: Token standard
- Node.js 18+
- Rust 1.70+
- Solana CLI 1.16+
- Git
- Clone the repository
git clone https://github.com/your-org/blinkpay.git
cd blinkpay- Install dependencies
# Frontend
cd frontend
npm install
# Backend
cd ../backend
npm install
# Smart contracts
cd ../contracts
npm install- Environment Setup
# Copy environment files
cp frontend/.env.example frontend/.env.local
cp backend/.env.example backend/.env- Start development servers
# Terminal 1: Frontend
cd frontend
npm run dev
# Terminal 2: Backend
cd backend
npm run dev
# Terminal 3: Smart contracts
cd contracts
anchor build
anchor test- Walletless Login: Scan QR code or click Blink link
- Make Payment: Enter amount and confirm
- Real-time Updates: See payment status live
- Mobile App: Install as PWA on mobile
- Register: Complete merchant onboarding
- Dashboard: View payments and analytics
- Settings: Configure webhooks and API keys
- Analytics: Track revenue and transactions
blinkpay/
βββ contracts/ # Solana smart contracts
β βββ programs/
β β βββ blinkpay/
β βββ tests/
β βββ Anchor.toml
βββ backend/ # Node.js API server
β βββ src/
β β βββ routes/
β β βββ services/
β β βββ utils/
β βββ package.json
βββ frontend/ # Next.js web app
β βββ src/
β β βββ components/
β β βββ pages/
β β βββ hooks/
β β βββ lib/
β βββ package.json
βββ docs/ # Documentation
cd contracts
anchor build
anchor test
anchor deploycd backend
npm run dev
npm run test
npm run buildcd frontend
npm run dev
npm run test
npm run build# Smart contracts
cd contracts && anchor test
# Backend
cd backend && npm test
# Frontend
cd frontend && npm test# Frontend coverage
cd frontend && npm run test:coverage
# Backend coverage
cd backend && npm run test:coverage# Build and start all services
docker-compose up -d
# View logs
docker-compose logs -f
# Stop services
docker-compose down# Build for production
npm run build
# Start production server
npm start// Walletless login
POST /api/auth/blink-login
{
"merchantId": "string"
}
// Response
{
"sessionId": "string",
"qrCode": "string",
"blinkUrl": "string"
}// Create payment
POST /api/payments/create
{
"amount": 25.00,
"token": "USDC",
"merchantId": "string"
}
// Response
{
"paymentId": "string",
"blinkUrl": "string",
"qrCode": "string"
}// Payment webhook
POST /your-webhook-url
{
"event": "payment.completed",
"paymentId": "string",
"amount": 25.00,
"signature": "string"
}- Encrypted Storage: AES-256 encryption for private keys
- Session Management: Automatic expiration and cleanup
- Backup & Recovery: Secure key backup system
- Audit Logging: Comprehensive security event logging
- Never store private keys in plain text
- Use HTTPS in production
- Implement rate limiting
- Validate all inputs
- Use secure random number generation
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests
- Submit a pull request
- Follow TypeScript best practices
- Write comprehensive tests
- Document new features
- Follow the existing code style
- Update documentation
This project is licensed under the MIT License - see the LICENSE file for details.
- Documentation: docs.blinkpay.com
- Issues: GitHub Issues
- Discord: BlinkPay Community
- Email: support@blinkpay.com
- Solana Foundation for the amazing blockchain
- Anchor team for the development framework
- Next.js team for the React framework
- All contributors and supporters
Built with β€οΈ by the BlinkPay team