Instruments Info
Returns contract specifications and trading rules for a symbol — leverage range, tick size, lot size, minimum notional value.
| Method | GET |
| Path | /v5/market/instruments-info |
| Auth | Authenticated — see Authentication. |
Query parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
category | string | Yes | linear for futures. See Categories. |
symbol | string | No | Filter to a single symbol (e.g. BTCUSDT). Omit to list all. |
limit | integer | No | Page size. |
Request
- Python
- Java
- Go
- Node.js
from reference_client import sign_request, BASE_URL
import requests
headers, path = sign_request(
"GET",
"/v5/market/instruments-info",
{"category": "linear", "symbol": "BTCUSDT", "limit": 1},
)
r = requests.get(BASE_URL + path, headers=headers)
print(r.json())
Map<String, String> q = Map.of(
"category", "linear",
"symbol", "BTCUSDT",
"limit", "1"
);
HttpResponse<String> r = client.get("/v5/market/instruments-info", q);
System.out.println(r.body());
headers, p, err := SignRequest("GET", "/v5/market/instruments-info", map[string]string{"category": "linear", "symbol": "BTCUSDT", "limit": 1})
if err != nil { panic(err) }
req, _ := http.NewRequest("GET", BaseURL+p, nil)
for k, v := range headers { req.Header.Set(k, v) }
resp, err := http.DefaultClient.Do(req)
if err != nil { panic(err) }
defer resp.Body.Close()
out, _ := io.ReadAll(resp.Body)
fmt.Println(string(out))
const {signRequest, BASE_URL} = require('./reference-client');
const {headers, path} = signRequest('GET', '/v5/market/instruments-info', {"category": "linear", "symbol": "BTCUSDT", "limit": 1});
const r = await fetch(BASE_URL + path, {
method: 'GET',
headers,
});
console.log(await r.json());
Response
{
"retCode": 0,
"retMsg": "OK",
"result": {
"category": "linear",
"list": [
{
"symbol": "BTCUSDT",
"contractType": "LinearPerpetual",
"status": "Trading",
"baseCoin": "BTC",
"quoteCoin": "USDT",
"leverageFilter": {
"minLeverage": "1",
"maxLeverage": "100.00",
"leverageStep": "0.01"
},
"priceFilter": {
"minPrice": "0.10",
"maxPrice": "1999999.80",
"tickSize": "0.10"
},
"lotSizeFilter": {
"maxOrderQty": "1190.000",
"minOrderQty": "0.001",
"qtyStep": "0.001",
"minNotionalValue": "5"
},
"fundingInterval": 480,
"settleCoin": "USDT"
}
]
}
}
Response parameters
| Field | Type | Description |
|---|---|---|
symbol | string | Trading pair. |
contractType | string | Contract type. LinearPerpetual for USDT-margined perps. |
status | string | Trading if the instrument is live. |
baseCoin / quoteCoin / settleCoin | string | Base, quote, and settlement assets. |
leverageFilter.minLeverage / maxLeverage / leverageStep | string | Allowed leverage range and increment. |
priceFilter.minPrice / maxPrice / tickSize | string | Allowed price range and price increment. |
lotSizeFilter.minOrderQty / maxOrderQty / qtyStep | string | Allowed order size range and size increment. |
lotSizeFilter.minNotionalValue | string | Minimum order value in USDT. |
fundingInterval | integer | Funding interval in minutes. |
Use tickSize and qtyStep to round price and quantity to valid increments before placing an order.