Update customer wallet
Update the destination wallet address for customer transfers.
Updates a customer deposit wallet. walletType and ownershipAttested: true are optional for now and will become required in a future release. When walletType is supplied, ownershipAttested: true is required and custodial wallets also require vaspName. Omit them when updating other fields and the wallet's existing declaration is kept unchanged. Changing the address without supplying a declaration clears the wallet's current declaration, because the previous declaration was made about the previous address — send the declaration alongside the new address to keep the wallet declared. Earlier declarations are retained against the address they were made about.
Authorization
bearerAuth Organization API key obtained on Settings > API Keys page in Compose UI.
In: header
Path Parameters
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
curl -X PATCH "https://compose.finance/api/v2/customers/string/deposit/wallets/string" \ -H "Content-Type: application/json" \ -d '{}'{
"id": "wallet_abc123",
"customerId": "550e8400-e29b-41d4-a716-446655440001",
"address": "0x1234567890AbcdEF1234567890aBcdef12345678",
"currency": "usdc",
"chain": "base",
"enabled": true,
"walletType": "SELF_CUSTODY",
"vaspName": "Coinbase",
"vaspAccountRef": "[email protected]",
"ownershipAttestedAt": "2026-08-12T10:30:00.000Z",
"createdAt": "2024-01-15T10:30:00.000Z",
"updatedAt": "2024-01-15T10:30:00.000Z"
}{
"error": "address: Invalid Ethereum address format"
}{
"error": "Unauthorized - Invalid or missing API key or session"
}{
"error": "Customers feature is not enabled for your organization"
}{
"error": "Invalid request data"
}{
"error": "Invalid request data"
}List customer wallets GET
Returns all crypto wallets configured for the customer. Optionally filter by currency.
Get customer deposit details GET
Returns bank deposit details for a KYC-verified customer. The customer must have completed KYC verification to access deposit details. For USD SWIFT, the shared reference account includes its ClearBank IBAN; a dedicated `iban` with `depositModel: "virtual_account"` is returned when the customer holds an active USD virtual account. EUR/SEPA deposit details may reference a different receiving bank depending on your organization's banking configuration.

