Initiate Out-of-Network Message
This POST /api/verify/outnetwork/register endpoint is for the Out-of-Network Travel Rule Initiator VASP to send a OON
message to GTR.
Request & Response
Please submit the following request to this endpoint:
curl --silent --location --request POST "/api/verify/outnetwork/register" \
--cert-type P12 --cert ./certificate.p12:'[MY_PASSWORD_OF_CERT]' \
--header 'Content-Type: application/json' \
--header "Authorization: Bearer [YOUR LOGIN TOKEN]" \
--header "Connection: keep-alive" \
--data-raw '{
"requestId": "[GENERATE YOUR REQUEST ID]",
"beneficiaryAddress": {
"address": "[BENEFICIARY WALLET ADDRESS]",
"addressType": 0, // fixed as 0
"tag": "[BENEFICIARY WALLET ADDRESS TAG: if not applicable please leave it empty string]"
},
"originatorAddress": {
"address": "[ORIGINATOR WALLET ADDRESS]",
"addressType": 0, // fixed as 0
"tag": "[ORIGINATOR WALLET ADDRESS TAG: if not applicable please leave it empty string]"
},
"blockchainTransaction": {
"network": "[Chain symbol]",
"ticker": "[Ticker symbol]",
"txId": "[LEAVE IT EMPTY for now]",
"txIdType": 0 // fixed as 0
},
"complianceInfo": {
"amount": "[amount of crypto]",
"fiatPrice": "[ratio of fiat price]",
"fiatName": "[fiat name]",
"lawThresholdEnabled": false // fixed as false
},
"verifyInstructions": {
"expectVerifyFields": [], // fixed as empty array
"verifyDirection": 2, // fixed as 2
"piiSpecVersion": "ivms101-2020" // fixed this version
},
"targetVaspName": "[PUT THE VASP NAME]"
}'
- For the targetVaspName, please use the
gtrIdentifyNamefrom the response of Get VASP Name List API - For the network symbol, please refer to this appendix: List of network
- For the ticker name symbol, please refer to this appendix: List of ticker.
Response A: Success
If this OON request successfully registered in GTR, you will receive this response with verifyStatus=100000.
{
"verifyStatus": 100000,
"verifyMessage": "NOTIFY QUEUE ADDED, THANK YOU!",
"success": true,
"data": {
"screeningResult": {
"screeningStatus": "COMPLETED",
"message": "screening result present",
"vaspEntityName": "Axchange UK",
"vaspEntityId": "axchange-uk",
"vaspCode": "axchangeukadjk",
"riskTags": [
"Exchange & Trading Platforms",
"Centralized Exchange",
"Unknown Wallet"
],
"riskScore": 4.0
}
}
}
about screeningResult fields
| Field | Description |
|---|---|
screeningStatus | Screening execution result. Possible values: NONE, COMPLETED, ERROR, TIMEOUT |
message | Human-readable screening message |
vaspEntityName | VASP entity name identified from the screened address, if available |
vaspEntityId | Internal entity identifier identified from the screened address, if available |
vaspCode | GTR VASP code identified from the screened address, if available |
riskTags | Risk category tags identified from the screened address |
riskScore | Address risk score (BigDecimal). This may be null if not available |
Please note that:
screeningResultis an additional compliance signal for your internal review.- The request can still be accepted even if no screened VASP is identified.
- If screening is unavailable,
screeningResultmay be omitted or may have a non-completed status.
Response B: Failed
If GTR encountered some issue while processing your request body, you will receive a response with success=false.
You should check the verifyStatus or the detailed error message in verifyMessage.
{
"verifyStatus": 100004,
"verifyMessage": "detailed error message",
"success": false
}
Status Code
| Situation | Verify Status Code |
|---|---|
| Success | 100000 |
| Request Parameter Issue | 100004 or 100023 |
| GTR Internal Server Error | 100001 or 100006 or 100007 or 100008 |