VerifyVASP
Search…
IVMS101 Message Format Guide

Overview

IVMS101 is an open specification developed by the interVASP Messaging Standard working group, defining the data format on how to input the different types of personal information.
However, there are known limitations and VASPs sometimes struggle to input or interpret data for exchanging information.
In lieu of this, we augment the IVMS101 standard with the following guideline on how to input and interpret information in each case in order for seamless data exchange within the VerifyVASP alliance.
It is important that this guideline is followed comprehensively so that data between alliance members can be seamlessly exchanged. For cases not shown in the guide, please raise an issue or if you are already a member, engage us in your dedicated slack channel.

How to Input Information in Each Case

Reminder

A verification is performed for every transaction, you cannot enter information on multiple transactions into one verification.

How to Input Personal or Corporate Information

  1. 1.
    If there are multiple originators
    • Enter only one originator in IVMS101 format.
      • Multiple individuals or corporates cannot be input as originators of the same verification request.
    • If there are multiple originators, you have to make a verification request per originator.
    • Exception: For a corporate body, multiple inputs are allowed in orginatorPersons because both the corporate information and the representative information are necessary.
      1. 1.
        In this case, both originators indicate one corporate body. Therefore, there is only one originator.
  2. 2.
    If there are multiple beneficiaries
    • Enter one beneficiary in IVMS101 format.
      • Two or more different individuals or corporates cannot be input as beneficiaries of the same verification.
    • If there are multiple beneficiaries, you have to make a verification request per each beneficiary.
    • Exception: For a corporate body, multiple inputs are allowed in beneficiaryPersons because both the corporate information and the representative information are necessary.
    • In this case, both beneficiaries indicate one corporate body. Therefore, there is only one originator.
  3. 3.
    If the beneficiary or the originator is a corporate body (legal person)
    • If a corporate body is legally acknowledged by Korean law, both the information of the corporate body and a representative must be entered both for originator and beneficiary.
    • Since there is no factor to enter the representative information in LegalPerson type of IVMS101, the representative information will be entered as below.
      • originatorPersons or beneficiaryPersons is a deployment of a Person type, so the first element of the deployment must be the corporate body (legal person) information.
      • Starting the second element, the individual (natural person) information of the representative is entered.
      • If there are multiple representatives, keep entering personal information of each representative after the deployment.

How to Enter Wallet Addresses

  1. 1.
    accountNumber is case-sensitive text string.
  2. 2.
    accountNumber of the originator
    • In the accountNumber of the originator, you must enter the address which will be displayed as the "from address" on the blockchain network.
      • Even if the address is a hot wallet of VASP not directly related to the originator, enter the address of the hot wallet.
    • If there are multiple input addresses, such as UTXO, enter all input addresses.
    • If it is difficult to know the "from address" (i.e., using a separate UTXO wallet), enter the identification number of the customer given by the VASP.
  3. 3.
    accountNumber of the beneficiary
    • In the accoutNumber of the beneficiary, enter the actual blockchain address entered by the originator.
    • If there are multiple addresses, enter all of them.

How to Enter Names

  1. 1.
    Common
    • The names of NaturalPerson and LegalPerson are not deployments but single objects
      • Although the specification notes them as both deployments and single objects, it is more valid to interpret them as single objects.
    • The nameIdentifier factor of the name is a deployment.
      • If you would like to input multiple names, you can input them in nameIdentifier deployment.
    • At least one element in the nameIdentifier deployment must be a legal name. (LEGL type)
  2. 2.
    Trading with Korean VASPs
    • Name in Korean
    • If the official name is English (Foreigners or a corporate body), use the English name.
  3. 3.
    Trading with VASPs overseas
    • Name in English
    • If there is no English name in the member information, we suggest using the link below for translation.
    • You can enter a Korean name in localNameIdentifier. However, an English name must be entered in a nameIdentifier element.
  4. 4.
    When the last name and the first name can be separated
    • Enter the last name in the primaryIdentifier.
    • Enter the first name in the secondaryIdentifier.
  5. 5.
    When the last name and the first name cannot be separated
    • Enter the full name in the primaryIdentifier.
    • Do not enter anything in the secondaryIdentifier.

How to Enter a Geographical Address

  1. 1.
    Common
    • geographicAddress element is a deployment. Thus, you can enter multiple addresses.
      • One of the addresses must be GEOG, HOME, or BIZZ type address.
    • All addresses must be at least one of the following combinations below
      • At least one addressLine
      • streetName + buildingName
      • stressName + buildingNumber
    • country element is required, and you must enter a two-letter country code defined in ISO-3166-1 alpha-2.
      • For example KR, JP, US, SG etc
  2. 2.
    If the address information is divided into elements such as cities, do, states, street, and buildings.
    • In countrySubDivision element, enter cities and do (for Korean addresses).
      • For example Seoul, Gwangju, Gyeonggi-do, Jeju-do
    • In districtName element, enter cities, gun/gu (for Korean addresses).
    • In townName element, enter the town or up/myun/dong (for Korean addresses).
    • In streetName element, enter the name of the street.
    • In either buildingName element or buildingNumber element, enter the building name or number.
    • In the floor element or room element, enter a floor or room number.
  3. 3.
    If the address information is not saved into elements.
    • Since you can enter up to seven addresses as a deployment in addressLine, enter the address as an element of deployment if you have a divided one.
    • If you only know the full address, enter the full address as the first element of the addressLine deployment.
  4. 4.
    When entering the legal person's address
    • When entering the address of a legal person, both the address of the head office and the place of business must be entered.
      • The head office address is put as the first element in the geographic address array.
      • Put the business address as the second element in the geographic address array.
      • If you have multiple businesses, you can add them starting from the third element of the geographic address array.
      • Even if the address of the head office and the place of business are the same, duplicate them in the first and second elements respectively.

How to Enter Birth Date

  1. 1.
    Common
    • Do not enter birth date for a corporate body (legal person)
    • In dateOfBirth element, enter birth date in “YYYY-MM-DD” format.
    • In placeOfBirth element, place of birth must be entered
      • If you do not know the place of birth, enter the geographical address (current residence).
      • However, for a customer from a country which does not allocate a national identification number, then the place of birth is required.
    Place of birth is important for countries without a national identification number.

How to Enter a Nationality

  1. 1.
    Common
    • Do not enter nationality for a legal person.
    • There is a format with a place of residence in IVMS101, but there is no format with a nationality.
    • In order to exchange nationality information, we added nationality in the NaturalPerson type by modifying the IVMS101 format.
    • Therefore, enter a country code in the nationality element.