Facts read November 9, 2026
Cloudflare Durable Objects vs Cloudflare Workers KV
Cloudflare Durable Objects is Cuely's default counters and cache pick when your description doesn't favor either one: strongly consistent state and WebSockets in one place, next to your Workers. Pick Cloudflare Workers KV if you care most about global low latency.
Side by side
| Fact | Cloudflare Durable Objects | Cloudflare Workers KV |
|---|---|---|
| What it is | Single-instance stateful objects on Cloudflare's network, each with its own SQLite storage and WebSockets. | A global, eventually consistent key-value store for Workers, built for many reads and few writes. |
| Free plan | On Workers Free (SQLite-backed objects only): 100,000 requests a day, 13,000 GB-s of duration a day, 5 million rows read and 100,000 rows written a day, 5 GB stored in total. Past any limit, further operations fail with an error until 00:00 UTC. | Workers Free: 100,000 reads, 1,000 writes, 1,000 deletes and 1,000 lists a day, 1 GB stored. Past a limit, operations of that type fail until 00:00 UTC. |
| Paid from | On Workers Paid ($5/month account minimum): 1M requests a month, then $0.15 per million; 400,000 GB-s, then $12.50 per million GB-s; 50M rows written, then $1.00 per million; 5 GB-month, then $0.20 per GB-month. | Workers Paid ($5/month minimum): 10M reads a month, then $0.50 per million; 1M writes, then $5.00 per million; 1 GB, then $0.50 per GB-month. |
| At 1,000 users | $0/month | $0/month |
| Open source | No | No |
| Self-hostable | No | No |
| Best for | Everything on Cloudflare; Pushing live updates over WebSockets; Per-room or per-question state | Caching read-mostly data at the edge; Config and content that changes a few times a day |
| Watch out | You write the counting, sharding and leaderboard code yourself; there are no Redis-style commands. One object has a soft limit of 1,000 requests a second, so a big spike needs counters split across objects. | Writes to the same key are limited to 1 per second, and a change can take 60 seconds or more to show in other locations, so it can't count votes. |
Where they differ
The published scores, from −3 to +3, that decide which one Cuely picks for each need.
| Need | Cloudflare Durable Objects | Cloudflare Workers KV |
|---|---|---|
| votes, scores, leaderboards or streaks (many writes to the same numbers) | +2 One object per question counts votes with strong consistency in its own SQLite storage. | −3 1 write per second to the same key, and changes take up to 60 seconds or more to show everywhere, so it can't hold a live tally. |
| realtime features | +2 The same object can hold players' WebSockets; with the Hibernation API idle connections aren't billed for duration, and incoming messages bill at 20:1. | 0 No particular strength here. |
| global low latency | +2 Runs on Cloudflare's network beside your Workers. | +3 Reads are served from Cloudflare's network close to every player. |
| keep costs as low as possible | +2 Included on Workers Free: 100,000 requests and 100,000 rows written a day. | +1 Free covers 100,000 reads and 1,000 writes a day. |
| Next.js or React | −1 Lives on Cloudflare Workers; an app on Vercel has to call it over HTTP. | 0 No particular strength here. |
| traffic comes in viral spikes | 0 No particular strength here. | +1 Paid includes 10 million reads a month, then $0.50 per million. |
Sources: Cloudflare Durable Objects pricing (read November 9, 2026), Cloudflare Workers KV pricing (read November 9, 2026). No vendor pays for placement.