Create wallet

POST
/wallets

Create new wallet for the given currency.

Whether the wallet is FIAT or CRYPTO is derived from the currency automatically. The first wallet a customer creates becomes the target wallet; later wallets never do.

A customer can hold at most 25 wallets.

Authorization

Bearer
headerAuthorizationBearer <JWT>

OAuth access token.

Header Parameters

Idempotency-Key*string

It helps prevent duplicates in your POST requests. We recommend using a UUID for the key, however you may use any other unique identifier you choose.

Length1 <= length <= 64
X-Volt-Api-Version*1

Version of the API used. Currently, version 1 is the only version.

Value in1

Request Body

application/json
  1. body
name*string

Wallet label, 3 to 100 characters, not blank.

Length3 <= length <= 100
currency*string

Currency of the wallet: an ISO 4217 code for FIAT or a token symbol for CRYPTO. The wallet type is derived automatically.

Value in"EUR""GBP""USD""USDC""EURC""USDT"

Response Body

Created - The wallet was created, returning wallet details.

application/json
  1. response
id*string

Identifier of the wallet.

Formatuuid
name*string

Wallet label, either supplied at creation or generated ("<currency> wallet", e.g. "USDC wallet").

type*"FIAT"

Wallet type.

Value in"FIAT"
status*WalletStatusEnum

Wallet status.

Value in"ACTIVE""INACTIVE""TERMINATED"
currency*string

Currency of the wallet: an ISO 4217 code for FIAT or a token symbol for CRYPTO.

Value in"EUR""GBP""USD""USDC""EURC""USDT"
balance*|

Current balance as an exact decimal string in major units: 2 decimal places for FIAT wallets, up to 6 for CRYPTO wallets. This field is null when the balance is temporarily unavailable.

beneficiary*|

Information about the target account (beneficiary) for bank transfers into this wallet. This field is null until the details exist, for example while the wallet is INACTIVE and its bank details are still being provisioned.

isTargetWallet*boolean

Whether this is the target wallet, which incoming stablecoin payments are credited to by default. Only one wallet per customer is the target wallet at a time.

createdAt*string

Date of wallet creation.

Formatdate-time
updatedAt*|

Date of wallet's last update.

Formatdate-time
Example Request
curl -X POST 'https://stablecoins.sandbox.volt.io/wallets' \  -H 'Idempotency-Key: 85136c79cbf9fe36bb9d05d0639c70c265c18d37' \  -H 'X-Volt-Api-Version: 1' \  -H 'Content-Type: application/json' \  -d '{  "name": "My EUR wallet",  "currency": "EUR"}'
Example Response
{  "id": "3f9c1a7e-5b2d-4e8f-a1c6-d4b7e2f9a0c3",  "name": "My EUR wallet",  "type": "FIAT",  "status": "INACTIVE",  "currency": "EUR",  "balance": "0.00",  "beneficiary": null,  "isTargetWallet": true,  "createdAt": "2026-08-24T09:15:42+00:00",  "updatedAt": "2026-08-24T09:15:42+00:00"}