Spot Market Data Endpoints
Access GaiaEx spot market data via API: ticker prices, 24h volume, candlestick history, and live order book depth.
Overview
Public endpoints for spot market data. No authentication required.
All spot market-data endpoints are served under the /v1/market/ base path.
List Spot Symbols
GET https://openapi.gaiaex.com/v1/market/spot/symbols/list
Returns every spot trading pair currently listed. This is the authoritative source of the live spot universe — only pairs returned here are streamed and tradable.
Parameters: None
Response:
{
"status": "ok",
"count": 18,
"symbols": [
{
"symbol": "@142",
"displayName": "BTC/USDC",
"baseToken": "BTC",
"internalBase": "BTC",
"pairName": "@142",
"matchedPerp": "BTC",
"szDecimals": 5,
"currentPrice": 63938.0,
"priceDecimals": 0,
"volume24h": "1250000.00",
"isCanonical": false
}
],
"note": "Use displayName base (e.g. 'BTC', 'ETH', 'WOW') or symbol (e.g. '@142') for API calls.",
"format_guide": {
"symbol": "ctx.coin used for WS subscription (e.g. '@142', 'PURR/USDC')",
"displayName": "Human-readable name (e.g. 'BTC/USDC', 'WOW/USDC')",
"baseToken": "Display base asset (e.g. 'BTC', 'ETH', 'WOW')",
"matchedPerp": "If non-null, this spot pair tracks a perp asset (e.g. 'BTC')"
},
"timestamp": 1743508800000
}Response fields (per symbol):
| Field | Type | Description |
|---|---|---|
symbol | string | Internal pair id used for WS subscription (e.g. @142, or a canonical pair like PURR/USDC) |
displayName | string | Human-readable pair (e.g. BTC/USDC) |
baseToken | string | Display base asset (e.g. BTC) — use this as the ticker key |
internalBase | string | Internal base identifier |
pairName | string | Backend pair name |
matchedPerp | string | null | Perp symbol this spot pair tracks, or null |
szDecimals | int | Size (quantity) decimal precision |
currentPrice | number | Latest price |
priceDecimals | int | Price display precision |
volume24h | string | Rolling 24h quote volume |
isCanonical | bool | Whether the pair is a canonical spot listing |
count reflects the live listed set at request time and changes as pairs are listed or delisted — always read it from the response rather than hard-coding a value.
https://openapi.gaiaex.com/v1/market/spot/ticker/{symbol}Get Spot Ticker
GET https://openapi.gaiaex.com/v1/market/spot/ticker/{symbol}
Returns real-time price data for a spot trading pair.
Path Parameters:
| Parameter | Type | Description |
|---|---|---|
symbol | string | Base asset (e.g. BTC) or internal id (e.g. @142) |
Response:
{
"symbol": "@142",
"displayName": "BTC/USDC",
"price": 63938.0,
"bid": 63937.0,
"ask": 63938.0,
"spread": 1.0,
"spread_bps": 0.16,
"spread_percent": 0.0016,
"priceDecimals": 0,
"timestamp": 1743508800000,
"stale": false,
"feed_connected": true,
"baseToken": "BTC",
"matchedPerp": "BTC",
"pairName": "@142"
}staleistruewhen the feed has not updated recently;feed_connectedreports upstream connectivity.spread_bps/spread_percentare derived frombid/ask.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| symbol | string | Yes | Base asset (e.g. BTC) or internal id (e.g. @142) |
symbolBase asset (e.g. BTC) or internal id (e.g. @142)
Get Spot Order Book
GET https://openapi.gaiaex.com/v1/market/spot/orderbook/{symbol}
Returns the order book for a spot trading pair.
Path Parameters:
| Parameter | Type | Description |
|---|---|---|
symbol | string | Base asset (e.g. BTC) or internal id (e.g. @142) |
Query Parameters:
| Parameter | Type | Default | Max | Description |
|---|---|---|---|---|
depth | int | 20 | 50 | Number of price levels per side |
Response:
{
"symbol": "@142",
"displayName": "BTC/USDC",
"bids": [
[63937.0, 0.04673232],
[63932.0, 0.00964663]
],
"asks": [
[63938.0, 0.21153306],
[63939.0, 1.28710349]
],
"priceDecimals": 0,
"timestamp": 1743508800000,
"stale": false,
"feed_connected": true,
"baseToken": "BTC",
"matchedPerp": "BTC",
"pairName": "@142"
}- Bids are sorted descending (highest first); asks ascending (lowest first).
- Each level is a two-element array
[price, size].