Explains how to create a Header and Payload using CODE-Cipher.

For Travel Rule API requests, the data to be entered in the Header and Body is encrypted and provided as a response. It is convenient to use the values received as is for the corresponding Travel Rule API according to each API type.

apiType ENUM are following:

- SEARCH_VASP_LIST : VASP List Search

- SEARCH_PUBKEY_LIST : Public Key Search

- SEARCH_ADDRESS_REQUEST : Search VASP by Wallet Request

- SEARCH_ADDRESS_RESULT : Seach VASP by Wallet Result

- SEARCH_ADDRESS : Virtual Asset Address Search

- TRANSFER_AUTHORIZATION : Asset Transfer Authorization

- REPORT_TRANSFER_RESULT : Report Transfer Result (TX Hash)

- SEARCH_TRANSACTION_STATUS : Transaction status search

- FINISH_TRANSFER : Finish Transfer

VASP List Search

Request

NameRequiredDescription
allianceNameRequiredThis is the code for the Travel Rule protocol. You can enter CODE as the default value.
apiTypeRequiredEnter SEARCH_VASP_LIST
{
    "allianceName": "CODE",
    "apiType": "SEARCH_VASP_LIST"
}

Response

NameRequiredDescription
signatureRequiredGenerated Signature
nonceRequiredGenerated Nonce
dateTimeRequiredCurrent datetime for request
publicKeyRequiredYour Public Key
{
  "signature": "siBkH9hov/7yfU8bedguB0mMIdt04DQUnB85mVPpzrMr8i+SYl3Pn46U2kvjrxEzwCSaH5E5W0nFsPyRfHbNCw==",
  "nonce": 803400752,
  "dateTime": "2023-06-21T05:25:52Z",
  "publicKey": "LOpv3Vd7PKLrlDmk/MFi6mc2rPWhi3G0H3D74dayxSo="
}

Public Key Search

Request

NameRequiredDescription
allianceNameRequiredThis is the code for the Travel Rule protocol. You can enter CODE as the default value.
apiTypeRequiredEnter SEARCH_PUBKEY_LIST
{
    "allianceName": "CODE",
    "apiType": "SEARCH_PUBKEY_LIST"
}

Response

NameRequiredDescription
signatureRequiredGenerated Signature
nonceRequiredGenerated Nonce
dateTimeRequiredCurrent datetime for request
publicKeyRequiredYour Public Key
{
  "signature": "ouCcxqhDtsU4N9nN05QP6J6gJoJsZqilsj296C2bRNAMB1MCmVVChJ7OkhU0SVdQWaDMg3YMLZmgMr2yJfpMDQ==",
  "nonce": 1727097200,
  "dateTime": "2023-06-21T05:25:28Z",
  "publicKey": "LOpv3Vd7PKLrlDmk/MFi6mc2rPWhi3G0H3D74dayxSo="
}

Search VASP by Wallet Request

Request

NameRequiredDescription
allianceNameRequiredThis is the code for the Travel Rule protocol. You can enter CODE as the default value.
apiTypeRequiredEnter SEARCH_ADDRESS_REQUEST
requestRequiredRequest Body
{
    "allianceName": "CODE",
    "apiType": "SEARCH_ADDRESS_REQUEST",
    "request": {
        "currency": "XRP",
        "beneficiaryWalletAddress": "0x1234567890123456789012345678901234567890",
        "requestId": "fafd59e2-aff7-4cff-b7d8-9caa0cda70da"
    }
}

Response

NameRequiredDescription
signatureRequiredGenerated Signature
nonceRequiredGenerated Nonce
dateTimeRequiredCurrent datetime for request
publicKeyRequiredYour Public Key
bodyRequiredGenerated payload
{
  "signature": "iDONJT6ck7bZD2++nGrknOR+o+aultZpwvWGRzabOePQvylN93A/9Zs6g+9mD7cnSMkE7NpuAKtKHNZvWP0RDA==",
  "nonce": 1048167312,
  "dateTime": "2023-06-21T05:25:16Z",
  "publicKey": "LOpv3Vd7PKLrlDmk/MFi6mc2rPWhi3G0H3D74dayxSo=",
  "body": "{\"currency\":\"XRP\",\"addressNumber\":\"rHcFoo6a9qT5NHiVn1THQRhsEGcxtYCV4d:memo or tag\",\"requestId\":\"fafd59e2-aff7-4cff-b7d8-9caa0cda70da"}"
}

Search VASP by Wallet Result

Request

NameRequiredDescription
allianceNameRequiredThis is the code for the Travel Rule protocol. You can enter CODE as the default value.
apiTypeRequiredEnter SEARCH_ADDRESS_RESULT
{
    "allianceName": "CODE",
    "apiType": "SEARCH_ADDRESS_RESULT"
}

Response

NameRequiredDescription
signatureRequiredGenerated Signature
nonceRequiredGenerated Nonce
dateTimeRequiredCurrent datetime for request
publicKeyRequiredYour Public Key
{
  "signature": "iDONJT6ck7bZD2++nGrknOR+o+aultZpwvWGRzabOePQvylN93A/9Zs6g+9mD7cnSMkE7NpuAKtKHNZvWP0RDA==",
  "nonce": 1048167312,
  "dateTime": "2023-06-21T05:25:16Z",
  "publicKey": "LOpv3Vd7PKLrlDmk/MFi6mc2rPWhi3G0H3D74dayxSo="
}

Virtual Asset Address Search

Request

NameRequiredDescription
allianceNameRequiredThis is the code for the Travel Rule protocol. You can enter CODE as the default value.
apiTypeRequiredEnter SEARCH_ADDRESS
remotePublicKeyRequiredbeneficiary VASP's Public Key
requestRequiredRequest Body
{
    "allianceName": "CODE",
    "remotePublicKey": "8DJomhrvr0zD11+m3nwG3ZeO9OsSY8uLHdA7WgoaX0g=",
    "apiType": "SEARCH_ADDRESS",
    "request": {
        "currency": "XRP",
        "beneficiaryWalletAddress": "0x1234567890123456789012345678901234567890",
        "beneficiaryFirstName": "code", // optional
        "beneficiaryLastName": "vasp", // optional
        "beneficiaryLocalFirstName": "코드", // optional
        "beneficiaryLocalLastName": "거래소", // optional
        "beneficiaryLegalName": "test", // optional
        "nameIdentifierType": "LEGL" // optional
    }
}

Response

NameRequiredDescription
signatureRequiredGenerated Signature
nonceRequiredGenerated Nonce
dateTimeRequiredCurrent datetime for request
publicKeyRequiredYour Public Key
bodyRequiredGenerated payload
{
  "signature": "iDONJT6ck7bZD2++nGrknOR+o+aultZpwvWGRzabOePQvylN93A/9Zs6g+9mD7cnSMkE7NpuAKtKHNZvWP0RDA==",
  "nonce": 1048167312,
  "dateTime": "2023-06-21T05:25:16Z",
  "publicKey": "LOpv3Vd7PKLrlDmk/MFi6mc2rPWhi3G0H3D74dayxSo=",
  "body": "{\"currency\":\"XRP\",\"payload\":\"7UGcPV9aZ+NGZNdeV31eXyuEpQKHPA0kjaFvcUt9f8BIXG7IrkqiG2sXBqF9KZC5CZBAZ4xqnlHl2+ZSjqNSw9lm08y55NQTkIPNMHjdpsWCOItg4j5G+HDy2k8pZxmRZP7nVI6OkquJ7oB0jz31GL5uIPZd76NaBzOVy9dXe/Kp/lvTqGQj+TdD+v9C7Ez0fkOY+VPvQkzzBRlb\"}"
}

Asset Transfer Authorization

Request

NameRequiredDescription
allianceNameRequiredThis is the code for the Travel Rule protocol. You can enter CODE as the default value.
apiTypeRequiredEnter TRANSFER_AUTHORIZATION
remotePublicKeyRequiredbeneficiary VASP's Public Key
requestRequiredRequest Body
{
    "allianceName": "CODE",
    "remotePublicKey": "8DJomhrvr0zD11+m3nwG3ZeO9OsSY8uLHdA7WgoaX0g=",
    "apiType": "TRANSFER_AUTHORIZATION",
    "request": {
        "amount": "0.00001",
        "tradePrice": "55555",
        "transferId": "qwewq51312",
        "tradeCurrency": "KRW",
        "historicalCost": "",
        "currency": "BTC",
        "originatingVasp": {},
        "isExceedingThreshold": true,
        // originator
        "originatorNaturalPersonLastName": "Barnes",
        "originatorNaturalPersonFirstName": "Robert",
        "originatorNaturalPersonLocalLastName": "반스",
        "originatorNaturalPersonLocalFirstName": "로버트",
        "originatorLegalName": "(주)코인원",
        "originatorLegalPersonLastName": "Kim",
        "originatorLegalPersonFirstName": "Chulsu",
        "originatorLegalPersonLocalLastName": "김",
        "originatorLegalPersonLocalFirstName": "철수",
        "nameIdentifierType": "LEGL",
        "customerIdentification": "3213213qweqwe213312",
        "originatorWalletAddress": "012345678900",
        // originatingVasp
        "originatingVaspCountryOfRegistration": "KR",
        "originatingVaspLegalName": "Korbit Inc.",
        "originatingVaspAddressType": "GEOG",
        "originatingVaspTownName": "Seoul",
        "originatingVaspAddressLine": [
            "14 Teheran-ro 4-gil, Gangnam-gu",
            "4th floor"
        ],
        "originatingVaspCountry": "KR",
        "originatingVaspNationalIdentifier": "1234567890",
        "originatingVaspNationalIdentifierType": "RAID",
        "originatingVaspRegistrationAuthority": "RA000657",
        // beneficiary
        "beneficiaryWalletAddress": "012345678901",
        "beneficiaryNameIdentifierType": "LEGL",
        "beneficiaryCustomerIdentification": "3213213qweqwe213312",
        "beneficiaryNaturalPersonLastName": "스미스",
        "beneficiaryNaturalPersonFirstName": "앨리스",
        "beneficiaryNaturalPersonLocalLastName": "Smith",
        "beneficiaryNaturalPersonLocalFirstName": "Alice",
        "beneficiaryLegalName": "(주)코인원",
        "beneficiaryLegalPersonLastName": "Kim",
        "beneficiaryLegalPersonFirstName": "Minsu",
        "beneficiaryLegalPersonLocalLastName": "김",
        "beneficiaryLegalPersonLocalFirstName": "민수"
    }
}
{
    "allianceName": "CODE",
    "remotePublicKey": "8DJomhrvr0zD11+m3nwG3ZeO9OsSY8uLHdA7WgoaX0g=",
    "apiType": "TRANSFER_AUTHORIZATION",
    "request": {
        "amount": "0.00001",
        "tradePrice": "55555",
        "transferId": "qwewq51312",
        "tradeCurrency": "KRW",
        "historicalCost": "",
        "currency": "BTC",
        "originatingVasp": {},
        "isExceedingThreshold": true,
        // originator
        "originatorNaturalPersonLastName": "Barnes",
        "originatorNaturalPersonFirstName": "Robert",
        "originatorNaturalPersonLocalLastName": "반스",
        "originatorNaturalPersonLocalFirstName": "로버트",
        "originatorLegalName": "(주)코인원",
        "originatorLegalPersonLastName": "Kim",
        "originatorLegalPersonFirstName": "Chulsu",
        "originatorLegalPersonLocalLastName": "김",
        "originatorLegalPersonLocalFirstName": "철수",
        "nameIdentifierType": "LEGL",
        "customerIdentification": "originatorCustomerIdentification",
        "originatorWalletAddress": "012345678900",
        // originatingVasp
        "originatingVaspCountryOfRegistration": "KR",
        "originatingVaspLegalName": "Korbit Inc.",
        "originatingVaspAddressType": "GEOG",
        "originatingVaspTownName": "Seoul",
        "originatingVaspAddressLine": [
            "14 Teheran-ro 4-gil, Gangnam-gu",
            "4th floor"
        ],
        "originatingVaspCountry": "KR",
        "originatingVaspNationalIdentifier": "1234567890",
        "originatingVaspNationalIdentifierType": "RAID",
        "originatingVaspRegistrationAuthority": "RA000657",
        // beneficiary
        "beneficiaryWalletAddress": "012345678901",
        "beneficiaryNameIdentifierType": "LEGL",
        "beneficiaryCustomerIdentification": "3213213qweqwe213312",
        "beneficiaryNaturalPersonLastName": "스미스",
        "beneficiaryNaturalPersonFirstName": "앨리스",
        "beneficiaryNaturalPersonLocalLastName": "Smith",
        "beneficiaryNaturalPersonLocalFirstName": "Alice",
        "beneficiaryLegalName": "(주)코인원",
        "beneficiaryLegalPersonLastName": "Kim",
        "beneficiaryLegalPersonFirstName": "Minsu",
        "beneficiaryLegalPersonLocalLastName": "김",
        "beneficiaryLegalPersonLocalFirstName": "민수",
        "beneficiaryCustomerIdentification": "beneficiaryCustomerIdentification",
        // beneficiaryVasp
        "beneficiaryVaspCountryOfRegistration": "KR",
        "beneficiaryVaspLegalName": "Korbit Inc. beneficiaryVaspLegalName",
        "beneficiaryVaspAddressType": "GEOG",
        "beneficiaryVaspTownName": "Seoul",
        "beneficiaryVaspAddressLine": [
            "14 Teheran-ro 4-gil, Gangnam-gu",
            "4th floor"
        ],
        "beneficiaryVaspCountry": "KR",
        "beneficiaryVaspNationalIdentifier": "1234567890",
        "beneficiaryVaspNationalIdentifierType": "RAID",
        "beneficiaryVaspRegistrationAuthority": "RA000657"
    }
}

Response

NameRequiredDescription
signatureRequiredGenerated Signature
nonceRequiredGenerated Nonce
dateTimeRequiredCurrent datetime for request
publicKeyRequiredYour Public Key
bodyRequiredGenerated payload
{
  "signature": "pOCyDvkDsPGq5oU4Of7C2IwFv09Oovbp0tKU2mFoxtXuPPWsTJ/UOUGkebvskTx4PV1z9VFNazmDPcI9A6EFDA==",
  "nonce": 1131014480,
  "dateTime": "2023-06-21T05:25:07Z",
  "publicKey": "LOpv3Vd7PKLrlDmk/MFi6mc2rPWhi3G0H3D74dayxSo=",
  "body": "{\"transferId\":\"qwewq51312\",\"currency\":\"BTC\",\"amount\":\"0.00001\",\"historicalCost\":\"\",\"tradePrice\":\"55555\",\"tradeCurrency\":\"KRW\",\"isExceedingThreshold\":true,\"originatingVasp\":{},\"payload\":\"6Mxwnomavmz61KaqpcNVTNNKBOiz1zDSeIl6MXwRKehqf24+xpQyd2Jlxz/oQM6U7cCa8FXcLwL3F3u5rDVYA6P9fIK9NWGyFMg5mmKrWjX0nHtUQh9YmKwugRkImOyzY1BIWIDbN2rViVwIyDwScz/G15eZXTR6scZIz+3IlitRNm6xSpjRHwIgKHgrOaYCByBp/igwfw/ejFr9OQkSJZLfCwHCn+YA/mH9syDmONXtLpkK21sE2BMrbCEsXn7NuJFcOGMzjG9itS/FtkM3ppbfntnsrcVg91oaKGoUNkWtsHCVe+yBhUT10yRwXJDb2K1QXVfmirPqZeRfx7o0IjIONi5pqbAqJoKnKqsvypqvnQ3nn+nO9ZuU+DnWWxbJH+H9qp/zpo0WPXzY3utUDEmiVJwKmZHwL45jz48Z4yTcCMdi7FfFCxxnj3dvrCQ4ux9Wqnqu4SpWoEX2NZ4wp9oXh6le9fBX6w4sqw9nMJtEkEOAvj111/6w0I/SDh55BvDNvnyxWW7pCBDrR2egIFFH+NWjl8vMZWJxkpQLfx/TDqLrAxHbOuIV2xFKiwrUFjNx8G6YCeO0hd02vSaZ6AUi9ZFJDUIAcYdTEbBhTDqDdMKiZvXxDTAOjL2mOdk3alOug4Sput5BJs7TYZh9RL0IF/2cR23Cjo6X5CRYC8mAYGb1uPbmEE1LU/pneWDT+aWKAIAo+zlaPksVM+emuYywm84h4rQnDbMHTqSoalbdm5gsbYmjpj121b9JhprBMzZu8NSljUXzhaNI12jEO/ZEPrHfmul2/I1cOn8ldIZswcTCk0heY7D0ytVOkMScWCVPdT4Qhx5z3DUiPVe7swnvcUzRIHAWsyymjtNJ5oiH0muOsItivmuXh96d6ydCVboHIuTF/qS/s8NPWWQGTOavbgDq3k0mRLfO3wXjsbLVH4WnUFPlUaukHPgJurkImJDWaT1+Hu0yp/mK8c+8ZS2XzzSW2vDp+QtvIuRB+q/uih/Vl1IqV7dW4DSW5kyyw3KwrTB5TObufkFR46uKluxqobCeNbmA5ojuUpe+1GUypzZXKplrqVLZRApa/AwmWasVp6RiEXMIm/UMuXSOjb2Q3dR5LX5SxluY18lts2J8EDB7CT/DhGULws+KK3w+iSwVzpVmBQbz3b7KneOIsS2uAwsTPZZl1CW7wnMXCyYwjN9Yzr7juHQ56YgZX/YltAOyMMRfyCJrTApU9ppb++bB4PTjJIsFfW7wBLGJ4As/JrQDnlw51AJEP5bXs7PKYE+QOt4161kv6iaL9U226jIQWgOYD9qXL0H0ek1e4GapX8ttWadgXnp7stYrgSgeiMIIw5EgH3VOu2/hTjhJuRFi3rwbT9bFRAQXSsxD/FviZ07YIzyn4q9hFMBe7SfPQFo54XJLEW3Ze4fbHY/ewL+WUHw9KImYocZejAhV1eP1DdA9oJVHbBrXW9cafIJKRNKYaOSC5j6bUoJAC6v593GBALfp3ehs2q5SZI31gsJSzjhCwmoKHgowoH8ooovQHcIm6wz4icpANHYm40us7Z4caDPjF+JQO8PZcCwmmVKm5vXLQNrAoaHkLMKjWXOKBL/UEgpqam2GZTqAs3kDIpZPSna/5W6wXdPEt0kikiaZvuaR4XZPDGO/JS7Gz7qNECZu0EStRXOQqRe2OHATLMKWJMxfh9XaDNoQLutcQzT5pNiugdGjdi1zRULNSQ==\"}"
}

Report Transfer Result (TX Hash)

Request

NameRequiredDescription
allianceNameRequiredThis is the code for the Travel Rule protocol. You can enter CODE as the default value.
apiTypeRequiredEnter REPORT_TRANSFER_RESULT
requestRequiredRequest Body
{
    "allianceName": "CODE",
    "apiType": "REPORT_TRANSFER_RESULT",
    "request": {
        "transferId": "b09c8d00-8da9-11ec-b909-0242ac120002",
        "txid": "311BFF73D9B7969CCF1042186180159C724FAB59013A7A034A93E5FB9D6BAFE6",
        "vout": ""
    }
}

Response

NameRequiredDescription
signatureRequiredGenerated Signature
nonceRequiredGenerated Nonce
dateTimeRequiredCurrent datetime for request
publicKeyRequiredYour Public Key
bodyRequiredGenerated payload
{
  "signature": "iDONJT6ck7bZD2++nGrknOR+o+aultZpwvWGRzabOePQvylN93A/9Zs6g+9mD7cnSMkE7NpuAKtKHNZvWP0RDA==",
  "nonce": 1048167312,
  "dateTime": "2023-06-21T05:25:16Z",
  "publicKey": "LOpv3Vd7PKLrlDmk/MFi6mc2rPWhi3G0H3D74dayxSo=",
  "body": "{\"currency\":\"XRP\",\"payload\":\"7UGcPV9aZ+NGZNdeV31eXyuEpQKHPA0kjaFvcUt9f8BIXG7IrkqiG2sXBqF9KZC5CZBAZ4xqnlHl2+ZSjqNSw9lm08y55NQTkIPNMHjdpsWCOItg4j5G+HDy2k8pZxmRZP7nVI6OkquJ7oB0jz31GL5uIPZd76NaBzOVy9dXe/Kp/lvTqGQj+TdD+v9C7Ez0fkOY+VPvQkzzBRlb\"}"
}

Transaction status search

Request

NameRequiredDescription
allianceNameRequiredThis is the code for the Travel Rule protocol. You can enter CODE as the default value.
apiTypeRequiredEnter SEARCH_TRANSACTION_STATUS
requestRequiredRequest Body
{
    "allianceName": "CODE",
    "apiType": "SEARCH_TRANSACTION_STATUS",
    "request": {
        "transferId": "b09c8d00-8da9-11ec-b909-0242ac120002"
    }
}

Response

NameRequiredDescription
signatureRequiredGenerated Signature
nonceRequiredGenerated Nonce
dateTimeRequiredCurrent datetime for request
publicKeyRequiredYour Public Key
bodyRequiredGenerated payload
{
  "signature": "5SvoIHj5+sY6vXGVs2RBzVriTvYjhyPMJhzSq4/hJdpv6nC4WCswj7j31arl6BoTuhCa7eaudtyp2JpVVoLGDA==",
  "nonce": 1459904464,
  "dateTime": "2023-06-21T05:24:40Z",
  "publicKey": "LOpv3Vd7PKLrlDmk/MFi6mc2rPWhi3G0H3D74dayxSo=",
  "body": "{\"transferId\":\"b09c8d00-8da9-11ec-b909-0242ac120002\"}"
}

Finish Transfer

Request

NameRequiredDescription
allianceNameRequiredThis is the code for the Travel Rule protocol. You can enter CODE as the default value.
apiTypeRequiredEnter FINISH_TRANSFER
requestRequiredRequest Body
{
    "allianceName": "CODE",
    "apiType": "FINISH_TRANSFER",
    "request": {
        "transferId": "b09c8d00-8da9-11ec-b909-0242ac120002",
        "status": "canceled",
        "reasonType": "SANCTION_LIST"
    }
}

Response

NameRequiredDescription
signatureRequiredGenerated Signature
nonceRequiredGenerated Nonce
dateTimeRequiredCurrent datetime for request
publicKeyRequiredYour Public Key
bodyRequiredGenerated payload
{
  "signature": "3zfR+ONXteTcs3o7MMT69QyCYbBpXJFhXXqRAo99UxrpAOTQUEpUVffTZ2wRKPSkfxdqEvoNHJlA2PShZBVgBA==",
  "nonce": 1593438672,
  "dateTime": "2023-06-21T05:24:09Z",
  "publicKey": "LOpv3Vd7PKLrlDmk/MFi6mc2rPWhi3G0H3D74dayxSo=",
  "body": "{\"transferId\":\"b09c8d00-8da9-11ec-b909-0242ac120002\",\"status\":\"canceled\",\"reasonType\":\"SANCTION_LIST\"}"
}

Example

Language