On February 6, 2026, Salesforce moved Heroku into sustaining engineering: no new features, no new enterprise contracts for new customers, maintenance patches only. Thousands of teams that were already comparison-shopping suddenly had a deadline, and one comparison has absorbed most of that traffic ever since: Techsy's Railway vs Render vs Fly.io: Benchmarks & Pricing (2026), last re-checked against live pricing pages on July 19, 2026. It hands Railway the hobby-pricing and developer-experience crowns, Fly.io the scale crown on $0.02/GB egress, and Render the managed-database crown.
That was July. September has its own price lists, and two months is a long time in 2026 PaaS pricing. I re-ran every verdict in the table against real bills — and then priced the fourth column the comparison never includes: the same topology on an owned Hetzner box. Here is the audit, up front.
The verdict audit, up front
| Crown | Techsy winner | Status in September 2026 | Deciding number |
|---|---|---|---|
| Hobby pricing | Railway | Holds, with an asterisk | ~$5/mo — but "pay nothing when idle" contradicts Techsy's own no-scale-to-zero row |
| Scale pricing | Fly.io | Holds in NA/EU | $0.02/GB egress — until your traffic is in Africa or India, where it is $0.12/GB |
| Managed database | Render | Holds, comfortably | ~$9/mo with PITR vs ~$41/mo for the equivalent elsewhere |
| Scale-to-zero | Fly.io | Holds, uncontested | 300ms–2s cold starts vs 30–60s on Render free, nothing on Railway paid |
| Developer experience | Railway | Holds | Zero-config Railpack deploys vs fly.toml you must learn |
| Team features | Render | Holds, and the gap widened | $25/mo flat Pro workspace; Railway flattened to $20/workspace too |
Four findings are worth your time even if you skim nothing else. First, Techsy's hobby justification contains a sentence that is simply wrong, and it matters for idle workloads. Second, Fly.io's scale crown has a regional tripwire nobody quotes. Third, at least one seat-price line in the July table is already stale. Fourth, the Hetzner fourth column undercuts every managed row at every tier — sometimes by 10x — a baseline managed-only comparisons structurally omit.
Idle economics: the hobby and scale-to-zero crowns
Techsy's hobby row prices one web service plus one database at ~$5/mo on Railway, $0 on Render's free tier, and ~$4–6/mo on Fly.io. Those numbers still hold. What does not hold is the sentence in the final verdict justifying Railway's hobby crown: "pure usage-based, pay nothing when idle."
Railway has no scale-to-zero. Techsy's own comparison table says so — "No (stays warm on paid)" — two sections above the verdict that claims the opposite. On a paid plan, a Railway service bills for every second it exists, idle or not.
"Pay nothing when idle" describes Fly.io Machines, which stop on zero traffic and wake on the next request. Attributing Fly.io's superpower to Railway in the verdict line is the single clearest error in the comparison, and it points the wrong team at the wrong platform: if your hobby project is a bot that wakes twice a day, Fly.io's meter stops between runs and Railway's does not.
The honest hobby ranking depends on what "idle" means for you. Render's $0 free tier is genuinely free but spins down after 15 minutes of inactivity with 30–60 second cold starts — fine for a demo, miserable for anything you open daily. Fly.io has no ongoing free allowance for organizations created after October 7, 2024 (just a short trial, then a credit card from the first dollar), so that ~$4–6/mo is real money on day one. Railway's $5/mo Hobby plan is the most predictable of the three, always warm, always $5-ish.
Now run the idle math for the workload the hobby row never specifies: an internal tool at roughly 10% duty cycle. On Fly.io, a small Machine bills ~10% of its ~$6/mo always-on cost plus a stopped volume at $0.15/GB — call it $1–2/mo. On Railway or a paid Render instance, the same tool bills the full always-on rate, $7–25/mo depending on size. Flip the duty cycle to a steady 24/7 service and usage-based pricing turns around and punishes you: Railway's metered $20/vCPU plus $10/GB-month means a 1 vCPU / 2 GB service costs $40/mo always on, against Render's $25 flat Standard instance and Fly.io's ~$16 shared Machine at the same size. Idle economics cut both ways, and the verdict table only shows one edge.
Audit result: hobby crown holds for Railway on price and warmth, but strike the "pay nothing when idle" justification — that crown belongs to Fly.io's scale-to-zero row, which holds uncontested.
The scale crown is an egress story
Techsy's scale tier — 4 web services, 2 workers, a Postgres cluster, Redis, 10K+ req/min — lands at ~$250–400/mo on Railway, ~$350–500/mo on Render, and ~$150–250/mo on Fly.io. The gap is almost entirely egress, so let's isolate it. Monthly bandwidth bill at volume, North America/Europe traffic:
| Egress/mo | Railway ($0.05/GB) | Fly.io ($0.02/GB) | Render ($0.15/GB past allowance) | Hetzner (20 TB included) |
|---|---|---|---|---|
| 100 GB | $5 | $2 | ~$0 (inside allowance) | $0 |
| 500 GB | $25 | $10 | ~$60 | $0 |
| 1 TB | $50 | $20 | ~$135 | $0 |
| 5 TB | $250 | $100 | ~$735 | $0 |
Two things jump out. First, Render's April 2026 replan traded a $70 seat-fee cut for metered bandwidth exposure: at 1 TB the bandwidth line alone ($135) can match the entire compute bill, and past roughly half a terabyte egress dominates every metered invoice. (Our September ledger has the full seat-vs-bandwidth sensitivity analysis.) Second, Hetzner's row does not move at all — 20 TB included, then about €1/TB ($1.17), which is roughly one-seventeenth of Fly.io's celebrated rate.
The sensitivity the verdict table buries is regional. Fly.io's $0.02/GB covers North America and Europe only. Asia-Pacific, Oceania, and South America pay $0.04/GB — still cheaper than Railway's flat $0.05, but the gap narrows from 2.5x to nearly nothing. And Africa and India pay $0.12/GB: at that tier, serving 1 TB costs $120 on Fly.io versus $50 on Railway. If your users are in Lagos or Mumbai, the scale crown flips — the flat-rate vendor beats the usage-based one on the very dimension the crown was awarded for. Any team serving those regions should re-run the scale tier with their own traffic map before trusting a NA/EU verdict.
Audit result: scale crown holds for Fly.io on NA/EU traffic, with the APAC narrowing and the Africa/India flip as mandatory footnotes.
The database crown is Render's moat
This is the least contestable verdict in the table, and the dollar gap is bigger than the pricing rows suggest. Render's managed Postgres includes point-in-time recovery on all paid instances, read replicas on larger tiers, automated backups, and slow-query logs. A ~10 GB production-plausible instance runs about $6 in compute plus $0.30/GB-month in storage: roughly $9/mo, PITR included.
Now price the equivalent elsewhere. Railway's default Postgres is a containerized single node — one click, one connection string, no PITR, no replicas, no automated failover. Running it costs metered compute plus volume, roughly $42/mo at 1 vCPU / 2 GB, and you still lack PITR. Railway shipped an experimental one-click HA Postgres upgrade in March 2026 (Patroni-managed, etcd leader election, HAProxy routing), but Railway's own changelog says not to run production data on it yet — treat it as a roadmap item, not a row in the table. Fly.io is explicit that Fly Postgres is not a managed database at all ("if Postgres crashes because it ran out of memory or disk space, you'll need to do a little work to get it back"), so the real Fly.io database bill is either your own on-call time or an external managed instance: Managed Postgres Basic at $38/mo plus $0.28/GB of storage (~$41 for 10 GB), or a Neon/Supabase project alongside your Fly.io compute.
So the database crown is not just a features checklist — it is a ~$9 vs ~$41/mo line item, the largest single-service gap in the entire comparison. It also explains the strangest shape in the cost table: Fly.io has the cheapest compute at every tier and still totals higher than you would expect, because the database entry fee eats the compute savings. Any "cheapest at scale" claim that prices compute without the database is quoting half an invoice.
Audit result: database crown holds for Render, and the margin (4x on price, plus PITR nobody else ships production-ready) makes it the verdict least likely to flip before year-end.
DX, teams, and how fast comparisons decay
The remaining two crowns hold with less drama, but together they demonstrate the real lesson of this audit: 2026 comparisons decay in weeks, not years.
Developer experience still belongs to Railway. Railpack derives the build from your package.json with zero mandatory config; Render's render.yaml is declarative infrastructure-as-code without Docker expertise; Fly.io's fly.toml offers the most control (deployment strategy, release commands, scale-to-zero settings) and demands the most knowledge. Fastest first deploy wins for iteration speed, and that is Railway by a clear margin.
Team features still belong to Render: native PR preview environments with full database copies, now on a flat $25/mo Pro workspace with unlimited members after the April 2026 replan killed $19/seat pricing. But here is the decay exhibit: Techsy's July table lists Railway Pro at $20/seat, while Railway's pricing page now reads Pro as $20 per workspace with $20 of included usage and unlimited seats — a flattening that appears to have landed after Render's, in summer 2026. A seat-price line written in July is already suspect in September. If you are budgeting off any comparison older than ~60 days, re-check the team row first; it is the row vendors rewrote most aggressively this year.
The missing row: Hetzner at all four tiers
Every managed-only comparison shares one structural bias: the none-of-the-above baseline never appears. So here it is — Techsy's four tiers priced on Hetzner's post–June 15, 2026 price list, same topology in each column (same app, same database, same egress assumptions as the sections above), converted at roughly €1 = $1.17:
| Tier | Stack | Railway | Render | Fly.io | Hetzner (owned box) |
|---|---|---|---|---|---|
| Hobby | 1 web + 1 DB | ~$5 | $0* | ~$4–6 | ~$6 (CX23, 2 vCPU / 4 GB) |
| Startup | web + worker + PG + Redis | ~$25–40 | ~$50–60 | ~$20–35 | ~$10 (CX33, 4 vCPU / 8 GB) |
| Growth | 2 web + worker + PG + Redis | ~$80–120 | ~$130–175 | ~$60–90 | ~$19 (CX43, 8 vCPU / 16 GB) |
| Scale | 4 web + 2 workers + PG + Redis | ~$250–400 | ~$350–500 | ~$150–250 | ~$50 (AX41-class dedicated) |
* Render free tier: $0 with 30–60s cold starts after 15 idle minutes.
The Hetzner column wins every paid row, and the margin grows with the tier: ~2–6x at Startup, ~3–9x at Growth, ~3–10x at Scale. The mechanism is no mystery — one flat machine replaces four metered dimensions (compute, database, previews, egress), and the 20 TB traffic allowance swallows the bandwidth line that dominates the managed rows past half a terabyte.
The honest caveats fit in one paragraph. Hetzner's number excludes ops time: self-run Postgres has no PITR unless you build it (which is precisely Render's moat, above), previews are containers you orchestrate, and regions are EU plus US East rather than Fly.io's global footprint. June's repricing also landed hardest on exactly the instances a growing fleet wants — dedicated-vCPU lines rose 2–2.7x, while the shared CX lines in this table rose a gentler ~1.3–1.4x. Price the box you need, not the anchor you remember. But after all caveats, the shape holds: the flat row repriced once, as one legible number, while the metered rows reprice continuously across five dimensions.
What to pick by stage
| Stage | Pick | Move when |
|---|---|---|
| Solo hacker, sporadic traffic | Fly.io (scale-to-zero) or Render free | You need always-warm without cold starts → Railway $5 |
| Prototype to first users | Railway (fastest iteration) | You need PITR or read replicas → Render |
| Production SaaS, managed infra | Render (managed Postgres + flat teams) | Egress passes ~500 GB/mo or users go global → Fly.io + external DB |
| Global / latency-sensitive | Fly.io (+ Neon/Supabase for Postgres) | Bills pass ~$150/mo steady-state → price the Hetzner row |
| Steady-state, cost-driven | Hetzner box under Cluster API | You need regions Hetzner lacks or zero-ops Postgres → back to managed |
Techsy's verdicts survive September mostly intact: Railway for hobby and DX, Fly.io for scale and scale-to-zero, Render for databases and teams. What did not survive is the fine print — an idle-pricing sentence that contradicts its own table, a scale crown with a regional tripwire, a seat price that already decayed, and a missing fourth column that beats every row it is compared against. Read the verdict table, then read the invoice behind it. They agree on the winners and disagree on nearly everything else.
Bex.co is the open-source, AI-native Render alternative — the Hetzner row above, without hand-running the box: push a git repo, get a running HTTPS service on machines you own. Star the repo on GitHub or deploy your first app today.



