송수신인 제한 옵션

타 VASP와 연동 시 위험을 줄일 수 있는 정책에 대해 설명합니다.

VASP들은 글로벌 규제 동향, 내부 위험평가 기준에 따라 VASP별 입출금 정책을 설정합니다. 이때 흔히 특정 VASP와의 연동 여부를 흑과 백의 논리로 결정하곤 하는데, 조금 더 유연한 접근 방식도 고려해 볼 수 있습니다. 컴플라이언스 관점에서 위험을 줄이면서도 비즈니스 관점에서는 여전히 확장성을 모색할 수 있는 방법 중 하나가 바로 사용자의 본인 지갑으로만 송수신을 허용하는 정책입니다.

송수신인 제한에 따른 정책 옵션 두 가지를 비교해 보겠습니다.

1. 타인 송수신 허용 트래블룰

코드의 트래블룰은 본인은 물론 타인간 송수신 정보 확인하는 것을 기본으로 합니다. VASP들은 사용자들이 자유롭게 자산을 이전할 수 있는 환경을 제공하고, 시장 접근성을 높이는 것은 물론 수익 증가에도 도움이 될 수 있다는 장점이 있습니다.

2. 본인간 송수신 허용 트래블룰

신규 VASP가 연동을 위한 위험 심사에 통과하지 못했다고 하더라도, 추가 위험 판단 후 전략적으로 사용자 본인 지갑으로만 송수신을 허용하는 정책을 설정할 수 있습니다.

별도의 큰 추가 개발이 필요하지 않으며, UX를 매끄럽게 하기 위해 입출고시 프로세스에서 아래와 같은 수정이 필요할 수 있습니다.

2-1. 출고 시

출고 화면에서 수신자의 정보를 송신자와 동일하게 자동 입력하고 수정할 수 없도록 구축하는 방법을 생각해 볼 수 있습니다.

2-2. 입고 시

입고 시에는 ‘자산 이전 허가 요청’ API 전송 데이터 상 송신자(Originator)와 수신자(Beneficiary)의 ‘nameIdentifier’ 정보가 일치하는지 확인합니다. 그 후 송신자 정보가 수신 지갑 소유자의 이름과 일치하는지 확인합니다.

상대편에서 보낸 Originator 정보와 Beneficiary 정보, 수신하는 쪽 거래소가 가지고 있는 KYC 정보가 동일해야 함을 의미합니다. 일치한다면 입금을 처리하고, 불일치한다면 거절(denied) 응답을 반환합니다.

이때, reasonType을 ‘INPUT_NAME_MISMATCHED’로 입력하고, reasonMsg는 ‘Only self-transfer allowed from the originator’로 입력해 주세요.

{  
  "result": "denied",
  "reasonType": "INPUT_NAME_MISMATCHED",
  "reasonMsg": "Only self-transfer allowed from the originator"
}