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

# FAQ

> Frequently asked questions about the Binibit public API.

<AccordionGroup>
  <Accordion title="Do I need an API key?">
    Not for market data. All endpoints under `public-api.binibit.com/api/*` (tickers, orderbook, deals, ohlc, currencies, healthcheck) and the aggregator-spec namespace are public.

    The trading API on `public-api.binibit.com` (create/cancel orders, withdrawals) does require HMAC-SHA256 request signing with an API key + secret — see the [v2.0 roadmap](/changelog#roadmap).
  </Accordion>

  <Accordion title="Why two hostnames?">
    `public-api.binibit.com` is the primary REST API. `internal-api.binibit.com/.../getcoingecko/*` is a small subset of market data reshaped to match the CoinGecko Integration API Standards v8 — kept around so data aggregators can ingest without translation. See [Base URL](/general/base-url).
  </Accordion>

  <Accordion title="How often is data refreshed?">
    Tickers and order books refresh every few seconds. Cache for at least 5 seconds on your side; polling more frequently will not return fresher data and will count against your [rate limit](/general/rate-limits).
  </Accordion>

  <Accordion title="Why does the aggregator /tickers omit some pairs visible on binibit.com?">
    Pairs with zero 24-hour volume or empty order books are excluded from the aggregator-spec `/tickers`. They still appear in the primary API's [`/api/currencies/pairs`](/api-reference/market-data/currencies-pairs).
  </Accordion>

  <Accordion title="Are decimals returned as strings or numbers?">
    Numbers. JavaScript's native `Number` type is precise for the prices and volumes seen on this exchange, but for safety use a high-precision decimal library (`decimal.js`, `bignumber.js`, Python `Decimal`, Go `big.Float`) when doing arithmetic.
  </Accordion>

  <Accordion title="What does price (or last_price) mean exactly?">
    `price = X` means the most recent trade for the pair was at `X` units of the **target** currency per **one unit** of the **base** currency. For `AAVE_USDT` with `price = 97.44`, one AAVE last traded for 97.44 USDT.
  </Accordion>

  <Accordion title="Why does one host say 'internal-api'?">
    Historical naming. The aggregator-spec namespace will get a cleaner alias (`/v1/spot/market/*`) in a future release; the legacy host will continue to work as a redirect for at least 90 days after migration.
  </Accordion>

  <Accordion title="Is there a WebSocket API?">
    Not yet. WebSocket streams for tickers, order book, and trades are on the [v2.0 roadmap](/changelog#roadmap). Watch the [GitHub repo](https://github.com/Binibit/docs) for release notifications.
  </Accordion>

  <Accordion title="Can I use this API commercially?">
    Yes. Attribution is appreciated but not required for non-commercial use. For high-volume commercial use, contact [api@binibit.com](mailto:api@binibit.com) for elevated rate limits.
  </Accordion>

  <Accordion title="Do you have an OpenAPI specification?">
    Yes. The primary API publishes an OpenAPI 3.0 spec at [`https://public-api.binibit.com/swagger/v1/swagger.json`](https://public-api.binibit.com/swagger/v1/swagger.json), with an interactive playground at [`/swagger/`](https://public-api.binibit.com/swagger/).
  </Accordion>

  <Accordion title="What's the buy/sell convention in /historical_trades?">
    The `type` field reflects the **taker side**:

    * **`buy`** — taker bought (an ask was removed from the order book)
    * **`sell`** — taker sold (a bid was removed from the order book)

    Each trade has exactly one taker, so each trade appears in exactly one of the two arrays.
  </Accordion>

  <Accordion title="Why do timestamps look like very large integers?">
    On the aggregator-spec namespace they are milliseconds since the Unix epoch, e.g. `1777397315466` ≈ `2026-04-28T22:37:55.466Z`. The primary API uses ISO 8601 strings instead. See [Timestamps](/general/timestamps).
  </Accordion>

  <Accordion title="I'm an aggregator (CoinGecko, CMC, DefiLlama). Who do I contact?">
    Email [api@binibit.com](mailto:api@binibit.com). We can:

    * Whitelist your IP for unlimited rate limit
    * Provide direct contact for the data engineering team
    * Coordinate on listing review and verification
  </Accordion>
</AccordionGroup>

## Didn't find your answer?

<Card title="Contact support" icon="envelope" href="/support">
  Reach out to the Binibit API team.
</Card>
