Callback - TXID Verification
When your counterparty initiated a Post-transaction Travel Rule request and they designate your VASP as the Travel Rule Receiver VASP, you will receive this callback to verify the address belongs to your VASP or not with callbackType=9
For further details of the request structure, see: RegularizeCallbackVerifyAddressRequest.
- Travel Rule Type: Post-transaction Travel Rule
- Your Role:
- Travel Rule Receiver VASP
- Originator VASP
- Your Counterparty:
- Travel Rule Initiator VASP
- Beneficiary VASP
- Your Responsibility: Confirm blockchain
tx_idownership - Callback Type: 9
Request & Response
You can expect to receive below request From GTR:
{
"requestId": "IGicRINHYF4N",
"invokeVaspCode": "[Invoker VASP Code]",
"originatorVasp": "[Originator VASP Code]",
"beneficiaryVasp": "[Beneficiary VASP Code]",
"callbackType": 9,
"callbackData": {
"requestId": "IGicRINHYF4N",
"ticker": "ETC",
"address": "0x41ebF291D8BFb6481B4Ab1E26c412A96484b1454",
"tag": "",
"txId": "1fcd10006f252d2cca3a4803d0dcb84b0ee10ef73d1055f0fe23ce4ead0f6e75",
"network": "Sepolia",
"initiatorVasp": "[Initiator VASP Code]"
}
}
- You can use these fields:
ticker,network, andtxIdto search for the exact transaction record - First, scan
txIdfrom your blockchain scan database. If it matches any records, then filter the to_address by theaddress(optional: withtagif required) from callback parameter. - The address format of
txId+voutis currently not supported. If a transfer is initiated with multiple recipients, the response should be "tx id and address not found", and the reason for the multiple possible addresses should be described in the response.
For different situations, GTR expects your response as below. GTR will treat this callback request as Timeout if no response from your server in 2 seconds.
Response A: Transaction exists
{
"verifyMessage": "success",
"verifyStatus": 100000
}
Response B: Transaction does not exist
{
"verifyMessage": "txId and address/tag not found",
"verifyStatus": 200007
}
Response C: Multiple records found
{
"verifyMessage": "Too many records found",
"verifyStatus": 200007
}