Key concepts
| Resource | Direction | Description |
|---|---|---|
| Account | — | Your asset balance within Coinbase that you fund with test amounts (e.g., $1000 USD) |
| Deposit destination | Incoming crypto | Placeholder addresses for receiving crypto. Simulate deposits via the Portal UI |
| Payment method | Outgoing fiat | External bank accounts for fiat withdrawals. Pre-configured test banks shared across all accounts |
| Transfer | Both | Move funds to crypto addresses, emails, or payment methods. All simulated |
Sandbox vs. Live
Sandbox and Live share the same endpoints and functionality, but with different data and behavior.| Sandbox | Live | |
|---|---|---|
| Base URL | sandbox.cdp.coinbase.com | api.cdp.coinbase.com |
| API keys | Sandbox-specific credentials | Live credentials |
| Accounts | Create via Sandbox UI; fund via UI only | Link existing Prime portfolio or Coinbase Business account |
| Deposit destinations | Placeholder addresses; simulate deposits via UI | Real blockchain addresses |
| Payment methods | Pre-configured test methods | Automatically linked from Prime/Business |
| Transfers | Simulated (webhooks fire, no blockchain activity) | Real blockchain transactions |
| Compliance checks | Simplified (no real KYC/AML) | Full compliance flows |
Best practices
- Isolate configuration: Keep Sandbox API keys and base URLs completely separate from Live. Use environment variables to switch between them.
- Test error handling: Use Sandbox to cover failure scenarios — invalid auth, malformed requests, rate limits, insufficient funds.
- Automate: Build integration tests against Sandbox before cutting over to Live.
Get started
Quickstart
Set up your API keys and make your first Sandbox request.
API Reference
Explore the full Payment APIs reference.