{"slug":"pm-ws-latency","title":"Polymarket WebSocket latency, live connection and update speed from 3 regions","subtitle":"Time from WebSocket dial to first market snapshot plus inter-message update rate on the Polymarket CLOB feed, probed from three regions 24 hours a day.","category":"Trading","metric":"WS connect to snapshot","unit":"ms","status":"live","higherIsBetter":false,"filters":null,"value":2020,"leader":{"name":"Polymarket","slug":"polymarket","value":2020},"rankings":[{"name":"Polymarket","slug":"polymarket","ms":{"p50":2020,"p90":2468,"p99":5440.01,"mean":2320},"successRate":52.8281,"sampleSize":28.0052},{"name":"Kalshi","slug":"kalshi","ms":{"p50":10000,"p90":10000,"p99":10000,"mean":479016},"successRate":66.65910000000001,"sampleSize":2.00202}],"sparkline":[2000,2000,2000,2000,2000,2000,2000,3250,2250,2250,2000,2000,2000,2000,2000,2000,2000,2000,2000,2000,5000,5000,5000,2000,2000,2000,2000,2000,2000,2000,2000,2000,2000,2000,2000,2000.58,2000.29,2000.19,2000,2000],"sampleSize":30.007219999999997,"asOf":"2026-07-29T03:22:07.227Z","headline":"Polymarket leads ws connect to snapshot at 2.02 s (p50, 24h) on Polymarket WebSocket latency, live connection and update speed from 3 regions.","quote":"Polymarket leads ws connect to snapshot at 2.02 s (p50, 24h) on Polymarket WebSocket latency, live connection and update speed from 3 regions. Source: OpenChainBench (https://openchainbench.com/benchmarks/pm-ws-latency).","cite":{"plain":"OpenChainBench. \"Polymarket WebSocket latency, live connection and update speed from 3 regions\". Retrieved 2026-07-29. https://openchainbench.com/benchmarks/pm-ws-latency","bibtex":"@misc{ocb_pm_ws_latency,\n  author = {OpenChainBench},\n  title  = {Polymarket WebSocket latency, live connection and update speed from 3 regions},\n  year   = {2026},\n  url    = {https://openchainbench.com/benchmarks/pm-ws-latency},\n  note   = {Retrieved 2026-07-29}\n}","apa":"OpenChainBench. (2026). Polymarket WebSocket latency, live connection and update speed from 3 regions. Retrieved July 29, 2026, from https://openchainbench.com/benchmarks/pm-ws-latency","ris":"TY  - GEN\r\nAU  - OpenChainBench\r\nTI  - Polymarket WebSocket latency, live connection and update speed from 3 regions\r\nPY  - 2026\r\nUR  - https://openchainbench.com/benchmarks/pm-ws-latency\r\nY2  - 2026-07-29\r\nER  - \r\n"},"pageUrl":"https://openchainbench.com/benchmarks/pm-ws-latency","ogImage":"https://openchainbench.com/api/og/pm-ws-latency","source":"https://github.com/ChainBench/OpenChainBench/tree/main/harnesses/pm-rate-limits","methodology":["Connect-to-snapshot: wall clock from websocket.Dial call start to receiving the first non-PONG frame. Covers TCP connection, TLS handshake, HTTP upgrade and the time the venue takes to deliver the first orderbook snapshot after receiving the subscribe message. Measured per reconnect event.","Inter-arrival: wall clock between consecutive received data frames while the session is stable. Measures the velocity of the live feed, i.e. how often the venue pushes orderbook or price updates on a typical active market. Measured per message pair.","Regions: us-east (Railway us-east4), eu-west (Railway europe-west4), sgp (Railway asia-southeast1). The Polymarket CLOB WS endpoint is globally distributed via Cloudflare, so regional differences reflect edge proximity and routing, not server capacity.","Keepalive: a background goroutine sends the literal text PING every 10 seconds and the venue responds with PONG. Sessions that stop receiving data are detected by the reconnect logic on the next PING timeout. Disconnect rate is exported as a counter.","Pin: the harness targets the same market used by the pm-rate-limits bench (highest 24h volume binary market with last trade price between 0.15 and 0.85), refreshed daily at 00:00 UTC. The WS client re-subscribes automatically when the pin changes.","Metrics: pmapi_ws_connect_to_snapshot_seconds histogram and pmapi_ws_update_interarrival_seconds histogram, both labeled by venue, region and source. The same pm-rate-limits harness process that probes REST endpoints runs the WS session, so both REST and WS data share one Railway deployment per region.","Other venues: Kalshi WS (wss://external-api-ws.kalshi.com) requires RSA-PSS signed headers from a US KYC account and returns 403 from non-US IPs, making it not viable for a public three-region benchmark. Limitless uses socket.io over HTTP long-polling, not standard WebSocket. Manifold, Myriad, PredictIt and Smarkets have no public WebSocket endpoint."],"license":"CC-BY-4.0"}