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

# Collateral markets list

> The endpoint returns the list of [market](/glossary#market) pair names available for [collateral](/glossary#collateral) trading. Use the response to determine which markets support margin positions. Each item in the result array is a market pair name in `BASE_QUOTE` format (e.g., `BTC_USDT`).

The list includes TradFi futures markets that are enabled for collateral trading, alongside crypto markets. TradFi entries are ordinary market pair names in the same array — the response carries no per-market type field, so read `type` and `isTradFiFutures` from [`GET /api/v4/public/markets`](/api-reference/market-data/market-info) to tell the market types apart.

TradFi futures markets stay region-gated: a TradFi market not assigned to the caller's region is omitted from that region's response, exactly as on `GET /api/v4/public/markets`.

<Note>
The collateral market list is reference data, re-synced approximately every 10 seconds. Polling more frequently returns identical data. The cache is shared across all callers.
</Note>

<Note>
A market in this list is configured for collateral trading; that is not the same as the account being entitled to trade it. Placing an order on a TradFi market additionally requires TradFi futures to be enabled for the account — without it the order request is rejected with HTTP 422, `api.tradeErrors.tradFi.restricted`.
</Note>

<Warning>
Rate limit 2000 requests/10 sec.
</Warning>


export const RelatedResources = ({children}) => {
  const {useEffect, useRef, useState} = React;
  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>
  * [Available futures markets list](/api-reference/market-data/available-futures-markets-list) — futures market details including funding rates and leverage brackets.
  * [Market info](/api-reference/market-data/market-info) — full market configuration with the `isCollateral` flag.
</RelatedResources>


## OpenAPI

````yaml openapi/public/http-v4.yaml GET /api/v4/public/collateral/markets
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` most validation values are single strings rather than
    arrays; the market-not-available case and the upstream `error` key keep the
    array shape.

    - **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, including the HTTP 451 regional-availability responses on
    `collateral/markets` and `futures`. 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
  - url: https://whitebit.tr
    description: WhiteBIT TR Server
  - url: https://whitebit.ge
    description: WhiteBIT GE Server
security: []
tags:
  - name: Public API V4
    description: Public endpoints for market data, trading information, and platform status
paths:
  /api/v4/public/collateral/markets:
    get:
      tags:
        - Public API V4
      summary: Collateral Markets List
      description: >
        The endpoint returns the list of [market](/glossary#market) pair names
        available for [collateral](/glossary#collateral) trading. Use the
        response to determine which markets support margin positions. Each item
        in the result array is a market pair name in `BASE_QUOTE` format (e.g.,
        `BTC_USDT`).


        The list includes TradFi futures markets that are enabled for collateral
        trading, alongside crypto markets. TradFi entries are ordinary market
        pair names in the same array — the response carries no per-market type
        field, so read `type` and `isTradFiFutures` from [`GET
        /api/v4/public/markets`](/api-reference/market-data/market-info) to tell
        the market types apart.


        TradFi futures markets stay region-gated: a TradFi market not assigned
        to the caller's region is omitted from that region's response, exactly
        as on `GET /api/v4/public/markets`.


        <Note>

        The collateral market list is reference data, re-synced approximately
        every 10 seconds. Polling more frequently returns identical data. The
        cache is shared across all callers.

        </Note>


        <Note>

        A market in this list is configured for collateral trading; that is not
        the same as the account being entitled to trade it. Placing an order on
        a TradFi market additionally requires TradFi futures to be enabled for
        the account — without it the order request is rejected with HTTP 422,
        `api.tradeErrors.tradFi.restricted`.

        </Note>


        <Warning>

        Rate limit 2000 requests/10 sec.

        </Warning>
      parameters: []
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    example: true
                  message:
                    type: string
                    nullable: true
                    example: null
                  result:
                    type: array
                    items:
                      type: string
                      description: >-
                        Market pair name in `BASE_QUOTE` format. Crypto and
                        TradFi futures markets share the same array.
                    example:
                      - AAPL_USD
                      - ADA_USDT
                      - BCH_USDT
                      - BTC_USDT
                      - DOGE_USDT
              example:
                success: true
                message: null
                result:
                  - AAPL_USD
                  - ADA_USDT
                  - BCH_USDT
                  - BTC_USDT
                  - DOGE_USDT
        '451':
          description: Returned when the service is not available in the caller's region.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorV4'
              example:
                success: false
                message: api.margin.unavailable
                errors: []
components:
  schemas:
    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: []

````

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