Skip to main content
POST
/
v1
/
wallets
/
{address}
/
virtual-accounts
Create virtual account
curl --request POST \
  --url https://api.calmtreasury.xyz/v1/wallets/{address}/virtual-accounts \
  --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"

Body

application/json
currency
enum<string>
required

Source currency the user will deposit. Determines which payment rails the resulting deposit instructions support.

Available options:
usd,
gbp,
eur
chain
enum<string>
required

Destination chain for the USDC payout.

Available options:
arbitrum,
base,
ethereum,
hyper_evm

Response

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