Platform limits
These are the limits in effect today on production. They will change as the platform grows; this page is updated when they do.
Last reviewed: 2026-07-14.
Realtime connections (WebSockets)
Section titled “Realtime connections (WebSockets)”A qube’s realtime channel is a WebSocket to its *.qubepod.app URL. What it
lands on — and therefore its ceiling — depends on the qube’s runtime:
| Channel | Ceiling (per project) | Notes |
|---|---|---|
| Stateful qube (shared twin) | ~32,000 concurrent clients | All clients of a stateful qube share one project twin. The theoretical platform maximum is 32,768 connections per twin; treat ~32,000 as the working number. |
| Stateless qube | No shared ceiling | Each connection is served by its own per-connection runner instance — there is no project-wide socket budget. |
| Any WebSocket message | 1 MiB per message | Platform frame-size limit. Ship large payloads (files, snapshots, media) over HTTPS/R2 and send the pointer instead. |
Realtime media (game traffic, audio/video) does not ride these channels —
game servers are reached on their own direct wss:// endpoints and have their
own capacity, independent of the limits above.
Nodes — hosts and devices per project
Section titled “Nodes — hosts and devices per project”Your own hardware connects to the platform as nodes — role host (runs
workloads) or role device (a fleet endpoint).
| Limit | Value |
|---|---|
| Host nodes per project | No fixed limit |
| Device nodes per project | No fixed limit |
| Workloads per host node | 16 |
| Heartbeat interval (fallback polling) | 5 minutes |
| Trunk silence timeout (node declared offline) | 90 seconds |
“No fixed limit” means the platform does not enforce a node count per project or per organization today. Fleets in the thousands of nodes are supported — node connections and device readings are independent of the realtime-client ceiling above. If you’re planning beyond that, talk to us.
Console & AI workspaces
Section titled “Console & AI workspaces”| Limit | Value |
|---|---|
| AI-relay session idle stop | 15 minutes |
The console itself (Qubonaut shell, AI channel) uses one multiplexed connection per browser — nothing you need to budget for.
Storage
Section titled “Storage”Each project has one storage pool shared by its KV, SQLite, and R2 stores:
| Limit | Value |
|---|---|
| Storage pool — free plan | 1 GiB per project |
| Storage pool — paid plans | 10 GiB per project |
| KV key size | 512 bytes |
| KV value size | 64 KiB |
| KV batch | 100 operations |
Deploys & uploads
Section titled “Deploys & uploads”| Limit | Value |
|---|---|
Deploy bundle (qube deploy) |
50 MiB |
| Single file upload (editor / R2 object) | 100 MiB |