Fly.io Free Tier: Actual Monthly Bill for a Solo Side Project

Most developers assume “free tier” means zero dollars. Fly.io’s pricing structure makes that assumption expensive.
The platform’s free allowances look generous on paper โ shared CPUs, 256MB RAM machines, 3GB storage. But once you push past the defaults and start running anything resembling real traffic, the actual monthly bill tells a different story.
This breakdown covers exactly what you’ll pay, where the surprises hide, and how Fly.io stacks up against alternatives in 2026.
Key Takeaways
- Fly.io’s free tier covers roughly $5โ7 of compute per month, but most side projects exceed this within 60โ90 days of launch.
- The three biggest surprise charges are persistent volumes, egress bandwidth, and IPv4 addresses โ none covered by free allowances after Fly.io restructured pricing in late 2024.
- A solo developer running a typical web app (Node.js or Python backend, Postgres database, low-to-moderate traffic) should budget $15โ25/month in 2026, not zero.
- Alternatives like Railway and Render offer more predictable flat-rate pricing, but Fly.io’s infrastructure density and edge deployment model remain technically superior for latency-sensitive workloads.
- Your actual bill varies significantly depending on whether you’re running always-on machines or machines that scale to zero.
What Fly.io’s Free Tier Actually Covers in 2026
Fly.io’s cost management documentation lists a monthly free allowance that resets each billing cycle. As of May 2026, that includes:
- 3 shared-CPU-1x machines with 256MB RAM (up to 2,160 combined hours)
- 3GB persistent storage across all volumes
- 160GB outbound data transfer
- Shared IPv6 addressing (IPv4 costs $2/month per static IP)
That sounds workable. A small Express.js API or a hobby Postgres instance fits inside those limits. The problem is what isn’t covered.
Persistent volumes beyond 3GB bill at $0.15/GB/month. Dedicated CPU machines โ which you’ll want the moment you’re running background workers or anything CPU-bound โ aren’t in the free tier at all. And that $2/month IPv4 charge applies per app that needs a routable public IP, which covers most apps not sitting behind a proxy.
One detail buried in the documentation: free allowances are shared across your organization, not per project. If you’ve got two or three side projects under one account, you’re splitting those compute hours. You don’t get a fresh allocation for each repo.
The Actual Bill: A Realistic Side Project Scenario
Take a common 2026 side project stack: a Next.js app, a Node.js API server, and a managed Postgres database on Fly.io. This is exactly the kind of setup where the numbers get concrete fast.
Compute Costs
Running two shared-cpu-1x, 256mb machines (frontend + API) continuously consumes roughly 1,440 hours each per month. That’s 2,880 hours total โ already consuming the entire free allowance. Add a third machine for a database proxy or background worker and you’re paying for overage.
Each additional shared-CPU machine runs approximately $1.94/month if it scales to zero overnight. Always-on? Closer to $5.70/month per machine.
Storage and Database
A Fly Postgres cluster with a 10GB volume โ realistic for any app storing user data โ costs:
- 3GB free, 7GB billed at $0.15/GB = $1.05/month
- Plus the Postgres machine itself, which counts against your compute allowance
Networking
The 160GB free egress covers moderate traffic. But serving images, assets, or API responses to a few hundred daily active users can push you past that threshold. Bandwidth above the free tier runs $0.02/GB. The IPv4 charge is effectively unavoidable for most apps: $2.00/month.
Real Monthly Total
| Cost Item | Monthly Estimate |
|---|---|
| Compute (2 always-on shared machines) | $11.40 |
| Extra compute (worker machine, scaled to zero) | $1.94 |
| Postgres volume storage (7GB overage) | $1.05 |
| Static IPv4 address | $2.00 |
| Egress bandwidth (within free tier) | $0.00 |
| Total | ~$16.39 |
That’s a realistic floor. Add a second IPv4, a larger database, or a dedicated CPU machine and you’re at $25โ35/month fast.
This approach can also fail quietly โ if a traffic spike hits while you haven’t set a billing cap, Fly.io will keep scaling and keep charging. The dashboard supports hard spending limits. Use them.
Fly.io vs. Alternatives: Where the Math Changes
| Platform | Free Compute | Database Included | Predictable Pricing | Edge Deployment |
|---|---|---|---|---|
| Fly.io | 3 shared machines | No (separate cluster) | No (usage-based) | Yes (30+ regions) |
| Railway | $5 credit/month | Postgres included | Yes (flat plans) | No |
| Render | 750 hrs free/month | 90-day free Postgres | Yes (flat plans) | Limited |
| Hetzner VPS | N/A | Self-managed | Yes (flat) | No |
Railway’s Hobby plan starts at $5/month and includes Postgres. It’s simpler to reason about financially. According to SaasPricePulse’s 2026 analysis of Fly.io’s tier structure, the absence of a predictable flat-rate option remains the top complaint among solo developers โ not the price itself, but the unpredictability.
Render’s free tier comes with a different penalty: services suspend after 15 minutes of inactivity. That cold-start delay makes it impractical for any app where consistent response time matters.
Fly.io’s technical edge is real and not trivial. Sub-20ms latency from 30+ global regions, machine startup times under 2 seconds for most workloads, genuine Anycast networking. For a latency-sensitive side project with international users, that infrastructure density is hard to match at any price point. But it’s not the right trade-off for every project โ an internal tool or low-traffic MVP doesn’t need edge deployment, and Railway’s flat pricing will serve it better.
What to Do With This Information
Pre-launch or early experimentation? Fly.io’s free tier genuinely works. Two machines, no custom domain requiring IPv4, Postgres under 3GB โ you can stay in the free zone for months without careful management.
Past early traction? Budget $15โ20/month and treat it as a real infrastructure line item. Set a hard spending limit inside the billing dashboard before you need it, not after a surprise invoice forces the conversation.
Predictability matters more than edge performance? Railway’s flat pricing or a Hetzner VPS ($4โ6/month for a CX22) gives you a fixed monthly number. You lose the global edge network. Most side projects don’t need it, and the mental overhead of usage-based billing adds up over time in ways that don’t show on invoices.
Fly.io has also signaled a potential developer plan tier in Q3 2026 that would bundle compute, storage, and one IPv4 address at a flat monthly rate. If that ships, it changes the calculation above materially. If it doesn’t, expect solo developers to keep drifting toward simpler pricing models.
The Bottom Line
The actual monthly bill for a solo developer on Fly.io lands between $0 and $35 depending on usage โ with most realistic, actively-used apps settling around $15โ20/month.
The free tier is real, but it’s scoped to roughly three always-on machines before charges start. IPv4 addresses and persistent storage are the two costs that catch developers off guard most consistently. Fly.io’s infrastructure justifies the cost for latency-sensitive workloads. For everything else, Railway and Hetzner offer better pricing predictability, if not better infrastructure.
The next six months will clarify whether Fly.io closes that gap with a flat developer plan. Until then, the honest answer to “is Fly.io free?” is: not once your project is actually running.
What’s your Fly.io bill at right now? Drop the number in the comments โ real data helps everyone plan better.
References
- 7 Fly.io Alternatives in 2026: Real Pricing After the Free Tier Died - ExpressTech
- Cost Management on Fly.io ยท Fly Docs
- Fly.io Free Tier 2026: What Can You Actually Host?
Photo by Microsoft Copilot on Unsplash


