exe.dev vs Docker Cloud Sandboxes
Both give a coding agent its own Linux VM with Docker inside. exe.dev VMs run until you stop them and share a pool you pay for each month, while Docker's sandboxes bill per second, end 24 hours after creation and work the same on your laptop.
The companies and products
exe.dev
exe.dev, made by Bold Software, Inc., rents Linux VMs for developers and AI agents that you reach over SSH and HTTPS.
You reserve a pool of vCPUs and memory, and your VMs share it; you can also start standalone VMs billed by the second. Each VM is KVM-isolated (they use Cloud Hypervisor), boots from a container image in about two seconds, and has root, systemd and Docker. It comes with Claude Code, Codex, Pi and exe.dev's own Shelley agent, and is aimed at developers who want a persistent dev box or a sandbox for their agents.
- Company
- Bold Software, Inc.
- Preinstalled agents
- claude, codex, pi and the Shelley web agent
Docker Cloud Sandboxes
Docker Cloud Sandboxes runs Docker's sbx coding-agent microVMs on Docker-managed compute instead of your laptop.
Each sandbox is a microVM with its own Linux kernel and its own Docker Engine, started from the same sbx CLI you use locally, with Claude Code, Codex and other agents ready to run. You can move a sandbox from your laptop to the cloud and back, publish HTTPS ports and SSH in. It launched on September 24, 2026, is billed pay-as-you-go on a personal Docker account, and is built for developers who want their local agent sandboxes to keep going off their machine.
- Launched
- September 24, 2026
- Session length
- 1 hour by default, extendable to 24 hours from creation
- Default quota
- 10 concurrent and 50 stored sandboxes per account
- 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. “15th cheapest of 366” means 14 of the other 365 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 | exe.dev: price rank | Docker Cloud Sandboxes: price rank | bochka: price rank |
|---|---|---|---|
| Software factory 100 at once · 4 vCPU / 8 GB · 2,200 sessions of 8 h a month A software factory runs many agents for days; exe.dev handles the length but not a desktop, Docker stops at 24 hours and 10 at once. | 253rd of 367, with limits $3,701 a month | 280th of 367, with limits $4,928 a month | 3rd cheapest of 367 $634 a month |
| Always-on AI employees 50 machines 24/7 · 2 vCPU / 4 GB An assistant that stays on all month fits exe.dev well, since its VMs have no time limit, while a Docker sandbox ends 24 hours after creation. | 15th cheapest of 366 $3,833 a month | 276th of 366, with limits $5,110 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 Docker suits short code runs a little better than exe.dev: small sandboxes billed by the second, with nothing to pay while stopped. | 235th of 345, with limits $175 a month | 119th of 345, with limits $233 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 Neither fits 300 user sandboxes at once: exe.dev Personal stops at 50 VMs and Docker at 10 by default, while bochka fits this fully. | 257th of 361, with limits $1,226 a month | 136th of 361, with limits $1,628 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 | 265th of 360, with limits $5,250 a month | 114th of 360, with limits $7,000 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 Docker places ahead of exe.dev for eval runs thanks to per-second billing, but its 10-at-once default limits how wide a run can go. | 283rd of 364, with limits $1,050 a month | 167th of 364, with limits $1,400 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 | 288th of 377, with limits $504 a month | 172nd of 377, with limits $672 a month | 4th cheapest of 377 $86 a month |
| 24/7 dev boxes 1 machine 24/7 · 4 vCPU / 8 GB exe.dev makes a solid 24/7 dev box with root, SSH and a lasting disk; Docker's 24-hour cap means a new session every day. | 25th cheapest of 368 $35 a month | 127th of 368, with limits $204 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 Computer-use agents need a screen; exe.dev VMs are headless and Docker's sandboxes are terminal only, while bochka streams a 60fps desktop. | 240th of 369, with limits $1,055 a month | 268th of 369, with limits $1,400 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 | 130th of 367, with limits $530 a month | 277th of 367, with limits $700 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 | 124th of 346, with limits $278 a month | 262nd of 346, with limits $350 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 | 166th of 338, with limits $5,490 a month | 190th of 338, with limits $7,000 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 exe.dev does better than Docker for parallel red teaming, with 50 VMs at once on Personal against Docker's default of 10. | 60th of 360, with limits $263 a month | 248th of 360, with limits $350 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 | exe.dev | Docker Cloud Sandboxes | bochka |
|---|---|---|---|
| Isolation | KVM VM using Cloud Hypervisor; you can't choose the kernel | MicroVM with its own Linux kernel; hypervisor not named | Full VM with its own kernel on dedicated AMD Ryzen 9 9950X hosts |
| Session length | No cap; VMs run until you stop them | 1 hour by default, at most 24 hours from creation | No cap on paid plans; you set the time to live |
| Sandboxes at once | 50 VMs in a pool on Personal, plus up to 50 standalone VMs | 10 by default; no published way to raise it | 100 on the $20 plan, up to 2,000 on higher plans |
| Stop and resume | Disk is kept and streamed to a second server; a stopped standalone VM pays nothing for CPU and memory | Stop keeps memory and files, so processes pick up where they left off; saved state is deleted after 7 days unused | Disk saved every minute and on stop; resume boots the machine again |
| Snapshots and fork | No snapshots; cp copies a VM's disk and config into a new VM | Snapshot a running sandbox with disk or disk and memory, then restore it as a new one | Snapshot every minute while running; fork a running sandbox; named snapshots as templates |
| Docker inside | Yes, with root and systemd; VMs can boot from your own Docker image | Yes, its own Docker Engine; the agent runs as a non-root user with sudo | Yes, with root and systemd |
| Nested virtualization | Enterprise plan only | Not documented | Yes, /dev/kvm on every plan for Android emulators and VMs |
| Desktop and browser | Headless; no desktop or screen streaming | Terminal sessions only | 60fps Linux desktop with Chromium, computer use and browser control |
| Inbound access | HTTPS proxy for ports 3000 to 9999, one of them public; SSH; no public IP or raw TCP | Public HTTPS URL per published port, not protected by Docker sign-in; not a TCP tunnel; SSH | HTTPS URLs for up to 50 ports, token-protected by default; raw TCP; dedicated IPv4 or IPv6 |
| Outbound rules | Open internet; no host allowlist | Allow and deny rules by host, with allow-all, balanced and deny-all presets | Open internet, no provider-side allowlist |
| Coding agents | Claude Code, Codex, Pi and Shelley; only Shelley takes prompts through the API | Claude Code, Codex, Copilot, OpenCode and more, attached to from the sbx CLI | Seven agents preinstalled, with a prompt, steer and events API and TypeScript and Python SDKs |
| Keeping API keys out of the sandbox | Integrations inject secrets at the network edge for any HTTP host, S3 and GitHub | Cloud proxy sets the auth header for built-in AI services and custom hosts | Credentials proxy for model providers and any HTTPS API; switch to another account when credits run out |
| Regions | 9 regions in the US, Europe, Asia and Australia | Not published | EU only: Germany, Finland, France |
| Laptop and cloud | Cloud only | Same microVM and CLI locally or in the cloud; move a sandbox either way | Cloud only |
Every feature Battleships tracks (43)
| Feature | exe.dev | Docker Cloud Sandboxes | bochka |
|---|---|---|---|
| Full VM (own kernel) | Yes | Yes | Yes |
| Docker inside | Yes | Yes | Yes |
| Nested virtualization | Yes | No | Yes |
| Root | Yes | Yes | Yes |
| Systemd | Yes | Not published | Yes |
| Desktop GUI | No | No | Yes |
| Browser | Yes | No | Yes |
| Computer-use API | No | No | Yes |
| SSH | Yes | Yes | Yes |
| Persistent disk | Yes | Yes | Yes |
| Pause/resume | Yes | Yes | Yes |
| Automatic snapshots | No | Yes | Yes |
| Fork/clone | Yes | Yes | Yes |
| Live fork (no pause) | Yes | Yes | Yes |
| Memory fork | No | Yes | No |
| Custom image (Docker or snapshot) | Yes | Yes | Yes |
| ≥24 h sessions | Yes | Yes | Yes |
| Idle auto-stop | No | No | No |
| Wake on request | No | Not published | No |
| HTTPS preview URLs | Yes | Yes | Yes |
| Raw TCP inbound | No | Not published | Yes |
| Public IPv4 | No | No | No |
| Egress allowlist | No | Yes | No |
| Secret proxy | Yes | Yes | Yes |
| Secret proxy for any API | Yes | Yes | Yes |
| Preinstalled agents | Yes | Yes | Yes |
| Agent harness API | Yes | No | Yes |
| MCP server | Yes | Yes | No |
| GPU | No | No | No |
| Windows | No | No | No |
| Arm64 | No | Yes | No |
| Self-hosting | No | No | No |
| BYOC | Yes | No | No |
| Open source | No | No | No |
| Scoped API keys | Yes | Not published | Yes |
| Spend limits | Not published | Not published | Yes |
| Usage per sandbox (API) | Yes | No | Yes |
| Audit logs | Not published | Not published | No |
| SSO | Yes | Yes | No |
| SOC 2 | No | No | No |
| HIPAA | No | No | No |
| EU data residency | Yes | No | Yes |
| Zero data retention | Not published | Not published | Yes |
Performance
Neither exe.dev nor Docker Cloud Sandboxes is in the hpc-sandbox-benchmarks runs, so there is no comparable CPU measurement for either, and we don't guess how they would score. bochka did 26.69 runs per second on that Node.js build-and-test benchmark at 4 vCPU / 8 GB, 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. exe.dev and Docker Cloud Sandboxes 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 | exe.dev, a month | Docker Cloud Sandboxes, 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 | $35 · Personal | $49 · Docker Agentic Platform (pay-as-you-go) | $20 · $20/mo |
| One agent that never stops 4 vCPU / 8 GB, 50 GB disk, running 24/7 all month | $35 · Personal | $204 · Docker Agentic Platform (pay-as-you-go) · 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,848 · Personal | $2,464 · Docker Agentic Platform (pay-as-you-go) · 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 | $530 · Personal · with limits | $700 · Docker Agentic Platform (pay-as-you-go) · 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,050 · Personal · with limits | $1,400 · Docker Agentic Platform (pay-as-you-go) · with limits | $2,000 · $2000/mo · with limits |
exe.dev: Personal is a flat monthly pool your VMs share, from $15 for 2 vCPU / 4 GB to $155 for 16 vCPU, billed whether the VMs are busy or idle. Standalone VMs bill per second at $0.105 per 2 vCPU / 4 GiB hour.
Docker Cloud Sandboxes: Docker bills per second for the size you pick, from $0.07 an hour for 1 vCPU / 2 GiB to $1.12 an hour for 16 vCPU / 32 GiB, with no monthly fee. A stopped sandbox costs nothing, and new accounts get a one-time $25 credit.
Docker Cloud Sandboxes: Plans start at $20 a month, and the whole fee is usage credit. Sandboxes bill per second while they run, and a stopped sandbox costs nothing and keeps its disk.
Limits in those scenarios
Docker ends every sandbox 24 hours after creation, so one agent that never stops does not fit in a single session, and its default of 10 at once rules it out for 50 agents in parallel. exe.dev fits both of those, but Personal stops at 50 VMs, so 300 user sandboxes or 1,000 short jobs at once do not fit on either. bochka has no session cap, but even its top plan queues the starts for a 1,000-job burst.
| Scenario | exe.dev | Docker Cloud Sandboxes | bochka |
|---|---|---|---|
| One coding agent, workdays |
| None that bite | None that bite |
| One agent that never stops |
|
| None that bite |
| 50 agents in parallel | None that bite |
| None that bite |
| Sandboxes for your users |
|
| None that bite |
| 1,000 short jobs at once |
|
|
|
Which one should you use?
Use exe.dev when
you want a lasting VM or a pool of them that runs for weeks, in a region near your users, booted from your own Docker image.
- No time limit. For agents or dev boxes that stay on for weeks: exe.dev VMs run until you stop them, with no 24-hour cap.
- More machines at once. Personal runs 50 VMs in a pool plus 50 standalone ones, where Docker allows 10 sandboxes at once by default.
- Regions around the world. Useful if your users are far from Europe: exe.dev runs in nine regions across the US, Europe, Asia and Australia.
Use Docker Cloud Sandboxes when
you already run agents in sbx on your laptop and want a few to keep going in the cloud for up to a day, with memory kept across stops and strict outbound rules.
- Stop and fork with memory. For agents that pause between steps: a stopped sandbox comes back with its memory and running processes.
- Outbound rules at the proxy. Teams that must limit where an agent connects can set allow and deny rules by host, enforced outside the VM.
- The same sandbox on your laptop. If you already run sbx locally, the cloud is the same microVM and CLI, and you can move work between them.
Where bochka fits
exe.dev and Docker Cloud Sandboxes both give an agent a terminal, Docker and a disk. If your agents also need a screen, a way back from a bad step, or to be driven from your own app, bochka covers all three. It also runs with no session cap and 100 sandboxes at once on the $20 plan.
A screen your agents can use
exe.dev VMs are headless and Docker's sandboxes are terminal only, so an agent that must click through a web app has nothing to look at. On either one you set up and stream a desktop yourself.
State saved every minute
exe.dev has no snapshots to roll back to, and Docker's saved state is deleted after 7 days unused. bochka snapshots a running sandbox every minute, so a bad agent step costs at most a minute of work.
Drive agents inside from outside
On exe.dev only Shelley takes prompts through the API, and on Docker you attach to an agent's terminal. To run Claude Code from your app on either, you wrap terminal input and output and parse its text yourself.
Use bochka when your agents run for days or by the dozen, need a desktop, a browser or /dev/kvm, or have to be driven from your own app through an API. Compare it one to one: bochka vs exe.dev and bochka vs Docker Cloud Sandboxes.
Questions people ask
Is exe.dev cheaper than Docker Cloud Sandboxes?
For one coding agent on workdays, exe.dev's Personal pool is $35 a month against $49 on Docker, and bochka is $20. For one agent that never stops, exe.dev stays at $35 while Docker does not fit because of its 24-hour cap. For 50 agents in parallel exe.dev fits at $1,848 a month and Docker's default of 10 at once rules it out.
Which is faster, exe.dev or Docker Cloud Sandboxes?
We can't say: neither is in the hpc-sandbox-benchmarks runs, and Docker does not say what hardware it uses. bochka scored 26.69 runs per second on that benchmark at 4 vCPU / 8 GB.
Can a Docker cloud sandbox run as long as an exe.dev VM?
No. A Docker cloud sandbox expires after one hour by default and can be extended to at most 24 hours from creation. exe.dev VMs, like bochka sandboxes on paid plans, run until you stop them.
Can I run Docker inside both?
Yes. exe.dev VMs have root, systemd and Docker and can boot from your own Docker image, and each Docker cloud sandbox has its own Docker Engine. For nested VMs or Android emulators, exe.dev offers /dev/kvm only on Enterprise and Docker does not document it, while bochka has it on every plan.
Do exe.dev or Docker Cloud Sandboxes have a desktop for computer use?
No. exe.dev VMs are reached over SSH and an HTTPS proxy, and Docker's cloud sandboxes are terminal sessions. bochka gives every sandbox a 60fps desktop with Chromium and APIs for computer use and browser control.
Where do exe.dev and Docker Cloud Sandboxes run?
exe.dev has nine regions in the US, Europe, Asia and Australia. Docker does not publish its regions. bochka runs only in the EU, in Germany, Finland and France.
Try bochka
Install the CLI, then run bochka new.
Product preview