> For the complete documentation index, see [llms.txt](https://vnx.gitbook.io/vnx-global/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://vnx.gitbook.io/vnx-global/developer/concepts/travel-rule.md).

# Travel Rule

*Every external-wallet transfer above the Travel Rule threshold needs originator and beneficiary data exchanged before VNX broadcasts the on-chain transaction.*

## Overview

VNX applies the FATF Travel Rule to virtual-asset transfers crossing into or out of customer-controlled (external) wallets. In practice, this means the integrator must collect and submit Travel Rule data alongside any mint-to-external-wallet or redeem-from-external-wallet request. VNX's compliance engine then exchanges that data with the counterparty VASP and only releases the on-chain leg once the exchange clears.

## Key benefits

* **Built-in compliance** — VNX runs the VASP-to-VASP message exchange so integrators do not pick or operate a Travel Rule provider.
* **Same surface for hosted and unhosted wallets** — the API handles both with the same field set.
* **Audit-grade evidence** — every exchange persisted into the five-year audit log alongside the underlying transaction.

## Use cases

* **Mint to external wallet** — exchange or fintech delivers VGBP/VCHF straight to a customer's whitelisted address.
* **Redemption from external wallet** — customer burns VGBP/VCHF from their own wallet and receives fiat.

## How it works

1. **Collect originator data** at the customer side: name, address, account/wallet identifier, and any required tax or ID fields.
2. **Submit on the request** — send `travel_rule` payload alongside the mint, redeem, or transfer call.
3. **VNX exchanges with the counterparty VASP** through its Travel Rule provider; unhosted-wallet flows still capture and persist the originator data even when there is no counterparty VASP.
4. **Hold or release** — pass clears: VNX broadcasts the on-chain leg or initiates the fiat leg. Hold: the request stays in a pending-compliance state until cleared, expired, or rejected; poll the relevant query endpoint to observe the transition.

```mermaid
sequenceDiagram    participant I as Integrator    participant V as VNX API    participant TR as Travel Rule Provider    participant CP as Counterparty VASP    I->>V: Mint to external wallet (with travel_rule payload)    V->>TR: Send originator/beneficiary    TR->>CP: Exchange message    CP-->>TR: Accept / reject    TR-->>V: Result    I->>V: Poll query endpoint: cleared OR held    V->>V: Broadcast on-chain leg if cleared
```

## Timing impact

Travel Rule message exchange affects stablecoin issuance and redemption timing — crypto-funded stablecoin deliveries average \~3 hours including Travel Rule processing.

## Illustrative payload

```json
{  "travel_rule": {    "originator": {      "name": "Acme Treasury Ltd",      "address": "1 Main St, Hamilton HM 11, Bermuda",      "account_or_wallet": "0xabc...",      "ref": "internal-customer-id-123"    },    "beneficiary": {      "name": "Beta Capital LLC",      "wallet": "0xdef..."    }  }}
```

## Related

* [Mint Flow](/vnx-global/developer/flows/mint-flow.md)
* [Redeem Flow](/vnx-global/developer/flows/redeem-flow.md)
* [AML CTF Travel Rule](/vnx-global/institutional/regulatory/aml-ctf-travel-rule.md)
* [AML CTF Statement](/vnx-global/institutional/regulatory/aml-ctf-statement.md)
* [Glossary](/vnx-global/glossary.md)
