Skip to main content

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

NameTypeMandatoryDescription
symbolstringNoIf 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

FieldTypeDescription
serverTimeintegerServer time, Unix milliseconds. Useful for clock-skew checks before signing.
symbolsarrayArray of symbol metadata objects (see below).

Symbol object

FieldTypeDescription
symbolstringTrading pair, uppercase.
statusenumOne of trading, halt, post_only, break.
baseAssetstringBase asset code, e.g. BTC.
quoteAssetstringQuote asset code, e.g. USDT.
pricePrecisionintegerMaximum number of decimals allowed in price.
quantityPrecisionintegerMaximum number of decimals allowed in qty.
filtersarrayOrder-validation filters. See below.

Status values

StatusMeaning
tradingSymbol is open for both maker and taker activity.
haltTrading is paused; no new orders accepted, existing orders frozen.
post_onlyOnly post-only (non-aggressive) orders accepted. Taker orders are rejected.
breakScheduled 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.

filterTypeFieldsDescription
PRICE_FILTERminPrice, maxPrice, tickSize (all strings)price must satisfy minPrice ≤ price ≤ maxPrice and (price - minPrice) % tickSize == 0.
LOT_SIZEminQty, maxQty, stepSize (all strings)Applies to limit orders. qty must satisfy minQty ≤ qty ≤ maxQty and (qty - minQty) % stepSize == 0.
MARKET_LOT_SIZEminQty, maxQty, stepSize (all strings)Same rules as LOT_SIZE, applied to market orders.
MIN_NOTIONALminNotional (string)price * qty must be at least minNotional (in quote asset).
MAX_NUM_ORDERSmaxNumOrders (integer)Maximum number of open orders a single account may hold for this symbol.

Errors

HTTPCodeMeaning
400UNKNOWN_SYMBOLThe requested symbol does not exist.
429RATE_LIMITEDPer-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"