Skip to main content
POST
Submit deposit travel rule information

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 string 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: 1 - 128

Path Parameters

transferId
string
required

The unique identifier of the transfer.

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

"transfer_af2937b0-9846-4fe7-bfe9-ccc22d935114"

Body

application/json

Request body for submitting travel rule information for a deposit transfer. Required fields vary by jurisdiction.

isSelf
boolean

Indicates whether the user attests that the originating wallet belongs to them.

Example:

false

isIntermediary
boolean

Indicates whether Coinbase is acting as the intermediary Virtual Asset Service Provider (VASP), and your organization is acting as an originating VASP on behalf of your own end customer.

Background:

The Travel Rule (FATF Recommendation 16) requires VASPs to collect and share certain information about virtual asset transfers. If your organization is a VASP, and you are acting on behalf of your end customer, you must provide additional Travel Rule data to satisfy compliance requirements.

Set to true when your organization is itself a VASP acting on behalf of your own end customer (the true originator).

Set to false (or omit) when your organization is not itself a VASP acting on behalf of an end customer — for example, if the virtual assets involved are your organization's own funds.

Impact on required fields:

When isIntermediary is true, you must provide the originator object with the following details:

  • The originator's (i.e. your end customer's) name
  • The originator's address
  • Your organization's VASP information (virtualAssetServiceProvider object with identifier, name, and address)

In certain jurisdictions, personalId and dateOfBirth must also reflect the original sender's identity — not your organization's. These fields will not be auto-populated from any internal KYC data when isIntermediary is true.

Example:

true

attestVerifiedWalletOwnership
boolean

When true, you attest that the originating wallet's ownership has been verified out-of-band. Instructs Coinbase to skip the wallet verification check for this travel-rule submission.

Only valid when isIntermediary is true. You can only attest to the originating wallet's ownership when your organization is acting as the originating VASP on behalf of your end customer, and Coinbase is acting as the intermediary VASP. Returns a 400 error if set to true when isIntermediary is false or omitted.

Example:

true

originator
object

Originator information for the travel rule submission.

Example:
beneficiary
object

Beneficiary information for the travel rule submission.

Example:

Response

Successfully submitted travel rule information.

Response from submitting travel rule information for a deposit transfer.

status
enum<string>
required

The status of a travel rule submission.

Available options:
incomplete,
completed
Example:

"incomplete"

missingFields
string[]

List of field paths that are still required to complete travel rule compliance. Each entry is a dot-separated path (e.g., "originator.name", "originator.address.countryCode"). Empty when status is "completed".

Example:
reason
string

Additional context about the current status. Present when status is incomplete to explain what needs to be fixed before the transfer can proceed.

Example:

"Originator date of birth is required."