# Fly Machines vs Morph: pricing, snapshots and limits A Fly Machine bills a fixed size while started; Morph bills MCUs for a VM's size and can branch a running VM to many copies. **Runtime runs the same job for 55% less than a Fly Machine and 62% less than Morph.** 1,000 one-minute runs of a 2 vCPU, 4 GiB sandbox cost $1.44 on Fly Machines, $1.67 on Morph and $0.64 on Runtime, because Runtime bills the CPU your code uses rather than the size it holds. Like Morph, it copies a running sandbox with its memory. Rates checked 23 September 2026. ## At a glance | | Fly Machines | Morph | Runtime | | ----------------- | ------------------------------------------------- | -------------------------------------------------------- | -------------------------------------------------------- | | Isolation | Firecracker microVM | Full virtual machines | Firecracker microVM, own kernel | | How it bills | A fixed size per second while started | $0.05 per MCU-hour for the machine's size | $0.025 per vCPU-hour of measured CPU, with a small floor | | Memory | Inside the size; more at $5 per GB a month | Inside the MCU: 4 GB per MCU | $0.0075 per reserved GiB-hour | | 2 vCPU, 4 GB | `performance-2x`, $0.0861 an hour (`iad`) | 2 MCUs, $0.10 an hour | $0.08 an hour fully busy, $0.03125 waiting | | Plan fee | None; pay as you go | Free with no credit; Developer $40 and Team $250 a month | None; prepaid credit from $10 | | At once | Not stated on the pricing page | 8 devboxes free, 32 on Developer, 128 on Team | 100 sandboxes on a paid account to start | | Keep a running VM | Suspend, for Machines with 2 GB of memory or less | Snapshots of memory and disk; branches to many replicas | Pause, snapshot and fork keep memory and processes | ## Can you snapshot and branch a running machine? On Morph, yes, and it is the product's centre. A snapshot captures a VM's memory and disk, and Morph's Infinibranch starts hundreds of parallel replicas from one running machine. Snapshot storage is billed in MCUs too: one MCU covers 5 TB-hours of snapshot, and Morph's own example puts an 8 vCPU, 8 GB RAM, 8 GB disk VM kept as a snapshot at $0.12 a month. A Fly Machine does not branch. Its nearest feature is suspend, which saves the whole VM state (CPU registers, memory and open file handles) in a Firecracker snapshot and resumes in a few hundred milliseconds. Suspend needs 2 GB of memory or less, so the 4 GB size in the example below cannot use it, and Fly says a deploy, a host migration or maintenance discards the snapshot. A Machine's root disk is temporary; files that must last go on a Fly Volume. Runtime does both at any size. `fork` makes 1 to 10 running copies of a sandbox, with its files, memory and processes, and a snapshot keeps the machine to start more copies later, for 7 days unless you choose 1 to 365. See [what a sandbox fork is](/glossary/sandbox-fork) and [what a sandbox snapshot is](/glossary/sandbox-snapshot). ## Cost for the same job 1,000 runs of a 2 vCPU, 4 GiB sandbox. Each run lasts 60 seconds and keeps the CPU busy for 20 CPU-seconds: an agent that mostly waits for a model. The Fly Machine is a `performance-2x` with 4 GB; on Morph, 2 vCPUs and 4 GB is 2 MCUs. ``` Machines Size 1,000 × 60 s / 3,600 × $0.0861 = $1.44 Morph Size 1,000 × 60 s / 3,600 × 2 MCU × $0.05 = $1.67 Runtime CPU 1,000 × 20 s / 3,600 × $0.025 = $0.14 Memory 1,000 × 60 s / 3,600 × 4 × $0.0075 = $0.50 Total $0.64 ``` At 100,000 runs a month that is $143.50 on Fly Machines, $166.67 on Morph and $63.89 on Runtime. With both CPUs busy for the whole minute, it is $1.33 on Runtime against $1.44 on Machines and $1.67 on Morph, so Runtime is cheaper however busy the sandbox is. Morph charges an MCU for whichever of CPU, memory or disk a machine needs most of, so a 2 vCPU, 8 GB machine is still 2 MCUs. Plan fees, included credit, storage, network and free credits are left out. ## Which one to pick - **Pick Fly Machines** to run a service that stays up, in any of Fly's 18 regions, with volumes and Managed Postgres in the same account, at the lower hourly price of the two. - **Pick Morph** if your agent's search needs hundreds of branches of one running machine at once, or for shareable development boxes that scale to zero and keep their memory. - **Pick Runtime** for forks and pauses that keep memory at any size, measured CPU at $0.025 a vCPU-hour, no plan fee, and an agent that connects without an API key. ## Switch from either one Where you branched a Morph snapshot or kept a warm Machine to copy, prepare one Runtime sandbox and fork it. The copies start running, answered together: ```python check from withruntime import Sandbox with Sandbox.create(funding="trial") as base: base.exec("pip install --quiet requests") forks = base.fork(count=2, funding="trial") # memory and processes included for fork in forks: print(fork.exec("python3 -c 'import requests; print(requests.__version__)'").stdout) fork.stop() ``` For one-off jobs, create a sandbox where you created a Machine or an instance, and stop it at the end. Or give your coding agent the one instruction in [migration](/docs/migrate): it switches the project on a branch, tests it on the free trial and reports the monthly saving. `npx withruntime compare --from fly-machines` (or `--from morph`) prices what you ran at the old provider's rates, and `npx withruntime switch --from fly` before your first top-up matches that top-up with credit, up to $100. The full side-by-sides are [Runtime vs Fly.io](/docs/fly-alternative) and [Runtime vs Morph](/docs/morph-alternative). ## Sources Rates checked 23 September 2026; the Fly suspend and Morph pricing pages read 25 September 2026. - [Fly.io pricing](https://fly.io/pricing/), [Machine suspend and resume](https://docs.fly.io/reference/suspend-resume/), [Fly Volumes](https://fly.io/docs/volumes/overview/), [Fly.io regions](https://fly.io/docs/reference/regions/) - [Morph Cloud pricing](https://cloud.morph.so/web/pricing), [Morph Devboxes](https://cloud.morph.so/web/product/devboxes), [Morph snapshots](https://cloud.morph.so/docs/documentation/instances/creating-snapshot) - Runtime [pricing](/docs/pricing) and [JavaScript SDK](/docs/javascript#snapshots-and-forks) Facts on this page were checked on 25 September 2026.