Get Contract Specs
Returns contract specifications for all open perpetual markets. Lighter weight than Get Contracts — contains only static contract metadata with no live price data.
This is a GET endpoint with no request body and no authentication required.
Endpoint
GET /v1/info/contract_specsNo query parameters. No authentication required.
Response
Returns a JSON array sorted alphabetically by ticker_id.
[
{
"ticker_id": "BTC-USDT",
"contract_type": "Vanilla",
"contract_price_currency": "USDT"
},
{
"ticker_id": "ETH-USDT",
"contract_type": "Vanilla",
"contract_price_currency": "USDT"
}
]Response Fields
| Field | Type | Description |
|---|---|---|
ticker_id | string | Market identifier in BASE-SETTLE format (e.g., "BTC-USDT") |
contract_type | string | Always "Vanilla" |
contract_price_currency | string | Settlement asset for the contract (e.g., "USDT") |
Response Headers
| Header | Value |
|---|---|
Cache-Control | public, max-age=5 |
Implementation Notes
- Only open (tradeable) markets are included in the response.
- The
ticker_idformat isBASE-SETTLE(e.g.,"BTC-USDT"). For most markets this matches the standard market symbol.
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 Status | Description |
|---|---|
| 429 | Rate limit exceeded — wait before retrying |
| 503 | Service temporarily unavailable |
| 500 | Internal error |
Related
- Get Contracts — Full listing with live prices, funding, and open interest
- Get Orderbook (GET) — Orderbook depth by
ticker_id