Chainpay is a decentralized platform designed to streamline the process of sending bulk cryptocurrency transactions, specifically on the Solana blockchain, to multiple wallet addresses in one seamless operation. Built with a modern tech stack and optimized for speed and security, Chainpay ensures users can send bulk transactions effortlessly while keeping track of their activity with a robust history and billing system.
- Send transactions in bulk to multiple wallet addresses in a single click.
- Supports up to 50 recipients depending on the subscription plan.
- Secure and fast login via Google OAuth.
- Seamlessly switch between
devnet
andmainnet
environments to test or execute live transactions. - Solana RPC URL is integrated to manage on-chain interactions.
- Post-login, the dashboard provides:
- Overview of recent transactions.
- Total transaction count.
- Total number of recipients managed.
- Add recipients with required details: name, email, wallet address, and country.
- Wallet addresses must be verified before adding recipients.
- A table with filter functionality helps manage and select recipients for bulk payments.
- Initiate payments to multiple recipients in one click.
- View details of all transactions:
- Time and date.
- Signature (Solana transaction hash).
- Wallet address and country.
- The table allows filtering by signature, wallet address, name, country, or date range.
- Users must subscribe to access the full functionality:
- Free Plan: Send payments to up to 3 wallet addresses in one click.
- Silver Plan: Send payments to up to 5 wallet addresses in one click.
- Gold Plan: Send payments to up to 10 wallet addresses in one click.
- If a user tries to exceed their subscription limit, they are redirected to the billing page.
- View billing history, including account details and transaction signatures, in a user-friendly UI.
- For sending transactions, users must connect a Solana-compatible wallet, such as Phantom or Backpack.
- Users can log out, which clears the session and redirects them to the home page.
Chainpay leverages the following technologies to deliver a smooth, high-performance experience:
- TypeScript: Provides type safety and scalability.
- Next.js: Powers the server-side rendering, routing, and overall web framework.
- React.js: Frontend built with modular and reusable components.
- Mongoose: Simplifies interaction with the MongoDB database.
- MongoDB: Stores user data, transaction details, and recipient information.
- Solana Blockchain: Powers the cryptocurrency transactions and wallet interactions.
- Vercel: Deployment platform for hosting, offering seamless CI/CD and serverless capabilities.
- Node.js and npm (or yarn)
- MongoDB for storing user and transaction data.
- Solana Wallet (Phantom or Backpack) for sending payments.
- Google OAuth credentials for authentication.
-
Clone the Repository:
git clone https://github.com/your-username/chainpay.git
-
Install Dependencies:
cd chainpay npm install
-
Set Up Environment Variables: Create a
.env.local
file in the root directory with.env.example
the following:NEXT_PUBLIC_RPC_URL="your_solana_rpc_url" . . . . .
-
Run the Development Server:
npm run dev
Open http://localhost:3000 to see the app.
-
Database Setup: Ensure MongoDB is running and properly connected via the
DATABASE_URL
in the.env
.
- Use the Google authentication to securely log in to Chainpay.
- After login, view an overview of your total transactions and recent activity.
- Go to the "Send Transaction" page to add verified recipients.
- Select recipients and send payments in bulk with a single click.
- Review detailed transaction history, filter results as needed, and track payments made.
- Subscribe to a plan to send transactions, and view your billing history at any time.
For a step-by-step walkthrough of Chainpay, check out this video:
We welcome contributions! Here’s how you can contribute:
- Fork the repository.
- Create a new branch (
git checkout -b feature/your-feature-name
). - Commit your changes (
git commit -m 'Add a feature'
). - Push to the branch (
git push origin feature/your-feature-name
). - Open a pull request.
This project is licensed under the MIT License. Please see the LICENSE file for more information.
Feel free to reach out for any questions or issues:
- Twitter: https://x.com/NishantTechie
- GitHub: https://github.com/nishantcoder108/chainpay
# It will revert the commit
git reset --hard CommitHashedc5dd4e1d3cefea259e7
# For generating random secret key
$ openssl rand -base64 32