Overview
CDP offers two distinct sets of APIs that serve different use cases:
- Non-custodial APIs: User Wallets, API Key Wallets, Onramp, and related tools. Available to any CDP entity immediately after signing up.
- Custodial APIs: Transfers between custodied accounts, trading orders, payment acceptance, financial reporting, and more. These require a verified business account linked to CDP.
Some CDP APIs need business onboarding. To verify your business and link an account, see Initial Setup. This page lists the endpoints that become available after onboarding.
API endpoints requiring business onboarding
Accounts
Accounts represent custodied assets in CDP. You can create accounts directly via the CDP API, or link existing accounts from Coinbase Prime or Coinbase Business.
| Method | Endpoint | Description |
|---|
GET | /v2/accounts | List all accounts |
POST | /v2/accounts | Create an account |
GET | /v2/accounts/{accountId} | Get an account by ID |
GET | /v2/accounts/{accountId}/balances | List balances for an account |
GET | /v2/accounts/{accountId}/balances/{asset} | Get balance for a specific asset |
GET | /v2/accounts/{accountId}/network-capabilities | Get network capabilities for an account |
GET | /v2/accounts-with-link-status | List accounts with their link status |
GET | /v2/accounts/linkable | List Prime or Business accounts available to link |
POST | /v2/accounts/link | Link a Prime or Business account to CDP |
POST | /v2/accounts/{accountId}/unlink | Unlink an account from CDP (Prime only) |
Deposit Destinations
Inbound deposit addresses attached to your accounts, used to receive crypto from external sources.
| Method | Endpoint | Description |
|---|
GET | /v2/deposit-destinations | List deposit destinations |
POST | /v2/deposit-destinations | Create a deposit destination |
GET | /v2/deposit-destinations/{depositDestinationId} | Get a deposit destination by ID |
Transfers
Move funds between your accounts.
| Method | Endpoint | Description |
|---|
POST | /v2/transfers | Create a transfer |
GET | /v2/transfers | List transfers |
GET | /v2/transfers/{transferId} | Get a transfer by ID |
POST | /v2/transfers/{transferId}/execute | Execute a quoted transfer |
POST | /v2/transfers/{transferId}/travel-rule | Submit travel rule information for a deposit |
Payment Methods
External financial instruments (Fedwire, SWIFT, SEPA) linked to your Prime accounts. Currently only supported for Coinbase Prime.
| Method | Endpoint | Description |
|---|
GET | /v2/payment-methods | List payment methods |
GET | /v2/payment-methods/{paymentMethodId} | Get a payment method by ID |
GA vs beta
Every API group in the CDP API is labeled as either GA (generally available) or Beta. The label appears as a badge in the API reference sidebar and signals how stable the endpoint’s contract is.
| Tier | What it signals |
|---|
| GA | The endpoint contract is stable. Suitable for production traffic without special handling. |
| Beta | Functional and used in production today, but the request/response shape may still evolve as we incorporate feedback. Plan for change. |
Beta is not a gate on production usage — many CDP customers run beta endpoints in production. The label is a signal about how much the contract may evolve.
Recommendations when integrating with beta endpoints
- Isolate the call site behind a thin adapter in your code so a future schema change is a one-file update.
- Subscribe to the
#wallet-api channel in the CDP Discord for change announcements.
- File feedback on beta surfaces — it directly shapes the GA contract.
Support
For questions about onboarding to Coinbase Prime, visit prime.coinbase.com or contact your Coinbase relationship manager.
For questions about Coinbase Business, visit coinbase.com/business or reach out via the CDP Discord.