Price streams
Subscribe to price targets for realtime price updates across the current EVM
family. Solana stays available on the separate Beta lane.
Use price streams when you need a continuously refreshed price feed for
dashboards, alerts, or trading logic. The event envelope stays stable while
the payload carries base_asset, quote_asset, and price.
Access
- Surfaces:
ws - Metering:
ws_target_minute - Scope:
Price delivery · DEX · EVM family primary · Solana (Beta)
Handles
| Surface | Label | Value |
|---|---|---|
ws | Endpoint | wss://gw-aql.tomo.services/v1/market/ws |
ws | Event family | price |
ws | Event type | MARKET_PRICE |
Availability
Price stream targets use event_family: price and the public DEX target
shape.
Subscribe frame
{
"action": "subscribe",
"targets": [
{
"market_kind": "dex",
"target_id": "0xC02aaA39b223FE8D0A0E5C4F27eAD9083C756Cc2",
"chain": "ethereum",
"event_family": "price",
"base_asset": "WETH",
"quote_asset": "USDT"
}
]
}Price event
{
"event_type": "MARKET_PRICE",
"session_id": "sess_live_001",
"sequence": 2,
"target_id": "0xC02aaA39b223FE8D0A0E5C4F27eAD9083C756Cc2",
"market_kind": "dex",
"chain": "ethereum",
"source_id": "multi-source-kline",
"source_publish_ts": "2026-04-15T08:00:01Z",
"gateway_ingest_ts": "2026-04-15T08:00:01.005Z",
"gateway_send_ts": "2026-04-15T08:00:01.010Z",
"freshness_ms": 10,
"payload": {
"base_asset": "WETH",
"quote_asset": "USDT",
"price": 3182.55
}
}Request fields
Subscribe frame
| Field | Type | Required | Notes |
|---|---|---|---|
action | string | Required | Use `subscribe`. |
profile | string | Optional | Optional delivery profile. Omit it to use the current default `standard` profile. |
targets | array | Required | One or more market targets to stream. |
Target fields
| Field | Type | Required | Notes |
|---|---|---|---|
targets[].market_kind | string | Required | Use `dex` for the public WebSocket target shape. |
targets[].target_id | string | Required | Token or market target id. |
targets[].chain | string | Required | Target chain. Prefer the current EVM family such as `ethereum` or `base`; use `solana` only for the separate Beta lane. |
targets[].event_family | string | Required | Stream family such as `price` or `short_range_ohlcv`. |
targets[].base_asset | string | Optional | Base asset label shown in the payload. |
targets[].quote_asset | string | Optional | Quote asset label shown in the payload. |
targets[].interval | string | Optional | OHLCV interval such as `1m`. |
Response fields
Event envelope
| Field | Type | Notes |
|---|---|---|
event_type | string | Event type for the current frame. |
session_id | string | Server-issued stream id for the current connection. |
sequence | number | Monotonic event order for the session. |
target_id | string | Target id for the active stream. |
market_kind | string | Market family. Public WebSocket uses `dex`. |
chain | string | Target chain. |
source_id | string | Source label for the current event. |
source_publish_ts | string | Source publish timestamp. |
gateway_ingest_ts | string | Timestamp when the gateway received the event. |
gateway_send_ts | string | Timestamp when the gateway sent the event. |
freshness_ms | number | Elapsed time from source publish to gateway send. |
payload | object | Event-specific payload. |
Price payload
| Field | Type | Notes |
|---|---|---|
payload.base_asset | string | Base asset label. |
payload.quote_asset | string | Quote asset label. |
payload.price | number | Latest price. |
Related pages
Last updated on