Cloudflare Durable Objects
- Free allowance
- 13,000 GB-seconds of Durable Object duration a day on the free plan.
- Verdict
- caveatusable, with a named limit or an unprobed read path
- Cost
- free tier
- Identity
- emailno card, no phone
- Binding limit
- request-rate13,000 GB-s of duration a day; a WebSocket held open on the non-hibernation API bills for the whole connection
- Evidence
- documented3 sources; a first-party page was read and the sentence quoted
- Freshness
- stale on 2026-11-22checked 2026-10-22 (live); stale on 2026-11-22
| Free tier | 13,000 GB-seconds of Durable Object duration a day on the free plan. That is a Durable Object allowance; Workers Free separately carries 100,000 requests a day unit mixed; metered on wall-clock; an object that is idle and eligible for hibernation is not billed for duration; duration is billed for the 128 MB allocation regardless of actual use |
|---|---|
| Price | none stated |
| Limits |
a Durable Object stays active while a request, response stream, WebSocket or pending I/O is in flight |
| Binding | request-rate the daily duration allocation binds before the 128 MB ceiling, and a non-hibernating WebSocket spends it at wall-clock rate |
| Identity | email a Cloudflare account; no card for the Free plan |
| Egress | served from the edge; no per-byte charge on the limits page |
| Retention | SQLite-backed storage persists; hibernation disconnects clients without destroying state |
| Interface | ssh a Worker binding; RPC and WebSocket to the object |
| Tooling | Wrangler, the Workers runtime, SQLite storage per object |
| Composes with | a stateful coordination point with a WebSocket, which is a relay substrate and not a general machine |
| Reliability | no reliability event recorded |
| Notes | It is a Durable Object allowance and attributing it to Workers was a category error. |
| Parsed numbers |
|
Evidence 3
| date | source | what it proved |
|---|---|---|
| 2026-10-22 | developers.cloudflare.com/durable-objects/platform/pricing/ | the included allocation table reads 'Duration | 13,000 GB-s / day | 400,000 GB-s / month, + $12.50/million GB-s' |
| 2026-10-22 | developers.cloudflare.com/durable-objects/platform/pricing/ | 'Durable Objects that are idle and eligible for hibernation are not billed for duration'; duration is billed for the 128 MB allocation regardless of actual usage |
| 2026-10-22 | developers.cloudflare.com/workers/platform/limits/ | Workers Free carries 100,000 requests a day; the page does not carry the 13,000 GB-s figure |
More fields 7
{
"shape": null,
"billing_model": "wall-clock",
"session_cap": {
"wall_clock_min": null,
"idle_reap_s": null,
"restart_required": false,
"note": "no idle kill while connected; duration billed only while active"
},
"keep_rate": {
"value": 0.0,
"basis": "duration is billed only while active",
"source": "https://developers.cloudflare.com/workers/platform/limits/"
},
"persistent_storage": {
"included_gib": null,
"price_gib_month": "SQLite-backed storage billed separately",
"durability": "survives hibernation",
"survives_stop": true,
"survives_destroy": false,
"max_retention": "while the object exists"
},
"network_out": {
"allow_outbound": true,
"allow_inbound_listen": true,
"ports": "HTTP and WebSocket through the edge",
"static_ip": false,
"ipv6": true,
"per_session_bytes": null
},
"free_tier_kind": "allowance"
}Unknown values 2
$.per_object_cap.statedthe field does not apply to this kind of offer$.reliability_notenothing of this kind was observed