Skip to main content

Documentation Index

Fetch the complete documentation index at: https://paxos-0ac97319-preview-travel-rule-api-changes.mintlify.app/llms.txt

Use this file to discover all available pages before exploring further.

All Travel Rule fields live on the travelrule_metadata object on PUT /v2/transfer/crypto-destination-address.

Fields

FieldTypeRequired (US)Description
custodian_typeenumAlwaysType of wallet at the destination: VASP (held at another regulated institution) or PRIVATE (unhosted/self-custody). Drives downstream validation.
vasp.idstringWhen custodian_type = VASP (preferred)Paxos identifier for the receiving institution. Resolve via GET /v2/travelrule/vasps.
vasp.namestringWhen custodian_type = VASP and no vasp.id availableName of the receiving institution. Fallback for institutions not in the Paxos directory.
vasp.website_urlstringWhen vasp.name is specifiedWebsite URL of the receiving institution. Required alongside vasp.name to identify off-directory VASPs.
transfer_purposeenumOptional (US); required in SG/EUPurpose of the transfer. Recommended for partners with cross-jurisdictional flows.
beneficiaryobjectAlwaysBeneficiary details. Provide either person_details or institution_details, or set self = true for me-to-me transfers.
beneficiary.selfbooleanOptionalSet true when the destination wallet belongs to the same end user as the originator. When set, omit person_details and institution_details.
beneficiary.person_details.first_namestringWhen beneficiary is a personLegal first name.
beneficiary.person_details.last_namestringWhen beneficiary is a personLegal last name.
beneficiary.person_details.physical_address.countrystringWhen beneficiary is a personCountry of the beneficiary.
beneficiary.institution_details.namestringWhen beneficiary is an institutionLegal name of the institution.
beneficiary.institution_details.physical_address.countrystringWhen beneficiary is an institutionCountry of the institution.
beneficiary.person_details.physical_address.address1stringOptionalStreet address line 1.
beneficiary.person_details.physical_address.address2stringOptionalStreet address line 2.
beneficiary.person_details.physical_address.citystringOptional
beneficiary.person_details.physical_address.provincestringOptionalState or province.
beneficiary.person_details.physical_address.zip_codestringOptional
Provide either vasp.id or vasp.name + vasp.website_url, not both. Prefer vasp.id — Travel Rule messages can only be transmitted automatically when a directory ID is provided.

Examples

Each example below is a PUT /v2/transfer/crypto-destination-address request body.

Transfer to a person beneficiary at another VASP

{
  "crypto_network": "ETHEREUM",
  "address": "0xe4B0aCA9FB669817775274775b20e52118595515",
  "nickname": "alice_coinbase",
  "identity_id": "b8d9f2a1-3c4e-4f5a-9b6d-7e8f0a1b2c3d",
  "travelrule_metadata": {
    "custodian_type": "VASP",
    "beneficiary": {
      "person_details": {
        "first_name": "Alice",
        "last_name": "Smith",
        "physical_address": {
          "country": "US"
        }
      }
    },
    "vasp": {
      "id": "vasp_01HXYZABC123"
    },
    "transfer_purpose": "TRANSFER_PURPOSE_SAVINGS"
  }
}

Self-transfer to an unhosted wallet

{
  "crypto_network": "ETHEREUM",
  "address": "0xabc...",
  "nickname": "alice_metamask",
  "identity_id": "b8d9f2a1-3c4e-4f5a-9b6d-7e8f0a1b2c3d",
  "travelrule_metadata": {
    "custodian_type": "PRIVATE",
    "beneficiary": {
      "self": true
    }
  }
}

Transfer to a VASP not in the Paxos directory

{
  "crypto_network": "ETHEREUM",
  "address": "0xdef...",
  "travelrule_metadata": {
    "custodian_type": "VASP",
    "beneficiary": {
      "person_details": {
        "first_name": "Bob",
        "last_name": "Jones",
        "physical_address": {
          "country": "DE"
        }
      }
    },
    "vasp": {
      "name": "Some Regional Exchange GmbH",
      "website_url": "https://some-regional-exchange.de"
    },
    "transfer_purpose": "TRANSFER_PURPOSE_GOODS_SERVICES"
  }
}

Transfer to an institution beneficiary

{
  "crypto_network": "ETHEREUM",
  "address": "0xghi...",
  "travelrule_metadata": {
    "custodian_type": "VASP",
    "beneficiary": {
      "institution_details": {
        "name": "Acme Corp",
        "physical_address": {
          "country": "US"
        }
      }
    },
    "vasp": {
      "id": "vasp_01HXYZDEF456"
    },
    "transfer_purpose": "TRANSFER_PURPOSE_INVESTMENT"
  }
}