Live Market Data
Quotes
Top of book and market statistics as the venue summarises them, without carrying a full book.
WSSawait stream.watch_ticker(market_ids)SDK stream · your process · venue credentials
Self-hosted. Opened from your own process straight to the venue. Nothing here runs on Synpath's servers.
Lighter than a book subscription: the venue's own best bid and ask, last price and volume, as it publishes them. On Polymarket the market channel sends these for whatever books are subscribed, so watch_ticker and watch_order_book are the same subscription there.
Venues
| Venue | Support | Notes |
|---|---|---|
| Polymarket | Supported | Best bid and ask per token. |
| Kalshi | Supported | Bid, ask, last, volume and open interest. |
| Polymarket US | Supported | The venue's lite market-data channel. |
| Opinion | Partial | The last traded price only, as QuoteEvent.last; no streamed top of book. |
Parameters
| Name | Type | Description |
|---|---|---|
market_ids | list[str] | None | Synpath ids. On Kalshi, omit for every market. |
QuoteEvent
The top of book moved.
| Name | Type | Description |
|---|---|---|
venue | string | Which venue the event came from. |
received_at | integer | When this process received it, ms since epoch. |
market_id | string | |
side | yes | no | The terms the prices are in. |
bid, ask | decimal | null | |
bid_size, ask_size | decimal | null | Where the venue sends them. |
last | decimal | null | |
volume, open_interest | decimal | null | Where the venue sends them (Kalshi, Polymarket US). |
timestamp | integer | null |
import asyncio
from synpath import PolymarketMarketStream
stream = PolymarketMarketStream() # no credentials
from synpath import QuoteEvent
async def main():
async with stream:
await stream.watch_ticker(["polymarket:2252244"])
async for event in stream:
if isinstance(event, QuoteEvent):
print(event.market_id, event.bid, event.ask, event.last)
asyncio.run(main())QuoteEvent
{
"venue": "polymarket",
"received_at": 1790077592174,
"market_id": "polymarket:2252244",
"side": "yes",
"bid": "0.41",
"ask": "0.43",
"bid_size": null,
"ask_size": null,
"last": null,
"volume": null,
"open_interest": null,
"timestamp": 1789655011496,
"info": {}
}
