ZeroPay is a lightweight, self-hosted payment gateway that enables merchants to accept stablecoin and cryptocurrency payments with minimal setup. Built with Rust for performance and reliability, it supports multiple EVM-compatible blockchains and provides real-time webhook notifications for payment events.
- Self-Hosted: Full control over your payment infrastructure
- Multi-Chain Support: Compatible with Ethereum, Polygon, BSC, and other EVM chains
- Stablecoin Focused: Built for USDT, USDC, and other stablecoins
- Real-Time Notifications: Webhook integration for payment events
- Automatic Settlement: Funds automatically transferred to your wallet (minus commission)
- Secure: HMAC-based webhook authentication
- Easy Integration: RESTful API with comprehensive documentation
- Docker Ready: One-command deployment with Docker
See DEPLOYMENT.md for detailed setup instructions.
- Deployment Guide - Complete setup instructions for Docker and source builds
- API Reference - REST API endpoints and webhook events
- Configuration Guide - Environment and chain configuration
For a hassle-free experience, use our managed platform at zeropay.dev:
Benefits:
- No infrastructure management required
- Automatic updates and security patches
- Public payment UI for customers
- Multiple chain support out of the box
- Enterprise-grade reliability
Setup:
- Register your merchant account at zeropay.dev
- Use https://api.zeropay.dev as your API endpoint
- Start accepting payments immediately
Note: The platform charges a small commission for gas fees and hosting.
- Create unique payment addresses for each transaction
- Support for multiple stablecoins (USDT, USDC, DAI, etc.)
- Automatic payment detection and confirmation
- Configurable confirmation blocks for security
- EVM-Compatible Chains: Ethereum, Polygon, BSC, Arbitrum, Optimism, Avalanche, etc.
- Extensible: Easy to add new chains via configuration
- Multi-Token: Support any ERC-20 token
- session.paid - Customer completed payment
- session.settled - Funds transferred to merchant
- unknow.paid - Unlinked payment received
- unknow.settled - Unlinked payment settled
- HMAC-SHA256 webhook signatures
- API key authentication
- HD wallet derivation for payment addresses
- Configurable confirmation requirements
Create a .env file from the template:
Key configuration options:
Configure supported blockchains in config.toml:
See DEPLOYMENT.md for complete configuration details.
See API.md for complete API documentation.
- Rust 1.75 or higher
- PostgreSQL 12+
- Redis 6+
We welcome contributions!
If you discover a security vulnerability, please email [email protected] instead of using the issue tracker.
- Never commit .env files or private keys
- Use strong, randomly generated API keys
- Verify webhook HMAC signatures
- Keep dependencies updated
- Use secure RPC endpoints
- Enable firewall rules
This project is licensed under the GNU General Public License v3.0 - see the LICENSE file for details.
- Documentation: DEPLOYMENT.md | API.md
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Platform Support: [email protected]
.png)


