|  |  |  |  |
| address | String | Yes | address is beneficiary address (in all scenario) |
| amount | String | Yes | 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)) |
| encryptedPayload | String | Yes | 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 |
| expectVerifyFields | Array<String> | No | 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: |
| fiatName | String | Yes | 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. |
| fiatPrice | String | Yes | 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. |
| hashSalt | String | No | |
| initiatorPublicKey | String | Yes | initiatorPublicKey here is your public key |
| network | String | Yes | Network name in short symbol, the reference can check the table. |
| piiSecuredInfo | Object | Yes | PiiSecuredInfo |
| Property | Type | Description |
|---|
| encryptionParams | Object | The parameters for shared encryption/decryption info, it depends to the algorithm type, if no necessary, please leave it blank or empty | | Property | Type | Description |
|---|
| ecies | Object | required if you're using ecies algorithm (ecies_secp384r1_tubitak) should refer to this structure | | Property | Type | Description |
|---|
| ephemeralPublicKey | String | |
|
| | initiatorKeyInfo | Object | initiatorKeyInfo is the direction of Travel Rule Initiator, if you're the initiator, this key should be yours, if you're the receiver (callback server), this is the counter-party VASP's public key that can use to decrypt the PII and encrypt the PII back. | | Property | Type | Description |
|---|
| publicKey | String | publicKey is the key-parameters for encryption according to the selected algorithm. If the key already be base64 like (Curve25519) 0szeNNub/IGoe623JCGD4B4bH8I94FozOeZjv1dKlXQ=, then no need to do anything, the PEM format like (RSA) -----BEGIN CERTIFICATE-----, no need to remove it, keep it and bring out instead. |
| | piiSecretFormatType | String | PiiSecretFormatType | | piiSpecVersion | String | PIISpecVersionType | | receiverKeyInfo | Object | receiverKeyInfo is the direction of Travel Rule Receiver, if you're the initiator, this key must set to the counter-party (targetVasp) VASP's publicKey, if you're the receiver (callback server), this key should be your public key. | | Property | Type | Description |
|---|
| publicKey | String | publicKey is the key-parameters for encryption according to the selected algorithm. If the key already be base64 like (Curve25519) 0szeNNub/IGoe623JCGD4B4bH8I94FozOeZjv1dKlXQ=, then no need to do anything, the PEM format like (RSA) -----BEGIN CERTIFICATE-----, no need to remove it, keep it and bring out instead. |
| | secretAlgorithm | String | AlgorithmType | | securedPayload | String | encrypted payload for PII |
|
| requestId | String | Yes | 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]" |
| secretType | Integer | No | |
| sourceVaspCode | String | No | *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. |
| tag | String | No | some of network like XRP required to input address tag (memo) |
| targetVaspCode | String | Yes | 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 |
| targetVaspPublicKey | String | Yes | 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 |
| ticker | String | Yes | ticker (coin) is the symbol of coin money, could refer to CMC |
| txId | String | No | *if the travel rule is after on chain, then the txId is required. the tx id format type can check the table. |
| verifyDirection | Integer | Yes | 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. |