Crypto Payment Gateway
Accept cryptocurrency payments across multiple blockchains with automatic detection and merchant crediting.
Overview
The Rach Crypto Payment Gateway allows you to accept USDT and USDC payments on:
- 🟡 Binance Smart Chain (BSC)
- 🔵 Ethereum
- 🟣 Polygon
- 🔴 Tron
- 🟢 Solana
How It Works
Key Features
⚡ Automatic Payment Detection
- Polling: Checks blockchain every 30 seconds
- Webhooks: Real-time notifications via Tatum (if configured)
- No manual intervention required
🔒 Secure Address Generation
- Unique deposit address per transaction
- HD wallet architecture
- Private keys encrypted with AES-256-GCM
📱 QR Code Generation
- Automatic QR code creation
- Base64 data URI format
- Ready to display to customers
💰 Automatic Settlement
- Merchant balance credited immediately upon confirmation
- Configurable confirmation requirements per network
- View balances in dashboard or via API
🔄 Test & Production Modes
- Test Mode: Uses testnets (no real money)
- Production Mode: Uses mainnets (real transactions)
- Toggle via API or dashboard
Integration Steps
1. Create a Checkout Session
javascript
const checkout = await createCheckout({
amount: 100.00,
currency: 'USDT',
network: 'BSC',
customer_email: 'customer@example.com',
reference: 'ORDER-12345'
});2. Display Payment Details
Show the customer:
- Deposit address
- QR code
- Amount and currency
- Network (very important!)
3. Monitor Payment Status
- Listen for webhook notifications
- Or poll
/api/v1/checkout/:id
4. Fulfill Order
Once webhook confirms payment, fulfill the customer's order.
Supported Networks & Currencies
| Network | USDT | USDC | Confirmations | Avg Time |
|---|---|---|---|---|
| BSC | ✅ | ✅ | 12 blocks | ~36 seconds |
| Ethereum | ✅ | ✅ | 12 blocks | ~3 minutes |
| Polygon | ✅ | ✅ | 128 blocks | ~4 minutes |
| Tron | ✅ | ❌ | 20 blocks | ~1 minute |
| Solana | ❌ | ✅ | 32 blocks | ~20 seconds |
Quick Start
bash
# Create your first crypto checkout
curl -X POST 'https://payments-api-dev-966260606560.europe-west2.run.app/api/v1/checkout/crypto' \
-H 'X-API-Key: YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"amount": 100.00,
"currency": "USDT",
"network": "BSC",
"customer_email": "customer@example.com",
"reference": "ORDER-001",
"callback_url": "https://yoursite.com/webhooks/payment"
}'