Skip to content

Get Contracts

Returns a list of all open perpetual contracts with live price, funding, volume, and open-interest data.

This is a GET endpoint with no request body and no authentication required.

Endpoint

GET /v1/info/contracts

No query parameters. No authentication required.

Response

Returns a JSON array of contract objects sorted alphabetically by ticker_id.

[
  {
    "ticker_id": "BTC-USDT",
    "base_currency": "BTC",
    "target_currency": "USDT",
    "product_type": "Perpetual",
    "funding_rate": "0.000010960225996",
    "index_price": "50000.00",
    "last_price": "49998.50",
    "base_volume": "1234.56",
    "target_volume": "61728000.00",
    "open_interest": "5678.90",
    "open_interest_usd": "283945000.00",
    "next_funding_rate_timestamp": 1749430800000
  },
  {
    "ticker_id": "ETH-USDT",
    "base_currency": "ETH",
    "target_currency": "USDT",
    "product_type": "Perpetual",
    "funding_rate": "0",
    "index_price": "2800.00",
    "last_price": "2799.50",
    "base_volume": "0",
    "target_volume": "0",
    "open_interest": "0",
    "open_interest_usd": "0"
  }
]

Response Fields

FieldTypeDescription
ticker_idstringMarket identifier in BASE-SETTLE format (e.g., "BTC-USDT")
base_currencystringBase asset symbol (e.g., "BTC")
target_currencystringQuote asset symbol (e.g., "USDT")
product_typestringAlways "Perpetual"
funding_ratestringCurrent estimated funding rate as a decimal string; "0" when unavailable
index_pricestringCurrent index price; "0" when unavailable
last_pricestringLast traded price; "0" when unavailable
base_volumestring24-hour base asset trading volume; "0" when unavailable
target_volumestring24-hour quote asset trading volume; "0" when unavailable
open_intereststringOpen interest in base asset units; "0" when unavailable
open_interest_usdstringOpen interest valued in USD (index price × open interest), rounded to 2 dp; "0" when unavailable
next_funding_rate_timestampintegerUnix millisecond timestamp of the next funding event. Omitted from the response when not yet known

Response Headers

HeaderValue
Cache-Controlpublic, max-age=5

Implementation Notes

  • Only open (tradeable) markets are included in the response.
  • All numeric values are returned as strings.
  • The ticker_id format is BASE-SETTLE (e.g., "BTC-USDT"). For most markets, this matches the standard market symbol used in the trading API.
  • Use ticker_id values from this endpoint as input to Get Orderbook (GET).

Rate Limiting

Per-IP rate limits apply. Requests that exceed the limit return HTTP 429 with a Retry-After: 5 header.

Error Response

{ "error": "rate limit exceeded" }
HTTP StatusDescription
429Rate limit exceeded — wait before retrying
503Service temporarily unavailable
500Internal error

Related