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

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

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_info value isn’t a JSON object or contains a key other than originator or beneficiary.
  • An entry of the originatorPersons or beneficiaryPersons array contains both or neither of the naturalPerson and legalPerson keys.
  • The nameIdentifier array has no entry with the LEGL type.
  • An originator has the name field 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

On this page