Get Instrument Info
API Description
This interface allows querying the basic information for all instruments listed on the exchange, including leverages, margins, stop loss rate, take profit rate, maker/taker fee, settlement rate, maximum position size, etc. Users can also query the basic information for a specific instrument by specifying its name.
Note: Instrument Info is only available via RESTful API.
Precautions
- This interface supports querying information for either a specific or all available instruments. The "name" parameter is optional; if not specified, the response will include information for all instruments.
Authentication
This is a public interface and does not require authentication. For details on using the RESTful API, please refer to Introduction > Authentication & Code Snippet > Futures > RESTful Public Interface.
Request Method
GET
Endpoint
Frequency Limit
The frequency limit for this interface is 5 requests/s per user ID and IP. In addition to this per-interface limit, a global rate limit is also enforced.
For detailed information on Global rate limits and API Rate Limiting Policy, please refer to the "Frequency Limit" section at click here
Request Parameters
| Parameter | Mandatory | Type | Description |
|---|---|---|---|
| name | false | String | The base currency of the instrument. (e.g., BTC or btc). This parameter is case-insensitive. Note: For instruments that start with numbers (e.g., 1000PEPE), both uppercase and lowercase formats are valid. If this parameter is not specified, the response will include data for all instruments. |
Response Parameters
| Parameter | Type | Description |
|---|---|---|
| base | String | Base currency of the instrument e.g., BTC, ETH. |
| defaultLeverage | Integer | Default leverage assigned to the instrument. |
| defaultStopLossRate | BigDecimal | Default stop loss rate |
| defaultStopProfitRate | BigDecimal | Default take profit rate |
| indexId | Integer | Index ID |
| leverage | String | Available leverage options |
| makerFee | BigDecimal | Maker fee |
| maxLeverage | Integer | Maximum leverage allowed |
| minLeverage | Integer | Minimum leverage allowed |
| maxPosition | BigDecimal | Maximum position size allowed. |
| minSize | BigDecimal | Minimum order quantity in contracts. |
| name | String | Name of the base currency (e.g., BTC, ETH). |
| oneLotMargin | BigDecimal | Margin required per lot. |
| oneMaxPosition | BigDecimal | Maximum position size per lot. |
| pricePrecision | Integer | Number of decimal places for price precision (e.g., 2 for 0.01). |
| quote | String | Quote currency of the instrument (e.g., USDT). |
| settledAt | Long | Settlement timestamp |
| settlementRate | BigDecimal | Overnight fee rate |
| status | String | The current status of the instrument: offline: Not available for trading. online: Active and tradable. pretest: Pre-testing phase. settlement: In settlement process. preOffline: Pre-Ofline phase. |
| takerFee | BigDecimal | Taker fee |
| stopCrossPositionRate | Integer | Cross margin risk rate. |
| stopSurplusRate | Integer | Minimum remaining margin ratio. |
| updatedDate | BigDecimal | Timestamp of the last update. |
| sort | Integer | Sorting number |
| selected | Integer | Default selection status (0: No, 1: Yes). |
| openSpread | BigDecimal | Opening spread |
| oneLotSize | BigDecimal | Minimum contract size (equivalent to Base-size "contract value" on the web interface) |
| -margins | BigDecimal | List of margin tiers with corresponding deposits required. |
| -simulatedMargins | BigDecimal | Simulated margins (can be ignored) |
| closeSpread | BigDecimal | Closing spread |
| partitionIds | String | IDs for innovative zones (can be ignored) |
| commissionRate | BigDecimal | Commission rate |
| depthPrecision | String | Depth aggregation precision (can be ignored) |
| id | Integer | Contract ID |
| iconUrl | String | Icon URL |
| createdDate | Long | Launcing Date |
| settledPeriod | Integer | Settelment period |
Request Example
The following Python code shows how to get the instrument information for BTC.
Note: For a complete code example, please refer to Introduction > Authentication & Code Snippet > Futures > RESTful Public Interface.
api_url = "/v1/perpum/instruments"
params = {
"name": "BTC"
}
FuturesRestfulPublic(api_url, params) #function FuturesRestfulPublic() is defined in section (Introduction > Authentication & Code Snippet > Futures > RESTful Public Interface)
Note: For a complete Java code example, please refer to Introduction > Authentication & Code Snippet > Futures > RESTful Public Interface.
Response Example
The following is an example response returned by the above Python request:
{'code': 0,
'data': [{'base': 'btc',
'closeSpread': 0.0002,
'commissionRate': 0.0006,
'configBo': {'margins': {'100': 0.075,
'5': 0.00375,
'50': 0.0375,
'20': 0.015,
'10': 0.0075},
'simulatedMargins': {'5': 0.00375, '20': 0.015, '10': 0.0075}},
'createdDate': 1548950400000,
'defaultLeverage': 20,
'defaultStopLossRate': 0.99,
'defaultStopProfitRate': 100,
'depthPrecision': '0.1,1,10,50,100',
'iconUrl': 'https://hkto-prod.oss-accelerate.aliyuncs.com/201810020046047_T9g8i.png',
'id': 1,
'indexId': 1,
'leverage': [5, 10, 20, 50, 100, 125, 200],
'makerFee': '0.0001',
'maxLeverage': 200,
'maxPosition': 20000,
'minLeverage': 1,
'minSize': 1,
'name': 'BTC',
'oneLotMargin': 1,
'oneLotSize': 0.001,
'oneMaxPosition': 15000,
'openSpread': 0.0003,
'partitionIds': '2013,2011',
'pricePrecision': 1,
'quote': 'usdt',
'selected': 0,
'settledAt': 1740124800000,
'settledPeriod': 8,
'settlementRate': 0.0004,
'sort': 1,
'status': 'online',
'stopCrossPositionRate': 0.1,
'stopSurplusRate': 0.01,
'takerFee': '0.0006',
'updatedDate': 1731394149000}],
'msg': ''}