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": "draft",
"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": [
{
"name": "processing_fee",
"amount": "2.50",
"asset": "usd"
},
{
"name": "exchange_fee",
"amount": "1.00",
"asset": "usd"
}
],
"createdAt": "2023-10-08T14:30:00Z",
"updatedAt": "2023-10-08T14:30:00Z",
"validateOnly": false,
"metadata": {
"invoiceId": "12345",
"reference": "Payment for invoice #12345"
},
"travelRule": {
"originator": {
"name": "John Doe",
"address": {
"address1": "123 Main St",
"address2": "Unit 201",
"city": "Luxembourg",
"postalCode": "L-1234",
"country": "LU"
},
"financialInstitution": "Citibank"
},
"beneficiary": {
"name": "Jane Smith",
"address": {
"address1": "456 Oak Ave",
"city": "Paris",
"postalCode": "75001",
"country": "FR"
}
}
}
}
]
}List transfers for your organization. Use this to view and monitor your transfer activity.
Status Filtering: Filter by specific status to efficiently manage transfers:
?status=processing - Monitor active transfers.?status=awaiting_funds - Check Fedwire transfers needing funding.?status=draft - Find transfers needing execution.?status=failed - Review failed transfers for troubleshooting.?status=completed - Find completed 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": "draft",
"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": [
{
"name": "processing_fee",
"amount": "2.50",
"asset": "usd"
},
{
"name": "exchange_fee",
"amount": "1.00",
"asset": "usd"
}
],
"createdAt": "2023-10-08T14:30:00Z",
"updatedAt": "2023-10-08T14:30:00Z",
"validateOnly": false,
"metadata": {
"invoiceId": "12345",
"reference": "Payment for invoice #12345"
},
"travelRule": {
"originator": {
"name": "John Doe",
"address": {
"address1": "123 Main St",
"address2": "Unit 201",
"city": "Luxembourg",
"postalCode": "L-1234",
"country": "LU"
},
"financialInstitution": "Citibank"
},
"beneficiary": {
"name": "Jane Smith",
"address": {
"address1": "456 Oak Ave",
"city": "Paris",
"postalCode": "75001",
"country": "FR"
}
}
}
}
]
}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.
Filter transfers by status. Useful for building dashboards, monitoring active transfers, or finding transfers needing action.
draft, awaiting_funds, processing, completed, failed, canceled, expired, reversed "draft"
The number of resources to return per page.
The token for the next page of resources, if any.
Successfully listed transfers.
The list of transfers.
A Transfer represents all the information needed to execute a transfer and tracks the lifecycle of a transfer from initiation through completion or failure.
Show child attributes
The ID of the transfer.
"transfer_af2937b0-9846-4fe7-bfe9-ccc22d935114"
The current status of the transfer, indicating what action you need to take next.
draft, awaiting_funds, processing, completed, failed, canceled, expired, reversed "draft"
The amount to transfer in atomic units of the asset specified by asset.
"100.00"
The symbol of the asset for the amount. This must be one of the assets of the source or target.
"usd"
The date and time the transfer was created.
"2025-01-01T00:00:00Z"
The date and time the transfer was last updated.
"2025-01-01T00:00:00Z"
The amount of the source asset that will be transferred out in atomic units.
"103.50"
The asset symbol of the source amount.
"usd"
The amount of the target asset that will be transferred in atomic units.
"100.00"
The asset symbol of the target amount.
"usdc"
Exchange rate information for currency conversion. The rate indicates how much of the target asset is equivalent to one unit of the source asset.
Show child attributes
The asset being converted from.
"usd"
The asset being converted to.
"usdc"
The exchange rate value as a decimal string. Indicates how many units of the target asset equal one unit of the source asset.
"1"
{
"sourceAsset": "usd",
"targetAsset": "usdc",
"rate": "1"
}The fees associated with this transfer. Different transfer types have different fee structures.
NOTE: These examples are not exhaustive.
Common examples:
A single fee for a transfer.
Show child attributes
The name of the fee, indicating its purpose.
network_fee, processing_fee, wire_fee, exchange_fee, spread_fee "network_fee"
The amount of the fee in units of the asset specified by asset.
"1500000"
The asset symbol.
"btc"
[
{
"name": "processing_fee",
"amount": "2.50",
"asset": "usd"
},
{
"name": "exchange_fee",
"amount": "1.00",
"asset": "usd"
}
]List of onchain transactions executed as part of this transfer. Present when the transfer involves onchain operations and has completed processing.
Represents a transaction that has been broadcast to a network. Contains the transaction hash and network to track a transaction's status and details.
Show child attributes
The unique transaction hash.
"0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef"
The blockchain network for the payment.
base, ethereum, algorand, aptos, arbitrum, avacchain, noble, optimism, polygon, solana, stellar, sui, unichain "base"
{
"txHash": "0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef",
"network": "ethereum"
}[
{
"txHash": "0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef",
"network": "ethereum"
}
]The date and time the transfer was completed.
"2025-01-01T00:05:00Z"
The reason for failure, if the transfer failed. Only present when status is failed.
"Insufficient balance to complete this transfer."
The reason for reversal, if the transfer was reversed. Only present when status is reversed.
user_requested, compliance_reversal, fraud_reversal, network_reversal, system_reversal "user_requested"
The reason for cancellation, if the transfer was canceled. Only present when status is canceled.
user_canceled, system_canceled, expired, compliance_canceled, risk_canceled, duplicate_canceled, insufficient_funds_canceled "user_canceled"
Detailed information about the last error that occurred while processing this transfer. Only present when status is failed.
Show child attributes
A specific error code identifying the type of error.
"insufficient_funds"
A human-readable description of the error.
"The source account does not have sufficient funds for this transfer."
The parameter that caused this error, if applicable.
"source.accountId"
Additional context about the error.
Show child attributes
Available balance when error is insufficient_funds.
"50.00"
Required amount when error is insufficient_funds.
"100.00"
Seconds to wait before retrying when rate limited.
300
{
"code": "insufficient_funds",
"message": "The source account does not have sufficient funds for this transfer.",
"param": "source.accountId",
"details": {
"availableBalance": "50.00",
"requiredAmount": "100.00"
}
}The date and time when this transfer will expire if not executed. Only present for draft and awaiting_funds statuses. After expiration, the transfer will move to expired status.
"2025-01-01T00:15:00Z"
The date and time the transfer was executed and moved to processing. Only present when status has progressed beyond draft.
"2025-01-01T00:01:30Z"
(Preview, not yet supported) If true, validates the transfer without initiating it. If the request is valid, a 2xx will be returned. If the request is invalid, a 4xx error will be returned. The response will include an errorType, for e.g. invalid_target if the specified target cannot receive funds.
false
(Preview, not yet supported) Key-value pairs of metadata about the transfer. Up to 5 key/value pairs may be provided. Each key and value must be less than or equal 100 characters.
{
"invoiceId": "12345",
"reference": "Payment for invoice #12345"
}(Preview, not yet supported) Required Travel Rule fields differ by region. These requirements are determined based on which Coinbase entity the customer has signed the service agreement for.
Show child attributes
Originator (sender) party.
Show child attributes
Full name of the party.
"John Doe"
Address information for travel rule compliance.
Show child attributes
Primary address line.
"123 Main St"
Secondary address line (optional).
"Unit 201"
City name.
"Luxembourg"
Postal or ZIP code.
"L-1234"
Two-letter ISO country code.
"LU"
{
"address1": "123 Main St",
"address2": "Unit 201",
"city": "Luxembourg",
"postalCode": "L-1234",
"country": "LU"
}Name of the financial institution (optional).
"Citibank"
{
"name": "John Doe",
"address": {
"address1": "123 Main St",
"address2": "Unit 201",
"city": "Luxembourg",
"postalCode": "L-1234",
"country": "LU"
}
}Beneficiary (receiver) party.
Show child attributes
Full name of the party.
"John Doe"
Address information for travel rule compliance.
Show child attributes
Primary address line.
"123 Main St"
Secondary address line (optional).
"Unit 201"
City name.
"Luxembourg"
Postal or ZIP code.
"L-1234"
Two-letter ISO country code.
"LU"
{
"address1": "123 Main St",
"address2": "Unit 201",
"city": "Luxembourg",
"postalCode": "L-1234",
"country": "LU"
}{
"name": "John Doe",
"address": {
"address1": "123 Main St",
"address2": "Unit 201",
"city": "Luxembourg",
"postalCode": "L-1234",
"country": "LU"
}
}{
"originator": {
"name": "John Doe",
"address": {
"address1": "123 Main St",
"address2": "Unit 201",
"city": "Luxembourg",
"postalCode": "L-1234",
"country": "LU"
},
"financialInstitution": "Citibank"
},
"beneficiary": {
"name": "Jane Smith",
"address": {
"address1": "456 Oak Ave",
"city": "Paris",
"postalCode": "75001",
"country": "FR"
}
}
}The token for the next page of items, if any.
"eyJsYXN0X2lkIjogImFiYzEyMyIsICJ0aW1lc3RhbXAiOiAxNzA3ODIzNzAxfQ=="
Was this page helpful?