Skip to main content

Exchange Information

Description

Get current system rules and trading restrictions.

ZTDX-specific filter set

Each symbols[*].filters array contains exactly four filter types (always present, in this order):

  1. PRICE_FILTERtickSize is authoritative; minPrice equals tickSize. maxPrice is a sentinel large value (1000000000); the actual cap is enforced server-side via max_order_size_usd.
  2. LOT_SIZEminQty and stepSize are authoritative and equal to the symbol's lot size. maxQty is the same sentinel as above.
  3. MARKET_LOT_SIZE — Same values as LOT_SIZE. (Binance distinguishes the two; ZTDX does not — kept in the response for SDK compatibility.)
  4. MIN_NOTIONALnotional is the symbol's min_order_size_usd (default 10 USD, queryable per-symbol). The same value is also returned in the list endpoint /api/v1/markets[*].min_order_size_usd.

Filter types MAX_NUM_ORDERS, PERCENT_PRICE, and MAX_NUM_ALGO_ORDERS are not populated. Per-account / per-symbol order count caps are enforced server-side at admission rather than via filters.

The MIN_NOTIONAL check is bypassed for reduceOnly=true orders so that a position bled below 10 USD (e.g. by funding fees) can still be closed. See new-order.

HTTP Request

GET /exchangeInfo

Weight

1

Request Parameters

NONE

Response Example

{
"exchangeFilters": [],
"rateLimits": [ // API access rate limits
{
"interval": "MINUTE", // Calculated per minute
"intervalNum": 1, // Calculated per 1 minute
"limit": 2400, // Upper limit
"rateLimitType": "REQUEST_WEIGHT" // Calculated by request weight
},
{
"interval": "MINUTE",
"intervalNum": 1,
"limit": 1200,
"rateLimitType": "ORDERS" // Calculated by order count
}
],
"serverTime": 1565613908500, // Please ignore. To get the current system time, use "GET /fapi/v1/time"
"assets": [ // Asset information
{
"asset": "BTC",
"marginAvailable": true, // Whether available as margin
"autoAssetExchange": "-0.10" // Margin asset auto-exchange threshold
},
{
"asset": "USDT",
"marginAvailable": true, // Whether available as margin
"autoAssetExchange": "0" // Margin asset auto-exchange threshold
},
{
"asset": "BNB",
"marginAvailable": false, // Whether available as margin
"autoAssetExchange": null // Margin asset auto-exchange threshold
}
],
"symbols": [ // Trading pair information
{
"symbol": "BLZUSDT", // Trading pair
"pair": "BLZUSDT", // Underlying trading pair
"contractType": "PERPETUAL", // Contract type
"deliveryDate": 4133404800000, // Delivery date
"onboardDate": 1598252400000, // Listing date
"status": "TRADING", // Trading pair status
"maintMarginPercent": "2.5000", // Please ignore
"requiredMarginPercent": "5.0000", // Please ignore
"baseAsset": "BLZ", // Base asset
"quoteAsset": "USDT", // Quote asset
"marginAsset": "USDT", // Margin asset
"pricePrecision": 5, // Price decimal precision (system precision only, note the distinction from tickSize)
"quantityPrecision": 0, // Quantity decimal precision (system precision only, note the distinction from stepSize)
"baseAssetPrecision": 8, // Base asset precision
"quotePrecision": 8, // Quote asset precision
"underlyingType": "COIN",
"underlyingSubType": ["STORAGE"],
"settlePlan": 0,
"triggerProtect": "0.15", // Trigger threshold for conditional orders with "priceProtect" enabled
"filters": [
{
"filterType": "PRICE_FILTER", // Price filter
"maxPrice": "300", // Maximum price
"minPrice": "0.0001", // Minimum price
"tickSize": "0.0001" // Minimum price increment
},
{
"filterType": "LOT_SIZE", // Quantity filter
"maxQty": "10000000", // Maximum quantity
"minQty": "1", // Minimum quantity
"stepSize": "1" // Minimum quantity increment
},
{
"filterType": "MARKET_LOT_SIZE", // Market order quantity filter
"maxQty": "590119", // Maximum quantity
"minQty": "1", // Minimum quantity
"stepSize": "1" // Allowed step size
},
{
"filterType": "MAX_NUM_ORDERS", // Maximum number of orders
"limit": 200
},
{
"filterType": "MIN_NOTIONAL", // Minimum notional value
"notional": "5.0",
},
{
"filterType": "PERCENT_PRICE", // Price percent filter
"multiplierUp": "1.1500", // Price upper limit percentage
"multiplierDown": "0.8500", // Price lower limit percentage
"multiplierDecimal": "4"
}
],
"orderTypes": [ // Order types
"LIMIT", // Limit order
"MARKET", // Market order
"STOP", // Stop order
"STOP_MARKET", // Stop market order
"TAKE_PROFIT", // Take profit order
"TAKE_PROFIT_MARKET", // Take profit market order
"TRAILING_STOP_MARKET" // Trailing stop market order
],
"timeInForce": [ // Time in force
"GTC", // Good till cancelled
"IOC", // Immediate or cancel
"FOK", // Fill or kill
"GTX" // Good till crossing (post only)
],
"liquidationFee": "0.010000", // Liquidation fee rate
"marketTakeBound": "0.30", // Maximum price deviation allowed for market taker orders (relative to mark price)
}
],
"timezone": "UTC" // Server timezone
}

Code Examples

cURL

curl -s "https://api-sepolia.ztdx.io/fapi/v1/exchangeInfo"

Python

import requests

base_url = "https://api.ztdx.io"
response = requests.get(f"{base_url}/fapi/v1/exchangeInfo")
data = response.json()
print(f"Timezone: {data['timezone']}")
print(f"Symbols count: {len(data['symbols'])}")
for s in data['symbols'][:3]:
print(f" {s['symbol']} - {s['contractType']} - {s['status']}")