---
title: "Create a wallet"
method: POST
path: "/open-api/v3/cryptoconnect/wallets"
tags: ["Wallets"]
---

# Create a wallet

`POST /open-api/v3/cryptoconnect/wallets`

Create a sub-wallet under an existing master wallet. This endpoint is available only for business use cases, including MOR mode, Gateway (business use) mode, and business use master merchants under Distributor mode.

## Headers

- `Idempotency-Key` string

## Request body

- CreationWalletRequest
  - `referenceId` string, uuid, required
  - `accountId` string, uuid, required
  - `nickname` string, required — Wallet nickname.

## Response `200`

The request has succeeded.

- object
  - `code` string, required — Code
  - `message` string, required — Message
  - `data` Wallet, required
    - `id` string, uuid, required
    - `accountId` string, uuid, required
    - `nickname` string, required — Wallet nickname.
    - `master` boolean, required — The master wallet.
    - `referenceId` string, uuid, required
    - `balances` WalletBalance[] — An array containing objects that represent the balance holdings for different currencies within this wallet.
      - `available` string, number, required — Available balance.
      - `frozen` string, number — Frozen balance.
      - `currency` 'USD' | 'BTC' | 'ETH' | 'USDC' | 'USDT' | 'WUSD', required
    - `addresses` BlockchainAddress[] — An array containing objects that represent deposit addresses associated with this wallet. These addresses are used to receive funds of specific currencies on specific blockchain networks.
      - `currency` 'BTC' | 'ETH' | 'USDC' | 'USDT' | 'WUSD', required
      - `chain` 'ARB' | 'AVAX' | 'BASE' | 'BNB' | 'BTC' | 'ETH' | 'MATIC' | 'OP' | 'SOL' | 'TON' | 'TRX', required
      - `address` string, required — An alphanumeric string which indicates the wallet address used to receive the transfer. Will only be set when the transfer source is a blockchain address.
      - `selected` boolean, required — Marks whether the address is active and displayed on the merchant portal. Only selected = true addresses are visible.
      - `status` 'ACTIVE' | 'FREEZE', required

## Other responses

- `400` — The server could not understand the request due to invalid syntax.
- `403` — Access is forbidden.
- `409` — The request conflicts with the current state of the server.

---

[API](https://skmtc.net/interlace/apis/core-resource.md) · [All operations](https://skmtc.net/interlace/apis/core-resource/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/interlace/core-resource/revisions/29c08a4da357/schema)
