Frequently Asked Questions
General Questions
What is CryptoPay?
CryptoPay is a multi-chain blockchain payment gateway that allows businesses to accept cryptocurrency payments across multiple blockchain networks including Ethereum, Base, Polygon, and more. We provide APIs, webhooks, and a dashboard to manage crypto payments seamlessly.
Which blockchains do you support?
We currently support:
- Ethereum (ETH, USDC, USDT, DAI)
- Base (ETH, USDC, cbBTC)
- Polygon (MATIC, USDC, USDT, WETH)
- Binance Smart Chain (BNB, USDC, USDT, BUSD)
- Arbitrum (ETH, USDC, ARB)
We're constantly adding new networks based on user demand.
What cryptocurrencies can I accept?
You can accept:
- Native tokens: ETH, MATIC, BNB
- Stablecoins: USDC, USDT, DAI, BUSD
- Popular tokens: WETH, cbBTC, ARB
Each blockchain supports different tokens. Check our Supported Blockchains page for the complete list.
Do you custody funds?
No, CryptoPay never holds your funds. All payments go directly to your configured wallet addresses. We simply monitor the blockchain and notify you when payments are received.
Getting Started
How do I get started?
- Sign up for a CryptoPay account
- Configure wallet addresses for each blockchain you want to support
- Get your API key from the dashboard
- Integrate our API into your application
- Set up webhooks to receive payment notifications
Follow our Getting Started Guide for detailed instructions.
Do I need technical knowledge to use CryptoPay?
Basic technical knowledge is helpful, but we provide:
- Comprehensive documentation with examples
- SDKs for popular programming languages
- Dashboard interface for non-technical users
- 24/7 support to help with integration
Is there a test environment?
Yes! We provide a sandbox environment where you can:
- Test API integrations without real money
- Use testnet cryptocurrencies
- Simulate webhook deliveries
- Practice with the dashboard
Access the sandbox at https://sandbox-api.cryptopay.com
Payments and Transactions
How long do payments take to confirm?
Confirmation times vary by blockchain:
| Blockchain | Block Time | Recommended Confirmations | Total Time |
|---|---|---|---|
| Ethereum | ~12 seconds | 12-24 | 2-5 minutes |
| Base | ~2 seconds | 6-12 | 10-30 seconds |
| Polygon | ~2 seconds | 6-12 | 10-30 seconds |
| BSC | ~3 seconds | 6-12 | 15-45 seconds |
| Arbitrum | ~0.25 seconds | 1-3 | 1-5 seconds |
You can configure different confirmation thresholds based on your risk tolerance.
What happens if a customer sends the wrong amount?
If a customer sends:
- Less than required: Payment marked as failed, webhook sent
- More than required: Payment confirmed for the sent amount
- Wrong token: Payment marked as failed if token not supported
We recommend clearly displaying the exact amount and token required.
Can customers pay from any wallet?
Yes, customers can pay from:
- MetaMask and other browser wallets
- Mobile wallets like Trust Wallet, Coinbase Wallet
- Hardware wallets like Ledger, Trezor
- Exchange wallets (though some exchanges may have delays)
What if a payment fails?
Common reasons for payment failures:
- Insufficient amount sent
- Wrong token used
- Wrong blockchain selected
- Transaction reverted due to gas issues
Failed payments trigger webhooks with failure details so you can contact the customer.
Security
How secure is CryptoPay?
We implement enterprise-grade security:
- No fund custody - payments go directly to your wallets
- HMAC webhook signatures to prevent spoofing
- Rate limiting to prevent abuse
- 24/7 monitoring of all systems
- Regular security audits by third parties
How do I verify webhook authenticity?
Always verify webhook signatures using HMAC SHA-256:
const crypto = require('crypto');
function verifySignature(payload, signature, secret) {
const expectedSignature = crypto
.createHmac('sha256', secret)
.update(payload, 'utf8')
.digest('hex');
return signature === expectedSignature;
}
What if my API key is compromised?
If you suspect your API key is compromised:
- Immediately revoke the key in your dashboard
- Generate a new key with appropriate permissions
- Update your application with the new key
- Review recent activity for suspicious transactions
- Contact support if you notice unauthorized activity
How many confirmations should I require?
Recommended confirmations by transaction value:
- < $100: 1-3 confirmations (faster UX)
- $100-$1,000: 6-12 confirmations (balanced)
- > $1,000: 12+ confirmations (maximum security)
Higher-value transactions should wait for more confirmations.
Technical Integration
Which programming languages do you support?
We provide official SDKs for:
- JavaScript/Node.js:
npm install @cryptopay/sdk - Python:
pip install cryptopay-python - PHP:
composer require cryptopay/php-sdk - Go:
go get github.com/cryptopay/go-sdk
You can also use our REST API directly from any language.
How do I handle webhook retries?
We automatically retry failed webhooks:
- 5 retry attempts with exponential backoff
- Timeouts after 10 seconds
- Final attempt after 6 hours
Your endpoint should:
- Respond with 200-299 status codes for success
- Process webhooks idempotently (handle duplicates)
- Respond quickly (under 10 seconds)
Can I customize confirmation requirements?
Yes! You can set different confirmation thresholds for each wallet address:
await cryptoPay.merchantWallets.create({
blockchain: 'ethereum',
wallet_address: '0x...',
confirmation_threshold: 12, // Custom threshold
is_active: true
});
How do I handle blockchain reorganizations?
We automatically handle blockchain reorgs by:
- Monitoring for reorgs on all supported chains
- Reverting transactions that become invalid
- Sending updated webhooks with new status
- Requiring sufficient confirmations to minimize reorg risk
Pricing and Billing
How much does CryptoPay cost?
Our pricing is transparent and competitive:
- Starter: 2.5% per transaction (up to $10K/month)
- Growth: 2.0% per transaction (up to $100K/month)
- Enterprise: Custom pricing for high volume
No setup fees, monthly fees, or hidden charges.
When are fees charged?
Fees are charged only on successful, confirmed payments:
- No fees for failed or pending payments
- No fees for webhook deliveries or API calls
- Fees deducted from the payment amount automatically
Can I get volume discounts?
Yes! Enterprise customers with high transaction volumes can get:
- Custom fee rates based on volume
- Dedicated support and account management
- Priority feature requests
- SLA guarantees
Contact sales@cryptopay.com for enterprise pricing.
Dashboard and Account
How do I reset my password?
- Go to the login page
- Click "Forgot Password"
- Enter your email address
- Check your email for reset instructions
- Follow the link to set a new password
Can I have multiple team members access the dashboard?
Currently, each account has one login. We're working on team management features including:
- Multiple user accounts per merchant
- Role-based permissions (admin, viewer, etc.)
- Activity logging for team actions
- API key management per user
How do I export my transaction data?
You can export data from the dashboard:
- Go to Analytics > Reports
- Select your date range
- Choose report type (transactions, revenue, etc.)
- Click Export and select format (CSV, PDF)
Data includes all transaction details, fees, and blockchain information.
Troubleshooting
My webhook isn't being received
Check these common issues:
- URL accessibility: Ensure your webhook URL is publicly accessible
- HTTPS required: Webhook URLs must use HTTPS
- Response codes: Return 200-299 status codes for success
- Timeouts: Respond within 10 seconds
- Firewall: Whitelist our IP addresses if needed
Payments aren't being detected
Possible causes:
- Wrong address: Customer sent to incorrect wallet address
- Wrong blockchain: Payment sent on different network
- Insufficient gas: Transaction failed due to gas issues
- Network congestion: Blockchain experiencing delays
Check the transaction hash on a blockchain explorer to verify.
API requests are failing
Common API issues:
- Invalid API key: Check your key is active and correct
- Rate limiting: You may be exceeding rate limits
- Invalid parameters: Check request format and required fields
- Network issues: Temporary connectivity problems
Check our API Status Page for service updates.
Support
How can I get help?
We offer multiple support channels:
- Documentation: Comprehensive guides and examples
- Live Chat: 24/7 chat support in the dashboard
- Email: support@cryptopay.com for detailed questions
- Discord: Join our community for peer support
- GitHub: Report bugs and request features
What's your response time?
Support response times:
- Critical issues: Within 1 hour
- General support: Within 4 hours
- Feature requests: Within 24 hours
Enterprise customers get priority support with faster response times.
Do you offer integration assistance?
Yes! We provide:
- Free integration consultation for all customers
- Code review of your integration
- Custom integration support for enterprise customers
- Video calls to walk through complex implementations
How do I report a security issue?
For security vulnerabilities:
- Email: security@cryptopay.com
- PGP Key: Available on our website
- Bug Bounty: We offer rewards for valid security reports
Please don't report security issues through public channels.
Still have questions?
If you can't find the answer to your question here:
- Search our documentation for more detailed information
- Check our status page for any ongoing issues
- Contact support through your preferred channel
- Join our Discord to connect with other developers
We're here to help you succeed with crypto payments!