Synpath
Live Market Data

Market status

Lifecycle changes: a market opening, pausing, closing, resolving.

WSSawait stream.watch_market_status()SDK stream · your process · venue credentials

Self-hosted. Opened from your own process straight to the venue. Nothing here runs on Synpath's servers.

state is Synpath's word, one of created, open, paused, closed, determined, settled or updated; native keeps the venue's own word and result the winning side where the venue names one.

Venues

VenueSupportNotes
PolymarketPartialNew markets and resolutions, for the tokens subscribed. No pause or halt on this channel.
KalshiSupportedThe full lifecycle, for every market.
Polymarket USPartialState changes arrive with the market-data subscription.
OpinionNot offered

MarketStatusEvent

A market's state changed.

NameTypeDescription
venuestringWhich venue the event came from.
received_atintegerWhen this process received it, ms since epoch.
market_idstring
statestringcreated, open, paused, closed, determined, settled or updated.
nativestring | nullThe venue's own word.
resultstring | nullThe winning side, once determined.
timestampinteger | null
import asyncio
from synpath import PolymarketMarketStream

stream = PolymarketMarketStream()                              # no credentials

from synpath import MarketStatusEvent

async def main():
    async with stream:
        await stream.watch_market_status()
        async for event in stream:
            if isinstance(event, MarketStatusEvent):
                print(event.market_id, event.state, event.result)

asyncio.run(main())
MarketStatusEvent
{
  "venue": "polymarket",
  "received_at": 1790077592174,
  "market_id": "polymarket:2252244",
  "state": "determined",
  "native": "market_resolved",
  "result": "Yes",
  "timestamp": 1789655011496,
  "info": {}
}