Two integration patterns are supported. Pick based on your end users’ transfer profile.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.
Patterns
Pattern A: Collect up-front
Collect Travel Rule information at the moment a new destination address is saved. The address cannot be used for above-threshold transfers until valid metadata is attached. Use this when: most of your transfers are likely to cross the $3,000 threshold, or you’d rather collect once and avoid interrupting users at transaction time. Recommended for most integrations.Pattern B: Try-catch on transaction
Save the destination address without Travel Rule metadata. Attempt the withdrawal or orchestration. If the transaction crosses the threshold, the API returns a403 with a typed error. Collect the metadata, PUT it onto the destination address, and retry.
Use this when: most of your transfers are under $3,000 and you want to avoid front-loading data collection. Common for retail/consumer flows.
Mixing patterns
You can use both. A common approach: Pattern A for addresses tagged as “business” (likely high-value), Pattern B for addresses tagged as “personal” (likely small transfers).Examples
Crypto Withdrawal
Pattern A — $5,000 USDG withdrawal to a Coinbase account.Resolve the receiving VASP
See Response:The user picks Coinbase, Inc. from your type-ahead. You capture
GET /v2/travelrule/vasps API reference.vasp.id = "vasp_01HXYZABC123".Save the destination address with Travel Rule metadata
Create the withdrawal
Travel Rule metadata is resolved from the saved address. See Request:The withdrawal is created. Paxos transmits the Travel Rule message to the receiving institution before broadcasting on-chain.
POST /v2/transfer/crypto-withdrawals API reference.Orchestration
Resolve the receiving VASP
Same as the crypto withdrawal example above.
Save the destination address with Travel Rule metadata
Same as the crypto withdrawal example above.
Create the orchestration
The orchestration references the saved address by Travel Rule metadata is resolved from the saved destination address at execution time.
(network, address). See POST /v2/orchestration/orchestrations API reference.Request:Additional scenarios
Self-transfers (me-to-me)
Setbeneficiary.self = true and omit person_details and institution_details. The server resolves the end user’s details from their identity. No vasp object is required.
Unhosted/self-hosted wallets
Setcustodian_type to PRIVATE and omit vasp. No Travel Rule message is transmitted, but the metadata is still required to record the determination.
VASP not in the Paxos directory
Providevasp.name and vasp.website_url of the provider hosting the wallet. Paxos Compliance handles the off-directory Travel Rule obligation. Paxos continuously expands directory coverage based on customer transaction patterns.
Updating Travel Rule metadata on an existing address
CallPUT /v2/transfer/crypto-destination-address with either the id of the address or the crypto_network and address to update the travelrule_metadata object. Subsequent transactions to that address will use the updated metadata.