> ## 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.

# Fee

> Get trading fee rates for a specific market on WhiteBIT via the V4 API.

export const RelatedResources = ({children}) => {
  const ref = useRef(null);
  const [visible, setVisible] = useState(false);
  useEffect(() => {
    if (!ref.current) return;
    const el = ref.current;
    if (el.parentElement) {
      el.parentElement.appendChild(el);
    }
    setVisible(true);
  }, []);
  return <div ref={ref} className="related-resources" style={{
    marginTop: "2.5rem",
    paddingTop: "1.5rem",
    borderTop: "1px solid var(--border-color, #e5e7eb)",
    opacity: visible ? 1 : 0,
    transition: "opacity 0.15s ease-in"
  }}>
      <h2 style={{
    marginTop: 0
  }}>Related resources</h2>
      {children}
    </div>;
};

<RelatedResources>
  * [Asset status list](/api-reference/market-data/asset-status-list) — deposit and withdrawal status, network details, and per-asset fee data.
</RelatedResources>


## OpenAPI

````yaml /openapi/public/http-v4.yaml GET /api/v4/public/fee
openapi: 3.0.3
info:
  title: Public HTTP API V4
  description: >
    WhiteBIT Public HTTP API V4 for market data and trading information.

    Base URL: https://whitebit.com

    All endpoints return time in Unix-time format.

    All endpoints return either a JSON object or array.

    Use HTTP method GET for API calls.

    Send parameters as query string when an endpoint requires them.


    <Warning>

    Rate limit: 2000 requests/10 sec for most endpoints (specific limits noted
    per endpoint).

    </Warning>


    ## Caching and data freshness


    Most public endpoints serve cached data. The cache is **shared across all
    callers** — values are keyed by the resource (market, currency), never by
    account — and invalidates on a **time basis only**: an upstream change
    becomes visible after the next refresh, not immediately.


    Two refresh tiers apply:


    - **Reference data** (`markets`, `assets`, `fee`, `collateral/markets`,
    `futures`) refreshes from the database on a fixed interval, ranging from
    about 10 seconds to about 1 minute depending on the endpoint.

    - **Market data** (`trades`, `orderbook`, `orderbook/depth`, `ticker`) uses
    a short-lived cache, about 1 second by default.


    `time` and `ping` are computed per request and are not cached. Each endpoint
    states its own refresh interval. Polling faster than that interval returns
    identical data and consumes rate-limit budget without producing fresher
    results.


    ## Error responses


    Public V4 endpoints do not share a single error schema. Depending on the
    endpoint, an error arrives in one of three shapes (there is no `params`
    field on any public error):


    - **Flat validation bag (HTTP 422)** — `{ "<field>": ["<message>"] }`. No
    envelope. Used by the market endpoints (`orderbook`, `orderbook/depth`,
    `trades`). Example: `{ "market": ["Market is not available."] }`. On
    `funding-history` the values are single strings rather than arrays.

    - **Wrapped, HTTP 200 even on validation errors** — `{ "success": false,
    "message": { "<field>": ["<message>"] }, "result": null }`. Used by the V4
    `kline` endpoint (not part of this portal — the documented Kline endpoint is
    V1).

    - **Wrapped string message (HTTP 4xx)** — `{ "success": false, "message":
    "<string>", "errors": [] }`. Used by the margin/futures collateral subset of
    endpoints. Parameterless endpoints (`markets`, `ticker`, `assets`, `fee`)
    take no input and so produce no validation errors — they fail only at the
    infrastructure level below.


    Common failures are produced at the infrastructure layer, not by the
    application, and do not follow these shapes:


    - **Maintenance** — every endpoint returns **HTTP 503** with a non-JSON body
    served by the gateway.

    - **Rate limit exceeded** — **HTTP 429** with a non-JSON body served by the
    gateway/CDN.

    - **Internal server error** — **HTTP 500** with a flat body `{ "error":
    ["Internal server error."] }`.

    - **Unknown route** — **HTTP 404** with an empty body.
  version: 4.0.0
servers:
  - url: https://whitebit.com
    description: WhiteBIT Global Server
  - url: https://whitebit.eu
    description: WhiteBIT EU Server
security: []
tags:
  - name: Public API V4
    description: Public endpoints for market data, trading information, and platform status
paths:
  /api/v4/public/fee:
    get:
      tags:
        - Public API V4
      summary: Fee
      description: >
        The endpoint retrieves the [fee](/glossary#fee) schedule and
        deposit/withdrawal limits for every supported asset. Use the response to
        display fee estimates before a user initiates a deposit or withdrawal.
        The response is keyed by currency ticker; each entry contains deposit
        and withdrawal fee amounts and min/max transfer limits.


        <Note>

        The fee schedule is reference data, re-synced approximately once per
        minute. Polling more frequently returns identical data. The cache is
        shared across all callers.

        </Note>


        <Warning>

        Rate limit: 2000 requests/10 sec. See [Public API V4
        overview](/public/http-v4/index) for rate limit details.

        </Warning>
      parameters: []
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                description: >
                  Map of currency tickers to fee information. Each key is an
                  asset ticker (e.g., `BTC`, `EUR`).


                  **Crypto assets** — `providers` is an empty array; `withdraw`
                  and `deposit` are flat objects with fee fields.


                  **Fiat assets** — `providers` lists available payment methods;
                  `withdraw` and `deposit` are objects keyed by provider ID,
                  where each value contains provider-specific fee details.
                x-fern-type-name: FeeMap
                additionalProperties:
                  $ref: '#/components/schemas/FeeInfo'
              examples:
                crypto:
                  summary: Crypto asset
                  value:
                    BTC:
                      is_depositable: true
                      is_withdrawal: true
                      is_api_withdrawal: true
                      is_api_depositable: true
                      ticker: BTC
                      name: Bitcoin
                      providers: []
                      withdraw:
                        max_amount: '0'
                        min_amount: '0.0003'
                        fixed: '0.0002'
                        flex: null
                      deposit:
                        max_amount: '0'
                        min_amount: '0.0001'
                        fixed: null
                        flex: null
                fiat:
                  summary: Fiat asset with providers
                  value:
                    EUR:
                      is_api_withdrawal: true
                      is_api_depositable: true
                      ticker: EUR
                      name: Euro
                      providers:
                        - EUR_SEPA_BCB
                        - EUR_ADVCASH
                      withdraw:
                        EUR_SEPA_BCB:
                          is_withdrawal: true
                          is_api_withdrawal: true
                          ticker: EUR_SEPA_BCB
                          name: EUR SEPA BCB
                          max_amount: '14500'
                          min_amount: '10'
                          fixed: null
                          flex:
                            percent: '0.05'
                            min_fee: '3'
                            max_fee: '7.25'
                        EUR_ADVCASH:
                          is_withdrawal: true
                          is_api_withdrawal: true
                          ticker: EUR_ADVCASH
                          name: EUR Volet.com
                          max_amount: '10000'
                          min_amount: '10'
                          fixed: null
                          flex:
                            percent: '1.5'
                            min_fee: '0.15'
                            max_fee: '150'
                      deposit:
                        EUR_SEPA_BCB:
                          is_depositable: true
                          is_api_depositable: true
                          ticker: EUR_SEPA_BCB
                          name: EUR SEPA BCB
                          max_amount: '14500'
                          min_amount: '10'
                          fixed: null
                          flex:
                            percent: '0.05'
                            min_fee: '3'
                            max_fee: '7.25'
                        EUR_ADVCASH:
                          is_depositable: true
                          is_api_depositable: true
                          ticker: EUR_ADVCASH
                          name: EUR Volet.com
                          max_amount: '10000'
                          min_amount: '10'
                          fixed: null
                          flex:
                            percent: '1.5'
                            min_fee: '0.15'
                            max_fee: '150'
        default:
          description: Error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorV4'
components:
  schemas:
    FeeInfo:
      type: object
      description: >
        Fee and limit details for a single asset. For crypto assets, `withdraw`
        and `deposit` are flat fee objects. For fiat assets with providers, they
        are objects keyed by provider ID.
      properties:
        ticker:
          type: string
          description: Asset ticker symbol
          example: BTC
        name:
          type: string
          description: Human-readable asset name
          example: Bitcoin
        providers:
          type: array
          description: >-
            Payment provider identifiers used as the network parameter value for
            fiat deposits and withdrawals via the API. See GET
            /api/v4/public/assets providers field for context.
          items:
            type: string
          example: []
        deposit:
          description: >
            Deposit fee details. For crypto assets, this is a flat object with
            `max_amount`, `min_amount`, `fixed`, and `flex` fields. For fiat
            assets with providers, this is an object keyed by provider ID, where
            each value contains provider-specific fee details.
          oneOf:
            - $ref: '#/components/schemas/FeeDetails'
            - type: object
              description: Map of provider IDs to provider-specific deposit fee details
              additionalProperties:
                $ref: '#/components/schemas/ProviderFeeDetails'
        withdraw:
          description: >
            Withdrawal fee details. For crypto assets, this is a flat object
            with `max_amount`, `min_amount`, `fixed`, and `flex` fields. For
            fiat assets with providers, this is an object keyed by provider ID,
            where each value contains provider-specific fee details.
          oneOf:
            - $ref: '#/components/schemas/FeeDetails'
            - type: object
              description: Map of provider IDs to provider-specific withdrawal fee details
              additionalProperties:
                $ref: '#/components/schemas/ProviderFeeDetails'
        is_depositable:
          type: boolean
          description: >-
            Indicates whether deposits are enabled for the currency. May be
            absent from the response; absence should be treated as equivalent to
            false.
          example: true
        is_withdrawal:
          type: boolean
          description: >-
            Indicates whether withdrawals are enabled for the currency. May be
            absent from the response; absence should be treated as equivalent to
            false.
          example: true
        is_api_withdrawal:
          type: boolean
          description: Whether API withdrawals are enabled
          example: true
        is_api_depositable:
          type: boolean
          description: Whether API deposits are enabled
          example: true
    ErrorV4:
      type: object
      description: >-
        Generic wrapped error envelope (fallback). Market-data validation errors
        use the flat PublicValidationError shape (HTTP 422) instead, and
        infrastructure-level failures (maintenance, rate limit, internal error,
        unknown route) are non-JSON or flat. See the API description for the
        full set of public error shapes.
      properties:
        success:
          type: boolean
          example: false
        message:
          type: string
          description: Error message
          example: Internal server error.
        errors:
          type: array
          items:
            type: string
          example: []
    FeeDetails:
      type: object
      description: Fee amounts and transfer limits for a crypto asset
      properties:
        max_amount:
          type: string
          description: >-
            Maximum transaction amount for the operation and network. May be
            absent independently from other limit fields; absence typically
            indicates no upper limit applies.
          example: '0'
        min_amount:
          type: string
          description: >-
            Minimum transaction amount for the operation and network. May be
            absent independently from other limit fields.
          example: '0.0004'
        fixed:
          type: string
          nullable: true
          description: Fixed fee amount per transaction. `null` if no fixed fee applies.
          example: '0.0002'
        flex:
          type: object
          nullable: true
          description: Percentage-based (flexible) fee. `null` if no flexible fee applies.
          properties:
            percent:
              type: string
              description: Fee percentage (e.g., `"1.5"` means 1.5%)
              example: '1.5'
            min_fee:
              type: string
              description: Minimum fee amount regardless of percentage calculation
              example: '0.15'
            max_fee:
              type: string
              description: Maximum fee amount regardless of percentage calculation
              example: '150'
    ProviderFeeDetails:
      type: object
      description: Fee details for a specific fiat payment provider
      properties:
        ticker:
          type: string
          description: Provider identifier
          example: EUR_SEPA_BCB
        name:
          type: string
          description: Human-readable provider name
          example: EUR SEPA BCB
        is_depositable:
          type: boolean
          description: Whether deposits are enabled via this provider
          example: true
        is_api_depositable:
          type: boolean
          description: Whether API deposits are enabled via this provider
          example: true
        is_withdrawal:
          type: boolean
          description: Whether withdrawals are enabled via this provider
          example: true
        is_api_withdrawal:
          type: boolean
          description: Whether API withdrawals are enabled via this provider
          example: true
        max_amount:
          type: string
          description: Maximum transfer amount. `"0"` means unlimited.
          example: '14500'
        min_amount:
          type: string
          description: Minimum transfer amount
          example: '10'
        fixed:
          type: string
          nullable: true
          description: Fixed fee amount per transaction. `null` if no fixed fee applies.
          example: null
        flex:
          type: object
          nullable: true
          description: Percentage-based (flexible) fee. `null` if no flexible fee applies.
          properties:
            percent:
              type: string
              description: Fee percentage (e.g., `"1.5"` means 1.5%)
              example: '0.05'
            min_fee:
              type: string
              description: Minimum fee amount regardless of percentage calculation
              example: '3'
            max_fee:
              type: string
              description: Maximum fee amount regardless of percentage calculation
              example: '7.25'

````