Skip to main content
WhiteBIT Codes are fee-free digital vouchers for transferring cryptocurrency between WhiteBIT accounts. A code encapsulates a specific amount of a currency — the creator generates the code, shares the code string, and the recipient applies the code to receive the funds.

Use cases

Codes provide a simple transfer mechanism without requiring the recipient’s deposit address.
  • Internal transfers — Move funds between accounts without withdrawal fees
  • Partner payouts — Distribute funds to multiple recipients by generating codes programmatically
  • Promotions and rewards — Create codes as promotional vouchers; optionally protect with a passphrase

Code lifecycle

The code lifecycle has two phases: creation and application.
1

Create a code

Send a POST request to /api/v4/main-account/codes with ticker (e.g., ETH), amount (string, max 8 decimals), optional passphrase (max 25 characters, latin letters + numbers + symbols, no whitespace), and optional description (max 75 characters, visible only to the creator). The amount is debited from the Main balance. The response returns a code string (format: WB{uuid}{TICKER}, e.g., WBe11f4fce-2a53-4edc-b195-66b693bd77e3ETH) and an external_id.
2

Share the code

Transmit the code string to the intended recipient. If a passphrase was set, share the passphrase separately.
3

Apply the code

The recipient calls POST /api/v4/main-account/codes/apply with the code string and passphrase (if set). Funds are credited to the recipient’s Main balance. A code.apply webhook event fires on the creator’s account.

API endpoints

WhiteBIT Codes uses 4 authenticated endpoints. All operate on the Main balance.
EndpointPurposeRate limit
POST /api/v4/main-account/codesCreate a new code1,000 req / 10 sec
POST /api/v4/main-account/codes/applyApply (redeem) a code60 req / 1 sec
POST /api/v4/main-account/codes/myList codes created by the account1,000 req / 10 sec
POST /api/v4/main-account/codes/historyFull code history (created + applied)1,000 req / 10 sec

Create parameters

ParameterTypeRequiredDescription
tickerstringYesCurrency ticker (e.g., ETH, BTC)
amountstringYesAmount to encapsulate. Max precision: 8 decimals. Must be greater than 0 and less than or equal to the Main balance.
passphrasestringNoOptional protection. Latin letters, numbers, symbols only. Max 25 characters. No whitespace.
descriptionstringNoInternal note visible only to the creator. Max 75 characters.

Code example

Create a code for 0.002 ETH with a passphrase, then apply the code on a different account.
# Step 1: Create a WhiteBIT code
curl -X POST https://whitebit.com/api/v4/main-account/codes \
  -H "X-TXC-APIKEY: YOUR_API_KEY" \
  -H "X-TXC-PAYLOAD: YOUR_PAYLOAD" \
  -H "X-TXC-SIGNATURE: YOUR_SIGNATURE" \
  -H "Content-Type: application/json" \
  -d '{
    "ticker": "ETH",
    "amount": "0.002",
    "passphrase": "mySecretPass1",
    "request": "/api/v4/main-account/codes",
    "nonce": 1
  }'
{
  "code": "WBe11f4fce-2a53-4edc-b195-66b693bd77e3ETH",
  "message": "Code was successfully created",
  "external_id": "be08a482-5faf-11ed-9b6a-0242ac120002"
}
# Step 2: Apply the code on the recipient's account
curl -X POST https://whitebit.com/api/v4/main-account/codes/apply \
  -H "X-TXC-APIKEY: YOUR_API_KEY" \
  -H "X-TXC-PAYLOAD: YOUR_PAYLOAD" \
  -H "X-TXC-SIGNATURE: YOUR_SIGNATURE" \
  -H "Content-Type: application/json" \
  -d '{
    "code": "WBe11f4fce-2a53-4edc-b195-66b693bd77e3ETH",
    "passphrase": "mySecretPass1",
    "request": "/api/v4/main-account/codes/apply",
    "nonce": 2
  }'
{
  "message": "Code was successfully applied",
  "ticker": "ETH",
  "amount": "0.002",
  "external_id": "be08a482-5faf-11ed-9b6a-0242ac120002"
}
For Go and PHP examples, see SDKs.

Error codes

Create endpoint error codes:
CodeDescription
0Fiat currencies available on the front-end only
1Currency is not withdrawable
3Amount is too small
5Not enough balance
6Amount is less than or equal to fee
For apply errors, the most common is “Incorrect code or passphrase” — verify the code string and passphrase are correct.

Regional restrictions

EEA users: USDT codes are blocked since December 30, 2024 (MiCA compliance). Tether has not obtained EU authorization. Use USDC or EURI as alternatives. See Regulatory Compliance for details.

What’s next

Webhook Events

Receive real-time notifications when codes are applied.

Convert

Instantly convert between currencies at a quoted rate.