A modern implementation of account abstraction on Solana, featuring social login integration and seamless payment processing. This project demonstrates how to create non-custodial wallets with Web2 authentication methods.
SolAbs simplifies the Web3 onboarding experience by allowing users to interact with Solana blockchain using familiar Web2 authentication methods. Each user automatically gets a non-custodial wallet upon social login, with secure key management and encryption.
-
Social Authentication
- Google and GitHub login integration
- Automatic wallet creation on first login
- Non-custodial key management
- WebAuthn support for hardware security
-
Secure Key Management
- AES-256-CBC encryption for private keys
- Secure key storage in MongoDB
- Zero plaintext exposure of sensitive data
-
Payment Integration
- Stripe payment processing
- Automatic SOL top-up after payment
- Real-time balance updates
- Secure webhook handling
- Next.js 14 (App Router)
- TypeScript
- MongoDB with Prisma ORM
- NextAuth.js v5
- Stripe Payment Integration
- Solana Web3.js
- Clone the repository
git clone https://github.com/yourusername/solabs.git
cd sol-abs- Install dependencies
yarn install- Set up environment variables
DATABASE_URL="your_mongodb_url"
ENCRYPTION_KEY="your_32_byte_key"
NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY="your_stripe_key"
STRIPE_SECRET_KEY="your_stripe_secret"
STRIPE_WEBHOOK_SECRET="your_webhook_secret"
NEXT_PUBLIC_DOMAIN="your_domain"
RPC_URL="your_solana_rpc_url"
PRIVATE_KEY="your_solana_private_key"- Run development server
yarn devThis project is open source and we welcome contributions. Whether it's:
- Bug fixes
- Feature additions
- Documentation improvements
- Security enhancements
Please feel free to:
- Fork the repository
- Create your feature branch
- Submit a pull request
MIT License - feel free to use this code for your own projects.
This project is meant to demonstrate the implementation of account abstraction and social login integration with Solana. It is not feature-complete and should be thoroughly reviewed and tested before any production use.
For inquiries about custom implementations or consulting, please reach out through GitHub issues or discussions.