/v1/points. All metadata and discovery endpoints have zero weight cost — they do not count against your rate limit budget. They use the same base URL and authentication as data queries.
Markets
GET /v1/markets | Weight: 0
The primary discovery endpoint. Search and browse available markets with filtering, sorting, and pagination. Use this to find exchange IDs, symbols, and market metadata before making data queries.
Parameters
| Parameter | Type | Repeatable | Description |
|---|---|---|---|
exchange | Exchange | Yes | Filter by exchange |
coin | string | Yes | Filter by base asset |
category | Category | Yes | Filter by market class (SPOT or PERPETUAL) |
type | Type | Yes | Filter by data type |
symbolFilter | string | No | Search across symbols, coin names, and market titles. Case-insensitive. |
pageSize | int32 | No | Number of results to return |
pageOffset | int32 | No | Offset for pagination (zero-based) |
sortCriteria.field | MarketSortField | No | Sort field |
sortCriteria.direction | SortDirection | No | SORT_DIRECTION_ASC or SORT_DIRECTION_DESC |
distinct | bool | No | When true, return only one result per normalized symbol (highest ranked exchange) |
category filters by market class: SPOT for spot pairs and PERPETUAL for perpetual derivatives.
Sort fields
| Value | Description |
|---|---|
VOLUME_24H | 24-hour trading volume |
PRICE_CHANGE_24H | 24-hour price change percentage |
PCT_FROM_ATH | Distance from all-time high |
MARKET_SYMBOL_OI_CHANGE_24H | 24-hour open interest change |
MARKET_SYMBOL_ATR_PERCENT | ATR as percentage of price |
MARKET_SYMBOL_MARKETCAP | Market capitalization |
AVAILABLE_SINCE | When the market became available |
Example: Search for BTC markets on Binance Futures
Example: Search by name
Example: Top markets by volume
Example: Paginating results
Response fields
Each market entry in thesymbols array contains:
| Field | Type | Description |
|---|---|---|
exchange | Exchange | Exchange identifier |
rawSymbol | string | Exchange-specific symbol (use this in data queries) |
normalizedSymbol | string | Cross-exchange normalized market symbol (e.g., BTC-USDT, BTC-USD) |
coin | string | Base asset |
category | Category | Market class (SPOT or PERPETUAL) |
tenor | Tenor | Option summary tenor when present |
coinName | string | Full coin name (e.g., “Bitcoin”) |
quoteCoinName | string | Quote asset name |
fullName | string | Full market name |
lastPrice | double | Last traded price |
volume24h | double | 24-hour trading volume |
volumeChange24h | double | 24-hour volume change % |
priceChange24h | double | 24-hour price change % |
oiChange24h | double | 24-hour open interest change |
marketcap | double | Market capitalization |
iconUrl | string | Asset icon URL |
availableSince | Timestamp | When the market became available |
predictionMarkets | PredictionMarket[] | Prediction market outcomes. Only present for exchange=POLYMARKET. |
nextOffset for pagination — pass it as pageOffset to get the next page. When nextOffset equals your current offset + result count, there are no more results.
Prediction market fields
When querying Polymarket markets, each entry in thepredictionMarkets array contains:
| Field | Type | Description |
|---|---|---|
slug | string | Market URL slug |
question | string | Market question (e.g., “Will X happen by Y?”) |
groupItemTitle | string | Title within a grouped market |
outcomes | string[] | Possible outcomes (e.g., ["Yes", "No"]) |
lastPrice | double | Last traded price (0–1, representing probability) |
oneDayPriceChange | double | 24-hour price change |
prices | double[] | Recent price history |
totalVolume | double | Total volume traded |
buyVolume24H | double | 24-hour buy volume |
sellVolume24H | double | 24-hour sell volume |
volumeChange24H | double | 24-hour volume change |
openInterest | double | Current open interest |
oneDayOIChange | double | 24-hour open interest change |
uniqueTraders | double | Number of unique traders |
orderPriceMinTickSize | double | Minimum price tick size for orders |
conditionId | string | Polymarket condition ID |
closed | bool | Whether the market has resolved |
availableSince | Timestamp | When the market opened |
availableTo | Timestamp | Market expiry time |
sportsMarketType | string | Sports market type (if applicable) |
line | double | Line value for sports markets (if applicable) |
Coins
GET /v1/coins | Weight: 0
List all available base assets.
Symbols
GET /v1/symbols | Weight: 0
List raw (exchange-native) symbols.
type is required for this endpoint. Use it together with filters like exchange and coin to narrow results.
Normalized Symbols
GET /v1/normalized-symbols | Weight: 0
List normalized cross-exchange market symbols such as BTC-USDT and BTC-USD.
type is required for this endpoint.
Block Sizes
GET /v1/block-sizes | Weight: 0
Get the recommended block size for orderbook heatmaps. The returned value is the 4K (finest) block size. Multiply by 5 for the HD block size.
You do not need to call this endpoint before VOLUME_PROFILE_AGG requests — volume profile block size is chosen automatically by the server.
| Resolution | Block Size |
|---|---|
| 4K | Value from this endpoint (e.g., 5) |
| HD | 5x the value (e.g., 25) |
Tenors
GET /v1/tenors | Weight: 0
List available tenor values for the current filter set. Useful for option summary types such as IMPLIED_VOLATILITY_OPTION_SUMMARY_AGG and SKEW_OPTION_SUMMARY_AGG.
Response
Usage
GET /v1/usage | Weight: 0
Check your current rate limit quota without consuming any weight.
Response
| Field | Description |
|---|---|
limit | Your tier’s weight budget per window |
remaining | Weight units remaining |
used | Weight units consumed |
reset | Unix timestamp when the bucket refills to full capacity (including burst) |
window_seconds | Window duration in seconds (60) |
Common filters
The endpoints above (/v1/coins, /v1/symbols, /v1/normalized-symbols, /v1/block-sizes) accept the same filter parameters:
/v1/symbols and /v1/normalized-symbols require at least one type value. Omitting type currently returns a server error instead of an empty filter set.