秋田预测市场 · Discord 审计

WebSocket更新后出现503错误、序列号异常及帧过载

2026-06-18 · Kalshi · 19 条相关讨论

singlur 2026-06-18 06:10:20

What is going on with websockets!? 503 errors everywhere

What is going on with websockets!? 503 errors everywhere

Noah 2026-06-18 06:14:19

my system is no longer successfully subscribing to orderbook WS since about 2 hours ago. Not sure if something changed in the behavior, currently troubleshooting. Manual test with `websocat` worked albeit possibly with different sequencing than before

my system is no longer successfully subscribing to orderbook WS since about 2 hours ago. Not sure if something changed in the behavior, currently troubleshooting. Manual test with `websocat` worked albeit possibly with different sequencing than before

singlur 2026-06-18 06:15:10

Mine started yesterday

Mine started yesterday

singlur 2026-06-18 06:15:24

Often it works once, but if the website disconnects from then on every retry is 503

Often it works once, but if the website disconnects from then on every retry is 503

singlur 2026-06-18 06:15:39

Websocket not website

Websocket not website

Noah 2026-06-18 06:15:47

I'm not seeing 503, just not establishing the feed

I'm not seeing 503, just not establishing the feed

Arbgame 2026-06-18 06:16:51

I've been running all day with no issues - are you guys using the external-api or elections host? (i'm on external)

I've been running all day with no issues - are you guys using the external-api or elections host? (i'm on external)

Noah 2026-06-18 06:17:12

external-api

external-api

Noah 2026-06-18 08:36:35

Resolved for me after code changes. Seems like something changed with the websocket subscribe behavior, but I suppose I can't prove it. Unless I'm crazy, when subscribing to `orderbook_delta` for multiple tickers: Before: Kalshi’s ACK identified the market directly by echoing the ticker list. Now: Kalshi’s ACK may identify the request only indirectly, through the WebSocket command id; the ticker has to be inferred from the command the client sent.

Resolved for me after code changes. Seems like something changed with the websocket subscribe behavior, but I suppose I can't prove it. Unless I'm crazy, when subscribing to `orderbook_delta` for multiple tickers: Before: Kalshi’s ACK identified the market directly by echoing the ticker list. Now: Kalshi’s ACK may identify the request only indirectly, through the WebSocket command id; the ticker has to be inferred from the command the client sent.

Bumbling Bayesian 2026-06-18 17:21:28

Something seems to have changed with how WS sequence numbers work after this morning's update. An assertion keeps triggering on my side when I connect. My logging throws `IllegalStateException: expected sequence number 1 for id=3 channel=orderbook_delta but got 2`. I have disabled my assertion for now while I try to figure it out.

Something seems to have changed with how WS sequence numbers work after this morning's update. An assertion keeps triggering on my side when I connect. My logging throws `IllegalStateException: expected sequence number 1 for id=3 channel=orderbook_delta but got 2`. I have disabled my assertion for now while I try to figure it out.

lactobacillus 2026-06-18 17:32:45

any chance you're receiving and ignoring one of the newfangled error 28s with the correct seq no? i see it using seq 1 for that error (and starting snapshots at seq 2) when my initial ticker list contains at least 1 invalid ticker. when they're all valid tickers there's no error and the snapshots start with seq 1 like before

any chance you're receiving and ignoring one of the newfangled error 28s with the correct seq no? i see it using seq 1 for that error (and starting snapshots at seq 2) when my initial ticker list contains at least 1 invalid ticker. when they're all valid tickers there's no error and the snapshots start with seq 1 like before

Bumbling Bayesian 2026-06-18 17:35:59

Maybe? Definitely something changed this morning.

Maybe? Definitely something changed this morning.

Bumbling Bayesian 2026-06-18 17:42:11

I added more logging and will look for that error 28.

I added more logging and will look for that error 28.

lybi0r 2026-06-18 18:02:04

yeah, something changed for me as well, seems like I receive an upstream error frame and my app goes into an error loop

yeah, something changed for me as well, seems like I receive an upstream error frame and my app goes into an error loop

Bumbling Bayesian 2026-06-18 18:20:28

Are you using `skip_ticker_ack`? https://docs.kalshi.com/changelog#feb-11-2026-2

Are you using `skip_ticker_ack`? https://docs.kalshi.com/changelog#feb-11-2026-2

George/Sefi 2026-06-18 18:32:31

getting alot of nonsense from the system, getting overloaded with frames, frames dropping, and since i use the CFBenchmark price.....im only recieving the CFBEnchmark every minute or so, not per second. and in spurts

getting alot of nonsense from the system, getting overloaded with frames, frames dropping, and since i use the CFBenchmark price.....im only recieving the CFBEnchmark every minute or so, not per second. and in spurts

George/Sefi 2026-06-18 18:34:12

[2026-06-18T10:28:56.188Z] [Kalshi WS] heartbeat alive stable=1m serverPing=1m framesInInterval=6493 approxPerSec=649 total=35377

[2026-06-18T10:28:56.188Z] [Kalshi WS] heartbeat alive stable=1m serverPing=1m framesInInterval=6493 approxPerSec=649 total=35377

Bumbling Bayesian 2026-06-18 18:34:42

Yes, I am definitely getting a 28 at first.

Yes, I am definitely getting a 28 at first.

George/Sefi 2026-06-18 18:47:13

moving my CFBenchmark Subscription to dedicated websocket, seems to be happier. still too many frames on my main websocket thread

moving my CFBenchmark Subscription to dedicated websocket, seems to be happier. still too many frames on my main websocket thread