Explains an options for reducing risk when integrating with other VASPs.

CODE members can optimize and apply Travel Rule solution options based on global regulatory trends and internal risk assessment criteria for the counterparty VASP.

CODE enables both 'To-Self' and 'To-Others' transfer by providing a secure and streamlined environment that ensures user compliance with Travel Rule regulations.

This enhances the credibility of the member's service while allowing flexible response to various demands, proactively adapting to changes in the regulatory environment.

Members are not not required to apply the same policy to all partner VASPs. Having flexibility to customize the transfer options by counterpart VASP is possible with CODE's various options and features.

Standard: To Any Beneficiary

Standard is the baseline option. It allows the users to make transfers not only to their own wallet, but also to a wallet owned by someone else.

This improves the market liquidity and accessibility for our members.

Option: To Self Beneficiary

This option allows users to transfer only to the wallet owned by the themselves.

If the ‘Standard: To Any Beneficiary’ has already been deployed in the production environment, only a few changes are required.

To Withdraw

To withdraw, considering the risk assessment criteria for the counterpart VASPs, originator VASPs can configure the withdrawal UI to automatically enter the beneficiary’s name and prevent users from making changes to this field.

To Deposit

During deposits, verify that the 'nameIdentifier' information of the originator and beneficiary matches in the 'Asset Transfer Authorization' API data('payload'). Then, confirm that the originator's name corresponds with the name of the receiving wallet's owner's one.

This requires that the Originator and Beneficiary information sent by the originating VASP aligns exactly with the KYC information held by beneficiary VASP. The deposit shall be processed when details correspond, or a 'denied' response should be returned.

Please Set the reasonType as 'INPUT_NAME_MISMATCHED' and reasonMsg as 'Only self-transfer allowed from the originator'.

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