Skip to content

The CryptoSwift Travel Rule standard data model

Simplicity and ease of integration are key reasons why CryptoSwift developed its own open-source messaging standard, STRIP, for handling and delivering Travel Rule data. STRIP’s primary objective is to provide a simple, straightforward, JSON-based standard for transmitting Travel Rule information. It is fully compatible with major regulations, including FATF Recommendation #16 and the MiCA Transfer of Funds Regulation.

Many existing standards are either not fully compliant with the latest regulations or are overly complex, making integration a significant challenge for VASPs. STRIP addresses these issues by offering a streamlined solution.

The data model

The following example represents all the data fields that the CryptoSwift API is capable of using for Travel Rule messages. Note that not all fields are mandatory per the current regulations. For an example of a MiCA TFR and FATF Recommendation #16 compliant Travel Rule message, see our integration examples.

{
    "id": "52fbe5a5-47dc-497d-9652-964d870dcbc3",
    "status": "CONFIRMED",
    "asset": "ETH",
    "amount": 3.16,
    "blockchainInfo": {
        "transactionHash": "6146ccf6a66d994f7c363db875e31ca35581450a4bf6d3be6cc9ac79233a69d0",
        "origin": "0xb794f5ea0ba39494ce839613fffba74279579268",
        "destination": "0x71C7656EC7ab88b098defB751B7401B5f6d8976F",
        "destinationType": "CUSTODIAL"
    },
    "vaspInfo": {
        "originatorVaspName": "xCryptoCoins",
        "originatorVaspEmail": "support@xCryptoCoins.domain",
        "beneficiaryVaspName": "SwiftCryptoExchange",
        "beneficiaryVaspEmail": "info@SwiftCryptoExchange.domain",
        "beneficiaryVaspExtraInfo": "Tel +372 1234 5678"
    },
    "originator": {
        "type": "NATURAL",
        "name": "Marwin Hillar",
        "accountNumber": "04143282398",
        "address": "Alexanderplatz 25, Berlin",
        "country": "Germany",
        "nationalIdentificatorType": "IDC",
        "nationalIdentificator": "DE123456789",
        "customerNumber": "A5433634",
        "dateOfBirth": "1991",
        "placeOfBirth": "Germany"
    },
    "beneficiary": {
        "type": "NATURAL",
        "name": "Hanne Nikol",
        "accountNumber": "AB54234232",
        "country": "Estonia",
        "nationalIdentificatorType": "IDC",
        "nationalIdentificator": "EE11234566"
    }
}


For detailed information about how to create, read and modify Travel Rule messages using the CryptoSwift API, see the API reference.

Data fields

Warning

Note: The message standard (STRIP) is still under development and updates to the data model are possible.
CryptoSwift will keep these possible changes non-breaking for existing customers.

Visit the STRIP Gitlab repository for the full specification.

FieldDescription
idThe UUID (specified by RFC4122) generated by the CryptoSwift API. Used to find/modify individual transactions after they are created
statusEnum: "PENDING" "DELIVERED" "CONFIRMED" "DECLINED" "FAILED" - Travel Rule transaction status
directionEnum: "INCOMING" "OUTGOING" - Transaction direction. When adding a transaction via the CryptoSwift API, the default value will be "OUTGOING" in case the filed is not provided with the request.
assetThe asset symbol that was used for the transaction (BTC, ETH or other)
createdAtTransaction creation timestamp
amountAmount of asset transferred
blockchainInfoBlockchain information related to the transaction (transaction hash, origin and destination wallet addresses)
transactionHashThe transaction hash of the on-chain transaction
originThe wallet address on the blockchain from which the transaction is initiated
destinationThe wallet address on the blockchain to which the transaction is being sent
destinationTypeEnum: "CUSTODIAL" "NON_CUSTODIAL" - The destination wallet type, a custodial or non-custodial (self-hosted) wallet
vaspInfoThe originator and beneficiary VASP information. The beneficiary VASP data is needed in order identify the destination VASP and deliver the Travel Rule transaction message. The originator VASP data is added automatically by the CryptoSwift API when creating a new transaction.
originatorVaspNameThe originator VASP name. When creating a transaction, it is added automatically by the CryptoSwift API, so there is no need to provide it manually.
originatorVaspEmailThe originator VASP e-mail address. When creating a transaction, it is added automatically by the CryptoSwift API, so there is no need to provide it manually.
beneficiaryVaspNameThe beneficiary VASP name
beneficiaryVaspEmailThe beneficiary VASP e-mail address
beneficiaryVaspExtraInfoAny extra information about the beneficiary VASP (contacts etc in free form) that can be used in case the the VASP can not be reached otherwise
originatorThe transaction originator information
typeEnum: "NATURAL" "LEGAL" - Originator type: natural or legal person
nameOriginator name: the name of the natural or legal person of the originator
accountNumberOriginator account identificator: wallet address or account identificator used by the VASP
addressAddress of the originator
countryThe country of residence (in case of natural person) or registration (in case of legal person)
nationalIdentificatorTypeProvides the national identificator type (enum). See the API Reference for more details
nationalIdentificatorThe national identification number of the originator
customerNumberThe customer number/identifier in case of legal person
dateOfBirthDate of birth (used in case of natural person)
placeOfBirthPlace of birth (used in case of natural person)
beneficiaryThe transaction beneficiary information
typeEnum: "NATURAL" "LEGAL" - Beneficiary type: natural or legal person
nameOriginator name: the name of the natural or legal person of the originator
accountNumberBeneficiary account identificator: wallet address or account identificator used by the VASP
countryThe country of residence (in case of natural person) or registration (in case of legal person)
nationalIdentificatorTypeProvides the national identificator type (enum). See the API Reference for more details
nationalIdentificatorThe national identification number of the beneficiary

Next steps