Modal vs Morph: pricing, isolation and snapshots
Modal runs gVisor sandboxes billed on requested CPU; Morph runs full VMs billed in MCUs and can branch a running machine, memory included.
Runtime runs the same job for 84% less than Modal and 62% less than Morph. 1,000 one-minute runs of a 2 vCPU, 4 GiB sandbox cost $3.97 on Modal, $1.67 on Morph and $0.64 on Runtime. Both rivals bill the size a sandbox holds for as long as it runs; Runtime bills the CPU the code uses, in a Firecracker microVM with its own kernel, and forks a running sandbox with its memory. Rates checked 23 September 2026.
Estimated compute cost
84% less than Modal62% less than Morph
2 vCPUs · 4 GiB · 60 s a run · 20 CPU-seconds busy
Compute only, at list rates checked 23 September 2026 (Modal pricing, Morph Cloud pricing). Plan fees, network, taxes and free credits are left out. The worked example below shows the arithmetic.
At a glance
| Modal Sandboxes | Morph Cloud | Runtime | |
|---|---|---|---|
| Isolation | gVisor, a user-space kernel that intercepts system calls | Full virtual machines | Firecracker microVM, own kernel |
| CPU | $0.1419 per physical core-hour (2 vCPUs), request or use | $0.05 per MCU-hour; one MCU is 1 vCPU, 4 GB or 16 GB disk | $0.025 per vCPU-hour of measured CPU, with a small floor |
| Memory | $0.0240 per GiB-hour, request or use | Inside the MCU; a machine pays for whichever it needs most | $0.0075 per reserved GiB-hour |
| Plan fee | Starter $0 with $30 a month of compute; Team $250 a month | Free with no credit; Developer $40, Team $250 a month | None; prepaid credit from $10 |
| Free start | $30 of compute a month on Starter | 1,000 MCUs with the $40 Developer plan | 50 sandbox hours, no card |
| Copying a sandbox | Memory snapshots in alpha: kept 7 days, and taking one ends the sandbox | Infinibranch: a running machine to hundreds of replicas | Forks: 1 to 10 running copies with memory and processes |
| GPUs | Yes | Not stated on its pricing page | CPUs only |
Which one can copy a running sandbox?
Morph built its product around it. Infinibranch branches a running machine, memory and disk included, into hundreds of parallel replicas, and Morph Devboxes keep their memory when they scale to zero.
Modal has three kinds of snapshot. A filesystem snapshot copies the root filesystem and a directory snapshot copies one directory; both are kept for 30 days by default. A memory snapshot copies the whole state, memory and filesystem, but Modal lists it as alpha with known limits: it expires after 7 days, cannot be used with GPUs, and taking one currently terminates the sandbox.
A Runtime fork copies a running sandbox, with its files, memory and running processes, into 1 to 10 new sandboxes. The source is paused for about a second on a fresh sandbox, then woken, so it keeps running. A snapshot you keep to start copies later is held for 1 to 365 days.
Pythonfrom withruntime import Sandboxwith Sandbox.create(funding="trial") as base: base.exec("pip install --quiet requests", check=True) forks = base.fork(count=2, funding="trial") # both running, memory included for fork in forks: print(fork.exec("python3 -c 'import requests; print(requests.__name__)'").stdout) fork.stop()Why is Morph cheaper than Modal here?
Both charge for the size a sandbox holds, busy or idle, so the rate decides. A 2 vCPU, 4 GB machine is 2 MCUs on Morph, $0.10 an hour. On Modal the same sandbox is one physical core at $0.1419 an hour plus 4 GiB at $0.0240 each, about $0.24 an hour, well over twice as much. Neither figure changes with how busy the code is, so Morph stays cheaper at every level of use.
Cost for the same job
1,000 runs of a 2 vCPU sandbox (one physical core on Modal, 2 MCUs on Morph) with 4 GiB. Each run lasts 60 seconds and keeps the CPU busy for 20 CPU-seconds: an agent that mostly waits for a model.
TextModal CPU 1,000 × 60 s × 1 core × $0.00003942 = $2.37 Memory 1,000 × 60 s × 4 × $0.00000667 = $1.60 Total $3.97Morph Size 1,000 × 60 s / 3,600 × 2 MCU × $0.05 = $1.67Runtime 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.64At 100,000 runs a month that is $396.60 on Modal, $166.67 on Morph and $63.89 on Runtime. With both CPUs busy for the whole minute, it is $1.33 on Runtime against $3.97 on Modal and $1.67 on Morph, so Runtime is cheaper however busy the sandbox is. Plan fees, included credit, snapshot storage, network and free allowances are left out.
Which one to pick
- Pick Modal if your sandboxes need GPUs, or you already run Modal functions and scheduled jobs and want sandboxes in the same SDK.
- Pick Morph if your agent branches one running machine into hundreds of replicas, or you want shareable devboxes for people that keep their memory.
- Pick Runtime to pay for measured CPU instead of a held size, fork a running sandbox with its memory today rather than in alpha, and keep snapshots for up to a year, at 62% less than Morph.
Switch from either one
From Modal, each call has a direct counterpart: modal.Sandbox.create(app=...)
becomes Sandbox.create() with no App, sb.exec(*args) becomes exec,
Sandbox.from_name becomes Sandbox.getOrCreate(name) and sb.terminate()
becomes stop(). From Morph, map its create, exec, file and stop calls with
the table in migration; a Morph snapshot or
branch becomes snapshot() or fork().
Or give your coding agent the one instruction in migration: it
switches the project on a branch, tests it on the free trial and reports the
monthly saving. From Modal, npx withruntime switch --from modal before your
first top-up matches that top-up with credit, up to $100. The full
side-by-sides are Runtime vs Modal and
Runtime vs Morph.
Sources
Modal snapshots and Morph pricing pages rechecked 25 September 2026; the rest checked 23 September 2026.
- Modal pricing, Modal resources and billing, Modal sandbox snapshots, Modal security
- Morph Cloud pricing, Morph Devboxes
- Runtime pricing
Facts on this page were checked on 25 September 2026.