API Documentation
Streaming & Tick Plant
Eulerpool is the global gold standard for high-throughput market data. Last trade, NBBO, 1-second bars, and L2 are served from an in-memory tick plant — sub-millisecond origin lookups on REST, push fan-out on WebSocket, SSE, and gRPC.
Interfaces — same plant
wss://stream.eulerpool.com/v1/subscribeWebSocket — JSON or binary frames. Production hostname.wss://api.eulerpool.com/v1/subscribeSame protocol on the API origin (works today).GET /api/1/market/streamSSE transcoding — Go, curl, and anything that cannot speak WS.grpc://api.eulerpool.com:50051Native gRPC MarketData.Subscribe. Proto in the backend repo.GET /api/1/market/last-trade/:tickerHot REST. RAM lookup, no Postgres on a plant hit.stream.py
from eulerpool import Eulerpool
client = Eulerpool("eu_prod_...")
for tick in client.stream.subscribe(["AAPL"], channels=["T", "Q"]):
print(tick["ev"], tick.get("ticker"), tick.get("price"))Subscribe protocol
Authenticate with ?token= or Authorization: Bearer. Then send JSON:
{"action":"subscribe","params":{"tickers":["AAPL","SAP.DE"],"channels":["T","Q","A","L2"]}}Switch to binary frames (little-endian, magic EP) after connect:
{"action":"format","params":{"encoding":"binary"}}Channels
T — every trade (price, size, ts in ms)Q — quote / NBBO (bid, ask, sizes)A — 1-second OHLCV bars (closed bar on roll)L2 — book snapshot, then bid/ask deltas⚡
Paid keys get live ticks. Free keys receive delayed 1-second aggregates. REST last-trade / last-quote / L2 read the plant first — Polygon is a cold fallback only. This is a market-data plane, not an order-entry venue.