Skip to main content
Search

Preflight Check (Originator Only)

Version: 3.0.0

Method

POST

Url

https://platform.globaltravelrule.com/api/verify/v2/preflight

This API endpoint is usually to be called when your VASP serves as Originating VASP and Travel Rule Request Initiator. If you desire to know whether your counterparty, the Beneficiary VASP, will accept this asset transfer or not, you can invoke this API.

Authentication

No authentication

Path Parameters

No path parameters

Query Parameters

No query parameters

Request Body (Required)

address
RequiredString
address is beneficiary address (in all scenario)
Min Length0
Max Length320
Example
E9aX7TbJqvLwzC1f8rYpBnGks3M0QHjVxODUZ_WRmT2yXoLp
amount
RequiredString
amount is corresponding to the ticker, the amount of the coin in this transfer, this amount should be string (Reference: Longest AVAX should be decimal(28,18) / numeric(28,18))
Min Length0
Max Length64
Example
8e-18
encryptedPayload
OptionalString
encryptedPayload here is only for support curve25519 format encrypted PII, if you need to use other algorithm, please also fill the payload here, and refer to PiiSecuredInfo structure
Min Length0
Max Length60000
Example
s7GpRAkqDz9whfwaOaBy6PhH5ITStUxN7Uz0mQLXpgZMQJ1HmtpUSnk6hEjGx1zuq0yCyWPVr66BmwgsOy/V2PZt2qR+C5EYArRjIbfYwdfDw051kxlv9dRiMTbZphNViL2YafNJPqKradDA/RmzScQ7g9LsTOmpHZCepLG66eIT+9LatJb6CF...etc
expectVerifyFields
OptionalArray<String>
The PII Info that you expect to be verify, GTR will matches the results if the targetVasp has verified. The verify type code has distinguish by different direction like Originator and Beneficiary. The PII Type code can refer to:
Example
["110026","110025","110045","100031"]
fiatName
RequiredString
fiatName is the currency unit of equality amount of coin, should convert to stable coin (USDT, EURC, USDC...etc) / real world fiat currency like (USD, EUR, NZD, GBP, HKD, CNY, JPY, TRY...etc), please prior to choose fiat currency.
Min Length0
Max Length32
Example
USD
fiatPrice
RequiredString
fiatPrice is the equality amount of coin, the price ratio is always changing, just make sure you convert when the time you initiate the request.
Min Length0
Max Length64
Example
84.12
initiatorPublicKey
RequiredString
initiatorPublicKey here is your public key
Min Length0
Max Length2048
Example
0szeNNub/IGoe623JCGD4B4bH8I94FozOeZjv1dKlXQ=
network
RequiredString
Network name in short symbol, the reference can check the table.
Min Length0
Max Length64
Example
XRP
originatorAddress
OptionalString
address is originator address (in all scenario), pre-transaction approval: use originator person wallet, post-transaction approval: use hot wallet address that record on blockchain
Min Length0
Max Length320
Example
E9aX7TbJqvLwzC1f8rYpBnGks3M0QHjVxODUZ_WRmT2yXoLp
originatorAddressTag
OptionalString
address is originator address (in all scenario), pre-transaction approval: use originator person wallet, post-transaction approval: use hot wallet address that record on blockchain
Min Length0
Max Length64
Example
E9aX7TbJqvLwzC1f8rYpBnGks3M0QHjVxODUZ_WRmT2yXoLp
[+]piiSecuredInfo
RequiredObject
PiiSecuredInfo
Example
(Refer to inner structure)
requestId
RequiredString
requestId is the unique id for all transaction, the same travelrule-request invoke process flow should be using same requestId, the recommend format is: "[YOUR_VASP_NAME]-[UUIDv4]"
Min Length0
Max Length64
Pattern
[\w\d_=-]+
Example
testexchange-189e9948-64c7-4a6c-bb4f-859c173321c5
sourceVaspCode
OptionalString
*Required if you're TRSP type user, that you have to bring your member vasp's GTR vaspCode here, that we can recognize who made this travel rule.
Min Length0
Max Length64
Example
MAkGAda4ac
tag
OptionalString
some of network like XRP required to input address tag (memo)
Min Length0
Max Length64
Example
some of network like XRP required to input address tag (memo)
targetVaspCode
RequiredString
targetVaspCode here is the counter-party VASP that you want to send the travel rule request (*Not the assets transfer direction), vaspCode is GTR system's format
Min Length0
Max Length64
Example
MAkGAda4ac
targetVaspPublicKey
RequiredString
targetVaspPublicKey is the counter-party VASP's public key in Curve25519, you can get this public key by vaspDetail api or vaspList api. *If you're using newest version, please mind that this field is for curve25519 format-key, using PiiSecuredInfo structure, but also fill the value same as piiSecuredInfo here
Min Length0
Max Length2048
Example
0szeNNub/IGoe623JCGD4B4bH8I94FozOeZjv1dKlXQ=
ticker
RequiredString
ticker (coin) is the symbol of coin money, could refer to CMC
Min Length0
Max Length64
Example
USDT
txId
OptionalString
*if the travel rule is after on chain, then the txId is required. the tx id format type can check the table.
Min Length0
Max Length256
Example
d1029841dacb031098288b257b628a967eb963bbaccf954506ad0694219497a4
verifyDirection
RequiredInteger (int32)
direction is travelrule direction. verifyDirection: 1 (After On Chain), verifyDirection: 2 (Before On Chain), Perspective if from your system, 1 means you're Beneficiary that receive funds, and you send the Originator KYC/B (IVMS) to check, 2 means you're Originator that you want to send the funds, and you send the Beneficiary KYC/B (IVMS) to check.
Example
1: (After on chain), 2: (Before On Chain)

Responses

Status HTTP Status: 200, VerifyStatus: 200003

default response

JSON Content

[+]data
OptionalObject
verifyMessage
OptionalString
verifyStatus
OptionalInteger (int32)

Status HTTP Status: 200, VerifyStatus: 100000

Success case

JSON Content

[+]data
OptionalObject
verifyMessage
OptionalString
verifyStatus
OptionalInteger (int32)