A full-stack Next.js application for managing crypto payments and invoices using Coinbase's infrastructure.
- Git
- Node.js (v18 or higher)
- MongoDB
- AWS Account (for SES)
- Coinbase Developer Platform (CDP) Account
- Clerk Account
Create a .env file in the root directory with the following variables:
# Clerk Authentication
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=your_clerk_publishable_key
CLERK_SECRET_KEY=your_clerk_secret_key
# MongoDB
MONGODB_URI=your_mongodb_uri
# Coinbase
CDP_API_KEY_NAME=your_coinbase_api_key_name
CDP_API_PRIVATE_KEY=your_coinbase_private_key
NEXT_PUBLIC_APP_ENV=development # or production
# AWS
AWS_ACCESS_KEY_ID=your_aws_access_key
AWS_SECRET_ACCESS_KEY=your_aws_secret_key
AWS_REGION=your_aws_region
# Webhook
NEXT_PUBLIC_WEBHOOK_URL=your_webhook_url- Clone the repository:
git clone https://github.com/heimlabs/coinbase-superpay.git
cd coinbase-superpay- Install dependencies:
pnpm install-
Set up your environment variables as described above.
-
Start the development server:
pnpm devThe application will be available at http://localhost:3000.
pnpm buildTo start the production server:
pnpm start/app- Next.js app router pages and API routes/models- MongoDB models/lib- Utility functions and service integrations/public- Static assets/src/assets- SVG icons and other assets
For detailed information about the system architecture and user flows, please refer to our DIAGRAMS.md file.
- 🔐 Secure authentication with Clerk
- 💰 Crypto wallet management
- 💸 Asset transfers and trading
- 📄 Invoice creation and management
- 📧 Email notifications via AWS SES
- 🔄 Webhook handling for payment events
- 📱 Responsive design
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request