Describe Enhancement
Background
IBKR recently changed the behavior of the smd (market data) WebSocket topic (this new behavior showed up in my code on 2026-04-10). Confirmed by IBKR customer support:
The smd topic has recently changed in behavior. Now the topic will terminate automatically after 15 minutes and you will need to send a new request to continue to retrieve data for the instrument.
Support additionally noted that the server does not auto-unsubscribe on expiration, so the client is recommended to umd+ first, then smd+ again to cleanly refresh
Symptom for ibind users
With ibind 0.1.22 (OAuth, IbkrWsClient with IBIND_MAINTAIN_OAUTH=True)
- websockets ping frames continue to ack.
- IbkrWsClient.ready() returns True.
- Tickler keeps pinging /tickle successfully — brokerage session stays alive.
- But inbound tick frames for the affected conid simply stop arriving — no close frame, no error, no message.
In other words, everything at the connection and session layer looks healthy; only the per-topic market-data stream silently dies. This is the expected behavior per IBKR customer support.
Context
Each user has to implement their own background refresh loop. This is boilerplate that every ibind user subscribing to smd will now need. Given ibind already owns subscription state and already runs background threads (Tickler), it is a natural fit for the library to handle this transparently.
Your Environment
- IBind version: 0.1.22
- Python version (e.g. 3.10): 3.12
- Authentication method (Gateway, IBeam or OAuth): OAuth 1.0a
- Operating System and version: Ubuntu 24.04.3
BTW IBind is great! Thanks for bringing this together!
Describe Enhancement
Background
IBKR recently changed the behavior of the smd (market data) WebSocket topic (this new behavior showed up in my code on 2026-04-10). Confirmed by IBKR customer support:
The smd topic has recently changed in behavior. Now the topic will terminate automatically after 15 minutes and you will need to send a new request to continue to retrieve data for the instrument.
Support additionally noted that the server does not auto-unsubscribe on expiration, so the client is recommended to umd+ first, then smd+ again to cleanly refresh
Symptom for ibind users
With ibind 0.1.22 (OAuth, IbkrWsClient with IBIND_MAINTAIN_OAUTH=True)
In other words, everything at the connection and session layer looks healthy; only the per-topic market-data stream silently dies. This is the expected behavior per IBKR customer support.
Context
Each user has to implement their own background refresh loop. This is boilerplate that every ibind user subscribing to smd will now need. Given ibind already owns subscription state and already runs background threads (Tickler), it is a natural fit for the library to handle this transparently.
Your Environment
BTW IBind is great! Thanks for bringing this together!