Cloudflare Sandbox vs Morph Cloud

Cloudflare Sandbox runs a container you ship, each in its own microVM, inside the Workers platform; it sleeps when idle and comes back with a fresh disk. Morph Cloud gives you full VMs that you can pause, wake and branch with their memory still in place.

The companies and products

Cloudflare Sandbox

Cloudflare Sandbox SDK runs untrusted or AI-generated code in Linux containers on Cloudflare's network, driven from a Cloudflare Worker.

Each sandbox is a Cloudflare Container backed by a Durable Object, and each container runs in its own Firecracker microVM with its own kernel and network. You build a linux/amd64 image, pick an instance type of up to 4 vCPU and 12 GiB, and reach the sandbox through your own Worker. It suits teams already on Workers who want short-lived sandboxes that sleep when idle; for code that only calls known methods, Cloudflare also offers Dynamic Workers, which run JavaScript in V8 isolates.

Morph Cloud

Morph Cloud sells full virtual machines for AI agents that can be snapshotted, branched and restored with their memory, which it calls Infinibranch.

You get MorphVM instances as low-level building blocks and Devboxes as ready workspaces on top of them, with SSH, preview URLs and a tmux API for running coding agents you install yourself. Everything is billed in MCUs, where one MCU is 1 vCPU, 4 GB of RAM or 16 GB of disk for an hour. It is built for teams that fan agents out from one saved state, and it also sells managed GitHub Actions runners and a shared filesystem.

Which use cases each one fits

For each use case, Battleships prices every sandbox provider on the same workload and sorts them from the cheapest monthly bill up. “13th cheapest of 345” means 12 of the other 344 providers run that workload, with every feature it needs, for less. “With limits” means the provider runs it but misses something, so it is listed after every full match. Open a use case for its whole ranking and what each provider misses.

Use case and its workloadCloudflare Sandbox: price rankMorph Cloud: price rankboat: price rank
Software factory
100 at once · 4 vCPU / 8 GB · 2,200 sessions of 8 h a month
Long agent sessions need a disk that stays and real Docker; Morph has both while Cloudflare resets the disk on sleep, and boat adds coding agents you prompt and steer by API.
162nd of 367, with limits
$1,543 a month
198th of 367, with limits
$2,288 a month
3rd cheapest of 367
$634 a month
Always-on AI employees
50 machines 24/7 · 2 vCPU / 4 GB
207th of 366, with limits
$2,188 a month
235th of 366, with limits
$3,014 a month
5th cheapest of 366
$657 a month
Code interpreter bursts
100 at once · 1 vCPU / 2 GB · 200,000 sessions of 1 min a month
Both fit short code runs: Cloudflare bills CPU only while it is busy and wakes on the next request, and Morph can pause a machine with its memory and wake it on demand.
13th cheapest of 345
$144 a month
16th cheapest of 345
$154 a month
186th of 345, with limits
$2,000 a month
Sandboxes for your users
300 at once · 2 vCPU / 4 GB · 30,000 sessions of 23 min a month
Both fit sandboxes for your users; Cloudflare adds egress rules you write in Worker code, Morph pauses each machine with its memory, and boat adds token-protected HTTPS on up to 50 ports.
9th cheapest of 361
$731 a month
12th cheapest of 361
$905 a month
Cheapest of 361
$209 a month
RL rollouts
1,000 at once · 2 vCPU / 4 GB · 1,000,000 sessions of 3 min a month
Morph's memory branching suits rollouts that all start from the same running state, while Cloudflare has no fork and can only restore a saved snapshot into a new sandbox.
144th of 360, with limits
$9,428 a month
86th of 360, with limits
$4,847 a month
34th of 360, with limits
$2,000 a month
Agent evals
250 at once · 4 vCPU / 8 GB · 15,000 sessions of 20 min a month
45th cheapest of 364
$818 a month
38th cheapest of 364
$675 a month
10th cheapest of 364
$200 a month
CI runners
40 at once · 8 vCPU / 16 GB · 6,000 sessions of 12 min a month
Morph sells managed GitHub Actions runners; Cloudflare caps disk at 20 GB by default and runs Docker with iptables turned off; boat runs your own runner with full Docker.
301st of 377, with limits
$704 a month
39th cheapest of 377
$355 a month
4th cheapest of 377
$86 a month
24/7 dev boxes
1 machine 24/7 · 4 vCPU / 8 GB
A dev box should keep its files: Cloudflare starts from a fresh disk after sleep, Morph keeps everything while paused and bills the snapshot, and boat stops at no cost with its disk kept.
70th cheapest of 368
$93 a month
85th cheapest of 368
$116 a month
18th cheapest of 368
$26 a month
Computer-use agents
50 at once · 4 vCPU / 8 GB · 20,000 sessions of 15 min a month
Neither ships a ready desktop for computer use: Cloudflare removed its built-in desktop and Morph has you install the browser and agent, while boat has a 60fps desktop and a computer-use API.
166th of 369, with limits
$460 a month
182nd of 369, with limits
$595 a month
6th cheapest of 369
$200 a month
Browser-use agents
50 at once · 2 vCPU / 4 GB · 30,000 sessions of 10 min a month
210th of 367, with limits
$233 a month
214th of 367, with limits
$250 a month
7th cheapest of 367
$200 a month
Scraping & bots (startup scale)
50 at once · 1 vCPU / 2 GB · 100,000 sessions of 3 min a month
250th of 346, with limits
$286 a month
239th of 346, with limits
$234 a month
6th cheapest of 346
$90 a month
Mass scraping & bots (undetectable)
1,000 at once · 1 vCPU / 2 GB · 3,000,000 sessions of 2 min a month
169th of 338, with limits
$5,741 a month
154th of 338, with limits
$4,750 a month
71st of 338, with limits
$1,800 a month
Parallel red teaming
200 at once · 2 vCPU / 4 GB · 5,000 sessions of 30 min a month
239th of 360, with limits
$325 a month
214th of 360, with limits
$228 a month
2nd cheapest of 360
$200 a month
GPU eval jobs
10 at once · 8 vCPU / 32 GB · 500 sessions of 30 min a month
Can't run itCan't run itCan't run it
macOS agents
5 at once · 4 vCPU / 8 GB · 1,000 sessions of 20 min a month
Can't run itCan't run itCan't run it

Key features

FeatureCloudflare SandboxMorph Cloudboat
IsolationFirecracker microVM per container, own kernel and networkFull VM with its own kernelFull VM with its own kernel on dedicated AMD Ryzen 9 9950X hosts
Files between sessionsFresh disk after sleep; snapshots (public beta, 30 days) or R2 backups when your code saves themKept when you pause or snapshot; a plain stop deletes the instanceDisk saved every minute and on every stop; a stopped sandbox costs nothing
Pause with memoryNo paused state; a stop wipes disk and processesYes; resume brings back all processes and memory, and a paused VM bills only its snapshotNo; disk is saved and resume boots the machine again
Fork a running machineNo fork; restore a saved snapshot or backup into a new sandboxYes, with its memory, as many copies as you ask for, in under 250 msYes, with its disk, without stopping it
Wake on requestYes; stops after inactivity and wakes on the next requestYes; a paused VM resumes on the next HTTP request, SSH or exec callNo; a stopped sandbox is started by API
Docker insidedocker:dind with iptables and IP forwarding turned offYes, including Docker in Docker and local KubernetesFull Docker, root and systemd
Nested virtualizationNot documentedExperimentalYes, /dev/kvm for Android emulators and VMs
Desktop and browserBuilt-in desktop removed in SDK 0.10.2; bring your ownBrowser-based remote desktop; you install the browser and any computer use agent60fps desktop with Chromium, computer-use API, embeddable stream
Coding agentsRun Claude Code, Codex, OpenCode or Pi in your image; OpenCode has an SDK helperYou install the agent, then drive it through a tmux API that sends keys and reads the screenClaude Code, Codex, OpenCode and more preinstalled, with a prompt, steer and events API
Keeping keys out of the sandboxYour outbound handler adds the token for any HTTP or HTTPS host; you write the codeResponses Proxy for model APIs; other secrets are handed to the machineManaged proxy for model providers and any HTTPS API; switch a credential to another account
Egress controlallowedHosts deny-by-default list plus outbound handlers in Worker codeNo egress allowlist documentedNo provider-side allowlist
Inbound trafficHTTP and WebSocket previews routed through your Worker; no raw TCP or public IPNamed HTTP services with optional API key auth; SSH through Morph's gateway; no raw TCPHTTPS URLs for up to 50 ports, token-protected; raw TCP
Guest systemsLinux containers (linux/amd64 images)Linux, with experimental Windows and macOS (x86)Linux
RegionsSeveral regions across Cloudflare's network, nearest free one pickedNot publishedEU only: Germany, Finland, France
Every feature Battleships tracks (43)
FeatureCloudflare SandboxMorph Cloudboat
Full VM (own kernel)YesYesYes
Docker insideYesYesYes
Nested virtualizationNoYesYes
RootYesYesYes
SystemdNot publishedYesYes
Desktop GUINoYesYes
BrowserNoNoYes
Computer-use APINoNoYes
SSHYesYesYes
Persistent diskNoYesYes
Pause/resumeNoYesYes
Automatic snapshotsNoYesYes
Fork/cloneNoYesYes
Live fork (no pause)NoYesYes
Memory forkNoYesNo
Custom image (Docker or snapshot)YesYesYes
≥24 h sessionsYesYesYes
Idle auto-stopYesYesNo
Wake on requestYesYesNo
HTTPS preview URLsYesYesYes
Raw TCP inboundNoNoYes
Public IPv4NoNoNo
Egress allowlistYesNoNo
Secret proxyYesYesYes
Secret proxy for any APIYesNoYes
Preinstalled agentsYesNoYes
Agent harness APIYesYesYes
MCP serverNoNoNo
GPUNoNoNo
WindowsNoYesNo
Arm64NoNoNo
Self-hostingNoNoNo
BYOCNoNoNo
Open sourceYesNoNo
Scoped API keysNot publishedYesYes
Spend limitsNoNot publishedYes
Usage per sandbox (API)Not publishedYesYes
Audit logsYesYesNo
SSOYesNot publishedNo
SOC 2YesNot publishedNo
HIPAAYesNot publishedNo
EU data residencyYesNot publishedYes
Zero data retentionNot publishedNot publishedYes

Performance

Cloudflare SandboxNot measured
Morph CloudNot measured
boat26.69 runs/s

Neither Cloudflare Sandbox nor Morph Cloud has a result on the hpc-sandbox-benchmarks Node.js build-and-test loop, so there is no comparable CPU number for either. boat did 26.69 runs per second on that loop at 4 vCPU / 8 GB. Morph says it restores a snapshot in under 250 ms, which measures start time, not CPU speed.

Node.js build-and-test loop at 4 vCPU / 8 GB, higher is better. Measured with the open hpc-sandbox-benchmarks suite. Cloudflare Sandbox and Morph Cloud have no published run in this suite yet, so there is no like-for-like number to compare.

Pricing in five scenarios

Each bill is priced from the providers' public price lists by the open Battleships engine, with the cheapest plan that runs the scenario.

ScenarioCloudflare Sandbox, a monthMorph Cloud, a monthboat, a month
One coding agent, workdays
4 vCPU / 8 GB, 50 GB disk, 8 hours a day, 22 days a month, files kept between days
$39 · Workers Paid · with limits$32 · Developer$20 · $20/mo
One agent that never stops
4 vCPU / 8 GB, 50 GB disk, running 24/7 all month
$148 · Workers Paid · with limits$121 · Team$26 · $20/mo
50 agents in parallel
50 machines of 4 vCPU / 8 GB at once, 8-hour sessions, 1,100 sessions a month, Docker inside
$1,660 · Workers Paid · with limits$1,459 · Scale$317 · $20/mo × 3 seats
Sandboxes for your users
2 vCPU / 4 GB, 30,000 sessions of 10 minutes a month, up to 300 at once
$476 · Workers Paid$325 · Scale$200 · $100/mo × 2 seats
1,000 short jobs at once
2 vCPU / 4 GB, 1,000 at once, 3 minutes each, 200,000 jobs a month
$1,889 · Workers Paid · with limits$869 · Scale$2,000 · $2000/mo · with limits

Cloudflare Sandbox: You need Workers Paid ($5 a month minimum). CPU is billed only while busy, memory and disk on the instance size until the container sleeps, and 4 vCPU always comes with 12 GiB.

Morph Cloud: Morph bills MCUs at $0.05 an hour: the largest of a machine's vCPUs, its RAM in 4 GiB steps or its disk in 16 GiB steps. Team ($40) and Scale ($250) are monthly prepaid bundles at a discount, and a paused VM bills only its snapshot.

Morph Cloud: Plans start at $20 a month, and the whole fee is usage credit, billed per second while a sandbox runs. A stopped sandbox costs nothing and keeps its disk.

Limits in those scenarios

Cloudflare's disk resets after sleep, so the three scenarios that keep 50 GB of files do not fit without your own snapshot or backup code, and its default 1,500 vCPU at once is short of the 2,000 the 1,000-job burst needs. Morph fits all five scenarios, but disk beyond 16 GiB per vCPU raises the bill, egress prices are not published, and the Developer pool of 64 vCPU holds only 16 machines at 4 vCPU. boat fits four of five; for the burst, the $2,000 plan allows 600 starts an hour and queues bursts above 90 starts a minute.

ScenarioCloudflare SandboxMorph Cloudboat
One coding agent, workdays
  • missing persistent disk
  • disk beyond 16 GiB: price unknown
  • egress price not published
None that bite
One agent that never stops
  • missing persistent disk
  • disk beyond 16 GiB: price unknown
  • egress price not published
None that bite
50 agents in parallel
  • missing persistent disk
  • disk beyond 16 GiB: price unknown
  • egress price not published
None that bite
Sandboxes for your usersNone that bite
  • egress price not published
None that bite
1,000 short jobs at once
  • Workers Paid: max 1,500 vCPU running at once (needs 2,000)
  • egress price not published
  • max 2,400 starts/day (needs ~6,667)
  • max 600 starts/hour (needs ~1,000)
  • bursts above 90 starts/min are queued (a burst of 333 takes ~4 min to start)

Which one should you use?

Use Cloudflare Sandbox when

your app already runs on Workers, you want short sandboxes that sleep when idle, and you need egress rules written as code.

  • Egress rules you can program. For teams that must lock down traffic: Cloudflare blocks every host not on your list and can run your code on each request.
  • Sleeps when idle, wakes on request. For many short, spiky sessions: a sandbox sleeps when quiet, wakes on the next request, and bills CPU only while busy.
  • Built into the Workers platform. If your app already runs on Workers, sandboxes sit next to Durable Objects and R2, in several regions.

Use Morph Cloud when

your agents branch from one running state with its memory, pause between requests and wake on demand, or need managed CI runners.

  • Memory snapshots and branching. For agents that fan out from one running state: Morph branches a VM with its memory into many copies in under 250 ms.
  • A full VM, not a container. For heavier builds: Morph VMs run Docker in Docker and local Kubernetes, and keep their disk while paused.
  • Managed CI runners and other guests. Morph also sells managed GitHub Actions runners and lists experimental Windows and macOS (x86) guests.

Where boat fits

Cloudflare and Morph both hand you a machine and leave the agent setup to you. If your agents run for hours, build with Docker, use a browser or call outside APIs, boat gives you a full VM with those parts already inside, and it keeps its disk without extra code.

Agents ready to drive from outside

On Cloudflare you bake each agent into your image; on Morph you install it and send keystrokes through tmux, then parse the screen. boat ships Claude Code, Codex and others with one API to prompt, steer and follow them.

Files that stay without extra code

Cloudflare starts from a fresh disk after sleep unless your code saves a snapshot, and a plain stop on Morph deletes the instance, so you must pause or snapshot first. boat saves the disk every minute and on stop.

Desktop, browser and keys handled

Cloudflare removed its desktop and Morph has you install the browser and computer use agent. boat has a 60fps desktop with Chromium, and its proxy keeps real keys outside for any HTTPS API, not just model APIs.

Use boat when your agents work for hours and should arrive ready: coding agents driven by API, full Docker and /dev/kvm, a 60fps desktop, real keys kept outside, and a disk that is always saved. Compare it one to one: boat vs Cloudflare Sandbox and boat vs Morph Cloud.

Questions people ask

Is Cloudflare Sandbox cheaper than Morph Cloud?

Not in these scenarios: Morph's estimate is lower in all five, for example $325 against $476 a month for sandboxes for your users. Cloudflare also does not fit the three scenarios that keep files between days. boat comes in lower than both in four of the five.

Which is faster, Cloudflare Sandbox or Morph Cloud?

There is no comparable CPU measurement for either one on the hpc-sandbox-benchmarks loop. boat scored 26.69 runs per second there. Morph's under 250 ms figure is for restoring a snapshot, not for CPU speed.

Can Cloudflare Sandbox run Docker?

Yes, with docker:dind, but the daemon runs with iptables and IP forwarding turned off because containers cannot change iptables. Morph runs Docker in Docker and local Kubernetes in a full VM, and boat runs full Docker with root and systemd.

Do they keep my files?

Cloudflare starts from a fresh disk after a sandbox sleeps, unless your code saved a snapshot or an R2 backup. Morph keeps disk and memory while a VM is paused, but a plain stop deletes the instance. boat saves the disk every minute and on every stop.

Is each one a VM or a container?

On Cloudflare you ship a container image, and each container runs in its own Firecracker microVM with its own kernel. Morph Cloud and boat both give you full VMs with root.

Where do they run?

Cloudflare places sandboxes in several regions of its network and picks the nearest free one. Morph does not publish its regions. boat runs in the EU only, in Germany, Finland and France.

Try boat

Install the CLI, then run boat new.

7-day free trial

More comparisons