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 at any time. A replacement made after a transaction on the deposit address is confirmed doesn’t change the report already sent for that transaction. Send
{}ornullto reset the object to the generated data of your company. A request withouttravel_rule_infoleaves the stored object unchanged. - 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 used at the top level. Any other key is ignored.
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 from 1 to 10 objects, 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 from 1 to 10 objects, 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.
Each person must contain the name field and at least one of the following fields: geographicAddress, nationalIdentification, dateAndPlaceOfBirth (natural persons only), or your internal customer identifier: customerIdentification for natural persons and customerNumber for legal persons.
Natural person
{
"naturalPerson": {
"name": [
{
"nameIdentifier": [
{
"primaryIdentifier": "Smith",
"secondaryIdentifier": "Anna",
"nameIdentifierType": "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 |
array of objects | Yes | The names of the person. Each entry contains the nameIdentifier array with one or more name objects. At least one name with the LEGL type is required. Additional names, 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[].nameIdentifierType |
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 | No. At least one of geographicAddress, nationalIdentification, customerIdentification, or dateAndPlaceOfBirth is required |
The addresses of the person. Refer to Address for the object fields. |
nationalIdentification |
object | No. At least one of geographicAddress, nationalIdentification, customerIdentification, or dateAndPlaceOfBirth is required |
The identity document details. Refer to National identification for the object fields. |
dateAndPlaceOfBirth |
object | No. At least one of geographicAddress, nationalIdentification, customerIdentification, or dateAndPlaceOfBirth is required |
The date and place of birth. Both fields must be specified together. |
dateAndPlaceOfBirth.dateOfBirth |
string | Yes, if dateAndPlaceOfBirth is specified |
The date of birth in the YYYY-MM-DD format. The date must be in the past. |
dateAndPlaceOfBirth.placeOfBirth |
string | Yes, if dateAndPlaceOfBirth is specified |
The town or country of birth. The maximum string length is 70 characters. |
customerIdentification |
string | No. At least one of geographicAddress, nationalIdentification, customerIdentification, or dateAndPlaceOfBirth is required |
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"
},
"customerNumber": "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 | No. At least one of geographicAddress, nationalIdentification, or customerNumber is required |
The addresses of the organization. Use the GEOG or BIZZ address type. Refer to Address for the object fields. |
nationalIdentification |
object | No. At least one of geographicAddress, nationalIdentification, or customerNumber is required |
The registration details. Typical identifier types are LEIX, RAID, and TXID. Refer to National identification for the object fields. |
customerNumber |
string | No. At least one of geographicAddress, nationalIdentification, or customerNumber is required |
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 with buildingNumber or buildingName 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. Specify it together with The maximum string length is 70 characters. |
buildingNumber |
string | Yes, if streetName is specified and buildingName isn’t |
The house or building number. The maximum string length is 16 characters. |
buildingName |
string | Yes, if streetName is specified and buildingNumber isn’t |
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 nameIdentifierType field of a natural person 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",
"nameIdentifierType": "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",
"nameIdentifierType": "LEGL"
}
]
}
],
"customerIdentification": "cust-88215"
}
}
]
}
}"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"
},
"customerNumber": "cust-88214",
"countryOfRegistration": "CY"
}
}
]
},
"beneficiary": {
"beneficiaryPersons": [
{
"legalPerson": {
"name": {
"nameIdentifier": [
{
"legalPersonName": "Receiver Holdings LLC",
"legalPersonNameIdentifierType": "LEGL"
}
]
},
"nationalIdentification": {
"nationalIdentifier": "C 12345",
"nationalIdentifierType": "RAID",
"countryOfIssue": "MT"
},
"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",
"nameIdentifierType": "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",
"nameIdentifierType": "LEGL"
}
]
}
],
"customerIdentification": "cust-77122"
}
}
]
}
}"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"
},
"customerNumber": "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
The content of the object isn’t checked when the request is processed. The request is rejected with the 400 HTTP code, and the source.pointer value of the error is /data/attributes/travel_rule_info, only if the object can’t be stored:
| Rule | Error code |
|---|---|
| The serialized object is at most 8 KB. | max_size |
| The object contains no invalid characters, such as NUL or lone surrogates. | invalid |
| Numbers are within the representable range. | invalid |
| Nesting is at most 32 levels deep. | invalid |
The structure rules described on this page are checked when the transfer is reported. The following rules are applied to each party:
- The
originatorPersonsorbeneficiaryPersonsarray contains from 1 to 10 persons. - Each person contains exactly one of the
naturalPersonandlegalPersonkeys. - Each person has at least one name with the
LEGLtype. - Each person meets the minimum set of fields, refer to Person object.
countryOfIssueis specified unless the identifier type isLEIX, andregistrationAuthorityis specified only withLEIXand matches theRA######format.- Enumerated values are within the lists in Reference values, country codes are ISO 3166-1 alpha-2 codes, and strings don’t exceed their maximum length.
dateAndPlaceOfBirth, when specified, has bothdateOfBirthwith a valid past date andplaceOfBirth.- Each address has either
addressLine, orstreetNametogether withbuildingNumberorbuildingName. - A party, a person, an address, and a national identification contain only the fields described on this page. Any other field, including other IVMS101 fields such as
accountNumber,floor, orlocalNameIdentifier, makes the party fail the check.
A party that fails the check is replaced with the data available on the platform: your own side of the transfer is reported with the registration data of your company, and the other side is reported as unknown. The deposit or payout itself isn’t affected. The check result is written to the operation history of the deposit or payout, where you can see it in the operation logs.
آخر تحديث في