Skip to main content
PATCH
/
v1
/
wallets
/
{address}
/
virtual-accounts
/
{virtual-account-id}
Update virtual account
curl --request PATCH \
  --url https://api.calmtreasury.xyz/v1/wallets/{address}/virtual-accounts/{virtual-account-id} \
  --header 'Content-Type: application/json' \
  --cookie calm_session= \
  --data '{}'

Authorizations

calm_session
string
cookie
required

Session cookie issued by POST /v1/session/{address}. Sent automatically by the browser; the SDK uses credentials: 'include'.

Path Parameters

address
string
required

Ethereum address (0x-prefixed, 40 hex chars). Lowercased server-side before binding.

Pattern: ^0x[a-fA-F0-9]{40}$
Example:

"0xaabbccddeeff00112233445566778899aabbccdd"

virtual-account-id
string<uuid>
required

Virtual account UUID — the id field returned by GET /v1/wallets/{address}/virtual-accounts.

Example:

"9c4fbb33-1f9e-4f60-bce8-e0a8b9b22f2a"

Body

application/json
chain
enum<string>
required

New destination chain for the USDC payout. The source-side deposit instructions are unaffected.

Available options:
arbitrum,
base,
ethereum,
hyper_evm

Response

Updated — empty body. Refetch GET /v1/wallets/{address}/virtual-accounts.