Guide
Workspace storage + R2 costs, metered per project
How much you can stash in `/workspace`, what Cloudflare charges for it, and how the core meters storage per project so the bill is always traceable to a source.
5/18/2026 · connect0 · 3 min
The core meters storage per project, so every gigabyte on the bill traces back to a workspace you can name.
/workspace is backed by an R2 prefix per project (projects/<project-id>/...). R2 has its own pricing — storage by GB-month, operations by class, and notably zero egress. Here's the practical mental model.
What it costs
| Axis | Cost | When it matters |
|---|---|---|
| Storage | ~$0.015 / GB / month | Linear in /workspace/ contents. Dominant axis for big-data users. |
| Class A ops | ~$4.50 / 1M | Every upload PUT, every sh "cat > file" write. Per-operation pricing — file size doesn't matter on this axis. |
| Class B ops | ~$0.36 / 1M | Every read (sh "cat /workspace/foo", FUSE mount metadata). Cheap. |
| Egress | $0 | Never charged by Cloudflare. connect0 doesn't add a markup. |
The realistic shapes
- Light user — chats, configs, small artifacts. Storage is a rounding error. Class A ops are bounded by how chatty the agent is. Total: cents/month.
- Data-science user — multi-GB datasets, repeated analyses. Storage is the bill. 10 GB persisted for a month is ~$0.15. 100 GB is ~$1.50. Class A still dominated by writes (each tool call's
sh "tee"is one op). - CI uploads from a busy repo. Ops count up fast — every push is one PutObject. 100,000 PUTs/month is ~$0.45 on Class A. Still small.
What connect0 charges
A monthly plan that includes a generous workspace allowance plus per-GB overage. Check info's plans for the current numbers — pricing changes as we calibrate.
Where storage actually lives
- Visible in your account's workspace —
connect0-sandbox-fs/projects/<project-id>/in R2. You don't pay R2 directly; connect0 fronts the bill and meters per-project. upload_linkaudit rows in Postgres — bytes, but tiny (~200 bytes per row). 90-day retention. Not a meaningful cost axis.- Cloudflare Queue messages — Cloudflare bills queues by op too, but R2 events into the
connect0-r2-uploadsqueue are well inside free-tier limits.
Practical advice
- Don't stash huge intermediate files. If the agent generates a 5 GB intermediate, have it clean up after itself.
- Compress before uploading. A 200 MB raw CSV is a 30 MB gzip. Storage charges by uncompressed size on disk, so compress + decompress-in-sandbox is real savings.
- Use
sh "du -sh /workspace"to check. Cheap query, useful periodic ops habit.
What we'd do differently with hindsight
R2 was the right pick because zero-egress + Cloudflare Sandbox FUSE mount lined up perfectly. The cost story for users is dominated by storage, which is fine — that's the one we can ration. Class A ops are a noise floor.
Next steps
Where this fits
This is the One system of record pillar of connect0 — the core that connects everything your company runs on. Because every workspace lives behind the core, storage is metered per project — so cost is transparent and attributable, not a mystery line on the Cloudflare invoice. Start building → · All guides →