Protocols & Standards
The Travel Rule comes from FATF Recommendation 16, which requires VASPs to exchange originator and beneficiary information alongside crypto asset transfers. This page explains the data standard behind that exchange, how Shufti's fields map onto it, and your role in each transaction direction.
IVMS101
IVMS101 (interVASP Messaging Standard 101) is the common data model for Travel Rule information. It defines how originator, beneficiary and VASP data are structured, so that VASPs using different systems can read each other's messages.
You do not build IVMS101 messages yourself. You send the flat travel_rule payload described in Transactions, and the Travel Rule network carries it to the counterparty VASP.
Field Mapping
Shufti's request fields correspond to IVMS101 elements as follows. Originator and Beneficiary share the same structure.
Natural Person (type: NATURAL)
| Shufti field | IVMS101 element |
|---|---|
originator.name | naturalPerson.name.nameIdentifier |
originator.account_number | Originator.accountNumber |
originator.address | naturalPerson.geographicAddress |
originator.country | naturalPerson.countryOfResidence |
originator.national_identificator | naturalPerson.nationalIdentification.nationalIdentifier |
originator.national_identificator_type | naturalPerson.nationalIdentification.nationalIdentifierType |
originator.customer_number | naturalPerson.customerIdentification |
originator.date_of_birth | naturalPerson.dateAndPlaceOfBirth.dateOfBirth |
originator.place_of_birth | naturalPerson.dateAndPlaceOfBirth.placeOfBirth |
Legal Person (type: LEGAL)
| Shufti field | IVMS101 element |
|---|---|
originator.name | legalPerson.name.nameIdentifier.legalPersonName |
originator.account_number | Originator.accountNumber |
originator.address | legalPerson.geographicAddress |
originator.country | legalPerson.countryOfRegistration |
originator.national_identificator | legalPerson.nationalIdentification.nationalIdentifier |
originator.national_identificator_type | legalPerson.nationalIdentification.nationalIdentifierType |
originator.customer_number | legalPerson.customerNumber |
VASP
| Shufti field | IVMS101 element |
|---|---|
vasp_info.beneficiary_vasp_name | BeneficiaryVASP.beneficiaryVASP.legalPerson.name |
For the national identifier codes and their IVMS101 equivalents, see National Identificator Types.
Messaging Protocols
IVMS101 defines what is exchanged. Messaging protocols define how it travels between VASPs. Several protocols are used across the industry — for example TRP, TRISA, OpenVASP and Sygna Bridge — and different counterparties may use different ones.
You do not need to integrate with any of them directly. Counterparty discovery, message routing, delivery and retries are handled by the Travel Rule network (see How It Works). Check a counterparty's in_network flag in the VASP Directory to see whether it is reachable on the network.
OUTGOING vs INCOMING
Every transaction has a direction, which sets your role and your responsibilities.
OUTGOING | INCOMING | |
|---|---|---|
| Your role | Originator VASP | Beneficiary VASP |
| Your customer | Sends the funds | Receives the funds |
| You provide | Full originator data and the beneficiary data you hold | Your compliance decision |
| Status driven by | The counterparty VASP's response | You, via Update Transaction, for transactions created through your account |
| Personal data you receive | — | Originator data, once the destination wallet is confirmed (see PII Data Handling) |
See Status Lifecycle for the statuses each direction goes through.