Skip to main content
Each sub-account holds its own balance and API keys. Funds and signing scopes are isolated from the main account; transfers between them are explicit and fee-free. The four steps below set up that isolation, from creation through balance verification.

Prerequisites

  • A WhiteBIT account with completed KYC (register)
  • An API key with Trade permission and sub-account management capability (create key)
  • Funds in Main balance (sub-account transfers draw from Main balance)
  • HMAC-SHA512 signing configured (authentication guide)
  • curl and jq installed (for command-line examples)
1

Create a sub-account

Create a new sub-account with an alias and permissions.
For TypeScript and Python SDK examples, see SDKs.Required fields: alias (display name), permissions (object with spotEnabled and collateralEnabled). When shareKyc is false or omitted, email is also required.Expected response:
Save the id value for subsequent steps.
2

Transfer funds to the sub-account

Move assets from the main account to the newly created sub-account.
Required fields: id (sub-account UUID), direction (main_to_sub or sub_to_main), ticker, amount. Transfers are instant and fee-free.Expected response:
3

Create an API key for the sub-account

Generate a dedicated API key for the sub-account to enable independent trading.
Required fields: subAccountId (UUID), type (1 = info and trading, 2 = info, trading, deposits, withdrawals). Optional: title (custom name for the key).
Save the secretKey immediately — the API does not return the secret key again after creation.
To receive crypto deposits directly, the sub-account needs a type: 2 key (deposits and withdrawals) and the account must have deposits enabled. Crypto deposits are disabled by default — to enable them for the account and its sub-accounts, contact your assigned Account Manager or email institutional@whitebit.com. Once enabled, generate the address via the standard deposit-address endpoint signed with the sub-account’s own key.
4

Check sub-account balances

Verify that the transferred funds appear in the sub-account balance.
Expected response:
The response keys ticker symbols to an array of balance objects. main, spot, and collateral show available funds in each balance type for the sub-account.
The sub-account now has an isolated balance and a dedicated API key. To restrict the key to known IPs, call POST /api/v4/sub-account/api-key/ip-address/create with the whitelist.

Sub-account withdrawal approval

When the sub-account withdrawal feature is enabled, a withdrawal created with a sub-account key does not settle immediately. The transaction enters unconfirmed_by_main_account status and waits for main account approval, giving the main account a control point over every sub-account withdrawal.
The sub-account withdrawal endpoints are not available by default. To request access, contact institutional@whitebit.com. Without main account confirmation, an unconfirmed withdrawal expires after a retention period.
1

Initiate the withdrawal from the sub-account

The sub-account creates the withdrawal with the sub-account’s own type: 2 API key (deposits and withdrawals) on the standard Create withdraw request endpoint (POST /api/v4/main-account/withdraw). No main-account-side initiation endpoint exists — the request is signed with the sub-account key. The resulting transaction enters unconfirmed_by_main_account status.
2

List pending withdrawals from the main account

Using a main-account key, list the sub-account withdrawals awaiting approval. Capture the id of each transaction to confirm.
Each item includes the transaction id, subAccountId, currency, amount, and createdAt.
3

Confirm the withdrawal from the main account

Approve a listed withdrawal by external id. A successful call returns an empty object and releases the withdrawal for processing.
Confirmation is the only main-account action on an unconfirmed withdrawal — no reject endpoint exists, and an unconfirmed withdrawal that is never confirmed expires automatically.

What’s Next

Sub-Accounts Overview

Integration patterns for fund managers, brokers, and prop trading firms.

Broker Guide

Fee share model up to 50%, sub-account-per-customer onboarding, KYC URL generation, and per-customer API keys with up to 50 IP addresses.
For TypeScript and Python SDK examples, see SDKs.