02-Address Routing (Pre-Transaction)
- This test case validates your callback server's ability to handle address routing detection for Pre-Transaction scenarios.
- GTR will send a callback request (
callbackType=10,verifyTargetType=1) to check if a specific address belongs to your system and potentially redirect to another local entity within your corporate group. - Pre-Transaction scenario:
txIdwill be null, your server should only checkbeneficiaryAddress.
GTR Request (GTR → VASP)
- Method:
POST - Your Callback Endpoint:
https://[YOUR_CALLBACK_URL] - Authentication:
- mTLS (Mutual Transport Layer Security) - GTR will authenticate using client certificates
- Header:
Content-Type: application/json
- Body:
{
"requestId": "test-[RANDOM_ID]",
"invokeVaspCode": "[YOUR_VASP_CODE]",
"originatorVasp": "[TESTER_VASP_CODE]",
"beneficiaryVasp": "[YOUR_VASP_CODE]",
"callbackType": 10,
"callbackData": {
"requestId": "test-[RANDOM_ID]",
"verifyTargetType": 1,
"transactionInfo": {
"network": "[NETWORK_SYMBOL]",
"txId": null
},
"beneficiaryAddress": {
"address": "[TEST_ADDRESS]",
"tag": "[ADDRESS_TAG]"
},
"initiatorVasp": "[TESTER_VASP_CODE]"
}
}
curl -v --location --request POST 'https://[YOUR_CALLBACK_URL]' \
-k \
--header 'Content-Type: application/json' \
--data-raw '{
"requestId": "test-abc123def456",
"invokeVaspCode": "[YOUR_VASP_CODE]",
"originatorVasp": "[TESTER_VASP_CODE]",
"beneficiaryVasp": "[YOUR_VASP_CODE]",
"callbackType": 10,
"callbackData": {
"requestId": "test-abc123def456",
"verifyTargetType": 1,
"transactionInfo": {
"network": "[NETWORK_SYMBOL]",
"txId": null
},
"beneficiaryAddress": {
"address": "[TEST_ADDRESS]",
"tag": "[ADDRESS_TAG]"
},
"initiatorVasp": "[TESTER_VASP_CODE]"
}
}'
Hint:
callbackType: 10indicates address routing detectionverifyTargetType: 1indicates Pre-Transaction scenario (no TXID)txIdis null in Pre-Transaction address routing- Your server should respond within 2 seconds
- Only
beneficiaryAddressneeds to be checked
Materials:
- Callback API 4: Address Routing Detection
- Authentication & mTLS Setup
- Callback Server Setup Guide
- List of Networks
Expected Response (VASP → GTR)
Your server should return one of the following responses depending on the address lookup result:
Response A: Address Found (belongs to this VASP)
{
"verifyStatus": 100000,
"verifyMessage": "",
"data": {
"redirectVaspCode": null
}
}
Response B: Address Found but Wrong VASP (redirect needed)
{
"verifyStatus": 200017,
"verifyMessage": "address/tx exists, but wrong VASP",
"data": {
"redirectVaspCode": "[CORRECTED_VASP_CODE]"
}
}
Response C: Address Not Found
{
"verifyStatus": 200007,
"verifyMessage": "address is not found"
}
Test Validation
Success Criteria:
- ✅ Your callback server responds within 2 seconds
- ✅ HTTP status code 200 returned
- ✅ Correct
verifyStatusfor the found/redirect/not found scenarios - ✅ Proper routing to correct entity (if applicable)
Common Issues:
- ⚠️ Timeout: Ensure address lookup completes within 2 seconds
- ⚠️ Wrong verifyTargetType: This test uses type 1 (Pre-Transaction without TXID)
- ⚠️ TXID handling:
txIdis null for Pre-Transaction scenarios - ⚠️ Incorrect routing logic: Ensure proper entity routing within corporate group