Skip to main content
GET
/
v2
/
transfers
List transfers
curl --request GET \
  --url https://api.cdp.coinbase.com/platform/v2/transfers \
  --header 'Authorization: Bearer <token>'
{
  "transfers": [
    {
      "transferId": "transfer_af2937b0-9846-4fe7-bfe9-ccc22d935114",
      "status": "quoted",
      "source": {
        "accountId": "account_af2937b0-9846-4fe7-bfe9-ccc22d935114",
        "asset": "usd"
      },
      "target": {
        "address": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "network": "base",
        "asset": "usdc"
      },
      "amount": "100.00",
      "asset": "usd",
      "sourceAmount": "103.50",
      "sourceAsset": "usd",
      "targetAmount": "100.00",
      "targetAsset": "usdc",
      "exchangeRate": {
        "sourceAsset": "usd",
        "targetAsset": "usdc",
        "rate": "1"
      },
      "fees": [
        {
          "type": "bank",
          "amount": "2.50",
          "asset": "usd"
        },
        {
          "type": "conversion",
          "amount": "1.00",
          "asset": "usd"
        }
      ],
      "createdAt": "2023-10-08T14:30:00Z",
      "updatedAt": "2023-10-08T14:30:00Z",
      "metadata": {
        "invoiceId": "12345",
        "reference": "Payment for invoice #12345"
      }
    }
  ]
}

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.

Query Parameters

status
enum<string>

Filter transfers by status. Useful for building dashboards, monitoring active transfers, or finding transfers needing action. The current status of the transfer, indicating what action you need to take next. Required when validateOnly is false.

Available options:
quoted,
processing,
completed,
failed
Example:

"quoted"

accountId
string

Filter transfers by account ID. Returns transfers where the specified account is either the source or target (OR semantics). Cannot be combined with sourceAccountId or targetAccountId. The ID of the Account, which is a UUID prefixed by the string account_.

Pattern: ^account_[a-f0-9\-]{36}$
Example:

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

sourceAccountId
string

Filter transfers by source account ID. Returns only transfers where the specified account is the source. Cannot be combined with accountId. The ID of the Account, which is a UUID prefixed by the string account_.

Pattern: ^account_[a-f0-9\-]{36}$
Example:

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

targetAccountId
string

Filter transfers by target account ID. Returns only transfers where the specified account is the target. Cannot be combined with accountId. The ID of the Account, which is a UUID prefixed by the string account_.

Pattern: ^account_[a-f0-9\-]{36}$
Example:

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

createdAfter
string<date-time>

Filter transfers to those created at or after this datetime (inclusive). ISO 8601 format.

createdBefore
string<date-time>

Filter transfers to those created at or before this datetime (inclusive). ISO 8601 format.

updatedAfter
string<date-time>

Filter transfers to those updated at or after this datetime (inclusive). ISO 8601 format. Useful for incremental sync — poll for transfers that changed state since your last check.

updatedBefore
string<date-time>

Filter transfers to those updated at or before this datetime (inclusive). ISO 8601 format.

sourceAsset
string

Filter transfers by source asset symbol (e.g., usd, usdc).

targetAsset
string

Filter transfers by target asset symbol (e.g., usdc, eth).

sourceAddress
string

Filter transfers by the on-chain address of the source. A blockchain address. Format varies by network (e.g., 0x-prefixed for EVM, base58 for Solana).

Required string length: 1 - 128
Example:

"0x742d35Cc6634C0532925a3b844Bc454e4438f44e"

targetAddress
string

Filter transfers by the on-chain destination address of the target. A blockchain address. Format varies by network (e.g., 0x-prefixed for EVM, base58 for Solana).

Required string length: 1 - 128
Example:

"0x742d35Cc6634C0532925a3b844Bc454e4438f44e"

targetEmail
string<email>

Filter transfers by the email address of the target recipient.

transferId
string

Filter to a specific transfer by ID. When provided, returns only the matching transfer and bypasses pagination.

Pattern: ^transfer_[a-f0-9\-]{36}$
pageSize
integer
default:20

The number of resources to return per page.

pageToken
string

The token for the next page of resources, if any.

Response

Successfully listed transfers.

transfers
object[]
required

The list of transfers.

nextPageToken
string

The token for the next page of items, if any.

Example:

"eyJsYXN0X2lkIjogImFiYzEyMyIsICJ0aW1lc3RhbXAiOiAxNzA3ODIzNzAxfQ=="