---
title: "Create fiat wallet"
method: POST
path: "/ledger/v1/wallets"
tags: ["Fiat Payments"]
deprecated: true
---

# Create fiat wallet

`POST /ledger/v1/wallets`

## Request

- Base URL: `https://api.sandbox.bvnk.com`
- URL: `https://api.sandbox.bvnk.com/ledger/v1/wallets`
- Auth: API key in header `Authorization`
- TypeScript: <https://skmtc.dev/bvnk/apis/bvnk-api-endpoints/docs/ledger/v1/wallets/post.ts> (a function with typed inputs; its response is checked against the schema)

> **Deprecated.**

Creates a fiat wallet for a specific Customer, generating a unique virtual account tied to the wallet.

---

For more information, how to apply it in the Embedded Wallets flow, refer to the [Create a customer wallet](/bvnk/get-started/set-up-wallets/#create-a-wallet) guide.

## Headers

- `X-Idempotency-Key` string, uuid, required

## Request body

- CreateWalletRequest
  - `currencyCode` 'USD' | 'EUR' | 'GBP' | 'USDT' | 'POL' | 'PYUSD' | 'BTC' | 'SOL' | 'BNB' | 'XRP' | 'ETH' | 'LTC' | 'USDC' | 'USDG' | 'TRX', required: Currency code for the wallet.
  - `name` string, required: Name of the wallet.
  - `customerReference` string, uuid, required: Unique reference to the customer who owns the wallet.
  - `instruction` Instruction, required
    - `walletProfile` string: Profile to assign to the wallet. *Required for fiat wallets*. Retrieve available profiles from `GET /ledger/v1/wallets/profiles`.
    - `type` 'FIAT' | 'CRYPTO', required: Type of the wallet.
    - `virtualAccountRequired` boolean, required: Indication whether a virtual account is required. Currently, only `true` is supported.

## Response `201`

Wallet created successfully.

- WalletResponse
  - `id` string, required: Unique wallet ID.
  - `accountReference` string, uuid, required: Account reference for this wallet.
  - `customerReference` string, uuid, required: Customer reference for this wallet.
  - `name` string, required: Name of the wallet.
  - `status` 'ACTIVE' | 'INACTIVE' | 'TERMINATED', required: Status of the wallet.
  - `balance` Balance, required: Information about the available balance of the wallet.
    - `value` number, float, required: Available amount of funds in the wallet.
    - `currencyCode` 'USD' | 'EUR' | 'GBP' | 'USDT' | 'POL' | 'PYUSD' | 'BTC' | 'SOL' | 'BNB' | 'XRP' | 'ETH' | 'LTC' | 'USDC' | 'USDG' | 'TRX', required: Wallet currency.
  - `ledgers` Ledger[], required
    - union
      - FiatLedger: Information about the fiat ledger. If the wallet is enabled for SWIFT, the `paymentReference` is returned
        - `type` 'FIAT', required: Type of ledger, must be FIAT for this schema.
        - `accountHolderName` string: Name of the account holder.
        - `accountNumber` string, required: Account number. Must be provided only if `type` = `FIAT`.
        - `code` string, required: Bank identification code (BIC/SWIFT code).
        - `accountNumberFormat` string: Format of the account number.
        - `paymentReference` string: Reference to include with the payment.
        - `bank` object: Bank details associated with the fiat ledger.
          - `identificationCode` string: Bank identification code (BIC/SWIFT code).
          - `name` string: Name of the bank.
          - `address` Address
            - `addressLine1` string: Recipient's primary address line. Typically contains the street name and building number. Do not include the city, country, region/state, or postal code in this field; these values must be provided in their respective dedicated fields.
            - `addressLine2` string: Recipient's secondary address line. Typically contains additional details such as apartment, suite, or floor number. Do not include the city, country, region/state, or postal code in this field; these values must be provided in their respective dedicated fields.
            - `region` string: Recipient's state or region of the address.
            - `city` string: Recipient's city of the address.
            - `country` string, required: Recipient's country code.
            - `postCode` string: Postal or ZIP code of the recipient's address.
      - CryptoLedger
        - `type` 'CRYPTO', required: Type of ledger, must be CRYPTO for this schema.
        - `address` string, required: Crypto wallet address. Must be provided only if `type` = `CRYPTO`.
        - `network` string, required: Crypto wallet network or protocol. Must be provided only if `type` = `CRYPTO`.
        - `tag` string: Optional crypto tag or memo, if required by the network.
  - `capabilities` 'SAFEGUARDED': Flag that shows that funds or assets are protected and kept separate from a company's own money. They can't be used for business operations or debts and remain available to the rightful owners.

## Other responses

- `400`: Bad request.
- `403`: Forbidden.

## Changes

- **2026-11-06** `c386d436bf2c`: 1 breaking, 1 warning
  - the `name` request property's minLength was increased from `0` to `2`
  - the `name` request property's maxLength was set to `50`
- **2026-06-16** `97d6c0d2fe2e`: 1 info
  - endpoint deprecated

[Operation history](https://skmtc.dev/bvnk/apis/bvnk-api-endpoints/changes/ledger/v1/wallets/post.md)

---

[API](https://skmtc.dev/bvnk/apis/bvnk-api-endpoints.md) - [All operations](https://skmtc.dev/bvnk/apis/bvnk-api-endpoints/llms.txt) - [OpenAPI document](https://skmtc.dev/bvnk/apis/bvnk-api-endpoints/revisions/c386d436bf2c?raw)
