Cost Breakdown

Teenybase runs on Cloudflare infrastructure. A typical app with 1,000 daily active users costs under $1/month in overage. This page shows the exact math.

Last verified: March 2026. Cloudflare pricing may change — check the source links below for current rates.

Assumptions

These calculations assume you are on the Cloudflare Workers Paid plan ($5/month base) and the included allowances are fully consumed by other apps or usage. Every number below uses pure overage rates — the worst case per-app cost.

If you only run 1-2 apps, most usage falls within the included allowances and your actual cost will be lower (often just the $5 base).

Cloudflare overage rates

ResourceRateSource
Worker requests$0.30 / millionWorkers pricing
D1 row reads$0.001 / millionD1 pricing
D1 row writes$1.00 / millionD1 pricing
D1 storage$0.75 / GB-monthD1 pricing
R2 storage$0.015 / GB-monthR2 pricing
R2 Class A ops (writes)$4.50 / millionR2 pricing
R2 Class B ops (reads)$0.36 / millionR2 pricing
Egress (all)$0Cloudflare never charges egress

Tier 1: Free ($0/month)

The Cloudflare free plan — no credit card, no trial, no expiry.

ResourceIncluded
Worker requests100,000 / day (~3M / month)
D1 row reads5M / day
D1 row writes100k / day
D1 storage500 MB per database, 5 GB per account
R2 storage10 GB
R2 Class A ops1M / month
R2 Class B ops10M / month

Total: $0/month. Enough for prototypes, side projects, and early-stage products.

Tier 2: ~1,000 DAU — under $1/month

A typical app with ~1,000 daily active users. Each user makes ~15 API calls/day, each call reads ~10 rows and occasionally writes.

ResourceUsageRateCost
Requests450k / month$0.30 / million$0.14
D1 row reads4.5M / month$0.001 / million$0.005
D1 row writes90k / month$1.00 / million$0.09
D1 storage500 MB$0.75 / GB$0.38
R2 storage2 GB$0.015 / GB$0.03
R2 Class A ops1k / month$4.50 / million$0.005
R2 Class B ops90k / month$0.36 / million$0.03
Total$0.68/month

Usage estimate details

  • 1,000 DAU × 15 API calls/day × 30 days = 450k requests/month
  • Each API call reads ~10 database rows on average = 4.5M row reads/month
  • ~10% of calls are writes, averaging 2 rows each = 90k row writes/month
  • 500 MB database covers ~500k–1M records depending on schema
  • 2 GB file storage (profile images, uploads)
  • R2 writes: ~1 file upload per user/month = 1k Class A ops
  • R2 reads: ~3 file reads per user/day = 1k × 3 × 30 = 90k Class B ops

Tier 3: ~10,000 DAU — $5-10/month

A production app with thousands of active users, heavier queries, and more file storage.

ResourceUsageRateCost
Requests5M / month$0.30 / million$1.50
D1 row reads50M / month$0.001 / million$0.05
D1 row writes1M / month$1.00 / million$1.00
D1 storage5 GB$0.75 / GB$3.75
R2 storage50 GB$0.015 / GB$0.75
R2 Class A ops10k / month$4.50 / million$0.05
R2 Class B ops900k / month$0.36 / million$0.32
Total$7.42/month

Usage estimate details

  • 10,000 DAU × ~17 API calls/day × 30 days = 5M requests/month
  • Each API call reads ~10 rows on average (list queries read more, single-record reads less) = 50M row reads/month
  • ~7% of calls are writes, averaging 3 rows each = 1M row writes/month
  • 5 GB database covers several million records
  • 50 GB file storage (documents, images, media)
  • R2 writes: ~1 file upload per user/month = 10k Class A ops
  • R2 reads: ~3 file reads per user/day = 10k × 3 × 30 = 900k Class B ops

What's always free

Regardless of plan:

  • Egress — Cloudflare never charges for bandwidth out
  • Teenybase itself — open source, Apache-2.0, no license fees
  • Auth, API rules, OpenAPI docs, admin panel — all included, no per-feature charges

Workers Paid plan included allowances ($5/month base)

The $5/month base plan includes these allowances shared across all your apps:

ResourceIncluded
Worker requests10M / month
D1 row reads25B / month
D1 row writes50M / month
D1 storage5 GB
R2 storage10 GB (free tier, always available)

If you run only 1-2 apps, most of your usage falls within these included amounts and your actual cost will be close to just the $5 base.

Notes

  • All prices sourced from Cloudflare's public pricing pages (see links in rate table above).
  • D1 max database size is 10 GB per database (hard limit). Account-wide storage limit is 1 TB on the paid plan.
  • R2 free tier (10 GB storage, 1M Class A, 10M Class B) is always available regardless of Workers plan.
  • The Teenybase Cloud (teeny register) is free during pre-alpha. Self-hosted deployments pay only the infrastructure costs listed above.