List transfers
Changed onList transfers for your organization. Use this to view and monitor your transfer activity.
Sorting: Results are sorted by creation time in descending order (newest first). Transfers with the same creation time are returned in a consistent order across pages.
Status Filtering: Filter by specific status to efficiently manage transfers:
- ?status=processing - Monitor active transfers.
- ?status=quoted - Find transfers awaiting execution.
- ?status=failed - Review failed transfers for troubleshooting.
- ?status=completed - Find completed transfers.
Account Filtering: Filter by account ID to find transfers involving a specific account:
- ?accountId=<ID> - All transfers where the account is either source or target (OR semantics).
- ?sourceAccountId=<ID> - Only transfers where the account is the source (outbound).
- ?targetAccountId=<ID> - Only transfers where the account is the target (inbound). Providing accountId together with sourceAccountId, targetAccountId, sourceAddress, targetAddress, or targetEmail is a validation error and returns HTTP 400.
Date Range Filtering: Filter by creation or last-updated time for reconciliation:
- ?createdAfter=2026-01-01T00:00:00Z&createdBefore=2026-01-31T23:59:59Z - Transfers created within a date range.
- ?updatedAfter=2026-01-01T00:00:00Z - Transfers updated since a given time. Useful for incremental sync.
Asset Filtering: Filter by source or target asset symbol:
- ?sourceAsset=usd - Transfers funded from a USD account.
- ?targetAsset=usdc - Transfers delivering USDC to the target. Supported asset symbols include usdc, eurc, usd, and eur.
Other Filters:
- ?sourceAddress=0x... - Transfers from a specific on-chain source address.
- ?targetAddress=0x... - Transfers to a specific on-chain destination address.
- ?targetEmail=user@example.com - Transfers to a specific email recipient.
- ?transferId=transfer_... - Look up a single transfer by ID; bypasses pagination.
Filter Combinations: The following combinations are validation errors and return HTTP 400:
- accountId with any of sourceAccountId, targetAccountId, sourceAddress, targetAddress, or targetEmail.
- sourceAccountId with sourceAddress.
- More than one of targetAccountId, targetAddress, and targetEmail.
- transferId with any other filter. Pagination parameters are permitted.
Request
- Base URL: https://api.cdp.coinbase.com/platform
- URL: https://api.cdp.coinbase.com/platform/v2/transfers
- Auth: HTTP bearer
Query parameters
The current status of the transfer, indicating what action you need to take next. Required when validateOnly is false.
Filter transfers by status. Useful for building dashboards, monitoring active transfers, or finding transfers needing action.
The ID of the Account, which is a UUID prefixed by the string account_.
Filter transfers by account ID. Returns transfers where the specified account is either the source or target (OR semantics). Cannot be combined with sourceAccountId, targetAccountId, sourceAddress, targetAddress, or targetEmail.
The ID of the Account, which is a UUID prefixed by the string account_.
Filter transfers by source account ID. Returns only transfers where the specified account is the source. Cannot be combined with accountId or sourceAddress.
The ID of the Account, which is a UUID prefixed by the string account_.
Filter transfers by target account ID. Returns only transfers where the specified account is the target. Cannot be combined with accountId, targetAddress, or targetEmail.
Filter transfers to those created at or after this datetime (inclusive). ISO 8601 format.
Filter transfers to those created at or before this datetime (inclusive). ISO 8601 format.
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.
Filter transfers to those updated at or before this datetime (inclusive). ISO 8601 format.
Filter transfers by source asset symbol (e.g., usd, usdc, eurc, eur).
Filter transfers by target asset symbol (e.g., usdc, eurc, usd, eur).
A blockchain address. Format varies by network (e.g., 0x-prefixed for EVM, base58 for Solana).
Filter transfers by the on-chain address of the source. Cannot be combined with accountId or sourceAccountId.
A blockchain address. Format varies by network (e.g., 0x-prefixed for EVM, base58 for Solana).
Filter transfers by the on-chain destination address of the target. Cannot be combined with accountId, targetAccountId, or targetEmail.
An email address. Maximum length 254 characters per RFC 5321.
Filter transfers by the email address of the target recipient. Cannot be combined with accountId, targetAccountId, or targetAddress.
Filter to a specific transfer by ID. When provided, returns only the matching transfer and bypasses pagination. Cannot be combined with any other filter.
The number of resources to return per page.
The token for the next page of resources, if any.
Response
Successfully listed transfers.
Example response
{
"transfers": [
{
"transferId": "transfer_af2937b0-9846-4fe7-bfe9-ccc22d935114",
"status": "completed",
"source": {
"accountId": "account_af2937b0-9846-4fe7-bfe9-ccc22d935114",
"asset": "usd"
},
"target": {
"address": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"network": "base",
"asset": "usdc"
},
"sourceAmount": "103.50",
"sourceAsset": "usd",
"targetAmount": "100.00",
"targetAsset": "usdc",
"completedAt": "2025-01-01T00:05:00Z",
"createdAt": "2025-01-01T00:00:00Z",
"updatedAt": "2025-01-01T00:05:00Z"
}
],
"nextPageToken": "eyJsYXN0X2lkIjogImFiYzEyMyIsICJ0aW1lc3RhbXAiOiAxNzA3ODIzNzAxfQ=="
}Changes
- warning
added the new
incompatible_event_typesenum value to theresponse property for the response status - warning
added the new
invalid_webhook_headersenum value to theresponse property for the response status - warning
added the new
invalid_webhook_urlenum value to theresponse property for the response status - warning
added the new
mandate_action_pendingenum value to theresponse property for the response status - warning
added the new
mandate_canceledenum value to theresponse property for the response status - warning
added the new
mandate_expiredenum value to theresponse property for the response status - warning
added the new
mandate_invalid_statusenum value to theresponse property for the response status - warning
added the new
mandate_policy_violationenum value to theresponse property for the response status - warning
added the new
mandate_revokedenum value to theresponse property for the response status - warning
added the new
subscription_limit_exceededenum value to theresponse property for the response status
- warning
- warning
added the new
mfa_challenge_not_foundenum value to theresponse property for the response status - warning
added the new
operation_in_progressenum value to theresponse property for the response status
- warning