nixfredFLY.IOFIELD GUIDE · BY NIX UNOFFICIAL
EXECUTE / ECONOMICS

Monthly cost calculator (list price, derived)

Rates from the Fly.io pricing, billing and Sprites pages, checked 2026-11-04: Machine monthly prices are for iad/ewr and assume 720 hours of continuous runtime, so a part-time Machine is the monthly price times hours run divided by 720 [derived]. Extra RAM $6/GB-month; volumes $0.15/GB-month; stopped Machine root filesystem $0.15/GB-month; snapshots $0.08/GB-month after 10 GB free; dedicated IPv4 $2/month. Totals are arithmetic on published rates, not quotes. Check the Fly.io dashboard or billing page for a real bill.

Presets from the worked examples:

Assumptions, labeled: Only the six presets the pricing page lists in a readable form are included, priced for iad/ewr [verify: other regions price differently; the per-region table is rendered by JavaScript]. Managed Postgres, support plans and reservations are not modeled; their rates are on Economics. Sprite storage is not modeled; see the Sprites pricing examples.

Economics: how Fly.io bills, with worked examples

Fly.io has no monthly platform fee and no free tier. You are billed per second for started Machines, a small rootfs charge while they are stopped, and per hour for volumes and snapshots, plus egress, optional IPs, Managed Postgres, support and extensions. Sprites are metered separately, per hour of active CPU, memory and storage.

This page is drawn from https://fly.io/docs/about/pricing/, https://fly.io/docs/about/billing/, https://fly.io/docs/about/cost-management/, https://fly.io/docs/about/free-trial/, https://fly.io/docs/postgres/ and https://fly.io/sprites (fetched live), all checked 2026-11-04. Lines marked derived are arithmetic on those numbers, not quotes from Fly.io. Prices are USD.

The bill has no platform fee

“Fly.io bills for the resources you use, with no monthly platform fee.” (https://fly.io/docs/about/pricing/) Billing is monthly per organization, and the invoice is in the Billing section of the dashboard (https://fly.io/docs/about/billing/). The prices of provisioned services are “mostly fixed”, and the docs name extra RAM as a common reason for surprise charges (https://fly.io/docs/about/billing/).

Say: “You pay for what is provisioned and running. Nothing is created behind your back.” The docs back this up: autoscaling means starting or stopping Machines you already defined, with one exception, the metrics-based Fly Autoscaler when set to create Machines (https://fly.io/docs/about/cost-management/).

Rate card

Started Machines

Machines are billed per second while in the started state, at the price of a named CPU/RAM preset plus any additional RAM (https://fly.io/docs/about/billing/). Monthly figures assume 30 days of continuous runtime, so a 31-day month costs slightly more (https://fly.io/docs/about/pricing/). Prices below are for Ashburn (iad) and Secaucus (ewr), the lowest-priced regions (https://fly.io/docs/about/pricing/).

Preset (source: https://fly.io/docs/about/pricing/)RAMPrice per 30 days
shared-cpu-1x256MB$2.19
shared-cpu-1x512MB$3.69
shared-cpu-1x1GB$6.70
shared-cpu-2x2GB$13.39
performance-1x2GB$33.00
performance-2x4GB$66.00

Additional RAM beyond the preset’s included amount is $6.00/GB/month (https://fly.io/docs/about/pricing/). The full preset-by-region price table on the pricing page is rendered by JavaScript and was not readable in the fetched copy, so presets beyond these six and prices outside iad and ewr are [verify] on https://fly.io/docs/about/pricing/ or the calculator at https://fly.io/calculator/. Regions do differ: the pricing page’s own three-region example shows a 1GB shared-cpu-1x at $6.70 in iad, $7.73 in fra and $8.50 in sin (https://fly.io/docs/about/pricing/).

Stopped and suspended Machines

“Stopped and suspended Machines are billed based on their root file system (rootfs) usage per second” at $0.15 per GB per month (https://fly.io/docs/about/billing/). Compute stops billing, the rootfs does not. A Machine with 1GB of rootfs stopped for 10 days costs $0.05 (https://fly.io/docs/about/billing/).

Storage

ItemPriceSource
Volume$0.15/GB/month of provisioned capacity, pro-rated to the hourhttps://fly.io/docs/about/pricing/
Volume snapshots$0.08/GB/month, first 10GB free each month, based on data storedhttps://fly.io/docs/about/pricing/
Builders and registry storageNo charge today, advance notice promised before any changehttps://fly.io/docs/about/pricing/

Volumes bill when detached and when attached to a stopped Machine. Volumes in pending_destroy state do not accrue charges (https://fly.io/docs/about/billing/). New volumes get automatic daily snapshots with 5 days retention by default, and snapshots are stored incrementally (https://fly.io/docs/about/pricing/).

Network

ItemPriceSource
Outbound to the internet, North America and Europe$0.02/GBhttps://fly.io/docs/about/pricing/
Outbound, Asia Pacific, Oceania and South America$0.04/GBhttps://fly.io/docs/about/pricing/
Outbound, Africa and India$0.12/GBhttps://fly.io/docs/about/pricing/
Private network between regions, same three groups$0.006, $0.015, $0.050 per GBhttps://fly.io/docs/about/pricing/
Inbound data, and traffic inside one regionFreehttps://fly.io/docs/about/pricing/
Shared IPv4 and IPv6Freehttps://fly.io/docs/about/pricing/
Dedicated IPv4$2/monthhttps://fly.io/docs/about/pricing/
Static egress IP$0.005/hour, about $3.60/monthhttps://fly.io/docs/about/pricing/
SSL certificates$0.10/month single hostname, $1/month wildcard, first 10 single-hostname freehttps://fly.io/docs/about/pricing/

The cross-region rates are the granular rates. Organizations created after July 18 2024 are opted in automatically, and organizations that are not pay the public-internet rate for all billable transfer (https://fly.io/docs/about/pricing/). Cross-region private traffic is billed in both directions, each at the rate of the region it leaves (https://fly.io/docs/about/pricing/).

Managed Postgres, support, extensions

ItemPriceSource
Managed Postgres Basic, Shared-2x, 1GB$38/monthhttps://fly.io/docs/postgres/
Starter, Shared-2x, 2GB$72/monthhttps://fly.io/docs/postgres/
Launch, Performance-2x, 8GB$282/monthhttps://fly.io/docs/postgres/
Scale, Performance-4x, 32GB$962/monthhttps://fly.io/docs/postgres/
Performance, Performance-8x, 64GB$1,922/monthhttps://fly.io/docs/postgres/
Database storage$0.28/GB for a 30-day month, metered hourlyhttps://fly.io/docs/postgres/
SupportStandard $29/month, Premium $199/month, Enterprise from $2,500/month, community freehttps://fly.io/docs/about/pricing/
Extensions such as Tigris and UpstashThe provider’s list price, on your Fly.io invoicehttps://fly.io/docs/about/pricing/

You are not billed separately for the Machines behind an extension, but data transfer to external services such as Tigris is billed (https://fly.io/docs/about/pricing/).

Reservation blocks

A reservation gives a 40% discount on compute in one region and CPU class, across any apps in the organization (https://fly.io/docs/about/pricing/).

Class (source: https://fly.io/docs/about/pricing/)Upfront per yearMonthly credit
Shared$36, $360 or $3,600$5, $50 or $500
Performance$144, $1,440 or $14,400$20, $200 or $2,000

The credit does not roll over, and it covers only CPU and additional RAM charges (https://fly.io/docs/about/pricing/). Derived: $36 divided by 12 is $3 a month for $5 of credit, which is the 40% the page states (https://fly.io/docs/about/pricing/).

Ask: “How steady is your baseline in one region?” A block only pays off if the credit gets used every month.

Free allowances and the trial

There is no free tier: “No. New organizations don’t have a free tier or a monthly free usage allowance.” (https://fly.io/docs/about/pricing/) New accounts get a $1 credit lasting 7 days or until used, with no card needed, limited to 10 Machines, up to shared-cpu-2x, 20GB of volumes and 3 Sprites, and trial Machines stop after 5 minutes of running (https://fly.io/docs/about/free-trial/). The Sprites page, fetched live, instead advertises “$30 in trial credits” and says each user can grant one $30 credit (https://fly.io/sprites). The two pages disagree [verify]: do not promise either figure to a customer without checking the dashboard. Free after the trial: the first 10GB of snapshots, 10 single-hostname certificates, inbound data, shared IPv4 and IPv6 (https://fly.io/docs/about/pricing/).

Sprites pricing

Sprites are billed on usage, not per Sprite. Rates from the live page (https://fly.io/sprites):

Meter (source: https://fly.io/sprites)Rate
CPU time$0.0385 per CPU-hour
Memory$0.021875 per GB-hour
Hot storage$0.000683 per GB-hour, about $0.50/GB-month
Cold storage$0.000027 per GB-hour

“A sprite that exists but does nothing costs nothing beyond its storage.” (https://fly.io/sprites) A Sprite is billed while running, not while warm or cold (https://fly.io/sprites), and the docs say compute billing stops when it goes warm (https://fly.io/docs/sprites/concepts/lifecycle/). Each Sprite has 8 vCPUs and 100 GB of storage, and you pay for bytes written, not the full 100 GB (https://fly.io/docs/sprites/concepts/lifecycle/). “Sprites bandwidth isn’t metered today.” (https://fly.io/sprites)

Plans bundle allowances, with usage above them billed at standard rates. The page gives Hero at $100/month with 1,200 CPU-hours, 4,800 RAM GB-hours and 150 GB of storage, and Mythic at $2,000/month; prices for Adventurer, Veteran, Champion, Legend and Epic were not stated in the fetched text [verify] (https://fly.io/sprites). Hero and up include email support (https://fly.io/sprites). Plan fees are not covered by Fly.io account credits (https://fly.io/sprites).

Worked examples (derived)

Machine inputs use 30-day months, as the pricing page does (https://fly.io/docs/about/pricing/).

1. Small web app, scale to zero

One shared-cpu-1x 256MB Machine at $2.19 per 30 days (https://fly.io/docs/about/pricing/) works out to about $0.00304 an hour (derived: 2.19 / 720). Assume it runs 2 hours a day, 60 hours a month, so compute is about $0.18. Assume a 0.5GB rootfs stopped for the other 660 hours at $0.15/GB/month (https://fly.io/docs/about/billing/): about $0.07. Assume 5GB of egress from North America at $0.02/GB (https://fly.io/docs/about/pricing/): $0.10. Total about $0.35 a month. Always-on, the same Machine would be $2.19 plus egress. The docs’ own staging example agrees on shape: under $1 with auto-stop, “$2.62/month” always-on in sjc (https://fly.io/docs/about/cost-management/).

2. Always-on app with Postgres

The pricing page’s own example: one 512MB shared-cpu-1x Machine $3.69, a 10GB volume $1.50, Managed Postgres Basic $38.00, 1GB of Postgres storage $0.28 and 10GB egress $0.20, total $43.67 (https://fly.io/docs/about/pricing/). Derived: swap in the Starter plan at $72 (https://fly.io/docs/postgres/) and the total becomes 43.67 - 38 + 72 = $77.67. Postgres is most of the bill either way, and it lives outside the app, so deleting the app does not delete the database (https://fly.io/docs/about/pricing/).

3. Three regions

One 1GB shared-cpu-1x each in iad, fra and sin, 50GB served from each, 10GB cross-region from each: $27.20, made of $6.70 + $7.73 + $8.50 compute, $4.00 egress, $0.27 cross-region private traffic (https://fly.io/docs/about/pricing/). Derived check: 22.93 + 4.00 + 0.27 = 27.20.

4. A Sprite used 4 hours a day

Assume 120 active hours a month (30 days x 4 hours), average 0.5 CPU and 1GB RAM while active, 3GB hot storage during active hours and 5GB cold storage all month (720 hours). Rates are from https://fly.io/sprites.

Line (rates: https://fly.io/sprites)ArithmeticCost
CPU60 CPU-hours x $0.0385$2.31
Memory120 GB-hours x $0.021875$2.63
Hot storage360 GB-hours x $0.000683$0.25
Cold storage3,600 GB-hours x $0.000027$0.10
Totalabout $5.28

The Sprites page’s own web-app example uses 732 hours of cold storage and totals $1.05 for 30 wake hours (https://fly.io/sprites). RAM is the largest line in both, and the page says “RAM is almost always the line that dominates” (https://fly.io/sprites).

Bill surprises, from the docs

All of these come from https://fly.io/docs/about/cost-management/ unless noted.

  • Always-on is the budget. The docs say to budget for the always-on cost. Their example: three shared-1x 1GB Machines in sjc cost $23.95 a month at most (https://fly.io/docs/about/cost-management/).
  • Volumes bill while Machines are stopped. Hourly, running or not.
  • Snapshots bill after the monthly free allowance.
  • Managed services outlive apps. Managed Postgres, Upstash Redis and Tigris are not deleted with an app, so check the dashboard when cleaning up.
  • Dedicated IPv4 is $2/month per address, which adds up across many apps or per-branch previews (https://fly.io/docs/about/cost-management/).
  • Internal-only apps still run Machines and still cost money.
  • Bandwidth. Outbound is billed, inbound is free.
  • The Fly Autoscaler can create Machines when set to FAS_CREATED_MACHINE_COUNT, and those count toward the bill.
  • No billing alerts. “We don’t support billing alerts (yet), so budget accordingly.” (https://fly.io/docs/about/cost-management/) Check the month-to-date figure in the dashboard.
  • Refunds. Billing can be asked about at billing@fly.io, and the billing docs say they will discuss refunds for mistaken resources or attack traffic (https://fly.io/docs/about/billing/).

Pricing history (not current)

Older blog posts quote prices that have changed. Use the rate card above, not these (https://fly.io/blog/).

PostOld price as written thenSource
We cut bandwidth prices (2020-12-03)$0.085/GB North America and Europe and $0.14/GB Asia Pacific at launch, cut to $0.02 and $0.04; a free tier of 160GB a monthhttps://fly.io/blog/we-cut-bandwidth-prices-go-nuts/
New VMs, a dollar menu (2020-12-10)shared-cpu-1x 256MB at $0.0000008/s, $1.94/mohttps://fly.io/blog/new-vms-more-ram-extra-cpu-and-a-dollar-menu/
L40S price cut (2024-08-15)L40S GPUs lowered to $1.25 per hourhttps://fly.io/blog/cutting-prices-for-l40s-gpus-in-half/

What isn’t priced here

← Reliability, honestly · Competitive positioning →