exe.dev vs Azure Container Apps Sandboxes
exe.dev gives you a persistent Linux VM you reach over SSH, billed from a reserved pool or per second. Azure Container Apps Sandboxes gives each agent a microVM inside your Azure account that suspends with its memory and wakes on traffic, with no SSH.
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
Azure Container Apps Sandboxes
Azure Container Apps Sandboxes is a service inside Microsoft Azure that gives each agent or user an isolated microVM you create, suspend and resume through an SDK.
It is part of Azure Container Apps, the hyperscaler's serverless container platform, and lives in your Azure subscription as a sandbox group resource. Each sandbox boots from an OCI image or a snapshot, has its own kernel, and can be suspended with its memory and resumed in under a second. It is built for teams already on Azure that want stateful code execution with Azure networking, identity and billing.
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 | Azure Container Apps Sandboxes: price rank | boat: price rank |
|---|---|---|---|
| Software factory 100 at once · 4 vCPU / 8 GB · 2,200 sessions of 8 h a month | 253rd of 367, with limits $3,701 a month | 288th of 367, with limits $5,276 a month | 3rd cheapest of 367 $634 a month |
| Always-on AI employees 50 machines 24/7 · 2 vCPU / 4 GB An assistant that lives on its machine all month suits exe.dev's flat pool, while Azure bills every running second and only gets close with a commitment; boat also fits fully. | 15th cheapest of 366 $3,833 a month | 302nd of 366, with limits $6,544 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 Azure fits short code runs well, since sandboxes suspend with their memory and resume in under a second; exe.dev and boat are not built as code interpreters. | 235th of 345, with limits $175 a month | 34th cheapest of 345 $354 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 Azure suspends idle user sandboxes and scales past exe.dev's 50 VMs at once on Personal; boat fits too, with hosting on up to 50 ports per sandbox. | 257th of 361, with limits $1,226 a month | 22nd cheapest of 361 $2,260 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 | 153rd of 360, with limits $10,740 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 Azure fits evals with memory snapshots that seed many sandboxes; exe.dev's Personal plan caps concurrency at 50, and boat fits with a fork of a running sandbox. | 283rd of 364, with limits $1,050 a month | 75th cheapest of 364 $1,728 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 Azure bills CI jobs per second while they run, and exe.dev pools bill whether jobs run or not; boat bills per second and adds /dev/kvm for emulator builds. | 288th of 377, with limits $504 a month | 103rd cheapest of 377 $1,046 a month | 4th cheapest of 377 $86 a month |
| 24/7 dev boxes 1 machine 24/7 · 4 vCPU / 8 GB exe.dev is a natural 24/7 dev box with SSH and a lasting disk; Azure gives a shell through its own CLI instead, and boat adds a desktop in the browser. | 25th cheapest of 368 $35 a month | 322nd of 368, with limits $262 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 and Azure are both headless, and boat streams a 60fps desktop. | 240th of 369, with limits $1,055 a month | 279th of 369, with limits $1,573 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 On both exe.dev and Azure you install and run a headless browser yourself; boat ships Chromium on a desktop in every sandbox. | 130th of 367, with limits $530 a month | 288th of 367, with limits $795 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 | 284th of 346, with limits $561 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 | 239th of 338, with limits $10,956 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 | 60th of 360, with limits $263 a month | 278th of 360, with limits $517 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 | Azure Container Apps Sandboxes | boat |
|---|---|---|---|
| Isolation | KVM VM with Cloud Hypervisor on rented servers; you can't choose the kernel | MicroVM per sandbox with its own kernel | Full VM with its own kernel on dedicated AMD Ryzen 9 9950X hosts |
| Getting a shell | SSH, brokered by exe.dev | Interactive shell through the aca CLI, SDK or portal; no SSH | SSH, plus CLI and API exec |
| Docker and systemd | Root, systemd and Docker in every VM | Depends on the image: azure-dev ships Docker on systemd; the default ubuntu image has only Buildah | Docker, systemd and root on every sandbox |
| Nested virtualization | Enterprise only | Not documented | Yes, /dev/kvm on every plan |
| Custom images | Boot from your own Docker image | Boot from an OCI image or a snapshot | Templates from named snapshots; no Dockerfile or OCI images |
| Saved state | Disk persists and is streamed to a second server; no snapshots | Suspend with memory and disk; resume in under a second with processes running | Disk saved every minute and on stop; resume boots the machine again |
| Fork | cp copies a VM's disk and config into a new VM | Snapshot a running sandbox with its memory and create new sandboxes from it | Fork a running sandbox with its disk; named snapshots as templates |
| Desktop and computer use | Headless; no desktop or screen streaming | Headless; no desktop or managed browser | 60fps desktop with Chromium, computer use and browser control |
| Inbound traffic | HTTPS proxy for ports 3000 to 9999, one of them public; no public IP or raw TCP | Public HTTPS routes per published port; private endpoint from your VNet; no public IP | HTTPS URLs for up to 50 ports, token-protected by default; raw TCP; dedicated IPv4 or IPv6 |
| Outbound rules | Open internet; integrations inject secrets at the network edge | Egress policy with allow, deny, rewrite and header rules by host, path and method; VNet integration | Open internet, no provider-side allowlist |
| Coding agents | Claude Code, Codex, Pi and Shelley; only Shelley takes prompts through the API | Copilot CLI and Claude Code images, run through the exec API | Seven agents preinstalled, with a prompt, steer and events API |
| Keeping keys out of the sandbox | Integrations inject secrets at the network edge for any HTTP host, S3 and GitHub | Group secrets in egress header rules; Copilot and Anthropic tokens are injected into the sandbox at start | Credentials proxy for model providers and any HTTPS API; switch accounts when one runs out of credits |
| Scaling up | Personal: one pool of up to 16 vCPU and 50 VMs, plus up to 50 standalone VMs | 500 concurrent active cores by default; more by Azure support request | Concurrency set by plan, up to 2,000 sandboxes, self-serve |
| Regions | 9 regions in the US, Europe, Asia and Australia | 40 Azure regions on six continents | EU only: Germany, Finland, France |
Every feature Battleships tracks (43)
| Feature | exe.dev | Azure Container Apps Sandboxes | boat |
|---|---|---|---|
| Full VM (own kernel) | Yes | Yes | Yes |
| Docker inside | Yes | Yes | Yes |
| Nested virtualization | Yes | No | Yes |
| Root | Yes | Yes | Yes |
| Systemd | Yes | Yes | Yes |
| Desktop GUI | No | No | Yes |
| Browser | Yes | No | Yes |
| Computer-use API | No | No | Yes |
| SSH | Yes | No | 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 | Yes | No |
| Wake on request | No | Yes | No |
| HTTPS preview URLs | Yes | Yes | Yes |
| Raw TCP inbound | No | No | 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 | No | No |
| GPU | No | No | No |
| Windows | No | No | No |
| Arm64 | No | No | 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 | Yes | Yes |
| Usage per sandbox (API) | Yes | Yes | Yes |
| Audit logs | Not published | Yes | No |
| SSO | Yes | Yes | No |
| SOC 2 | No | Yes | No |
| HIPAA | No | Yes | No |
| EU data residency | Yes | Yes | Yes |
| Zero data retention | Not published | Not published | Yes |
Performance
Neither exe.dev nor Azure Container Apps Sandboxes is in the StarSling hpc-sandbox-benchmarks run, so there is no comparable CPU measurement for them. boat did 26.69 runs per second on that Node.js build-and-test loop at 4 vCPU / 8 GB. We make no speed claim between the three.
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 Azure Container Apps 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 | Azure Container Apps Sandboxes, a month | boat, 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 | $68 · 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 | $262 · 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 | $3,421 · Pay-as-you-go | $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 | $989 · Pay-as-you-go | $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 | $2,148 · Pay-as-you-go | $2,000 · $2000/mo · with limits |
exe.dev: Pools are reserved capacity your VMs share, billed the same whether busy or idle: Personal is a flat monthly fee, and Work is a team fee plus extra capacity by the hour. Standalone VMs bill per second at $0.105 per 2 vCPU / 4 GiB per hour.
Azure Container Apps Sandboxes: Azure bills per second on the Container Apps Consumption meters for the sandbox's tier while it runs, idle time before auto-suspend included. There is no plan fee, stopped sandboxes pay no CPU or memory, and some regions charge more.
Azure Container Apps Sandboxes: The monthly plan fee is all usage credit, and sandboxes bill per second only while they run. A stopped sandbox costs nothing and resumes with its disk.
Limits in those scenarios
exe.dev Personal stops at 50 VMs at once, so the 300-at-once and 1,000-at-once scenarios don't fit there. Azure has no session cap but bills a running sandbox for every second, so the always-on scenario only gets close with a 3-year savings plan commitment, and a default quota of 500 active cores caps a fleet until support raises it. Azure is the only one of the three that fits 1,000 short jobs at once; boat's start limits queue that burst.
| Scenario | exe.dev | Azure Container Apps Sandboxes | boat |
|---|---|---|---|
| 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 | None that bite |
| Sandboxes for your users |
| None that bite | None that bite |
| 1,000 short jobs at once |
| None that bite |
|
Which one should you use?
Use exe.dev when
you want a persistent dev box or long-running agent VM you SSH into, on a flat bill, in regions outside Europe, with team SSO.
- A dev box you SSH into. Each VM has SSH, root and a disk that lasts, so editors and tools that expect a normal server just work.
- A flat bill for always-on work. A Personal pool is one flat monthly fee, so a machine that runs all month costs the same as one that idles.
- Team controls and an MCP server. The Work plan covers a whole team with SSO and roles, and an MCP server lets tools like Claude Code control VMs.
Use Azure Container Apps Sandboxes when
your team already runs on Azure and wants short stateful sandboxes that suspend with their memory, wake on traffic and sit behind strict egress rules.
- Memory suspend and wake on traffic. Good for stateful jobs that sleep between requests: a sandbox suspends with its memory and resumes in under a second.
- Fine-grained outbound rules. Its egress policy can allow, deny or rewrite each outbound HTTP request by host, path and method, with VNet integration.
- Inside Azure, in 40 regions. Teams already on Azure get Entra ID, Azure billing and their own VNets, in 40 regions on six continents.
Where boat fits
If your agents do long, real work like builds, tests, emulators and browsers, neither exe.dev nor Azure gives them a screen, nested virtualization on every plan, or an API to drive any built-in agent. boat is a full VM with all three, plus state saved every minute and hosting on up to 50 ports. Look at boat if you can run in the EU.
A screen for every agent
exe.dev and Azure are both headless, so a computer-use or browser agent needs you to install a browser, a virtual display and a streaming stack yourself. boat streams a 60fps desktop with Chromium in every sandbox.
Emulators and nested VMs
exe.dev offers nested virtualization only on Enterprise, and Azure does not document it, so Android emulators and VM builds stall there. boat exposes /dev/kvm on every plan, next to Docker and systemd.
Drive agents inside from outside
On exe.dev only Shelley takes prompts through the API, and Azure runs its agent images through raw exec, so you script shell sessions to steer a task. boat gives seven agents one prompt, steer and events API.
Use boat when your agents need a whole computer for real work: SSH, Docker, /dev/kvm, a desktop and a browser, with state saved every minute and one API to drive agents inside from outside. Compare it one to one: boat vs exe.dev and boat vs Azure Container Apps Sandboxes.
Questions people ask
Is exe.dev cheaper than Azure Container Apps Sandboxes?
In our scenario table exe.dev's monthly bill is lower in all five workloads, for example $1,848 against $3,421 for 50 agents in parallel. But exe.dev's Personal plan doesn't fit the 300-at-once and 1,000-at-once loads, which Azure handles. boat is lower than both in the four scenarios it fits.
Which is faster, exe.dev or Azure Container Apps Sandboxes?
We don't know: neither is in the hpc-sandbox-benchmarks run, so there is no comparable CPU score. boat scored 26.69 runs per second on that test at 4 vCPU / 8 GB.
Can I SSH into them?
exe.dev gives every VM SSH. Azure gives you an interactive shell through the aca CLI, the SDK or the portal, with no SSH. boat has SSH on every sandbox, plus CLI and API exec.
Can they run Docker?
exe.dev VMs have root, systemd and Docker. On Azure it depends on the image: azure-dev ships Docker on systemd, while the default ubuntu image has only Buildah. boat runs Docker on every sandbox and also exposes /dev/kvm.
Do they have snapshots?
exe.dev has no snapshots; it keeps each VM's disk on a second server, and cp copies a VM. Azure can snapshot a running sandbox with its memory and start new sandboxes from it. boat saves the disk every minute and can fork a running sandbox.
Where do they run?
exe.dev runs in 9 regions across the US, Europe, Asia and Australia, and Azure Container Apps Sandboxes in 40 Azure regions. boat runs only in the EU, in Germany, Finland and France.
Try boat
Install the CLI, then run boat new.
7-day free trial