# Fly.io Pricing in 2026 for Machines, Volumes and IPs

By Femi Adegoke · 2026-11-03 · Source: https://www.activepieces.com/blog/fly-io-pricing-in-2026-for-machines-volumes-and-ips

---
<aside class="tldr"><p class="tldr-label">Summary</p><p>Fly.io dropped tiered plans and now charges per-second for running machines, plus separate meters for volumes, IP addresses and outbound bandwidth.</p><ul><li>Shared 1x CPU 256MB machine costs $2.19 per month, performance 32GB costs $528.02.</li><li>Outbound bandwidth costs $0.02 per GB in North America, $0.04 in Asia Pacific.</li><li>Stopped machines still bill $0.15 per GB per month for storage.</li></ul></aside>

There's no flat plan required and no tier to pick, and paid support plans are optional.

Fly.io pricing is usage-based: you **pay per second for machines while they run**, much as you would when running a small [Activepieces](https://www.activepieces.com) instance alongside other services, and you have separate meters for storage, IP addresses and outbound traffic.

The number on your invoice comes from how you configure machines, not from a plan name.

## Fly.io pricing in 2026: the short answer

### What Fly.io charges for

On Fly.io, different units and counting methods apply. The unit here is a resource, not a task or a run.

Four meters make up the bill:

- Started machines, billed per second while they run
- Volumes, billed per GB of provisioned storage
- Dedicated IPv4 addresses, at $2 per month each
- Outbound bandwidth, billed per GB leaving the network

![Four billing meters: machine, volume, IPv4 address, bandwidth](https://ap-marketing-media.fra1.cdn.digitaloceanspaces.com/uploads/45cb0709-f43d-49b4-a923-69b2f9519811/fly-io-pricing-in-2026-for-machines-volumes-and-69871aa9.webp)

**The total's easy to underestimate**, because each line is small by itself. A machine's rate depends on its size, so a bigger CPU and memory setting raises the largest line on the bill.

Provision a volume and you pay for the space whether or not you fill it, so over-sizing costs money every month. [Exodus](https://exodus.elim.io/blog/fly-io-pricing-next-to-cloud-run) notes that only the dedicated IPv4 has a fixed price per address, so it's the one meter you can budget exactly.

Budget for the sum of the four, not for any single rate.

### Where the Fly.io pricing figures come from

As of 3 November 2026, the figures and billing rules here come from Fly.io's public pricing page and its pricing documentation. Fly.io changes its rates, so confirm any figure you plan to budget on against those pages on the day you decide.

Where a rate depends on machine size or region, I describe how the meter works instead of quoting a number I couldn't confirm.

## Every Fly.io plan and price in one table

There is one plan now, pay-as-you-go, so this section lists meters and what they cover, not a tier you pick. [Docs](https://docs.fly.io/about/discontinued-plans) reports that **Fly.io retired the three-tier structure** (Hobby, Launch, Scale) in 2024, so any guide naming those tiers is out of date.

Fly.io bills per meter as you use it, covering machines, volumes, bandwidth and IP addresses, with no flat monthly cap, so the bill's the sum of the meters.

Fly.io quotes support plans separately from usage; they give you help from Fly.io staff and sit outside the usage bill.

The compute meter swings the total most, and the next chart shows how far apart machine presets sit on price.

![How far apart Fly.io Machine sizes sit on price](https://ap-marketing-media.fra1.cdn.digitaloceanspaces.com/uploads/92d122ae-6316-41d4-bb0a-f787714325db/fly-io-pricing-in-2026-for-machines-volumes-and-aa244fde.svg "Source: Fly.io")

### Compute: shared and performance machine rates

At [2.19 $ per month](https://fly.io/pricing), a started shared machine with 1x CPU and 256MB keeps a small app cheap.

Step up to the 2x 512MB preset and it's 4.39 $; 4x 1GB is 8.78 $, 6x 1.5GB is 13.16 $ and 8x 2GB is 17.55 $, so capacity scales up faster than cost at each tier.

Performance machines start higher. The 2GB size is 33 $ per month, 8GB is 132.01 $, 16GB is 264.01 $ and 32GB is 528.02 $.

Because 32GB costs about 241 times the smallest shared machine, **picking the wrong preset is the largest error** in your budget. Shared 8x 2GB at 17.55 $ costs about half of performance 2GB at 33 $, though the two are different CPU classes.

<blockquote class="pull"><p>Because 32GB costs about 241 times the smallest shared machine, picking the wrong preset is the largest error in your budget.</p></blockquote>

You won't find volumes, bandwidth or IP addresses inside the machine rate: they're separate meters, each on the same pricing page. Add them to the compute figure for every app you run.

On top of usage, support costs extra, so it adds a fixed line to your total. A hobby project on a 2.19 $ machine can skip it.

A team running performance machines, where one hour of downtime costs more than the plan, should price it in.

## What Fly.io costs at realistic usage

Add four meters together and you have a Fly.io bill; the machine line moves the most because it depends on size, count and hours running.

The table sets out each workload's line items under stated assumptions, so you can see which meter dominates and which barely registers.

| Line item | Hobby | Two-region production | Busy multi-region API |
|---|---|---|---|
| Machines | One small shared-CPU machine, stopped when idle | Two always-on machines per region, shared or modest dedicated CPU | Many always-on dedicated-CPU machines across several regions |
| Volume | One small volume | One volume per machine, sized for the database | Many large volumes, one per stateful machine |
| IPv4 | Shared address, no dedicated charge | One dedicated address | Dedicated addresses per app |
| Bandwidth | Billed per GB of outbound data | Modest outbound traffic | Outbound traffic as a major line |
| Total | Machines plus a small volume | All four lines, machines and volumes largest | All four lines, machines and bandwidth largest |

Assumptions: machines run the whole month except the hobby app, Fly.io bills volumes by provisioned size and traffic on outbound data only.

For the hobby app, the machine line is the lever. A stopped machine stops billing for CPU and RAM, so an app that sleeps between requests costs far less than one left running.

The volume keeps billing while stopped, though, so that line sets your floor.

A small production app in two regions pays for redundancy, because it doubles the machine count. Each machine with its own volume adds a storage charge.

The dedicated IPv4 is a flat per-address fee. Reserved compute blocks discount always-on machines, but only pay off if those machines really run all month.

On a busy multi-region service, machine count multiplies by region count, and every stateful machine carries a volume.

Bandwidth stops being a rounding error here, because Fly.io bills outbound data per unit and the charge grows with traffic. Budget the sum, then check which meter grew fastest.

## Hidden Fly.io costs and limits people hit

Expect surprises from small meters that keep running when you think nothing is: stopped-machine storage, snapshots, a dedicated IPv4 address, regional bandwidth and database plans.

### Costs that continue when machines are stopped

**Park a machine and its root filesystem still bills at $0.15 per GB per month.** A fleet of 50 parked 8 GB machines costs about $60 a month while serving nothing.

![Rows of parked machines each with a storage disk in the boot](https://ap-marketing-media.fra1.cdn.digitaloceanspaces.com/uploads/91a9f8ff-81a2-41d0-be7d-0bffce05a9dd/fly-io-pricing-in-2026-for-machines-volumes-and-fbbe3a18.webp)

After the first 10 GB, snapshots cost $0.08 per GB, which means a few large volumes with frequent backups can outgrow the free allowance quickly. Fly's docs are silent on whether snapshot retention is capped for you, so check your own retention setting.

### Network and IP charges

At $2 per month, a dedicated IPv4 address looks trivial for one app, so it becomes a default add-on. One per customer-facing app across 30 apps is $60 a month before any compute.

Where your traffic leaves matters, because Fly.io meters outbound bandwidth per GB by region. [MyStackPlan](https://mystackplan.com/providers/fly-io) lists $0.02 per GB for North America and Europe, $0.04 for Asia Pacific and South America, and $0.12 for Africa and India, making region selection critical for cost control.

![Fly.io outbound bandwidth price by billing region](https://ap-marketing-media.fra1.cdn.digitaloceanspaces.com/uploads/ceb97a9d-b808-459d-9ecb-2da6f34ce7ba/fly-io-pricing-in-2026-for-machines-volumes-and-030cfcc5.svg "Source: MyStackPlan")

Work out where your users sit before trusting any one bandwidth figure.

### Managed database and volume costs

**$38 a month is where Managed Postgres starts**, and that's a plan price before storage, meaning you'll pay more as your dataset grows. A small side project that would have run on a self-managed Postgres machine now carries a fixed floor.

![A big polished cabinet squeezed into a small shed](https://ap-marketing-media.fra1.cdn.digitaloceanspaces.com/uploads/2e3feb27-b6b3-41c9-a5b8-d2918c7bbed8/fly-io-pricing-in-2026-for-machines-volumes-and-d3b04547.webp)

Empty space still bills: volumes charge for provisioned size whether or not data fills them, so an oversized volume is a recurring charge. No per-GB storage rate for Managed Postgres appears in the sources here, so confirm it before budgeting.

No published ceiling for autoscaling or for per-account machine counts appears in the sources here. Treat both as unknown. Ask support before a launch, because an unexpected limit arrives as an outage, not as a line on the invoice.

## Fly.io pricing against Render, Railway and Heroku

Expect Fly.io to be cheapest when machines can stop or sit close to users, and to lose to flat-plan hosts when one small app simply runs all month.

Metering matters more than any entry price, because it decides whether your bill moves with usage or stays fixed. The table below sorts the four platforms by how each one meters.

| | Small always-on entry price | Metering | Included bandwidth | Managed Postgres | Multi-region | Free options |
|---|---|---|---|---|---|---|
| Fly.io | Smallest shared machine, billed while running | Per machine, plus volumes, IPs and bandwidth | Allowance varies by region | Offered, priced separately | Core feature; run machines in many regions | Trial-style credit, no standing free tier |
| Render | Fixed monthly price per instance size | Flat per instance | Included per plan | Offered, fixed plans | Services pinned to one region | Free web tier that sleeps when idle |
| Railway | Usage-based from a small plan | CPU, memory and storage by use | Egress billed by use | Available as a database service | Limited | Trial credit |
| Heroku | Lowest paid dyno tier | Flat per dyno | Soft limits per app | Add-on with fixed plans | Mostly through higher-end plans | No standing free tier |

Confirm each cell against the vendor's pricing page before committing, since plans change.

### Where Fly.io is cheaper

Fly.io wins when the app doesn't need to run constantly, or when users are spread across regions.

When machines stop on idle, they cost almost nothing while stopped, so a staging environment or a bursty service pays for use, not for the month.

Multi-region is also a configuration choice here, where the flat-plan hosts treat it as a separate deployment or a higher tier.

### When Fly.io pricing is not the cheaper option

For one small app that runs all month in one region, a flat instance on Render or Heroku gives a fixed bill you can predict from a single line.

Fly.io's total there is the sum of machine, volume, IP and bandwidth, so it can land higher or lower, and you have to add it up yourself. Railway's usage model carries the same uncertainty, so budget for the sum on both.

## Catching Fly.io bill surprises with Activepieces

Someone has to watch the sum, and Activepieces, an open-source AI automation platform with an MIT-licensed core and 746 integrations (which means most services you depend on are probably already supported) can do it: a scheduled flow pulls your Fly.io billing data and alerts you when spend crosses a threshold.

A scheduled workflow counts your machines and volumes, compares them with a budget you set, and posts to Slack or email when you drift past it.

It monitors cost; it doesn't reduce it.

Because every extra machine or volume is a separate meter, the cheapest alert is one that fires on the count of those meters before the invoice does.

### What Fly.io's own billing tools cover

Start with what Fly.io gives you, because it's closer to the source of truth. The dashboard shows your current usage and past invoices, and the CLI lists every machine and volume in an app. Those tell you what you're running and what you've been charged.

What they leave to you is the habit of looking. Until someone opens the dashboard, a forgotten staging machine or an orphaned volume keeps accruing on its own meter.

Activepieces fills that gap and nothing more, and because every plan including free allows unlimited flows, a separate watcher for each app adds no tier to buy. It can't change a machine's size, stop idle machines, or alter your invoice.

Treat Fly.io's tools as the place where you find and fix the cause, and the workflow as the prompt to go there.

### A scheduled spend-check workflow

A daily check is one run per day, and the Activepieces pricing page states 1 credit per flow run, any number of steps, so the five-step flow above costs what a two-step shortcut would.

Zapier's pricing page bills per task and Make's bills per module, so on those pages each added step is a charge, which penalises the habit of splitting work into small, reliable parts.

The Free plan's 1,000 credits a month cover a daily check with room to spare, and MoneyGram, Moneypenny, Alan and FundingSocieties run Activepieces in production.

Because the Activepieces core is MIT-licensed and the Community Edition is free to self-host, you can run it on Fly.io itself.

The software costs nothing, but it adds a machine, and probably a volume, to the very bill it watches, so count them in your budget.

Once the alert fires, the next step is Fly.io's own tools: find the machine or volume responsible and resize or remove it.

## A Monday morning Fly.io cost check

Make a single pass through every meter on your account, in an order that removes waste before you tune what's left. Each step shrinks what the next one has to inspect:

1. Run `fly machines list` for each app.
2. Run `fly volumes list` for each app.
3. Delete orphaned volumes and unused IPs.
4. Right-size machine presets.
5. Set auto-stop on machines that don't need to run constantly.
6. Review regions.
7. Pick a support plan.
8. Record a budget.

### Audit your running Fly.io machines and volumes

Preset, region and state: the machine list shows what you pay compute for. A stopped machine and a started one are metered differently, so the state column matters as much as the size.

The volume list shows storage, which keeps billing whether or not a machine is attached. Any volume with no attached machine is a candidate for step three.

### Cut what you do not use

Destroy orphaned volumes only after confirming you have a snapshot or no longer need the data, because deletion's final. Release dedicated IPs that no app uses, since each one is its own line on the bill.

Then compare each machine's preset with what the app actually consumes, and drop to a smaller one where you can. Set auto-stop in the app's `fly.toml` for anything that serves intermittent traffic, so idle machines stop accruing compute.

Finally, check whether each region earns its place: every region you run in repeats machines and volumes.

Choose a support plan on purpose rather than by default, since it's a meter of its own. Then write your budget as a sum: machines, plus volumes, plus bandwidth, plus IPs, plus support.

Put a date on the calendar to repeat this check. The sum from this week is the baseline the next alert gets compared against.

## Frequently asked questions

These are the questions the baseline sum tends to prompt, answered without restating the meters above.

Does Fly.io still have a free tier? No. New accounts pay for what they run, metered per machine, volume, IP and gigabyte of bandwidth.

**Older accounts may carry legacy allowances**, so check your own dashboard before assuming a line item will read zero. Budget as if nothing is free.

Is Fly.io billed monthly or in advance? Mostly in arrears: usage accrues over the month and lands on an invoice afterward. That means the first sign of a bad configuration can be a bill, not a refusal at deploy time.

Check the running total during the month, not only when the invoice arrives.

Can Fly.io bills be capped? Not as a hard ceiling that shuts machines down when you hit a number.

You cap spend indirectly: fewer machines, smaller machine sizes, stopping machines that sit idle, and alerts on the total. Your ceiling is whatever your configuration can produce if left running all month.

### How much does a small Postgres database cost on Fly.io?

It depends on which Postgres you mean. The older Fly Postgres is unmanaged: you pay for the machines and volumes it runs on, and you handle backups, failover and upgrades. Fly's managed Postgres is priced as its own product by plan.

For the older Fly Postgres, the cost is the sum of its parts, and replicas multiply both the machine and the volume. For managed Postgres, read the plan page for what's included before comparing.

### Is Fly.io cheaper than AWS for a small app?

Often, but only if the comparison covers the same integrations. Price a Fly setup as machines plus volumes plus bandwidth plus IPs, then price the AWS equivalent including its load balancer, data transfer and database.

A small app with one or two always-on machines and no managed database can come out well ahead. Add replicas, dedicated IPs and heavy egress, and the gap narrows. Compare the two totals, not the headline compute rates.

## References

- [MyStackPlan](https://mystackplan.com/providers/fly-io)
- [Fly.io](https://fly.io/pricing)
