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.
- Largest instance
- 4 vCPU, 12 GiB memory, 20 GB disk (defaults, can be raised)
- Account limits
- 1,500 vCPU, 6 TiB memory and 30 TB disk running at once
- Compliance
- Cloudflare holds a SOC 2 Type II report
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.
- Regions
- Not published
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 workload | Cloudflare Sandbox: price rank | Morph Cloud: price rank | bochka: 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 bochka 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 bochka 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; bochka 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 bochka 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 bochka 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 it | Can't run it | Can't run it |
| macOS agents 5 at once · 4 vCPU / 8 GB · 1,000 sessions of 20 min a month | Can't run it | Can't run it | Can't run it |
Key features
| Feature | Cloudflare Sandbox | Morph Cloud | bochka |
|---|---|---|---|
| Isolation | Firecracker microVM per container, own kernel and network | Full VM with its own kernel | Full VM with its own kernel on dedicated AMD Ryzen 9 9950X hosts |
| Files between sessions | Fresh disk after sleep; snapshots (public beta, 30 days) or R2 backups when your code saves them | Kept when you pause or snapshot; a plain stop deletes the instance | Disk saved every minute and on every stop; a stopped sandbox costs nothing |
| Pause with memory | No paused state; a stop wipes disk and processes | Yes; resume brings back all processes and memory, and a paused VM bills only its snapshot | No; disk is saved and resume boots the machine again |
| Fork a running machine | No fork; restore a saved snapshot or backup into a new sandbox | Yes, with its memory, as many copies as you ask for, in under 250 ms | Yes, with its disk, without stopping it |
| Wake on request | Yes; stops after inactivity and wakes on the next request | Yes; a paused VM resumes on the next HTTP request, SSH or exec call | No; a stopped sandbox is started by API |
| Docker inside | docker:dind with iptables and IP forwarding turned off | Yes, including Docker in Docker and local Kubernetes | Full Docker, root and systemd |
| Nested virtualization | Not documented | Experimental | Yes, /dev/kvm for Android emulators and VMs |
| Desktop and browser | Built-in desktop removed in SDK 0.10.2; bring your own | Browser-based remote desktop; you install the browser and any computer use agent | 60fps desktop with Chromium, computer-use API, embeddable stream |
| Coding agents | Run Claude Code, Codex, OpenCode or Pi in your image; OpenCode has an SDK helper | You install the agent, then drive it through a tmux API that sends keys and reads the screen | Claude Code, Codex, OpenCode and more preinstalled, with a prompt, steer and events API |
| Keeping keys out of the sandbox | Your outbound handler adds the token for any HTTP or HTTPS host; you write the code | Responses Proxy for model APIs; other secrets are handed to the machine | Managed proxy for model providers and any HTTPS API; switch a credential to another account |
| Egress control | allowedHosts deny-by-default list plus outbound handlers in Worker code | No egress allowlist documented | No provider-side allowlist |
| Inbound traffic | HTTP and WebSocket previews routed through your Worker; no raw TCP or public IP | Named HTTP services with optional API key auth; SSH through Morph's gateway; no raw TCP | HTTPS URLs for up to 50 ports, token-protected; raw TCP |
| Guest systems | Linux containers (linux/amd64 images) | Linux, with experimental Windows and macOS (x86) | Linux |
| Regions | Several regions across Cloudflare's network, nearest free one picked | Not published | EU only: Germany, Finland, France |
Every feature Battleships tracks (43)
| Feature | Cloudflare Sandbox | Morph Cloud | bochka |
|---|---|---|---|
| Full VM (own kernel) | Yes | Yes | Yes |
| Docker inside | Yes | Yes | Yes |
| Nested virtualization | No | Yes | Yes |
| Root | Yes | Yes | Yes |
| Systemd | Not published | Yes | Yes |
| Desktop GUI | No | Yes | Yes |
| Browser | No | No | Yes |
| Computer-use API | No | No | Yes |
| SSH | Yes | Yes | Yes |
| Persistent disk | No | Yes | Yes |
| Pause/resume | No | Yes | Yes |
| Automatic snapshots | No | Yes | Yes |
| Fork/clone | No | Yes | Yes |
| Live fork (no pause) | No | Yes | Yes |
| Memory fork | No | Yes | No |
| Custom image (Docker or snapshot) | Yes | Yes | Yes |
| ≥24 h sessions | Yes | Yes | Yes |
| Idle auto-stop | Yes | Yes | No |
| Wake on request | Yes | Yes | No |
| HTTPS preview URLs | Yes | Yes | Yes |
| Raw TCP inbound | No | No | Yes |
| Public IPv4 | No | No | No |
| Egress allowlist | Yes | No | No |
| Secret proxy | Yes | Yes | Yes |
| Secret proxy for any API | Yes | No | Yes |
| Preinstalled agents | Yes | No | Yes |
| Agent harness API | Yes | Yes | Yes |
| MCP server | No | No | No |
| GPU | No | No | No |
| Windows | No | Yes | No |
| Arm64 | No | No | No |
| Self-hosting | No | No | No |
| BYOC | No | No | No |
| Open source | Yes | No | No |
| Scoped API keys | Not published | Yes | Yes |
| Spend limits | No | Not published | Yes |
| Usage per sandbox (API) | Not published | Yes | Yes |
| Audit logs | Yes | Yes | No |
| SSO | Yes | Not published | No |
| SOC 2 | Yes | Not published | No |
| HIPAA | Yes | Not published | No |
| EU data residency | Yes | Not published | Yes |
| Zero data retention | Not published | Not published | Yes |
Performance
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. bochka 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.
| Scenario | Cloudflare Sandbox, a month | Morph Cloud, a month | bochka, 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. bochka fits four of five; for the burst, the $2,000 plan allows 600 starts an hour and queues bursts above 90 starts a minute.
| Scenario | Cloudflare Sandbox | Morph Cloud | bochka |
|---|---|---|---|
| One coding agent, workdays |
|
| None that bite |
| One agent that never stops |
|
| None that bite |
| 50 agents in parallel |
|
| None that bite |
| Sandboxes for your users | None that bite |
| None that bite |
| 1,000 short jobs at once |
|
|
|
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 bochka 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, bochka 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. bochka 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. bochka 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. bochka has a 60fps desktop with Chromium, and its proxy keeps real keys outside for any HTTPS API, not just model APIs.
Use bochka 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: bochka vs Cloudflare Sandbox and bochka 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. bochka 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. bochka 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 bochka 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. bochka 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 bochka 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. bochka runs in the EU only, in Germany, Finland and France.
Try bochka
Install the CLI, then run bochka new.
Product preview
More comparisons
- bochka vs Cloudflare Sandbox
- bochka vs Morph Cloud
- E2B vs Cloudflare Sandbox
- Daytona vs Cloudflare Sandbox
- Modal vs Cloudflare Sandbox
- Vercel Sandbox vs Cloudflare Sandbox
- Cloudflare Sandbox vs Blaxel
- Cloudflare Sandbox vs Runloop
- Cloudflare Sandbox vs Tensorlake
- Cloudflare Sandbox vs CodeSandbox SDK
- Cloudflare Sandbox vs Northflank
- Cloudflare Sandbox vs Fly.io Machines