가상자산 이전 시 사용되는 국제 메시징 표준 IVMS101에 대해 설명합니다.

CODE는 가상자산 거래와 관련한 개인정보를 교환하기 위해 IVMS101 표준을 사용합니다.

json 스키마 및 예제는 여기를 참고해주세요.

  • 메시지의 필드 이름은 첫글자를 소문자로 시작하는 camelCase 로 표기합니다.
    단, ivms101 에서 Entity 에 해당하는 'Originator', 'Beneficiary', 'OriginatorVASP', 'BeneficiaryVASP' 객체는 PascalCase 로 표기합니다.
  • 모든 필드의 값(Value)는 별도로 명시된 내용이 없으면 대소문자를 구분하지 않습니다.
  • 모든 필드의 값(Value)는 항상 UTF-8 인코딩된 문자열로 표현합니다. (boolean 이나 정수, 실수 등 포함)
  • 모든 필드의 값(Value)는 한글이 허용되는 경우를 제외하면 영어 표기를 원칙으로 합니다.

이름 입력하기

법인(legalPerson) 정보 기입 방법

  • 대한민국 특금법상 법인의 경우에는 법인에 대한 정보 뿐만 아니라 대표자에 대한 정보도 기입해야 합니다. (송금인, 수취인 모두에 대해 마찬가지입니다.)
  • IVMS101 의 LegalPerson 타입에는 대표자 정보를 넣는 요소가 별도로 없으므로 대표자 정보는 다음과 같은 방법으로 기입하도록 정합니다.
    • originatorPersons 또는 beneficiaryPersons 는 Person 타입의 배열이므로 배열의 첫 번째 원소에는 항상 법인(legal person)에 대한 정보를 기입합니다.
    • 두 번째 원소 부터는 법인 대표자의 개인 정보(natural person)를 기입합니다.
    • 대표자가 여러 명인 경우에는 배열에 이어서 계속 대표자들의 개인 정보를 기입합니다.

이름(nameIdentifier) 표기법

  • naturalPersonlegalPerson 객체와 바로 하위의 name 객체는 단일 객체로 정의합니다.
  • name 하위의 nameIdentifier 요소는 배열입니다.
    • nameIdentifier 배열에 여러 개의 이름을 넣을 수 있습니다.
    • nameIdentifier 배열의 원소 중에 적어도 하나는 법적 이름이어야 합니다. (LEGL 타입)
  • 국내 VASP 중 회원 정보에 영문 이름이 없는 경우에는 ‘국어의 로마자 표기법’ 에 따라 음역(transliteration) 하여 입력합니다.
    참고 : https://www.korean.go.kr/front_eng/roman/roman_01.do
  • 이름을 비교할 때는 법적 이름을 사용하기로 합니다.

1. 국내 VASP와 거래하는 경우

  • nameIdentifier 에 한글로 기입합니다.
  • 영문이 원문인 외국인이나 법인 등은 VASP 에 등록할 때 사용한 주 이름 그대로 기입합니다.
  • 추가로 localNameIdentifier 에 영문 이름을 기입하고, 영문 이름이 없으면 생략합니다.

2. 해외 VASP와 거래하는 경우

  • nameIdentifier 를 영문으로 기입합니다.
  • 추가로 localNameIdentifier 요소에 한글 이름을 입력할 수 있습니다. 하지만 이 때에도 가급적 법적 영문 이름이 기입된 nameIdentifier 를 제공하는 것을 권장합니다.

3. 성과 이름을 분리할 수 있는 경우

  • 영문/한글 모두 primaryIdentifier 에 성(Surname, Last name, Family name)을 기입합니다.
  • 영문/한글 모두 secondaryIdentifier 에 이름(First name, Given name, Middle name)을 기입합니다.

4. 성과 이름을 분리할 수 없는 경우

  • primaryIdentifier 에 전체 이름을 VASP DB 기준으로 기입합니다. 기본적으로 국문의 경우는 성, 이름 순서로 기입하고, 영문의 경우 이름, 성의 순서가 될 것입니다. 순서가 변경되어도 DB 에 들어가 있는 값과 동일하게 기입합니다.
  • secondaryIdentifier 에는 아무 것도 기입하지 않습니다.

🚧

이름은 꼭!

영문과 한글 모두 성과 이름을 분리해서 보내세요. 거래소의 정책에 따라서 전체 이름을 구성하는 순서가 다를 경우 수취 이름을 비교하는 쪽에서 자유롭게 조합해서 사용하기 위함입니다.

수취인 이름 검증에 대해서

자산을 전송하려는 VASP 는 자산 이전 허가를 요청할 때, 수취인 이름을 함께 보내는 방법으로 자산을 수신하는 VASP 로 하여금 실제 주소 소유자의 이름과 비교하도록 요청할 수 있습니다.

거래 상황에 따라서 이름을 비교하는 기준을 설명합니다.

주의: 이 기능은 자산을 이전하는 VASP 요청 내용에 따라서 동작하도록 수취 VASP 에서 반드시 구현해야 합니다.

  • 이름 검증은 nameIdentifier, localNameIdentifier 두 개의 오브젝트를 검증하며 nameIdentifier를 통해 우선 검증 합니다.
  • nameIdentifier 가 아래와 같이 값들이 공백("")일 경우, localNameIdentifier 를 통해 검증합니다.
"nameIdentifier": [
  {
    "primaryIdentifier": "",
    "secondaryIdentifier": "",
    "nameIdentifierType": "LEGL"
  }
]

이름 비교하기

개인 이름 비교

  • 송신 VASP 는 검증하려는 수취인 이름을 보낼 때, 가능하면 성과 이름을 구분해서 보내주세요. 부득이하게 성과 이름을 구분하지 않는 경우 한글이면 성, 이름 순서이고, 영문이면 이름, 성의 순서로 간주합니다.
  • 수취 VASP 는 검증요청을 받은 수취인의 이름과 해당 자산 주소의 실제 소유자의 이름을 비교합니다.
  • 비교할 때는 primaryIdentifiersecondaryIdentifier 수취 거래소 DB 기준에 맞게 연결해서 하나의 UTF-8 문자열로 만들고, 공백 (' ') 을 제거하고 대소문자 구분없이 비교하는 것을 권장합니다.

법인 이름 비교

  • 송신 VASP 는 검증하려는 법인의 법인명과 대표자 1인의 이름을 보냅니다.
    • 법인명은 등기상 명칭을 사용하는 것으로 원칙으로 합니다.
      (기본적으로는 수취 VASP 에서 저장하는 명칭이 다르면 거절될 수도 있습니다.)
    • 대표자가 여러명인 경우에도 그중 1인의 이름만 보내고, 기입하는 방법은 개인의 경우와 같습니다.
  • 수취 VASP 는 검증요청을 받은 법인의 법인명과 대표자 1인의 이름을 해당 자산 주소의 실제 소유 법인과 대표자 이름을 비교합니다.
    • 법인명을 비교할 때는 요청받은 법인명 그대로 서로 일치하는지 비교하는 것을 기본으로 하고, 부분적으로 주식회사 같은 문자열을 제거하고 비교할지는 수취 VASP 의 판단을 따릅니다.
    • 대표자가 여러 명인 경우는 요청으로 받은 대표자명이 실제 여러명의 대표자명 중 하나와 일치하면 적합한 것으로 간주됩니다.