Skip to content
Runtime

Cloudflare Sandbox alternatives in 2026 15 agent sandboxes ranked by cost

Runtime Cloud (withruntime.com) costs 53% less than Cloudflare Sandbox. Northflank also costs less.

Estimated compute cost2 vCPUs · 4 GiB · 60 s a run · 20 CPU-seconds busy

53% less than Cloudflare Sandbox58% less than Fly Machines70% less than Vercel Sandbox

1,000

Compute only, at list rates checked 25 October 2026 (Cloudflare Containers pricing, Fly.io pricing, Vercel Sandbox pricing). Plan fees, network, taxes and free credits are left out. The worked example below shows the arithmetic.

Runtime vs Cloudflare Sandbox.

2× cheaper for a typical agent, and ahead on every point below.

Runtime and Cloudflare Sandbox, side by side
RuntimeCloudflare Sandbox
What you pay
1,000 agent hours$382× cheaper$81
CPU rate$0.025 / vCPU-hour2× cheaper$0.072 / vCPU-hour
Memory rate$0.0075 / GiB-hour1.2× cheaper$0.009 / GiB-hour
No monthly plan feeNone, from $10$5 a month at least
Free to start100 free hours of a 1 GB machine in your first 30 days, no cardNo free tier
What you get
Pause keeps memoryFiles, memory, processesSnapshots keep files only
Room to growUp to 16 vCPUsUp to 4 vCPUs
SDK languages5, plus API, CLI, MCPTypeScript, from a Worker

Agent hours: 2 vCPU and 4 GiB, CPU busy 17% of the time. List prices, checked 25 October 2026. Cloudflare Containers pricingRuntime vs Cloudflare Sandbox, in full

What is the best alternative to Cloudflare Sandbox?

It depends on whether your code lives on Workers and what a pause must keep. For agents that mostly wait on a model, Runtime has the lowest cost: $0.64 for the job below, against $1.35 on Cloudflare. Runtime is called from any backend, with no Worker. Its pause keeps memory and processes, not only files. Stay on Cloudflare if the app already runs on Workers. Pick Northflank to run sandboxes in your own cloud account, and Daytona for GPUs or Windows.

Why do teams look beyond Cloudflare Sandbox?

Cloudflare's Sandbox SDK runs on Cloudflare Containers, so it inherits the Containers prices and the Workers way of deploying. The reasons to move follow from that:

  • It lives inside a Worker. The SDK is called from a Worker on the Workers Paid plan (at least $5 a month), deployed with Wrangler and a local Docker build, through a Durable Object binding. A backend on another platform needs a Worker in between.
  • Memory you did not ask for. A custom size needs at least 3 GiB per vCPU, so a 2 vCPU sandbox pays for 6 GiB. Sizes stop at 4 vCPUs, 12 GiB and 20 GB.
  • Processes restart. Cloudflare's public-beta snapshots preserve the writable filesystem, but not memory or processes. Your application saves and restores snapshots. They expire 30 days after creation or last restore.
  • Features have been removed. Cloudflare removed the Sandbox SDK desktop in version 0.12.0, in June 2026.
  • No free tier. The plan includes 375 vCPU-minutes a month. Beyond that, active CPU is $0.072 a vCPU-hour.

Which alternatives are cheapest?

At list rates, the same job everywhere is 1,000 runs of 60 seconds on a 2 vCPU, 4 GiB sandbox, doing 20 CPU-seconds of work each. Cloudflare cannot sell 2 vCPUs with 4 GiB, so its row uses the smallest size that fits: 6 GiB and 12 GB of disk. See pricing for the sum behind each row. Plan fees, storage, network, credits and negotiated prices are excluded.

# Provider Isolation CPU billed on 1,000 runs
1 Runtime Cloud Firecracker microVM, own kernel Measured CPU, with a small floor $0.64
2 Northflank microVMs for CPU work, gVisor for GPU work Allocated vCPUs $1.11
3 Cloudflare Sandbox (2 vCPU, 6 GiB, 12 GB disk) (the one you are replacing) A container in its own VM Active CPU $1.35
4 Prime Sandboxes (5 GiB disk) microVM, own guest kernel Allocated vCPUs while running $1.52
5 Fly Machines, performance-2x with 4 GB Firecracker microVM The machine's size while started $1.53
6 Morph, 2 MCUs Full virtual machines The machine's size in MCUs $1.67
7 Vercel Sandbox, iad1 (4 GB) Firecracker microVM, own kernel Active CPU $2.12
8 Freestyle (32 GiB disk) Full Linux virtual machines Allocated vCPUs $2.25
9 Fly Sprites (4 GB in use) Firecracker microVM Measured CPU $2.40
10 CodeSandbox SDK, a Nano VM Firecracker microVM The VM's size, by the minute rounded up $2.48
11 E2B Firecracker microVM, own kernel Allocated vCPUs $2.76
12 Daytona Containers by default; VM class separate Allocated vCPUs $2.76
13 Blaxel (4 GB) Lightweight virtual machines Included with memory, active time $3.45
14 Modal Sandboxes (1 physical core) gVisor or a VM runtime Requested or used, whichever is higher $3.97
15 AWS Lambda MicroVMs, Arm Firecracker microVM Baseline vCPUs while running $4.20
16 Runloop, a MEDIUM devbox microVM, with a container inside Allocated CPUs while running $5.33

Cost for the same job

The calculations for Runtime, Cloudflare, Fly Machines (the next cheapest microVM) and Vercel (the other active-CPU provider):

Runtime$0.64
CPU
1,000 × 20 s / 3,600 × $0.025
$0.14
Memory
1,000 × 60 s / 3,600 × 4 × $0.0075
$0.50
Cloudflare$1.35
CPU
1,000 × 20 s × $0.000020
$0.40
Memory
1,000 × 60 s × 6 × $0.0000025
$0.90
Disk
1,000 × 60 s × 12 × $0.00000007
$0.05
Machines$1.53
Size
1,000 × 60 s / 3,600 × $0.0916704
$1.53
Vercel$2.12
CPU
1,000 × 20 s / 3,600 × $0.128
$0.71
Memory
1,000 × 60 s / 3,600 × 4 × $0.0212
$1.41

About two thirds of Cloudflare's figure is memory, from the 3 GiB-per-vCPU floor, rather than CPU. Keep both CPUs busy for the whole minute, and the totals move to $1.33 on Runtime, $3.35 on Cloudflare, $1.53 on Machines and $5.68 on Vercel. At 100,000 runs a month, the waiting job costs $63.89 on Runtime against $135.04 on Cloudflare.

The Cloudflare figure assumes each sandbox is destroyed when its run ends. A sandbox left alone keeps billing memory and disk until its inactivity timeout ends.

What each alternative offers a Cloudflare user

1. Northflank: no memory floor per vCPU

Allocated at $0.01667 per vCPU-hour and $0.00833 per GB-hour, with memory sized to the job. Every sandbox is a service with a deployment plan, run in Northflank's regions or your own AWS, GCP or Azure account.

2. Fly Machines: a fixed price, busy or idle

performance-2x with 4 GB is $0.0916704 an hour in iad. That keeps the busy job at $1.53, while Cloudflare's rises to $3.35. There are 17 regions. The root disk is temporary, and a volume holds files.

3. Morph: branch a live machine

Billed $0.05 per MCU-hour, where an MCU is 1 vCPU, 4 GB of memory or 16 GB of disk. Infinibranch spreads one running machine, including its memory, across hundreds of replicas.

4. Vercel Sandbox: the other platform-bound option

Firecracker with active CPU at $0.128 an hour and $0.0212 per GB-hour in iad1. Like Cloudflare, it fits best when the app already runs there. It spans 19 regions and 10,000 sandboxes at the same time on Pro.

5. CodeSandbox SDK: sizes far past 4 vCPUs

The Nano VM (2 cores, 4 GB) is $0.1486 an hour in credits, rounded up to the minute. The range reaches 64 cores and 128 GB, where Cloudflare stops at 4 vCPUs.

6. E2B: sandboxes that stay put

Allocation at $0.0504 per vCPU-hour and $0.0162 per GiB-hour, on Firecracker. Sessions run 1 hour on Hobby and 24 on Pro at $150 a month. The runtime is Apache-2.0.

7. Daytona: GPUs, Windows, two continents

E2B's rates, with a container by default and a separate VM class, GPU sandboxes and Windows machines, in the US and the EU.

8. Blaxel: standby that keeps files

Active memory at $0.0000115 per GB-second, with CPU included. When connections close, it goes to standby with files and processes held in a snapshot. It is back in about 25 ms.

9. Fly Sprites: a disk that survives sleep

$0.0385 per measured CPU-hour and $0.021875 per GB-hour of memory in use. A Sprite pauses itself and never loses its 100 GB disk.

10. Modal Sandboxes: functions and GPUs alongside

gVisor or a VM runtime, and CPU at $0.1419 per physical core-hour on the higher of request and use, next to Modal's functions.

11. Runloop: evaluation included

A container in a microVM at $0.108 per CPU-hour and $0.0252 per GB-hour, plus disk, with tools to evaluate models on your own workload.

Runtime Cloud

Runtime runs Cloudflare's sandbox workload for 53% less, from any backend and with no Worker. 1,000 one-minute runs of a 2 vCPU sandbox cost $0.64 on Runtime and $1.35 on Cloudflare. At 100,000 runs, that is $71 a month saved, with no $5 plan to hold and no 3 GiB-per-vCPU memory floor. Rates checked 25 October 2026. That job puts Runtime first in the table above, at $0.64.

Measured CPU is $0.025 per vCPU-hour, never under a twentieth of a vCPU. Memory is $0.0075 per reserved GiB-hour. The vCPU count and memory are set separately, so a 2 vCPU sandbox can have 4 GiB. Each one is a Firecracker microVM with its own kernel. Pausing keeps files, memory and processes while you have credit, and a Linux desktop is built in. Any backend reaches it through the JavaScript or Python SDK, the CLI or the MCP server.

You can start free with npx withruntime login, with no Worker or Wrangler needed. For a Sandbox SDK project, the mapping below and the migration guide cover the move.

How to switch from Cloudflare Sandbox

A Sandbox SDK project uses a handful of calls. Each one maps to one Runtime call. Cloudflare's 0.x API, inside a Worker:

JavaScriptimport { getSandbox } from "@cloudflare/sandbox";export { Sandbox } from "@cloudflare/sandbox";export default {  async fetch(request, env) {    const sandbox = getSandbox(env.Sandbox, "my-sandbox");    const result = await sandbox.exec("python3 -c 'print(sum([125, 250, 375]))'");    await sandbox.destroy();    return Response.json({ stdout: result.stdout });  },};

Runtime, from any server, in TypeScript or Python:

TypeScriptimport { Sandbox } from "withruntime";const box = await Sandbox.create();try {  await box.files.write("/workspace/invoice.py", "print(sum([125, 250, 375]))\n");  console.log((await box.exec("python3 /workspace/invoice.py", { check: true })).stdout);} finally {  await box.stop();}
Pythonfrom withruntime import Sandboxwith Sandbox.create() as box:    box.files.write("/workspace/invoice.py", "print(sum([125, 250, 375]))\n")    print(box.exec("python3 /workspace/invoice.py", check=True).stdout)

getSandbox(env.Sandbox, name) becomes Sandbox.getOrCreate(name), which wakes a paused sandbox of that name or creates one. proxyToSandbox becomes box.previews.create(port), an HTTPS address under runtimehost.com with a token. If the app stays on Workers, the Worker can call Runtime itself with SDK 0.4.0 or later and the nodejs_compat flag. The steps are in calling Runtime from a Worker. Version 1.0 of the package drops getSandbox. There, this.ctx.container.exec([...]) becomes box.exec([...]).

The move can also be handed to a coding agent with the one instruction in migration. It moves the calls on a branch, runs them on free usage, and reports what you would save a month. Credit you add within 30 days of signing up is matched, up to $1,000 in total. For a direct comparison, see E2B vs Cloudflare Sandbox. For what a stop preserves, see pause and resume a sandbox.

Sources

Fly.io prices checked 25 October 2026.

Keep comparing.

100 free hoursin your first 30 days.

of a 1 GB machine

  • No credit card
  • Four sandboxes at once, 2 vCPU and 4 GiB each
  • Then prepaid credit from $10, no plan fee
Start free, no card
Start free, no card