Cloudflare Sandbox vs Ona

Cloudflare Sandbox is a self-serve API: your Worker starts a container that sleeps when idle and comes back with a fresh disk. Ona, formerly Gitpod and now part of OpenAI, gives engineers and its Codex agent full dev environments that keep their disk, sold through sales.

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.

Ona

Ona, formerly Gitpod, is a platform for cloud dev environments and background coding agents, and is now part of OpenAI.

Ona is a different kind of product from bochka: a dev-environment platform, not a sandbox API. Each task or developer gets an isolated VM built from a Dev Container config, which people open in a browser IDE, VS Code or JetBrains, and where Ona's Codex Agent can plan, code, test and open pull requests. It is built for engineering teams who want the same governed environment for every developer and agent; new customers run it in their own AWS or GCP account on an Enterprise contract.

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 rankOna: price rankbochka: price rank
Software factory
100 at once · 4 vCPU / 8 GB · 2,200 sessions of 8 h a month
Neither fits fully: Cloudflare wipes the disk on sleep and caps it at 20 GB by default, and Ona needs an Enterprise contract to start environments from code; bochka keeps the disk and has Docker, /dev/kvm and a desktop.
162nd of 367, with limits
$1,543 a month
324th of 367, with limits
$7,315 a month
3rd cheapest of 367
$634 a month
Always-on AI employees
50 machines 24/7 · 2 vCPU / 4 GB
Ona keeps an assistant's files across stops but stops it after 30 idle minutes unless auto-stop is set to Never; Cloudflare keeps nothing after sleep; bochka keeps the disk and runs until you stop it.
207th of 366, with limits
$2,188 a month
83rd of 366, with limits
$8,504 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
Cloudflare fits short code-interpreter calls well, since CPU is billed only while busy and a container wakes on the next request; Ona is not built for this.
13th cheapest of 345
$144 a month
335th of 345, with limits
$5,320 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
Cloudflare and bochka both fit sandboxes for your users; Ona is built for your own engineers, and its per-user policy defaults to 10 running environments.
9th cheapest of 361
$731 a month
330th of 361, with limits
$5,988 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
144th of 360, with limits
$9,428 a month
283rd of 360, with limits
$9,773 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
334th of 364, with limits
$5,768 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
Cloudflare caps disk at 20 GB by default and runs Docker with iptables turned off, and Ona starts each run from a prebuild with no fork; bochka has full Docker and can fork a warm machine.
301st of 377, with limits
$704 a month
365th of 377, with limits
$5,461 a month
4th cheapest of 377
$86 a month
24/7 dev boxes
1 machine 24/7 · 4 vCPU / 8 GB
Ona is a full cloud IDE with Dev Containers and prebuilds, while Cloudflare starts from a fresh disk after sleep; bochka is a full VM that keeps its files and costs nothing while stopped.
70th cheapest of 368
$93 a month
368th of 368, with limits
$5,140 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 desktop: Cloudflare removed its built-in one and Ona has none inside the environment; bochka streams a 60fps desktop with Chromium and a computer-use API.
166th of 369, with limits
$460 a month
353rd of 369, with limits
$5,691 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
150th of 367, with limits
$5,346 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
146th of 346, with limits
$5,468 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
261st of 338, with limits
$14,360 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
Cloudflare takes no raw TCP from outside and cannot change iptables, and Ona documents no raw TCP or /dev/kvm; bochka has root networking, raw TCP, nested VMs and fork.
239th of 360, with limits
$325 a month
93rd of 360, with limits
$5,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 SandboxOnabochka
Kind of productSandbox SDK: containers you start and drive from a Cloudflare WorkerDev-environment platform for engineers and the Codex agentSandbox API: full VMs you start and drive from code
IsolationFirecracker microVM per container, own kernel and networkIsolated VM per environment, built from a Dev Container configFull VM with its own kernel on dedicated AMD Ryzen 9 9950X hosts
How you buy itSelf-serve on Workers Paid ($5 a month minimum)New Core subscriptions closed; Enterprise through salesSelf-serve plans from $20 a month, with a free trial
Driving it from codeSandbox SDK from your WorkerPython, TypeScript and Go SDK on the Enterprise plan onlyAPI and SDK on every plan, including the trial
Files after a stopFresh disk after sleep; snapshots (public beta, 30 days) or R2 backups when your code saves themDisk kept across stops; on your own cloud its storage is billed while stopped; Core archives after 3 daysDisk saved every minute and on stop; a stopped sandbox keeps it and costs nothing
ForkNo fork; restore a saved snapshot into a new sandboxNo environment copy; start again from a config or prebuildFork a running sandbox without stopping it
Docker and nested virtualizationdocker:dind with iptables and IP forwarding off; nested virtualization not documentedDocker and root in the Dev Container; nested virtualization not documentedFull Docker, root, systemd and /dev/kvm
Desktop and computer useBuilt-in desktop removed in SDK 0.10.2; bring your ownBrowser IDE, VS Code and JetBrains; no graphical desktop60fps desktop and Chromium, computer-use API, embeddable stream
Coding agentsRun Claude Code, Codex, OpenCode or Pi in your own imageCodex Agent from chat, a Linear issue or an automation; Claude Code you run yourselfClaude Code, Codex, OpenCode and more preinstalled, with a prompt, steer and events API
Keeping keys out of the sandboxOutbound handler you write adds tokens for any HTTP or HTTPS hostSecrets injected as environment variables or filesAI credentials 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
Reaching the sandboxHTTP and WebSocket previews through your Worker; no raw TCP or public IPHTTPS URL per port and SSH; no raw TCP or public IP documentedHTTPS on up to 50 ports, token-protected; raw TCP; own IPv6 or IPv4
Largest machine and GPUs4 vCPU / 12 GiB / 20 GB disk by default; no GPUUp to 32 vCPU / 128 GB on Core; GPU types such as an A10G on Enterprise runnersUp to 16 vCPU / 32 GB, depending on plan; no GPU
Where it runsSeveral regions across Cloudflare's networkYour own AWS or GCP account; Ona Cloud in Frankfurt and North Virginia for CoreEU only: Germany, Finland, France
Every feature Battleships tracks (43)
FeatureCloudflare SandboxOnabochka
Full VM (own kernel)YesYesYes
Docker insideYesYesYes
Nested virtualizationNoNoYes
RootYesYesYes
SystemdNot publishedNot publishedYes
Desktop GUINoNoYes
BrowserNoYesYes
Computer-use APINoNoYes
SSHYesYesYes
Persistent diskNoYesYes
Pause/resumeNoYesYes
Automatic snapshotsNoNoYes
Fork/cloneNoNoYes
Live fork (no pause)NoNoYes
Memory forkNoNoNo
Custom image (Docker or snapshot)YesYesYes
≥24 h sessionsYesYesYes
Idle auto-stopYesYesNo
Wake on requestYesNoNo
HTTPS preview URLsYesYesYes
Raw TCP inboundNoNoYes
Public IPv4NoNoNo
Egress allowlistYesNoNo
Secret proxyYesNoYes
Secret proxy for any APIYesNoYes
Preinstalled agentsYesYesYes
Agent harness APIYesYesYes
MCP serverNoNoNo
GPUNoYesNo
WindowsNoNoNo
Arm64NoNoNo
Self-hostingNoNoNo
BYOCNoYesNo
Open sourceYesNoNo
Scoped API keysNot publishedNot publishedYes
Spend limitsNoYesYes
Usage per sandbox (API)Not publishedNoYes
Audit logsYesNoNo
SSOYesYesNo
SOC 2YesYesNo
HIPAAYesNoNo
EU data residencyYesYesYes
Zero data retentionNot publishedNot publishedYes

Performance

Cloudflare SandboxNot measured
OnaNot measured
bochka26.69 runs/s

Neither Cloudflare Sandbox nor Ona has a result on the public benchmark we use, so there is no comparable CPU number for either of them. bochka did 26.69 Node.js build-and-test runs per second at 4 vCPU / 8 GB in StarSling's run of 2026-09-29, on dedicated AMD Ryzen 9 9950X hosts.

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 Ona 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 monthOna, a monthbochka, 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$5,030 · Enterprise (AWS Marketplace 12-month contract) · with limits$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$5,140 · Enterprise (AWS Marketplace 12-month contract) · with limits$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$6,521 · Enterprise (AWS Marketplace 12-month contract) · with limits$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$5,432 · Enterprise (AWS Marketplace 12-month contract) · with limits$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$5,955 · Enterprise (AWS Marketplace 12-month contract) · with limits$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 are billed on the instance size until the container sleeps, and 4 vCPU always comes with 12 GiB.

Ona: New Core subscriptions are closed, so Ona's prices here use its Enterprise listing on AWS Marketplace: a 12-month, $60,000 contract, plus compute on your own AWS bill. Real prices are negotiated with sales.

Ona: You pick a monthly plan from $20, and all of it is usage credit spent per second on running sandboxes. A stopped sandbox costs nothing and keeps its disk.

Limits in those scenarios

Cloudflare's disk resets after sleep, so the scenarios that keep 50 GB of files between days do not fit without your own snapshot code, and its default 1,500 vCPU account limit is short of the 2,000 the 1,000-job burst needs. No Ona scenario fits as published, because new customers can only buy Enterprise through sales, and the table assumes 3 environments at once since Ona publishes no Enterprise limit. On bochka, the 1,000-job burst runs into start limits: the $2,000 plan allows 600 starts an hour, and bursts above 90 starts a minute wait in a queue.

ScenarioCloudflare SandboxOnabochka
One coding agent, workdays
  • missing persistent disk
  • negotiated / enterprise price
  • different kind of product: CI runner
  • needs talk to sales: plan "Enterprise (AWS Marketplace 12-month contract)" is negotiated with sales
  • egress price not published
None that bite
One agent that never stops
  • missing persistent disk
  • negotiated / enterprise price
  • different kind of product: CI runner
  • needs talk to sales: plan "Enterprise (AWS Marketplace 12-month contract)" is negotiated with sales
  • egress price not published
None that bite
50 agents in parallel
  • missing persistent disk
  • Enterprise (AWS Marketplace 12-month contract): max 3 concurrent (not published; assumed like its other plans)
  • negotiated / enterprise price
  • different kind of product: CI runner
  • needs talk to sales: plan "Enterprise (AWS Marketplace 12-month contract)" is negotiated with sales
None that bite
Sandboxes for your usersNone that bite
  • Enterprise (AWS Marketplace 12-month contract): max 3 concurrent (not published; assumed like its other plans)
  • negotiated / enterprise price
  • different kind of product: CI runner
  • needs talk to sales: plan "Enterprise (AWS Marketplace 12-month contract)" is negotiated with sales
None that bite
1,000 short jobs at once
  • Workers Paid: max 1,500 vCPU running at once (needs 2,000)
  • Enterprise (AWS Marketplace 12-month contract): max 3 concurrent (not published; assumed like its other plans)
  • negotiated / enterprise price
  • different kind of product: CI runner
  • needs talk to sales: plan "Enterprise (AWS Marketplace 12-month contract)" is negotiated with sales
  • 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 and you want short, self-serve sandboxes that sleep when idle and wake on the next request.

  • Self-serve and pay as you go. Anyone on Workers Paid can start sandboxes today, and CPU is billed only while it is busy.
  • Sleeps when idle, wakes on request. Useful for many short, spiky sessions: a sandbox sleeps when idle and starts again on the next request.
  • Egress rules you can program. Cloudflare can block every host except the ones you list, and run your own code on each outbound request.

Use Ona when

your engineers want a governed cloud IDE shared with a Codex agent, inside your own AWS or GCP account or with a GPU.

  • A full cloud IDE for your team. Useful if your engineers work in the same environments as their agents, with browser, VS Code and JetBrains IDEs.
  • Runs in your own cloud. Useful if environments must run inside your own AWS or GCP account: Ona's Enterprise runners do that.
  • GPU environments. Useful if your agents need a GPU: Enterprise runners can use GPU types, such as an A10G VM with 16 vCPU and 64 GB.

Where bochka fits

If what you are really running is coding agents that work for hours, Cloudflare gives you a small box that forgets its files, and Ona gives you a dev environment you can only drive from code on an Enterprise contract. bochka is a self-serve sandbox API with full VMs that keep their disk, fork while running, and come with agents, a desktop and open ports.

A machine that keeps its work

On Cloudflare a sleeping sandbox comes back with an empty disk unless your code saves a snapshot. On Ona the disk stays but bills on your cloud while stopped, and neither can fork a running machine.

A whole VM, not a cut-down box

Cloudflare runs Docker with iptables off, has 20 GB of disk by default and no desktop. Ona documents no /dev/kvm, desktop or raw TCP. bochka has full Docker, /dev/kvm, a 60fps desktop and raw TCP.

Agents driven from outside, keys kept out

On Cloudflare you bake each agent into your image and write the handler that adds every token. On Ona the managed agent is Codex and secrets land inside the environment. bochka preinstalls agents and proxies credentials.

Use bochka when your code starts and drives agents that work for hours: full VMs with Docker, /dev/kvm and a desktop, that keep their files and fork while running. Compare it one to one: bochka vs Cloudflare Sandbox and bochka vs Ona.

Questions people ask

Is Cloudflare Sandbox cheaper than Ona?

In every scenario we priced, yes: one agent running all month is $148 on Cloudflare against $5,140 on Ona, and 300 user sandboxes are $476 against $5,432. Ona's figures use its Enterprise listing, so a real sales quote may differ. bochka comes to $26 and $200 for the same two.

Which is faster?

We cannot say. Neither Cloudflare Sandbox nor Ona has a result on the public benchmark we use. bochka did 26.69 Node.js build-and-test runs per second at 4 vCPU / 8 GB.

Can I run Docker inside either one?

Yes, with limits. Cloudflare supports docker:dind with iptables and IP forwarding turned off, and Ona runs Docker inside the Dev Container. bochka runs full Docker with root, systemd and /dev/kvm.

Which one keeps my files?

Ona keeps the disk across stops, though Core archives a stopped environment after 3 days. Cloudflare starts from a fresh disk after sleep unless your code saved a snapshot or an R2 backup. bochka saves the disk every minute and on stop.

Can I sign up for either one today?

Cloudflare Sandbox is self-serve on Workers Paid. Ona's new Core subscriptions are closed, so new customers go through sales for Enterprise. bochka's plans are self-serve, from a free trial up.

Can I run Claude Code on them?

On both, you install and run it yourself: in your image on Cloudflare, inside the environment on Ona, where the managed agent is Codex. bochka ships Claude Code, Codex, OpenCode and others preinstalled, with one API to prompt, steer and watch them.

Try bochka

Install the CLI, then run bochka new.

Product preview

More comparisons

Bochka product preview · Pricing, benchmarks and commands are illustrative. Sandbox provisioning is not connected.