Market Data
These endpoints offer real-time price and volume data from multiple exchanges. You can fetch snapshots of order book data, ticker lists for multiple pairs, or an aggregated ticker for a single pair.
!!! info "Fixed USDT Depth on DEXs" - OLD DEPRECATED
On Decentralized Exchanges (DEXs), bestBidSize
and bestAskSize
are calculated based on a fixed 100 USDT notional, along with their corresponding best bid and ask prices.
If available liquidity is less than 100 USDT, the maximum fillable size is returned instead.
Precision-Based Bid/Ask Calculation on DEXs
On Decentralized Exchanges (DEXs), bestBid
and bestAsk
prices are calculated using a dynamic precision derived from the mid-price:
- For constant-liquidity pools, the precision is computed as:
precision = -(int)Math.Floor(Math.Log10((double)midPrice)) + 5
- For concentrated-liquidity pools, the precision corresponds to the first tick interval away from the mid-price
The API then finds the closest bid and ask prices within that precision range, and reports the total available liquidity at each as bestBidSize
and bestAskSize
.
This ensures that prices and sizes reflect realistic, fillable depth around the true mid-market value.
Prefer Token IDs to Avoid Ambiguity
Specify pairs using:
- Token IDs (e.g.,
7312
for ETH,5898
for USDT) - Symbols (e.g.,
ETH
/USDT
)
For token IDs, see Token Information.
Endpoint Overview¶
Method | Endpoint | Description |
---|---|---|
GET | /v1/marketdata/aggregatedticker/{baseTokenId}/{targetTokenId} |
Retrieves aggregated market data for a specified token pair. |
GET | /v1/marketdata/aggregatedticker/symbols/{baseSymbol}/{targetSymbol} |
Market data overview using ticker symbols. |
GET | /v1/marketdata/tickerlist |
Retrieves market ticker data for specified pairs. |
GET | /v1/marketdata/snapshot/{baseTokenId}/{targetTokenId} |
Snapshot of aggregated market data from all exchanges. |
GET | /v1/marketdata/snapshot/symbols/{baseSymbol}/{targetSymbol} |
Snapshot of market data identified by ticker symbols. |
Snapshot (Single Pair)¶
/v1/marketdata/snapshot/{baseTokenId}/{targetTokenId}
/v1/marketdata/snapshot/symbols/{baseSymbol}/{targetSymbol}
Purpose:
Retrieves a "snapshot" of the current top of book order book data (best bid, best ask, last price, volume) across multiple exchanges for one trading pair.
Path Parameters (by Token IDs):
Name | Type | Mandatory | Description |
---|---|---|---|
baseTokenId | number | Yes | Token ID of the base token. |
targetTokenId | number | Yes | Token ID of the target token. |
Path Parameters (by Symbols):
Name | Type | Mandatory | Description |
---|---|---|---|
baseSymbol | string | Yes | Symbol of the base token. |
targetSymbol | string | Yes | Symbol of the target token. |
Example Requests
Example Response
{
"data": [
{
"exchange": "GATE", // Exchange name
"bestAsk": 2084.01, // Lowest sell price
"bestAskSize": 7.3457, // Size available at best ask
"bestBid": 2084, // Highest buy price
"bestBidSize": 3.7625, // Size available at best bid
"lastPrice": 2085.09, // Most recently traded price on this exchange
"volume": 415183 // 24h trading volume in base token
},
{
"exchange": "HUOBI",
"bestAsk": 2084.77,
"bestAskSize": 1.9447,
"bestBid": 2084.76,
"bestBidSize": 0.0267,
"lastPrice": 2084.77,
"volume": 72896
}
// ...
],
"success": true,
"timestamp": 1741062856357,
"requestId": "",
"message": ""
}
Ticker List (Multiple Pairs)¶
Purpose:
Returns ticker data for one or more trading pairs, optionally scoped to a specific exchange. By default:
exchange=ALL
→ Aggregated data across multiple exchanges (e.g., combined volume, best overall bid/ask).limit
defaults to 100 (maximum is 100; if you specify more, it still returns 100).
Query Parameters:
Name | Type | Mandatory | Description |
---|---|---|---|
exchange | string | No | Limit the data to a single exchange (e.g., BINANCE). Defaults to ALL . |
symbols | array of strings | No | One or more trading pairs in {baseSymbol}-{targetSymbol} format. E.g., symbols=BTC-USDT&symbols=ETH-USDT . |
tokenIds | array of strings | No | One or more trading pairs in {baseTokenId}-{targetTokenId} format. E.g., tokenIds=130-5898 . |
limit | integer | No | Number of records to return (default 100, max 100). |
offset | integer | No | Pagination offset - skips the first N records. |
Available Exchange Values:
ALL
, BINANCE
, BITFINEX
, BITMART
, BITSTAMP
, BTSE
, COINBASE
, CEX
, KRAKEN
, KUCOIN
, OKX
, OKCOIN
, PROBIT
, JUPITER
, UNISWAP
Example Requests
GET /v1/marketdata/tickerlist?exchange=BINANCE&tokenIds=130-5898&limit=1
GET /v1/marketdata/tickerlist?exchange=BINANCE&symbols=BTC-USDT&symbols=ETH-USDT&symbols=SOL-USDT
Example Response
{
"data": [
{
"baseSymbol": "BTC", // Base token symbol
"targetSymbol": "DAI", // Target token symbol
"baseTokenId": 130, // Base token ID
"targetTokenId": 34724, // Target token ID
"exchange": "BINANCE", // Exchange name or 'ALL'
"bestAsk": 84219.58, // Lowest sell price
"bestBid": 84101.46, // Highest buy price
"midPrice": 84160.52, // Often (bestAsk + bestBid) / 2
"lastPrice": 84206.7, // Most recently traded price
"volume": 18.14469, // 24h trading volume of symbol in base token
"dailyChange": -8920.64, // 24h absolute price change
"dailyPercentageChange": -9.579, // 24h percentage price change
"high": 93912.93, // Highest price in the last 24h
"low": 82498.44 // Lowest price in the last 24h
},
{
"baseSymbol": "BTC",
"targetSymbol": "USDT",
"baseTokenId": 130,
"targetTokenId": 5898,
"exchange": "BINANCE",
"bestAsk": 84200,
"bestBid": 84199.99,
"midPrice": 84199.995,
"lastPrice": 84199.99,
"volume": 66591.73673,
"dailyChange": -8958.11,
"dailyPercentageChange": -9.616,
"high": 93721.37,
"low": 82464.84
}
// ...
],
"success": true,
"timestamp": 1741066857922,
"requestId": "6ad68070-97a5-445f-b432-00ed4fd61a6e",
"message": "",
"error": null
}
Aggregated Ticker (Single Pair)¶
/v1/marketdata/aggregatedticker/{baseTokenId}/{targetTokenId}
/v1/marketdata/aggregatedticker/symbols/{baseSymbol}/{targetSymbol}
Purpose:
Retrieves one consolidated ticker object for the specified pair. This shows the best bid and best ask across all exchanges, along with total 24h volume, daily price change, and the 24h high/low.
Path Parameters (by Token IDs):
Name | Type | Mandatory | Description |
---|---|---|---|
baseTokenId | number | Yes | Token ID of the base token. |
targetTokenId | number | Yes | Token ID of the target token. |
Path Parameters (by Symbols):
Name | Type | Mandatory | Description |
---|---|---|---|
baseSymbol | string | Yes | Symbol of the base token. |
targetSymbol | string | Yes | Symbol of the target token. |
Example Requests
GET /v1/marketdata/aggregatedticker/7312/5898
GET /v1/marketdata/aggregatedticker/symbols/ETH/USDT
Example Response
{
"data": {
"baseSymbol": "ETH", // Symbol of the base token
"targetSymbol": "USDT", // Symbol of the target token
"baseTokenId": 7312, // Token ID of the base token
"targetTokenId": 5898, // Token ID of the target token
"bestBid": {
"exchange": "BINANCE",
"price": 2100.71,
"size": 119.75307313 // Amount of base token available at this bid
},
"bestAsk": {
"exchange": "HUOBI",
"price": 2099.94,
"size": 7.791027 // Amount of base token available at this ask
},
"dailyChange": -344.87, // 24h absolute price change
"dailyPercentageChange": -14.1062, // 24h percentage price change
"aggregatedVolume": 48169355.885463213, // Combined 24h volume across all exchanges
"high": 2280.9, // Highest traded price in the last 24 hours
"low": 2074.99 // Lowest traded price in the last 24 hours
},
"success": true,
"timestamp": 1741067253607,
"requestId": "",
"message": ""
}
Available Exchange List¶
For any endpoint that accepts an exchange
parameter, you may specify one of:
ALL, BINANCE, BITFINEX, BITMART, BITSTAMP, BTSE, COINBASE, CEX,
KRAKEN, KUCOIN, OKX, OKCOIN, PROBIT, JUPITER, UNISWAP
(Setting exchange=ALL
aggregates results from all exchanges.)
Tips & Additional Info¶
- Fixed USDT Depth on DEXs: To represent bestBidSize/bestAskSize and thus to represent prices on Decentralized Exchanges (DEX) we use a fixed bucket of 100USDT. If liquidity is insufficient we return the max available.
- Token IDs are recommended to avoid symbol ambiguity.
- For help finding a token ID or verifying a symbol, see the Token Information endpoints.
- dailyChange and dailyPercentageChange are measured against the price from 24 hours ago.
- aggregatedVolume is the sum of volumes across all supported exchanges.
Need a token ID?
Use Token Information.