Improving Data Quality
Introduction
You can improve Travel Rule message delivery rates by providing accurate, complete information—especially additional context whenever you have it. Travel Rule routing still depends on wallet address databases, which remain incomplete until 100% of VASPs implement the Travel Rule for all transactions and all networks interconnect. Until then, well-structured payloads are the fastest way to avoid delays.
If you want to see how CryptoSwift routes outgoing messages step by step, review the Travel Rule flow visuals before diving into the data tactics below.
Prioritise data for outgoing Travel Rule messages
Wallet type
One of the most valuable data points for improving delivery rates—or avoiding unnecessary deliveries—is the wallet type.
- If the wallet is managed by a VASP (
CUSTODIAL
), we must deliver the Travel Rule message to the beneficiary VASP. - If it's a self-hosted wallet (
NON_CUSTODIAL
), there is no VASP behind the address, so no message needs to be sent.
When you indicate the wallet type as NON_CUSTODIAL
, we can automatically mark the message as confirmed in our system—saving time and reducing noise.
To specify the wallet type, include the following when making the Create Transaction API call:
... "blockchainInfo": { ... "destinationType": "NON_CUSTODIAL" } ...
Providing this data is essential because it's not possible to determine whether a wallet is custodial or non-custodial based solely on the address. Without this information, many self-hosted wallet transactions may remain pending unnecessarily.
Need help verifying customer self-hosted wallets? Check out self-hosted wallet verification.
Beneficiary VASP name
Another important data point is the beneficiary VASP name, which helps us better route and deliver Travel Rule messages.
There are two main ways you can gather and provide this information:
1. Entities endpoint
We offer a Find Entities
endpoint to help identify VASPs:
👉 Entities API
You can use this endpoint to implement an autocomplete feature in your transaction screen UI, allowing users to select the beneficiary VASP from a dropdown list. Once selected, include the VASP name when making the Create Transaction API call under the vaspInfo
section:
... "vaspInfo": { "beneficiaryVaspName": "SwiftExchange" } ...
2. Blockchain analytics tools
If you're using blockchain analytics tools to perform AML screening, you may already receive VASP name suggestions for wallet addresses. Where available, please pass this data along in your outgoing Travel Rule messages—it significantly enhances message delivery success.
You can choose to:
- Use the VASP name provided by your user
- Override it with analytics tool data when available
Include the data in the same place when making the Create Transaction API call:
... "vaspInfo": { "beneficiaryVaspName": "SwiftExchange" } ...
Note: We do not rely solely on this data, and no PII is shared with the beneficiary VASP until they confirm ownership of the wallet address. This design helps prevent false positives.
Maintain your own wallet inventory
To improve Travel Rule message delivery for your incoming crypto transactions, ensure your internal wallet list is up to date.
You can manage this list through:
Keeping your wallet data current helps our platform recognize your addresses and ensures smoother communication between VASPs. When a wallet is confirmed, you also gain access to the sensitive PII shared in incoming payloads—see PII data handling for the disclosure logic.