Deposit wallets

Update customer wallet

Update the destination wallet address for customer transfers.

PATCH
/api/v2/customers/{customerId}/deposit/wallets/{walletId}

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
AuthorizationBearer <token>

Organization API key obtained on Settings > API Keys page in Compose UI.

In: header

Path Parameters

customerId*string
walletId*string

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"
}