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
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.
Field | Description | ||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
id | The UUID (specified by RFC4122) generated by the CryptoSwift API. Used to find/modify individual transactions after they are created | ||||||||||||||||||||
status | Enum: "PENDING" "DELIVERED" "CONFIRMED" "DECLINED" "FAILED" - Travel Rule transaction status | ||||||||||||||||||||
direction | Enum: "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. | ||||||||||||||||||||
asset | The asset symbol that was used for the transaction (BTC, ETH or other) | ||||||||||||||||||||
createdAt | Transaction creation timestamp | ||||||||||||||||||||
amount | Amount of asset transferred | ||||||||||||||||||||
blockchainInfo | Blockchain information related to the transaction (transaction hash, origin and destination wallet addresses)
| ||||||||||||||||||||
vaspInfo | The 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.
| ||||||||||||||||||||
originator | The transaction originator information
| ||||||||||||||||||||
beneficiary | The transaction beneficiary information
|