Skip to main content

Egress Is the Bill: Where Fly.io's $0.02/GB, Railway's $0.05/GB, and the $0.04 APAC Rate Overtake Compute

10 min readDora NodaDora Noda
Share
On this page

An API-heavy app doing a terabyte a month out pays more for bandwidth than for servers on one of the three big PaaS platforms — and the crossover point for each is a number you can circle on a calendar. On Render's current plans, egress passes compute at roughly 2.8 TB/month. On Railway, at about 6.5 TB. On Fly.io, at 10 TB in North America and Europe — but only 5 TB if your traffic lands in Asia Pacific. Same app, same responses, four different months where bandwidth quietly becomes the bill.

That is the short version of this post: a worked crossover sheet for the same scale-tier stack on Fly.io, Railway, Render, and owned Hetzner hardware, built on Techsy's July 2026 head-to-head pricing. If you serve heavy JSON, images, audio, or file downloads, the platform decision stops being about compute the moment your transfer crosses those lines — so let's price exactly where the lines are.

The setup: one stack, four bills​

Techsy's July 2026 comparison (prices re-checked July 19) put the scale tier — 4 web services plus workers, a Postgres cluster, and Redis, serving 10,000+ requests per minute — at roughly $150–250/month on Fly.io, $250–400/month on Railway, and $350–500/month on Render. Those are compute-and-data baselines before bandwidth, and they are the anchor every number below hangs on. I'll use the midpoints ($200, $325, $425) for the crossover math.

The per-gigabyte rate card, all confirmed against 2026 sources:

PlatformEgress rateAllowanceSource
Fly.io (NA/EU)$0.02/GBnone metered separatelyFly.io pricing, 2026 price-cut announcement
Fly.io (APAC / most other regions)$0.04/GBsameFly.io pricing
Fly.io (Africa, India)$0.12/GBsame2026 pricing coverage
Railway$0.05/GB flat, every regionnoneRailway pricing, Techsy July 2026
Render (Pro)$0.15/GB overage25 GB/month includedRender Pro plan, effective Aug 1, 2026
Hetzner (EU server)€1/TB (~$1.17) overage20 TB/month includedHetzner price list, post–June 15, 2026

Two things to notice before the math. First, Render's $0.15/GB is triple Railway's and more than 7x Fly.io's cheapest rate — the legacy of its August 2026 replan, which cut included bandwidth to 5–25 GB and moved overages to a flat per-gigabyte meter. Second, Hetzner's 20 TB allowance is two orders of magnitude above the volumes where the metered platforms start hurting, even after Hetzner's own 2026 resets (cloud up to 37% in April, servers repriced June 15).

The crossover sheet: where bandwidth passes compute​

Here is the egress line alone at five transfer volumes, all North America/Europe traffic, using the midpoints above as the compute each platform has to beat:

Egress/monthFly.io ($0.02)Railway ($0.05)Render ($0.15 over 25 GB)Hetzner (20 TB incl.)
100 GB$2$5~$11$0
500 GB$10$25~$71$0
1 TB$20$50~$146$0
5 TB$100$250~$746$0
10 TB$200$500~$1,496$0

Now stack each against its compute midpoint to find the crossover — the month where you spend more moving bytes than running code:

PlatformCompute (mid)Egress rateCrossover volume
Fly.io, NA/EU~$200$0.02/GB~10 TB
Fly.io, APAC~$200$0.04/GB~5 TB
Railway~$325$0.05/GB~6.5 TB
Render~$425$0.15/GB~2.8 TB
Hetzner box~$50–70 flat$0 inside 20 TBnever (inside allowance)

The honest read: at scale-tier compute, nobody's egress wins early — the compute base is big enough that bandwidth needs terabytes to catch it. Render gets there first by a wide margin, at under 3 TB, because $0.15/GB is brutal against any compute base. Railway follows at 6.5 TB. Fly.io's cheap NA/EU rate holds out to 10 TB, which is genuinely hard to reach for an API that isn't serving media.

But flip to full monthly totals and the ranking is already decided well before any crossover, because egress adds to — not replaces — compute:

Total at volumeFly.io NA/EUFly.io APACRailwayRenderHetzner
1 TB~$220~$240~$375~$571~$50–70
5 TB~$300~$400~$575~$1,171~$50–70
10 TB~$400~$600~$825~$1,921~$50–70

At 5 TB, Render costs roughly 4x Fly.io's NA/EU total for the same stack — and about three-quarters of that gap is the bandwidth line ($646 of $871). That is what "egress is the bill" means in practice: not that compute is free, but that the platform decision is made by the per-gigabyte rate long before any crossover fires.

One sensitivity check keeps this representative: the crossovers above assume scale-tier compute. On a starter stack — say $25/month of compute — the same math crosses far sooner: roughly 500 GB on Railway ($25 ÷ $0.05), under 170 GB on Render, and 1.25 TB on Fly.io NA/EU. Small apps with big responses hit the bandwidth wall first. If your side project serves podcast audio or map tiles, you are living in the egress column, not the compute column, from month one.

The APAC asterisk: Fly.io's edge is a regional average​

Fly.io's headline rate deserves its asterisk. The $0.02/GB price covers North America and Europe only; Asia Pacific and most other regions bill at $0.04/GB, and Africa and India at $0.12/GB. For an app whose users are all in the US and EU, the headline holds. For everyone else, the effective rate is a blend — and the blend moves the crossover.

Take a 1 TB/month app at three traffic mixes:

Traffic mixEffective Fly rateFly egress at 1 TBRailway at 1 TBFly's edge
100% NA/EU$0.02$20$502.5x cheaper
50/50 NA-EU/APAC$0.03$30$501.7x cheaper
80% APAC$0.036$36$501.4x cheaper

And the crossover slides with it: at a 50/50 mix the effective $0.03/GB rate crosses $200 of compute at ~6.7 TB instead of 10 TB — barely ahead of Railway's 6.5 TB. An APAC-heavy app on Fly.io is paying nearly Railway money for bandwidth while doing the multi-region ops work Fly.io's model asks of it. The $0.12 Africa/India tier is worse still: 1 TB served there costs $120 in egress alone, more than double Railway's flat worldwide $50.

The takeaway is not that Fly.io's regional pricing is a trap — $0.04 is still cheaper than $0.05 everywhere it applies. It is that "Fly.io wins bandwidth" is a statement about NA/EU traffic, and the margin compresses fast as your user map spreads. Price your actual region mix, not the headline.

The Hetzner flat line: $0 egress all the way to 20 TB​

The same transfer profile on owned hardware is almost boring to price. A Hetzner EU dedicated box in the AX41 class (~€45–60/month) bundles 20 TB of traffic; overage past that is €1/TB, or roughly a dollar per terabyte against the $20–150 the metered platforms charge. Every row in the crossover sheet above reads $0 in the Hetzner column, and the total stays flat at ~$50–70/month from 100 GB to 10 TB.

At 5 TB/month, that flat line is roughly 5x cheaper than Fly.io NA/EU's total, 10x cheaper than Railway's, and 20x cheaper than Render's — for the same stack serving the same bytes. Hetzner's 2026 repricing (cloud up to 37% in April, servers standardized June 15) narrowed the compute gap with metered clouds but barely touched this story, because the story was never about compute: it is about a bundled-transfer model against per-gigabyte meters.

The honest caveats, stated plainly: the flat line buys no managed Postgres, no autoscaling, no zero-downtime deploys out of the box, and no global anycast — you operate the box, the database, and the failover story yourself. Teams that price Hetzner at the hardware sticker and forget the ops hours are making the mirror-image error of teams that price PaaS at the compute sticker and forget the egress. And the 20 TB allowance is a European figure; Hetzner's US and Singapore locations include far less (roughly 0.5–8 TB depending on product), so a global flat-rate story still needs region-aware planning.

But for a single-region API-heavy app, the shape of the comparison is stark: metered egress grows linearly with your success, while the flat box stays flat until 20 TB. Growth is the variable that decides.

Which bill is yours?​

The sheet compresses to four rules of thumb. If your app is NA/EU traffic under ~3 TB/month and you want zero ops, Fly.io's $0.02 rate plus its low compute base is the cheapest metered seat in the house. If your traffic is global or APAC-heavy past a few terabytes, Fly.io's blended rate converges on Railway's flat $0.05 — pick on ops model and Postgres story, not bandwidth. If you are on Render serving over ~1 TB, the $0.15 overage dominates everything else in the bill; either the managed-convenience premium is worth it to you at that multiple, or it is time to move the bytes. And if your transfer grows past ~5 TB/month in one region, no per-gigabyte meter beats a bundled-transfer box — the flat line wins by multiples that only widen.

The deeper pattern is that egress pricing, not compute, is now the load-bearing wall of PaaS bills for API-heavy workloads. Compute got cheap and comparable; bandwidth stayed metered and regional while the 2026 replan wave shrank included allowances. Price the bytes first, then the boxes.

Bex.co is the open-source, AI-native Render alternative — push a git repo, get a running HTTPS service on machines you own, where bundled bandwidth means egress never becomes the bill. Star the repo on GitHub or deploy your first app today.

Sources​

  • Techsy, "Railway vs Render vs Fly.io: Benchmarks & Pricing (2026)" — scale-tier compute bands, Railway $0.05/GB egress (techsy.io)
  • Fly.io pricing docs and "We cut bandwidth prices. Go nuts." — $0.02 NA/EU, $0.04 elsewhere (fly.io)
  • Railway pricing and "Usage-Based vs. Fixed Pricing" (2026) — metered compute and $0.05/GB egress (railway.com, blog.railway.com)
  • Render workspace replan coverage — Pro 25 GB included, $0.15/GB overage from Aug 1, 2026 (render.com changelog, community reports)
  • Hetzner price lists and 2026 hike analyses — 20 TB EU allowance, €1/TB overage, April cloud + June server resets (hetzner.com, netcup-vs-Hetzner comparisons)

Related articles

Check your move before you migrate

Free browser tools: check a render.yaml or your Render scripts against bex, or turn a Heroku app or docker-compose.yml into a draft render.yaml. Nothing you paste leaves your browser.

Open the migration tools