Wallets
The Wallets API allows you to manage wallet records within the Travel Rule system. Register customer wallets, track multi-asset wallets, and manage wallet data for compliance.
Create Wallet
Create a new wallet owned by the current tenant. Wallets are created as confirmed automatically and are immediately available for use in Travel Rule transactions.
Wallets are automatically created as confirmed. No additional verification steps are required before use in Travel Rule transactions.
Endpoint
POST {{BASE_URL}}/travel-rule/wallets/create
Request Parameters
| Parameter | Required | Type | Description |
|---|---|---|---|
| wallet_address | Yes | string | Blockchain wallet address to register. Max 500 characters. (Sent as wallet_address, not address.) |
| asset | Yes | string | Asset code (e.g., BTC, ETH). Always required — use * to create a multi-asset wallet supporting all assets on the blockchain. |
| blockchain | Yes | string | Blockchain network name (e.g., Bitcoin, Ethereum). Use a name from the Read Blockchains endpoint (free text may reduce Travel Rule message delivery rates). |
| multi_asset | No | boolean | Whether the wallet supports multiple assets. Defaults to false if omitted. When true, set asset to *. |
| metadata | No | string | Custom metadata or notes about the wallet. Max 1000 characters. |
The wallet address is sent as wallet_address (not address). The created wallet object returned by this endpoint and by Read Wallets reports it back as address.
Multi-Asset Wallets
To create a multi-asset wallet, set asset to "*" and multi_asset to true:
{
"wallet_address": "0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb",
"blockchain": "Ethereum",
"multi_asset": true,
"asset": "*",
"metadata": "Multi-asset wallet supporting ETH, USDT, and ERC-20 tokens"
}
Response
{
"error": false,
"status": "SUCCESS",
"message": "Wallet created successfully",
"data": {
"_id": "69579b37e7968ddaf19b3f7c",
"address": "bc1qxy2kgdygjrsqtzq2n0yrf2493p83kkfjhx0wlh",
"asset": "BTC",
"blockchain": "Bitcoin",
"multi_asset": false,
"metadata": "Customer wallet for John Doe",
"created_at": "Fri, 02 Jan 2026 10:17:27 GMT",
"updated_at": "Fri, 02 Jan 2026 10:17:27 GMT"
}
}
Read Wallets
Retrieve your own wallets, scoped to your account. Results are paginated and filterable by asset, blockchain, status, and date range.
Endpoint
GET {{BASE_URL}}/travel-rule/wallets/read
Query Parameters
All parameters are optional. Without parameters, returns the first 25 wallets.
| Parameter | Required | Type | Description |
|---|---|---|---|
| page | No | integer | Page number. Defaults to 1. |
| per_page | No | integer | Results per page. Defaults to 25, max 100. |
| search | No | string | Search by wallet address or _id. Your reference is included in every result for correlation. |
| start_date | No | string | Filter by creation/update date, on or after. DD-MM-YYYY format. |
| end_date | No | string | Filter by creation/update date, on or before. DD-MM-YYYY format. |
| assets[] | No | array | Filter by one or more asset codes (e.g. BTC, ETH). Use * for multi-asset wallets. Repeat the parameter for multiple values. |
| blockchains[] | No | array | Filter by one or more blockchain names (e.g. Bitcoin, Ethereum). Repeat the parameter for multiple values. |
| statuses[] | No | array | Filter by wallet status: verified, unverified, pending, failed. Repeat the parameter for multiple values. |
Results are scoped to your own account. Each returned wallet also includes your reference for correlation.
Response
{
"error": false,
"status": "SUCCESS",
"message": "Wallets fetched successfully",
"data": {
"wallets": [ ],
"pagination": {
"page": 1,
"per_page": 25,
"total_count": 0,
"total_pages": 0,
"has_next": false,
"has_prev": false
}
}
}
Delete Wallet
Permanently delete a wallet from the Travel Rule system.
Endpoint
POST {{BASE_URL}}/travel-rule/wallets/delete
Request Parameters
| Parameter | Required | Type | Description |
|---|---|---|---|
| wallet_id | Yes | string | Unique identifier of the wallet to delete. |
Response
{
"data": {},
"error": false,
"message": "Wallet deleted successfully",
"status": "SUCCESS"
}