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

# Create a wallet

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

## Request

- Base URL: `https://api-sandbox.interlace.money`
- URL: `https://api-sandbox.interlace.money/open-api/v3/cryptoconnect/wallets`
- Auth: API key in header `x-access-token`

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.
      - `pending` string, number: Pending 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.dev/interlace/apis/crypto-connect.md) - [All operations](https://skmtc.dev/interlace/apis/crypto-connect/llms.txt) - [OpenAPI document](https://skmtc.dev/interlace/apis/crypto-connect/revisions/9d40c2545370?raw)
