Skip to main content
POST
/
v2
/
deposit-destinations
Create crypto deposit destination
curl --request POST \
  --url https://api.cdp.coinbase.com/platform/v2/deposit-destinations \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
  "accountId": "account_af2937b0-9846-4fe7-bfe9-ccc22d935114",
  "type": "crypto",
  "network": "base",
  "metadata": {
    "customer_id": "123e4567-e89b-12d3-a456-426614174000",
    "reference": "order-12345"
  }
}'
{
  "depositDestinationId": "depositDestination_af2937b0-9846-4fe7-bfe9-ccc22d935114",
  "accountId": "account_af2937b0-9846-4fe7-bfe9-ccc22d935114",
  "type": "crypto",
  "address": "0x742d35Cc6634C0532925a3b844Bc454e4438f44e",
  "network": "base",
  "metadata": {
    "customer_id": "123e4567-e89b-12d3-a456-426614174000",
    "reference": "order-12345"
  },
  "createdAt": "2023-10-08T14:30:00Z",
  "updatedAt": "2023-10-08T14:30:00Z"
}

Authorizations

Authorization
string
header
required

A JWT signed using your CDP API Key Secret, encoded in base64. Refer to the Generate Bearer Token section of our Authentication docs for information on how to generate your Bearer Token.

Headers

X-Idempotency-Key
string

An optional UUID v4 request header for making requests safely retryable. When included, duplicate requests with the same key will return identical responses. Refer to our Idempotency docs for more information on using idempotency keys.

Required string length: 36

Body

application/json

Request to create a new cryptocurrency deposit destination.

accountId
string
required

The ID of the Account, which is a UUID prefixed by the string account_.

Example:

"account_af2937b0-9846-4fe7-bfe9-ccc22d935114"

type
enum<string>
required

The type of deposit destination. Only crypto destinations can be created via the API.

Available options:
crypto
Example:

"crypto"

network
enum<string>
required

The blockchain network for the payment. All networks support USDC and USDT.

Available options:
base,
ethereum,
solana,
aptos,
arbitrum,
avacchain,
optimism,
polygon,
sui
Example:

"base"

metadata
object

Optional metadata to associate with the deposit destination as key-value pairs. This can be used to store additional information like customer IDs, reference numbers, etc.

Example:
{
"customerRef": "123e4567-e89b-12d3-a456-426614174000"
}

Response

Successfully created deposit destination.

A deposit destination for receiving funds to an account. Can be either a cryptocurrency address or fiat bank account instructions.

depositDestinationId
string
required

The ID of the Deposit Destination, which is a UUID prefixed by the string depositDestination_.

Example:

"depositDestination_af2937b0-9846-4fe7-bfe9-ccc22d935114"

accountId
string
required

The ID of the Account, which is a UUID prefixed by the string account_.

Example:

"account_af2937b0-9846-4fe7-bfe9-ccc22d935114"

type
enum<string>
required

The type of deposit destination.

Available options:
crypto
Example:

"crypto"

address
string
required

The cryptocurrency address where funds can be deposited. Format depends on the network (e.g., 0x-prefixed for EVM networks, base58 for Solana).

Example:

"0x742d35Cc6634C0532925a3b844Bc454e4438f44e"

network
enum<string>
required

The blockchain network for the payment. All networks support USDC and USDT.

Available options:
base,
ethereum,
solana,
aptos,
arbitrum,
avacchain,
optimism,
polygon,
sui
Example:

"base"

createdAt
string<date-time>
required

The timestamp when the deposit destination was created.

Example:

"2023-10-08T14:30:00Z"

updatedAt
string<date-time>
required

The timestamp when the deposit destination was last updated.

Example:

"2023-10-08T14:30:00Z"

metadata
object

Optional metadata associated with the deposit destination as key-value pairs. This can be used to store additional information like customer IDs, reference numbers, etc.

Example:
{
"customerRef": "123e4567-e89b-12d3-a456-426614174000"
}