End-to-End Guide
A typical Travel Rule transaction passes through five stages.
1. Generate JWT Token
This is the first step in every API session. You send your API Key and receive a temporary JWT token.
Why this is needed
- Protects the API
- Prevents unauthorized access
- Ensures every transfer is linked to a verified VASP
See POST /auth/token.
2. Generate Travel Address
A Travel Address is a unique identifier for the beneficiary VASP. It acts like a Travel Rule routing code that tells TRP where to deliver IVMS101 beneficiary data.
To generate it, you only provide:
- Beneficiary first name
- Beneficiary last name (or
legalNamefor legal entities)
No sensitive data is exposed by the Travel Address itself — it is a URL-safe encoded routing token.
When to use
- Before initiating a transfer
- When a user enters a beneficiary's wallet address
- During onboarding flows
See POST /travel-address/generate.
3. Initiate Transfer (Travel Rule Request)
This is the main Travel Rule operation. You submit:
- Originator data
- Beneficiary data
- Asset and amount
- Travel Address (OPEN_VASP flow) or beneficiary email (EMAIL flow)
- Callback URL
TRP will:
- Validate IVMS101 originator & beneficiary data
- Determine the beneficiary VASP from the Travel Address
- Forward the data securely
- Await their confirmation
- Send callback updates to your backend
4. Inquiry / Inquiry Resolution
The receiving VASP responds with an inquiry resolution containing the beneficiary wallet address. TRP routes this back to the originator's callback URL.
See POST /transfers/inquiry/{beneficiaryPublicId} and POST /transfers/inquiryResolution.
5. Broadcast TxId & Confirmation
Once the transfer is broadcast on-chain, the originator VASP submits txId. TRP forwards a final confirmation callback to the beneficiary VASP.