Overview
PayGate supports two Solana networks:
| Network | Usage | USDC |
|---|
| Devnet | Testing and development | Test USDC (free) |
| Mainnet | Production | Real USDC |
Switching Networks
In the Dashboard
- Log in to the dashboard
- Find the network selector (top right)
- Click to switch between Devnet and Mainnet
Impact of Switching
When you change networks:
| Element | Behavior |
|---|
| Products | Shows only products from selected network |
| Transactions | Shows only transactions from that network |
| Statistics | Calculated based on current network |
| API Keys | Work on both networks |
Devnet: Test Mode
When to Use Devnet
- Test product creation
- Test payment flow
- Develop your integration
- Train your team
Getting Devnet USDC
- Go to SPL Token Faucet
- Connect your wallet
- Select USDC (Devnet)
- Request free tokens
Getting Devnet SOL
solana airdrop 2 YOUR_ADDRESS --url devnet
Devnet USDC and SOL have no real value. They are only for testing.
Mainnet: Production Mode
When to Use Mainnet
- Receive real payments
- Launch your product
- Real money transactions
Mainnet Prerequisites
- Wallet with SOL (for fees ~$0.00025)
- Real USDC to test a purchase
- Products configured on Mainnet
On Mainnet, payments are real and irreversible. Test on Devnet first!
Creating Products by Network
Devnet Product (Test)
Title: My Product (Test)
Price: 0.10 USDC
Network: devnet
Mainnet Product (Production)
Title: My Product
Price: 0.10 USDC
Network: mainnet-beta
First create an identical product on Devnet to test, then create the Mainnet version.
Migration Devnet → Mainnet
Checklist
-
Test on Devnet
- Product creation OK
- Payment OK
- Webhooks OK
- Access OK
-
Create on Mainnet
- Same configuration
- Same price (or adjusted)
- Same webhooks
-
Update your links
- Replace Devnet product ID with Mainnet
- Verify redirects
-
Test with a small amount
- Make a real test purchase
- Verify webhook
- Verify access
USDC Addresses
| Network | Mint Address |
|---|
| Devnet | 4zMMC9srt5Ri5X14GAgXhaHii3GnPAEERYPJgZJDncDU |
| Mainnet | EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v |
API and Network
The PayGate API automatically detects the network from the product:
// Network is determined by the product
const response = await fetch(
'https://api-paygate.getaether.xyz/public/products/prod_xxx',
{ headers: { 'X-API-Key': apiKey } }
);
const product = await response.json();
console.log(product.network); // "devnet" or "mainnet-beta"
Best Practices
- Always test on Devnet first
- Keep mirror products (Devnet and Mainnet)
- Use environment variables for product IDs
- Document IDs for each environment
# .env.development
PAYGATE_PRODUCT_ID=prod_devnet_xxx
# .env.production
PAYGATE_PRODUCT_ID=prod_mainnet_xxx