MarketDataService
Get Spot Config
Retrieve a cacheable snapshot of spot assets and pairs, including precision and trading constraints.
Request
curl --request GET \ \ --url 'https://api.testnet.polyester.com/v1/spot/config' \ --header 'Accept: */*'
Responses
{
"assets": [
{
"asset": "BTC",
"ledgerId": 1,
"marketDataVolumeScale": 123456,
"name": "Bitcoin",
"quantityDisplayDecimals": 8,
"quantityScale": 8
}
],
"maxOpenOrdersTotal": 1,
"pairs": [
{
"allowBuyFeeFromBase": false,
"baseAsset": "BTC",
"baseQuantityScale": 8,
"defaultMarketSlippageBpsBuy": 1,
"defaultMarketSlippageBpsSell": 1,
"delistingAt": "2025-01-01T00:00:00Z",
"listingAt": "2025-01-01T00:00:00Z",
"marketdata": {
"orderbookPriceBuckets": [
0.1
]
},
"maxClientRefDriftBps": 1,
"maxLimitQtyBase": "100000",
"maxMarketNotionalQuote": "123.45",
"maxMarketQtyBase": "100000",
"maxOpenOrdersPerPair": 1,
"maxOrderNotionalQuote": "123.45",
"minNotionalQuote": "10",
"minQtyBase": "0.0001",
"quoteAsset": "USDT",
"quoteQuantityScale": 6,
"referencePriceScale": 1,
"status": "ENABLED",
"stepSize": "0.0001",
"symbol": "BTC-USDT",
"symbolId": 1,
"tickSize": "0.01"
}
],
"tsSec": "1735689600"
}Asset code, e.g. "USDT" or "BTC".
BTCStable numeric asset id used by account, balance, and order APIs.
1Integer scale for public candle and market-overview base volume (0..18).
123456Human-friendly display name, e.g. "Bitcoin".
BitcoinSuggested decimal precision for displaying user-facing asset amounts.
8Decimal scale (0..18) for this asset's order quantities and other fields that explicitly reference quantity_scale. A scale of 8 represents one whole asset as 100000000 in those fields. Account balance amounts use fixed 18-decimal units independently of this value.
8The venue's default limit on resting orders a typical account may hold across all pairs together: good-till-cancelled and good-till-date orders that have not ended. Immediate-or-cancel, fill-or-kill and market orders never count, and a replaced order keeps its place. An order past it is rejected with MAX_OPEN_ORDERS_TOTAL. Each pair's own limit is PairConfig.max_open_orders_per_pair. An account may have a lower limit of its own; that is not part of this public configuration and would be returned by an account-scoped read.
1Whether BUY order fees may be paid from the base asset instead of the spent quote asset when the order request selects the base fee asset.
falseBase asset code. For BTC-USDT, this is "BTC".
BTCQuantity scale for base-asset amounts in this pair.
8Default MARKET order slippage cap for BUY orders, in basis points (1 bp = 0.01%). A request-level slippage setting can override this value.
1Default MARKET order slippage cap for SELL orders, in basis points (1 bp = 0.01%). A request-level slippage setting can override this value.
1Scheduled delisting timestamp. When unset, the pair has no explicit delisting time.
2025-01-01T00:00:00ZScheduled listing timestamp. When unset, the pair has no explicit future listing time.
2025-01-01T00:00:00ZSuggested order book aggregation bucket sizes in quote-asset price units, e.g. 0.01, 0.1, 1, or 10.
[0.1]Maximum allowed drift between client reference price and server reference price for MARKET orders, in basis points (1 bp = 0.01%), when client reference pricing is used.
1Largest quantity of one limit order, as a decimal string in base-asset units. A replace is checked on its new total less the quantity already filled. An order above it is rejected with MAX_QTY. Absent when the pair has no maximum.
100000Additional maximum notional for market orders as a decimal string in quote-asset units. Base-sized market orders are valued at the buy protection price or the sell reference price before slippage, without rounding. For quote-sized market buys, the entire all-in maximum quote debit must also fit this maximum. Exceeding it returns MAX_NOTIONAL. Absent when no maximum is configured.
123.45Largest quantity of one market order, as a decimal string in base-asset units. A market order sized by quote amount is checked once converted to base. An order above it is rejected with MAX_QTY. Absent when the pair has no maximum.
100000The venue's default limit on resting orders a typical account may hold on this pair at once: good-till-cancelled and good-till-date orders that have not ended. Immediate-or-cancel, fill-or-kill and market orders never count, and a replaced order keeps its place. An order past it is rejected with MAX_OPEN_ORDERS_PER_PAIR. An account may have a lower limit of its own; that is not part of this public configuration and would be returned by an account-scoped read.
1Maximum per-order notional as a decimal string in quote-asset units. Base-sized orders are checked using quantity times limit price, or market protection price, without rounding. For quote-sized buys, the entire all-in maximum quote debit must also fit this maximum. Exceeding it returns MAX_NOTIONAL. Absent when no maximum is configured.
123.45Minimum order notional as a decimal string in quote-asset units.
10Minimum order quantity as a decimal string in base-asset units.
0.0001Quote asset code. For BTC-USDT, this is "USDT".
USDTQuantity scale for quote-asset amounts in this pair.
6Integer scale for composite reference prices in candle responses (0..18). Primary market and execution prices use the fixed scale 9.
1Current trading status.
ENABLEDMinimum allowed quantity increment as a decimal string in base-asset units.
0.0001Trading pair symbol, e.g. "BTC-USDT".
BTC-USDTStable numeric pair id used by low-latency ConnectRPC requests and streams.
1Minimum allowed price increment as a decimal string in quote-asset units. Prices use 9 decimal places in scaled integer fields; for example "0.01" means orders must be priced in 0.01 quote-asset increments.
0.01Snapshot generation timestamp, in seconds since the Unix epoch (UTC).
1735689600| Key | HTTP status | Connect code | Error | When |
|---|---|---|---|---|
| unauthenticated | 401 | unauthenticated | Unauthenticated | Authentication required. |
| permission-denied | 403 | permission_denied | Permission Denied | Permission denied. |
| invalid-argument | 400 | invalid_argument | Invalid Argument | Invalid argument. |
| not-found | 404 | not_found | Not Found | Not found. |
| unavailable | 503 | unavailable | Unavailable | Service unavailable. |