What a month of this log costs.

Planning numbers from ADR 0007, not a bill. R2 Standard prices are the ones recorded there on 2026-11-05. The same arithmetic is scripts/cost.py.

The formulas

One active upload stream writes one object per flush. A stream at 16 MiB/s or more still flushes every CAMUS_FLUSH_MS (250 ms) or at 8 MiB, whichever comes first. A quieter stream waits until the object reaches 8 MiB, and at most 30 seconds (CAMUS_QUIET_FLUSH_MS). Partitions that share a stream share that object. Several streams that all receive bytes add up.

Class A is $4.50 per million requests: those puts, plus one metadata snapshot put every 30 seconds, plus one put and one GET per 128 MiB when compaction rewrites a segment. Class B is $0.36 per million: one ranged GET per ingest object for each consumer that misses the cache, plus the compaction read. Tail reads served from the write-ahead log are not GETs. Storage is $0.015 per GB-month, and a GB is 1e9 bytes. DeleteObject is free. R2 egress is free. A month here is 30 days.

At 1 MiB/s a single stream is quiet: one put every 8 MiB, 0.125 puts/s. At 20 MiB/s the 250 ms timer still binds, 4 puts/s, and the ADR's $0.018432 per GiB is that timer applied to one MiB of ingest. At 100 MiB/s the 8 MiB cap binds: 12.5 puts/s, $0.000576 per GiB, rounded to $0.0006. One consumer reading every sealed object of a timer-bound stream is 4 GETs per MiB, $0.00147456 per GiB, rounded to $0.0015. The old per-partition timer, which Camus does not use, was 4,000 puts/s at 1 MiB/s across 1,000 partitions, $64.80 per hour. A quiet partition now waits for 8 MiB or 30 seconds, so those 1,000 partitions are one put each per 30 seconds.

The table starts from that rate and then applies four adjustments. MiB/s counts only while ingest is flowing, 8 hours a day unless you change it. The miss share defaults to 0, because a consumer that keeps up reads the write-ahead log. Dollars subtract the Standard free tier: 1 million Class A requests, 10 million Class B requests, and 10 GB-month. Class A also includes the orphan sweep, which lists bundle/ every 5 minutes at one request per 1,000 keys. Compaction is on by default, as it is in the broker, so the live set is about one key per 128 MiB instead of one key per flush. Cloudflare rounds each class up to the next million requests and storage up to the next GB. This table does not.

Issue #141 has not published object-store request counts, and Benchmarks/ records latency and throughput. python3 scripts/cost.py --check matches the unrounded products above. The ADR’s rounded figures sit within 2.5% of those products, except the old “$1.6 per hour”, which was not the product of the expression beside it. The ADR now says $64.80.

When the number gets large

Your workload

Ingest
Readers
Cluster
Prices
LineAmountUSD / month

Bundled puts per second while ingest is flowing: 4. If each partition flushed alone: 4 puts per second. That second figure is not part of the total. List pages this month: 0.

Compute is brokers times the hourly price times 720 hours, whether or not ingest is flowing. wal disk is the footprint while ingest is flowing: replication factor times that rate times upload lag, capped at 8 GiB per broker. It is not scaled down by the idle hours. r2 keeps no log on disk. Each network row is one copy of the bytes produced during the flowing hours. Follower replication is that volume times replication factor minus one, and only in wal mode. Out to consumers is that volume times fan-out. The price fields start at a small cloud rate: $0.04 per broker-hour, $0.08 per GB-month of disk, and $0.01 per GiB of virtual-machine traffic. Replace them with your own rates.

Next to Confluent Cloud

Dated 2026-11-12. These rows are a fixed example, separate from the form. Three Hetzner CX33 brokers on the USD list: $0.016 an hour, capped at $9.99 a month, plus a $0.60 IPv4, so $32 for the three. Each includes 20 TB of outbound traffic, then $1.20 per TB. Traffic between the brokers is outside that quota. R2 is the price in ADR 0007. Confluent’s figures are the list card the same day, before a region multiplier, support, or connectors. Their GB is a GiB. Storage on Basic and Standard is about three copies. An eCKU is counted only during the hours ingest flows. A Standard cluster left on all month is $540 per eCKU before those bytes.

WorkloadCamus on these brokersConfluent Cloud
1 MiB/s, 8 hours a day, 7 days, 1 reader $35 Basic $132. Standard $286–$312
1 MiB/s, 24 hours a day, 7 days, 1 reader $41 Basic $395. Standard about $935
100 MiB/s, 8 hours a day, 7 days, 3 readers $765 Standard $17,300–$22,300

What applies here