Let’s walk through how to process a withdrawal transfer for a new customer. Since this is customer’s first transaction, we’ll start by creating their account in the system. Next, we’ll set up the sending wallet address and link it to their account. After that, we’ll create a Beneficiary Account and add a self-hosted wallet where the funds will be sent. Finally, we’ll initiate the withdrawal Travel Rule transfer.
This guide will break down each step clearly. Let’s dive in!
Introduction
To use Ospree’s API, you’ll need API keys, which you’ll receive in your activation email. Ospree provides two different API keys, each corresponding to one of the two available environments:
• Sandbox environment – Used for testing and development.
• Production environment – Used for live transactions.
For now, we’ll start in the Sandbox environment to safely test and integrate the API before moving to production.
Step 1: Create a customer account
A customer account in Ospree represents a legal entity or individual. Each account is associated with various elements, such as wallet addresses and Travel Rule transfers.
To create a customer account, use the /api/v2/directory/accounts endpoint. Setting up a customer account ensures that all necessary data for future Travel Rule transfers is complete and standardized, facilitating automation and minimizing data-related errors.
Once you have created a customer account, the next step is to create a wallet address and link it to the account. A single customer account may be associated with multiple wallet addresses for different digital assets, such as BTC, XRP, and ETH.
Linking accounts with wallet addresses ensures that when a Travel Rule transfer is initiated, the system can automatically retrieve the correct account details using only the wallet address. This streamlines processing, reducing the amount of data that needs to be loaded for each transaction.
To create a wallet address, use the /api/v2/analytics/chains/{chain}/addresses/{address} endpoint. This endpoint not only links a wallet address to a customer account but also provides additional functionalities to enhance compliance. It enables risk screening using multiple blockchain analytics providers to assess potential threats, and it allows wallets to be labeled as self-hosted, distinguishing them from VASP-managed wallets. These features ensure that wallet addresses are properly categorized, assessed for risk, and ready for use in Travel Rule transfers.
Use Ospree to create and store beneficiary account records, allowing for easy reuse in future Travel Rule transfers. Even when a customer is transferring funds to themselves—whether to another Virtual Asset Service Provider (VASP) account or a self-hosted wallet—a beneficiary record must still be created. This ensures proper compliance, transaction tracking, and seamless Travel Rule data exchange. To create a beneficiary account, use the /api/v2/directory/accounts endpoint.
Step 4: Create & link a beneficiary wallet address
Create a beneficiary wallet address and link it to the beneficiary account. Similar to Step 2, use the /api/v2/analytics/chains/{chain}/addresses/{address} endpoint to associate the wallet address with the beneficiary account, perform risk screening to assess potential threats, and ensure Travel Rule compliance before initiating a transfer. This endpoint also allows you to label the wallet as self-hosted, distinguishing it from VASP-managed wallets for compliance tracking. This step ensures that beneficiary wallet addresses are properly registered, risk-assessed, and ready for secure transactions.
Now that we’ve covered the account creation and wallet linking process, you can proceed with executing a Travel Rule transfer. Using the /api/v2/travelrule/transfers endpoint, Ospree automatically retrieves the necessary information from the associated accounts by tracing back from the linked wallet address. This ensures that originator and beneficiary details are validated in real time and that the transaction meets Travel Rule compliance requirements before processing. By leveraging pre-registered data, Ospree streamlines the transfer process, minimizing manual input and enhancing compliance efficiency.
Which Protocol Should I Select? The protocol you select depends on the counterparty VASP’s Travel Rule implementation. Ospree supports multiple protocols to ensure seamless interoperability.
If you’re unsure which protocol to use, you can:
• Check the Search VASP endpoint to see if protocol information is available.
• Use Ospree’s auto-detection feature in the dashboard to determine the best protocol option.
Note: Since Travel Rule adoption is still evolving, many companies do not yet have a Travel Rule solution. VASP counterparty database is continuously updated to enhance VASP interoperability. For further details, please contact our team at support@ospree.io.
What is DTI? A Digital Token Identifier (DTI) is a global identification standard for digital tokens, established by the International Organization for Standardization (ISO 24165). It provides a unique identifier for each digital asset, ensuring standardized classification and improving transparency across financial and regulatory systems. For further details see: https://dtif.org/
As you might have noticed, transaction_hash is an optional parameter. Typically, companies initiate Travel Rule transfers and once the data handshake is completed, the blockchain transaction is triggered. At this point, the transaction hash can be updated using the following endpoint: PATCH /api/v2/travelrule/transfers/{transfer_id}
However, in some cases, companies may choose to proceed with the blockchain transaction first. In such scenarios, they can include the transaction_hash parameter during the initial Travel Rule transfer request to provide this information upfront.