Synpath
Account

Balances

Cash balance changes on the account.

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

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

Polymarket US only. Kalshi and Polymarket publish no balance channel; read balances over REST there.

Venues

VenueSupportNotes
PolymarketNot offered
KalshiNot offered
Polymarket USSupportedPolymarketUSPrivateStream.
OpinionNot offered

BalanceEvent

The balance changed.

NameTypeDescription
venuestringWhich venue the event came from.
received_atintegerWhen this process received it, ms since epoch.
balanceBalanceThe balance, as in the REST API.
import asyncio
from synpath import PolymarketTrading, PolymarketUserStream, load_credentials, require

trading = PolymarketTrading(require("polymarket", load_credentials()))
stream = PolymarketUserStream(trading=trading)                 # derives the CLOB credentials

from synpath import BalanceEvent

async def main():
    async with stream:
        await stream.watch_balance()            # Polymarket US only
        async for event in stream:
            if isinstance(event, BalanceEvent):
                print(event.balance.total, event.balance.available)

asyncio.run(main())
BalanceEvent
{
  "venue": "polymarket_us",
  "received_at": 1790077592174,
  "balance": {
    "currency": "USD",
    "total": "100.00",
    "available": "99.80",
    "locked": "0.20",
    "…": "the full Balance"
  }
}