Skip to main content
POST
/
v1
/
wallets
/
{address}
/
virtual-account
Create virtual account
curl --request POST \
  --url https://api.calmtreasury.xyz/v1/wallets/{address}/virtual-account \
  --header 'Content-Type: application/json' \
  --cookie calm_session= \
  --data '{}'
{ "bank_name": "Lead Bank", "bank_address": "1801 Main Street, Kansas City, MO 64108", "bank_routing_number": "021000021", "bank_account_number": "1234567890", "bank_beneficiary_name": "Ada Lovelace", "bank_beneficiary_address": "100 Main St, San Francisco, CA 94105", "payment_rail": "ach_push", "payment_rails": [ "ach_push", "wire", "fednow" ] }

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. The set of available payment rails is determined by this currency.

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

Destination chain for the USDC payout.

Available options:
arbitrum,
base,
ethereum,
hyper_evm

Response

Created — body is the deposit instructions for the new account.

Currency-specific bank details the user wires money to. Shape is discriminated by the inner currency field — usd, gbp, and eur are documented below.

currency
enum<string>
required
Available options:
usd
bank_name
string
required
Example:

"Lead Bank"

bank_address
string
required
Example:

"1801 Main Street, Kansas City, MO 64108"

bank_routing_number
string
required
Example:

"021000021"

bank_account_number
string
required
Example:

"1234567890"

bank_beneficiary_name
string
required
Example:

"Ada Lovelace"

bank_beneficiary_address
string
required
Example:

"100 Main St, San Francisco, CA 94105"

payment_rail
string
required

Primary rail used for routing.

Example:

"ach_push"

payment_rails
enum<string>[]
required

All rails this account can receive.

Available options:
ach_push,
wire,
fednow
Example:
["ach_push", "wire", "fednow"]