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 {} or null to reset the object to the generated data of your company. A request without travel_rule_info leaves 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.
{
  "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 buildingNumber or buildingName.

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"
        }
      }
    ]
  }
}

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"
        }
      }
    ]
  }
}

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 originatorPersons or beneficiaryPersons array contains from 1 to 10 persons.
  • Each person contains exactly one of the naturalPerson and legalPerson keys.
  • Each person has at least one name with the LEGL type.
  • Each person meets the minimum set of fields, refer to Person object.
  • countryOfIssue is specified unless the identifier type is LEIX, and registrationAuthority is specified only with LEIX and matches the RA###### 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 both dateOfBirth with a valid past date and placeOfBirth.
  • Each address has either addressLine, or streetName together with buildingNumber or buildingName.
  • 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, or localNameIdentifier, 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.

最后更新于

本页目录