Skip to main content
Search

Receiver Callback API 6 - Address Correction (Optional)

When you receive a callback request with callbackType = 10, check the address ownership in your system based on the verifyTargetType:

  • verifyTargetType = 1: Check your user's VASP entity by beneficiary address and tag.
    The beneficiary address belongs to your local entity.

  • verifyTargetType = 2: Check the originator user's VASP entity by transaction (txId) and beneficiary address/tag.
    This is used when the beneficiary address is outside your system. You find the originator user by txId and verify which address (beneficiary) they sent assets to. This may return multiple results (e.g., BTC UTXO model).

*The Timeout of this API should be < 2 sec.

Sample Callback Request (verifyTargetType = 1)

{
"requestId": "ag-gtr-RKID7rWPNxA5",
"invokeVaspCode": "YOUR_VASP_CODE",
"originatorVasp": "ORIGINATOR_VASP_CODE",
"beneficiaryVasp": "BENEFICIARY_VASP_CODE",
"callbackType": 10,
"callbackData": {
"requestId": "ag-gtr-RKID7rWPNxA5",
"verifyTargetType": 1,
"transactionInfo": {
"network": "AVAXC",
"txId": null
},
"beneficiaryAddress": {
"address": "0x0001326e6afe6b6d7c47aebc119e717b6c7ad5ec",
"tag": ""
},
"initiatorVasp": "INITIATOR_VASP"
}
}

Sample Callback Request (verifyTargetType = 2)

{
"requestId": "ag-gtr-RKID7rWPNxA5",
"invokeVaspCode": "YOUR_VASP_CODE",
"originatorVasp": "ORIGINATOR_VASP_CODE",
"beneficiaryVasp": "BENEFICIARY_VASP_CODE",
"callbackType": 10,
"callbackData": {
"requestId": "ag-gtr-RKID7rWPNxA5",
"verifyTargetType": 2,
"transactionInfo": {
"network": "AVAXC",
"txId": "0x9i0jklmnopqrstuvwx12345678901234567890123456"
},
"beneficiaryAddress": {
"address": "0x0001326e6afe6b6d7c47aebc119e717b6c7ad5ec",
"tag": ""
},
"initiatorVasp": "INITIATOR_VASP"
}
}

Callback Response Examples

Not Found (Non-redirected):

If the address is not found or the target VASP is unsupported:

HTTP 200
{
"verifyStatus": 100002,
"verifyMessage": "address is not found"
}

Success (Non-redirected):

If the address belongs to your system, respond with success and no redirect:

HTTP 200
{
"verifyStatus": 100000,
"verifyMessage": "",
"data": {
"redirectVaspCode": null
}
}

Success (Redirected):

If the address belongs to another VASP you know, respond with redirect info:

HTTP 200
{
"verifyStatus": 200017,
"verifyMessage": "address/tx exists, but wrong VASP",
"data": {
"redirectVaspCode": "xxxxxx"
}
}

By following this callback and API flow, your service can accurately verify beneficiary addresses and properly handle travel rule requests with correct VASP routing.