Skip to main content
Search

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_id ownership
  • 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, and txId to search for the exact transaction record
  • First, scan txId from your blockchain scan database. If it matches any records, then filter the to_address by the address (optional: with tag if required) from callback parameter.
  • The address format of txId+vout is 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
}