Travel Rule info object
Structure of the travel_rule_info object used to pass the originator and beneficiary details for B2BINPAY deposits and payouts under the Travel Rule
The travel_rule_info object carries the identity of the parties to a transfer in the IVMS101 format, so that the transfer can be reported under the Travel Rule.
You can include the object in the data.attributes section of the following requests:
- Create deposit — you can also replace the object later with the Update deposit method, until the first transaction on the deposit address is confirmed.
- Create payout — the object can’t be changed after the payout is created.
If the object is omitted, the transfer is reported with the registration data of your company only, and the counterparty is reported as unknown.
Object structure
The object contains the originator and beneficiary sections, each holding an array with the identity of the corresponding party:
"travel_rule_info": {
"originator": {
"originatorPersons": [ <Person> ]
},
"beneficiary": {
"beneficiaryPersons": [ <Person> ]
}
}Only the originator and beneficiary keys are allowed at the top level. Any other key is rejected.
The object contains the following fields:
| Name | Type | Required | Description |
|---|---|---|---|
originator |
object | No | The party that sends the funds. |
originator.originatorPersons |
array of objects | Yes, if originator is specified |
The identity of the sending party, as an array of Person objects. The array contains at least one object, usually exactly one. |
beneficiary |
object | No | The party that receives the funds. |
beneficiary.beneficiaryPersons |
array of objects | Yes, if beneficiary is specified |
The identity of the receiving party, as an array of Person objects. The array contains at least one object, usually exactly one. |
Person object
Each entry in the originatorPersons or beneficiaryPersons array contains exactly one of the following keys:
naturalPerson— an individual, refer to Natural person for the object fields.legalPerson— a company or another organization, refer to Legal person for the object fields.
The minimum set of fields depends on the role of the party:
| Role | Minimum data |
|---|---|
| Beneficiary | name |
| Originator | name and at least one of the following: geographicAddress, nationalIdentification, customerIdentification, or dateAndPlaceOfBirth (natural persons only) |
In the tables below, the Conditional value in the Required column marks the fields that count toward this minimum for originators.
Natural person
{
"naturalPerson": {
"name": {
"nameIdentifier": [
{
"primaryIdentifier": "Smith",
"secondaryIdentifier": "Anna",
"naturalPersonNameIdentifierType": "LEGL"
}
]
},
"geographicAddress": [
{
"addressType": "HOME",
"streetName": "Baker Street",
"buildingNumber": "221B",
"townName": "London",
"postCode": "NW1 6XE",
"country": "GB"
}
],
"nationalIdentification": {
"nationalIdentifier": "533401234",
"nationalIdentifierType": "CCPT",
"countryOfIssue": "GB"
},
"dateAndPlaceOfBirth": {
"dateOfBirth": "1990-02-25",
"placeOfBirth": "Manchester"
},
"customerIdentification": "cust-88213"
}
}The naturalPerson object contains the following fields:
| Name | Type | Required | Description |
|---|---|---|---|
name.nameIdentifier |
array of objects | Yes | The names of the person. At least one entry with the LEGL type is required. Additional entries, such as an alias, are optional. |
name.nameIdentifier[].primaryIdentifier |
string | Yes |
The family name (surname). The maximum string length is 100 characters. |
name.nameIdentifier[].secondaryIdentifier |
string | No |
The given name or names. The maximum string length is 100 characters. |
name.nameIdentifier[].naturalPersonNameIdentifierType |
string | Yes | The type of the name. Use LEGL for the name as specified in an identity document. Refer to Name identifier types for possible values. |
geographicAddress |
array of objects | Conditional | The addresses of the person. Refer to Address for the object fields. |
nationalIdentification |
object | Conditional | The identity document details. Refer to National identification for the object fields. |
dateAndPlaceOfBirth.dateOfBirth |
string | Conditional | The date of birth in the YYYY-MM-DD format. The date must be in the past. |
dateAndPlaceOfBirth.placeOfBirth |
string | Yes, if dateOfBirth is specified |
The town or country of birth. The maximum string length is 70 characters. |
customerIdentification |
string | Conditional |
Your internal identifier of the customer. The maximum string length is 50 characters. |
countryOfResidence |
string | No | The country of residence, as an ISO 3166-1 alpha-2 code. |
Legal person
{
"legalPerson": {
"name": {
"nameIdentifier": [
{
"legalPersonName": "Sender Trading Ltd",
"legalPersonNameIdentifierType": "LEGL"
}
]
},
"geographicAddress": [
{
"addressType": "GEOG",
"addressLine": ["12 Harbour Road", "Floor 3"],
"townName": "Limassol",
"postCode": "3042",
"country": "CY"
}
],
"nationalIdentification": {
"nationalIdentifier": "5493001KJTIIGC8Y1R12",
"nationalIdentifierType": "LEIX",
"registrationAuthority": "RA000665"
},
"customerIdentification": "cust-88214",
"countryOfRegistration": "CY"
}
}The legalPerson object contains the following fields:
| Name | Type | Required | Description |
|---|---|---|---|
name.nameIdentifier |
array of objects | Yes | The names of the organization. At least one entry with the LEGL type is required. Additional entries, such as a short or trading name, are optional. |
name.nameIdentifier[].legalPersonName |
string | Yes |
The registered company name. The maximum string length is 100 characters. |
name.nameIdentifier[].legalPersonNameIdentifierType |
string | Yes | The type of the name. Use LEGL for the registered name. Refer to Name identifier types for possible values. |
geographicAddress |
array of objects | Conditional | The addresses of the organization. Use the GEOG or BIZZ address type. Refer to Address for the object fields. |
nationalIdentification |
object | Conditional | The registration details. Typical identifier types are LEIX, RAID, and TXID. Refer to National identification for the object fields. |
customerIdentification |
string | Conditional |
Your internal identifier of the customer. The maximum string length is 50 characters. |
countryOfRegistration |
string | No | The country where the company is incorporated, as an ISO 3166-1 alpha-2 code. |
Address
Each entry of the geographicAddress array contains the following fields:
| Name | Type | Required | Description |
|---|---|---|---|
addressType |
string | Yes | The nature of the address. Refer to Address types for possible values. |
country |
string | Yes | The country, as an ISO 3166-1 alpha-2 code. |
townName |
string | Yes |
The city or town. The maximum string length is 35 characters. |
addressLine |
array of strings | Yes, unless streetName is specified |
The address in free format, as one or more lines. The array contains up to 7 lines, each up to 70 characters long. |
streetName |
string | Yes, unless addressLine is specified |
The street name. The maximum string length is 70 characters. |
buildingNumber |
string | No |
The house or building number. The maximum string length is 16 characters. |
buildingName |
string | No |
The building name. The maximum string length is 35 characters. |
postCode |
string | No |
The postal code. The maximum string length is 16 characters. |
countrySubDivision |
string | No |
The state, region, or province. The maximum string length is 35 characters. |
National identification
The nationalIdentification object contains the following fields:
| Name | Type | Required | Description |
|---|---|---|---|
nationalIdentifier |
string | Yes |
The document or registration number. The maximum string length is 35 characters. |
nationalIdentifierType |
string | Yes | The type of the identifier. Refer to National identifier types for possible values. |
countryOfIssue |
string | Yes, unless the type is LEIX |
The issuing country, as an ISO 3166-1 alpha-2 code. Not allowed with the LEIX type. |
registrationAuthority |
string | Yes, only if the type is LEIX |
The GLEIF Registration Authority code in the RA###### format, for example, RA000665. Not allowed with other types. |
Reference values
Name identifier types
The naturalPersonNameIdentifierType field accepts the following values:
| Value | Description |
|---|---|
LEGL |
Legal name — the name as specified in an identity document. |
ALIA |
Alias — a name the person is also known by. |
BIRT |
Name at birth. |
MAID |
Maiden name. |
MISC |
Other — a name of another type. |
The legalPersonNameIdentifierType field accepts the following values:
| Value | Description |
|---|---|
LEGL |
Legal name — the official name under which the organization is registered. |
SHRT |
Short name — the short name of the organization. |
TRAD |
Trading name — the name used by the business for business purposes, although its registered legal name used for contracts and other formal situations may be different. |
Address types
The addressType field accepts the following values:
| Value | Description |
|---|---|
HOME |
Residential — the home address of a natural person. |
BIZZ |
Business — the business address. |
GEOG |
Geographic — the unspecified physical (geographical) or registered address suitable for identification of the natural or legal person. |
National identifier types
The nationalIdentifierType field accepts the following values:
| Value | Description | Typical for |
|---|---|---|
CCPT |
Passport number. | Natural persons |
IDCD |
National identity card number. | Natural persons |
DRLC |
Driving license number. | Natural persons |
SOCS |
Social security number. | Natural persons |
ARNU |
Alien registration number. | Natural persons |
FIIN |
Foreign investment identity number. | Natural persons |
TXID |
Tax identification number. | Natural and legal persons |
RAID |
Company registration number. | Legal persons |
LEIX |
Legal Entity Identifier (LEI). | Legal persons |
MISC |
Other — an identifier of another type. | Natural and legal persons |
Examples
The examples below show the travel_rule_info object only. For complete requests, refer to Create deposit, Update deposit, and Create payout.
Deposit
In a deposit, the originator is the party that sends funds to your deposit address, and the beneficiary is your end customer who receives them.
"travel_rule_info": {
"originator": {
"originatorPersons": [
{
"naturalPerson": {
"name": {
"nameIdentifier": [
{
"primaryIdentifier": "Smith",
"secondaryIdentifier": "Anna",
"naturalPersonNameIdentifierType": "LEGL"
}
]
},
"geographicAddress": [
{
"addressType": "HOME",
"streetName": "Baker Street",
"buildingNumber": "221B",
"townName": "London",
"postCode": "NW1 6XE",
"country": "GB"
}
],
"nationalIdentification": {
"nationalIdentifier": "533401234",
"nationalIdentifierType": "CCPT",
"countryOfIssue": "GB"
},
"dateAndPlaceOfBirth": {
"dateOfBirth": "1990-02-25",
"placeOfBirth": "Manchester"
},
"customerIdentification": "cust-88213"
}
}
]
},
"beneficiary": {
"beneficiaryPersons": [
{
"naturalPerson": {
"name": {
"nameIdentifier": [
{
"primaryIdentifier": "Novak",
"secondaryIdentifier": "Petr",
"naturalPersonNameIdentifierType": "LEGL"
}
]
}
}
}
]
}
}"travel_rule_info": {
"originator": {
"originatorPersons": [
{
"legalPerson": {
"name": {
"nameIdentifier": [
{
"legalPersonName": "Sender Trading Ltd",
"legalPersonNameIdentifierType": "LEGL"
}
]
},
"geographicAddress": [
{
"addressType": "GEOG",
"addressLine": ["12 Harbour Road", "Floor 3"],
"townName": "Limassol",
"postCode": "3042",
"country": "CY"
}
],
"nationalIdentification": {
"nationalIdentifier": "5493001KJTIIGC8Y1R12",
"nationalIdentifierType": "LEIX",
"registrationAuthority": "RA000665"
},
"customerIdentification": "cust-88214",
"countryOfRegistration": "CY"
}
}
]
},
"beneficiary": {
"beneficiaryPersons": [
{
"legalPerson": {
"name": {
"nameIdentifier": [
{
"legalPersonName": "Receiver Holdings LLC",
"legalPersonNameIdentifierType": "LEGL"
}
]
},
"countryOfRegistration": "MT"
}
}
]
}
}Payout
In a payout, the originator is your end customer on whose behalf you send the funds, and the beneficiary is the owner of the destination address.
"travel_rule_info": {
"originator": {
"originatorPersons": [
{
"naturalPerson": {
"name": {
"nameIdentifier": [
{
"primaryIdentifier": "Kowalski",
"secondaryIdentifier": "Jan",
"naturalPersonNameIdentifierType": "LEGL"
}
]
},
"nationalIdentification": {
"nationalIdentifier": "ABC123456",
"nationalIdentifierType": "IDCD",
"countryOfIssue": "PL"
},
"dateAndPlaceOfBirth": {
"dateOfBirth": "1985-11-03",
"placeOfBirth": "Warsaw"
},
"customerIdentification": "cust-77120"
}
}
]
},
"beneficiary": {
"beneficiaryPersons": [
{
"naturalPerson": {
"name": {
"nameIdentifier": [
{
"primaryIdentifier": "Garcia",
"secondaryIdentifier": "Luis",
"naturalPersonNameIdentifierType": "LEGL"
}
]
}
}
}
]
}
}"travel_rule_info": {
"originator": {
"originatorPersons": [
{
"legalPerson": {
"name": {
"nameIdentifier": [
{
"legalPersonName": "Payer Capital Ltd",
"legalPersonNameIdentifierType": "LEGL"
}
]
},
"geographicAddress": [
{
"addressType": "BIZZ",
"streetName": "Marina Boulevard",
"buildingNumber": "8",
"townName": "Singapore",
"postCode": "018981",
"country": "SG"
}
],
"nationalIdentification": {
"nationalIdentifier": "201912345K",
"nationalIdentifierType": "RAID",
"countryOfIssue": "SG"
},
"customerIdentification": "cust-77121",
"countryOfRegistration": "SG"
}
}
]
},
"beneficiary": {
"beneficiaryPersons": [
{
"legalPerson": {
"name": {
"nameIdentifier": [
{
"legalPersonName": "Receiver Holdings LLC",
"legalPersonNameIdentifierType": "LEGL"
}
]
},
"nationalIdentification": {
"nationalIdentifier": "HE 405112",
"nationalIdentifierType": "RAID",
"countryOfIssue": "CY"
},
"countryOfRegistration": "CY"
}
}
]
}
}Validation errors
A request with an invalid travel_rule_info object is rejected with the 400 HTTP code. The source.pointer field of the error points to the failing field:
{
"errors": [
{
"status": "400",
"source": {
"pointer": "/data/attributes/travel_rule_info/beneficiary/beneficiaryPersons/0/legalPerson/nationalIdentification/countryOfIssue"
},
"detail": "countryOfIssue is not allowed when nationalIdentifierType is LEIX; provide registrationAuthority instead."
}
]
}The most common reasons for rejection are the following:
- The
travel_rule_infovalue isn’t a JSON object or contains a key other thanoriginatororbeneficiary. - An entry of the
originatorPersonsorbeneficiaryPersonsarray contains both or neither of thenaturalPersonandlegalPersonkeys. - The
nameIdentifierarray has no entry with theLEGLtype. - An originator has the
namefield only. Refer to Person object for the minimum set of fields. - An enumerated value is outside the lists in Reference values, or a country code isn’t an ISO 3166-1 alpha-2 code.
Last updated on