Realtime limits
Plan client connections and message volume before you stream updates to users.
Realtime has two plan limits: how many subscribers can be connected at once, and how many messages you can publish each day. Estimate both before you add Realtime to a high-volume job.
Plan limits
| Plan | Concurrent connections | Messages per day |
|---|---|---|
| Free | 50 | 250,000 |
| Pro | 1,000 | 1,000,000 |
| Business | 5,000 | 5,000,000 |
| Enterprise | Custom | Custom |
See pricing for the current plan comparison. Connection limits apply to Realtime subscribers only. Worker connections and step concurrency have separate limits.
Keep message volume predictable
Every publish counts as one message. If you stream model output token by token, a single long answer can publish thousands of messages. Multiply by your expected runs per day and compare the total with your plan.
To reduce volume, publish meaningful state changes rather than every small tick, or batch several tokens into one message before you publish.
React hook memory and rendering
These useRealtime settings run in the browser. They don't change your plan limits or add server-side replay.
historyLimitkeeps the latest 100 messages inmessages.allby default. Raise it, or setnullto keep every message, when the UI rebuilds text from a stream.bufferIntervalis 0 ms by default, so every message triggers a render. Set a larger interval to batch renders for fast streams.pauseOnHiddenandautoCloseOnTerminaldefault totrue. The hook pauses in hidden tabs and closes when the run finishes, which frees the connection.
Next steps
- React hooks lists every hook option and its default.
- Stream AI responses shows buffering and history settings for a token stream.
- Troubleshooting helps diagnose connection and delivery problems.