Exchange Info
Symbol metadata: trading status, base/quote asset, precision, and order filters.
Endpoint
GET /v1/market/exchange-info
Weight: 10.
Authentication: Public (optional signing).
Query parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
symbol | string | No | If provided, the response symbols array contains only this symbol. If omitted, every listed symbol is returned. |
Response
{
"serverTime": 1745923200123,
"symbols": [
{
"symbol": "BTCUSDT",
"status": "trading",
"baseAsset": "BTC",
"quoteAsset": "USDT",
"pricePrecision": 2,
"quantityPrecision": 6,
"filters": [
{
"filterType": "PRICE_FILTER",
"minPrice": "0.01",
"maxPrice": "1000000.00",
"tickSize": "0.01"
},
{
"filterType": "LOT_SIZE",
"minQty": "0.000001",
"maxQty": "9000.000000",
"stepSize": "0.000001"
},
{
"filterType": "MARKET_LOT_SIZE",
"minQty": "0.000001",
"maxQty": "120.000000",
"stepSize": "0.000001"
},
{
"filterType": "MIN_NOTIONAL",
"minNotional": "5.00"
},
{
"filterType": "MAX_NUM_ORDERS",
"maxNumOrders": 200
}
]
}
]
}
Response fields
| Field | Type | Description |
|---|---|---|
serverTime | integer | Server time, Unix milliseconds. Useful for clock-skew checks before signing. |
symbols | array | Array of symbol metadata objects (see below). |
Symbol object
| Field | Type | Description |
|---|---|---|
symbol | string | Trading pair, uppercase. |
status | enum | One of trading, halt, post_only, break. |
baseAsset | string | Base asset code, e.g. BTC. |
quoteAsset | string | Quote asset code, e.g. USDT. |
pricePrecision | integer | Maximum number of decimals allowed in price. |
quantityPrecision | integer | Maximum number of decimals allowed in qty. |
filters | array | Order-validation filters. See below. |
Status values
| Status | Meaning |
|---|---|
trading | Symbol is open for both maker and taker activity. |
halt | Trading is paused; no new orders accepted, existing orders frozen. |
post_only | Only post-only (non-aggressive) orders accepted. Taker orders are rejected. |
break | Scheduled trading break (e.g. maintenance window). No order activity. |
Filter types
Each filter object has a filterType field. Clients should validate orders against every filter before submission.
filterType | Fields | Description |
|---|---|---|
PRICE_FILTER | minPrice, maxPrice, tickSize (all strings) | price must satisfy minPrice ≤ price ≤ maxPrice and (price - minPrice) % tickSize == 0. |
LOT_SIZE | minQty, maxQty, stepSize (all strings) | Applies to limit orders. qty must satisfy minQty ≤ qty ≤ maxQty and (qty - minQty) % stepSize == 0. |
MARKET_LOT_SIZE | minQty, maxQty, stepSize (all strings) | Same rules as LOT_SIZE, applied to market orders. |
MIN_NOTIONAL | minNotional (string) | price * qty must be at least minNotional (in quote asset). |
MAX_NUM_ORDERS | maxNumOrders (integer) | Maximum number of open orders a single account may hold for this symbol. |
Errors
| HTTP | Code | Meaning |
|---|---|---|
| 400 | UNKNOWN_SYMBOL | The requested symbol does not exist. |
| 429 | RATE_LIMITED | Per-key request weight exceeded. |
Example
curl -s "https://api.pipai.io/v1/market/exchange-info"
curl -s "https://api.pipai.io/v1/market/exchange-info?symbol=BTCUSDT"