SwiftPay provides a complete sandbox environment for development and testing. Build with confidence — test all payment flows, error scenarios, and edge cases before deploying to production.Documentation Index
Fetch the complete documentation index at: https://docs.swiftpay.finance/llms.txt
Use this file to discover all available pages before exploring further.
Quick Reference
| Item | Sandbox | Production (coming soon) |
|---|---|---|
| API URL | https://sandbox-api.swiftpay.finance | https://api.swiftpay.finance |
| Portal | dev.cockpit.swiftpay.finance | cockpit.swiftpay.finance |
| API Key Prefix | sk_test_... | sk_live_... |
| Publishable Key | pk_test_... | pk_live_... |
| Webhook Secret | test_whsec_... | whsec_... |
Getting Started with Sandbox
1. Access the Sandbox Portal
Visit the Sandbox Developer Portal to:- Create a sandbox merchant account
- Generate API keys (
sk_test_*andpk_test_*) - View test transactions and webhooks
- Configure webhook endpoints
2. Get Test Funds
Test payments require testnet USDC. Get test funds from public testnet faucets:Ethereum Sepolia
Get test ETH, then wrap as USDC
Polygon Mumbai
Get test MATIC and USDC
Base Sepolia
Get test ETH and tokens
Solana Devnet
Get test SOL
Circle Faucet
Get test USDC on multiple chains
Google Web3 Faucet
Get test tokens for various testnets
3. Make Your First Test API Call
4. Create a Test Invoice
- Node.js
- Python
- cURL
Key Differences from Production
Testnet Networks
Sandbox uses testnet versions of blockchains:- Ethereum Sepolia (chainId: 11155111)
- Polygon Mumbai (chainId: 80001)
- Solana Devnet
- Tron Shasta
Test Data Isolation
- Sandbox and production accounts are completely separate
- Sandbox invoices, webhooks, and keys don’t affect production
- Test transactions won’t appear in production dashboards
Webhook Testing
Test webhook deliveries in the Sandbox Portal:- Go to Settings → Webhooks
- Create a webhook endpoint (e.g.,
https://localhost:3000/webhooks) - Use the
test_whsec_*secret to verify signatures - Click Send Test Event to simulate payment events
- webhook.site — Instantly get a unique webhook URL for testing (no setup required)
- ngrok — Tunnel your local server to a public URL for production-like testing
Best Practices
🔑 Manage Keys Safely
Store API keys in environment variables, never in code or version control. Keep
sk_test_* and sk_live_* separate.🧪 Test All Flows
Use sandbox to test happy paths, error handling, timeouts, and edge cases before production.
🔄 Use Different Wallets
Use different test wallet addresses for different payment scenarios (success, timeout, low-balance, etc).
📊 Monitor Webhooks
Verify webhook signatures and test retry behavior with the Sandbox Portal’s webhook logs.
Switching to Production
When ready to go live:- Generate production keys in cockpit.swiftpay.finance
- Update environment variables to use
sk_live_*andpk_live_* - Change API URL to
https://api.swiftpay.finance - Update network from testnet (e.g.,
ethereum-sepolia) to mainnet (e.g.,ethereum) - Test in production with small amounts before full deployment
Sandbox Limitations
- No real money transfers — all transactions are on test networks
- Rate limits may be higher than production
- Data retention — sandbox data may be reset periodically
- Testnet faucets may have daily limits — plan test cycles accordingly
Support
- 📖 See API Reference for detailed endpoint documentation
- 🆘 Contact support at support@swiftpay.finance for sandbox-specific issues
- 🐛 Report bugs with test data to help us improve the sandbox experience