> ## Documentation Index
> Fetch the complete documentation index at: https://docs.whitebit.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Main balance

> The endpoint retrieves the [main balance](/glossary#balance-main) by currency [ticker](/glossary#ticker) or all balances.

An unknown or non-existent `ticker` is not an error: the endpoint returns a zero balance (`{"main_balance": "0"}`) for it. Omitting `ticker` returns balances for every currency.

`main_balance` already includes deposits credited before the network fully confirms them. The part of it that is still held back is reported separately as `pending_deposit_amount`: that amount is tradable but cannot be withdrawn, sent as a WhiteBIT Code, or moved to the collateral balance until the network confirms the deposit. To see the held amount across the whole account, and what remains withdrawable, use [Withdrawable balance](/api-reference/account-wallet/withdrawable-balance).

Beyond the validation error above, this endpoint can return only the [common authentication errors](/api-reference/authentication).

<Warning>
  Rate limit: 1000 requests/10 sec.
</Warning>

<Note>
The API does not cache the response.
</Note>


POST

<select value={baseUrl} onChange={(function (e) {
setBaseUrl(e.target.value);
})} onClick={(function (e) {
e.stopPropagation();
})}><option value="https://whitebit.com">[https://whitebit.com](https://whitebit.com)</option>
<option value="https://whitebit.eu">[https://whitebit.eu](https://whitebit.eu)</option></select>

Copy URL

Copy URL

## Used in these guides

* [Payment Integration](/guides/payment-integration) — crypto deposits, withdrawals, conversion, WhiteBIT Codes, and Express Withdraw.


## OpenAPI

````yaml openapi/private/main_api_v4.yaml POST /api/v4/main-account/balance
openapi: 3.0.3
info:
  title: WhiteBIT Private HTTP API V4
  description: |
    WhiteBIT Private HTTP API V4 for Main balance changes.

    Base URL: https://whitebit.com

    All endpoints return time in Unix-time format.
    All endpoints return either a JSON object or array.
    For receiving responses from API calls please use http method POST.
  version: 4.0.0
  contact:
    name: WhiteBIT Support
    email: support@whitebit.com
    url: https://whitebit.com
servers:
  - url: https://whitebit.com
    description: WhiteBIT Global Server
  - url: https://whitebit.eu
    description: WhiteBIT EU Server
  - url: https://whitebit.tr
    description: WhiteBIT TR Server
  - url: https://whitebit.ge
    description: WhiteBIT GE Server
security:
  - ApiKeyAuth: []
    PayloadAuth: []
    SignatureAuth: []
tags:
  - name: Main Account
    description: Main account balance and operations
  - name: Deposit
    description: Cryptocurrency and fiat deposit operations
  - name: Withdraw
    description: Cryptocurrency and fiat withdrawal operations
  - name: Transfer
    description: Balance transfer operations
  - name: Codes
    description: WhiteBIT codes operations
  - name: Crypto Lending - Fixed
    description: Fixed crypto lending plans
  - name: Crypto Lending - Flex
    description: Flexible crypto lending plans
  - name: Fees
    description: Fee information
  - name: Sub-Account
    description: Sub-account management
  - name: Sub-Account API Keys
    description: Sub-account API key management
  - name: Mining Pool
    description: Mining pool operations
  - name: Credit Line
    description: Credit line information
  - name: JWT
    description: JWT token management
  - name: Travel Rule
    description: Travel Rule compliance endpoints for deposits and withdrawals
paths:
  /api/v4/main-account/balance:
    post:
      tags:
        - Main Account
      summary: Get main balance
      description: >
        The endpoint retrieves the [main balance](/glossary#balance-main) by
        currency [ticker](/glossary#ticker) or all balances.


        An unknown or non-existent `ticker` is not an error: the endpoint
        returns a zero balance (`{"main_balance": "0"}`) for it. Omitting
        `ticker` returns balances for every currency.


        `main_balance` already includes deposits credited before the network
        fully confirms them. The part of it that is still held back is reported
        separately as `pending_deposit_amount`: that amount is tradable but
        cannot be withdrawn, sent as a WhiteBIT Code, or moved to the collateral
        balance until the network confirms the deposit. To see the held amount
        across the whole account, and what remains withdrawable, use
        [Withdrawable
        balance](/api-reference/account-wallet/withdrawable-balance).


        Beyond the validation error above, this endpoint can return only the
        [common authentication errors](/api-reference/authentication).


        <Warning>
          Rate limit: 1000 requests/10 sec.
        </Warning>


        <Note>

        The API does not cache the response.

        </Note>
      operationId: getMainBalance
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - request
                - nonce
              properties:
                ticker:
                  type: string
                  description: Currency's ticker.
                  example: BTC
                request:
                  type: string
                  description: Request signature
                  example: '{{request}}'
                nonce:
                  type: integer
                  description: Unique request identifier
                  example: 1594297865000
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                additionalProperties:
                  type: object
                  properties:
                    main_balance:
                      type: string
                      description: Main balance volume
                    pending_deposit_amount:
                      type: string
                      description: >
                        Part of `main_balance` that comes from deposits credited
                        before the network fully confirmed them. Tradable, but
                        not withdrawable until confirmation completes. `0` when
                        nothing is held back.
              example:
                BSV:
                  main_balance: '0'
                  pending_deposit_amount: '0'
                BTC:
                  main_balance: '0'
                  pending_deposit_amount: '0'
                BTG:
                  main_balance: '0'
                  pending_deposit_amount: '0'
                BTT:
                  main_balance: '0'
                  pending_deposit_amount: '0'
                XLM:
                  main_balance: '36.48'
                  pending_deposit_amount: '12.5'
        '422':
          description: Validation failed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                ticker0:
                  summary: validation.string
                  value:
                    code: 0
                    message: Validation failed
                    errors:
                      ticker:
                        - validation.string
components:
  schemas:
    Error:
      type: object
      properties:
        code:
          type: integer
        message:
          type: string
        errors:
          type: object
          additionalProperties:
            type: array
            items:
              type: string
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: X-TXC-APIKEY
      description: The public WhiteBIT API key.
    PayloadAuth:
      type: apiKey
      in: header
      name: X-TXC-PAYLOAD
      description: Base64-encoded JSON request body.
    SignatureAuth:
      type: apiKey
      in: header
      name: X-TXC-SIGNATURE
      description: >-
        HMAC-SHA512 signature of the payload, hex-encoded. Computed as
        hex(HMAC-SHA512(payload, api_secret)).

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.