boat vs boxd
Both give each agent a persistent Linux VM with its own kernel, hosted in the EU. boat is built to run the agents for you and give them a GUI and nested VMs, while boxd is strongest at machines that sleep and wake with their memory intact.
Where boat stands out
Agents you drive from outside
Every boat sandbox has seven coding agents installed, and you prompt them, steer a running turn and follow its events through one API. Real keys stay in a credentials proxy, and a credential can switch to another account when one runs out of credits.
Nested VMs and bigger machines
boat passes the CPU's virtualization extensions through, so /dev/kvm works for Android emulators, Firecracker and VM images. Machines go up to 16 vCPU / 32 GB on the $100 plan and above, with no email needed.
Computer use built in
The desktop streams at 1920x1080 and 60fps, and every built-in agent has computer tools to see the screen, click and type. You can watch a prompt do GUI work live, or embed the stream in your app.
The companies and products
boat
boat.dev runs sandboxes for AI agents: each one is a full Linux VM with its own kernel.
You start a machine with one command or one API call, then SSH in, run Docker, open a desktop, or let a built-in agent (Claude Code, Codex, OpenCode and others) work in it. The disk stays between sessions, and a stopped sandbox costs nothing.
- Isolation
- Full VM per sandbox, own kernel
- Regions
- EU: Germany, Finland, France
boxd
boxd sells persistent Linux VMs in the cloud for developers and their agents, reached over SSH and HTTPS.
Each boxd machine is a KVM microVM with its own kernel, run by boxd's own Rust VMM, with Ubuntu 24.04, Docker, systemd and Claude Code, Codex and OpenCode installed. Machines fork with their memory in under 200ms, and they hibernate when network traffic stops and wake in about 85ms on the next connection. It is built for dev workspaces, preview environments and agents that keep one machine for weeks, and it can be self-hosted.
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. “3rd cheapest of 367” means 2 of the other 366 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 | boat: price rank | boxd: price rank |
|---|---|---|
| Software factory 100 at once · 4 vCPU / 8 GB · 2,200 sessions of 8 h a month Both fit long agent work on a real VM; boat adds /dev/kvm for Android emulators and VM builds, and an API to prompt and steer the agents. | 3rd cheapest of 367 $634 a month | 25th of 367, with limits $2,686 a month |
| Always-on AI employees 50 machines 24/7 · 2 vCPU / 4 GB Both keep a machine all month; on boxd, an assistant that works without network traffic is hibernated after 4 hours unless you turn that off. | 5th cheapest of 366 $657 a month | 13th cheapest of 366 $3,650 a month |
| Code interpreter bursts 100 at once · 1 vCPU / 2 GB · 200,000 sessions of 1 min a month boxd's billing on RAM in use and its fast wake from hibernation suit short bursts of code on a machine that sleeps between them. | 186th of 345, with limits $2,000 a month | 117th of 345, with limits $230 a month |
| Sandboxes for your users 300 at once · 2 vCPU / 4 GB · 30,000 sessions of 23 min a month boxd wakes a user's machine on the first request, but starts at 50 machines per organization, hibernated ones included, until you email to raise it. | Cheapest of 361 $209 a month | 122nd of 361, with limits $1,206 a month |
| RL rollouts 1,000 at once · 2 vCPU / 4 GB · 1,000,000 sessions of 3 min a month boxd forks a running machine with its memory in milliseconds, which gives every rollout the same warm start. | 34th of 360, with limits $2,000 a month | 109th of 360, with limits $6,671 a month |
| Agent evals 250 at once · 4 vCPU / 8 GB · 15,000 sessions of 20 min a month | 10th cheapest of 364 $200 a month | 152nd of 364, with limits $984 a month |
| CI runners 40 at once · 8 vCPU / 16 GB · 6,000 sessions of 12 min a month CI that builds Android apps or VM images needs nested virtualization, which boat has and boxd does not document. | 4th cheapest of 377 $86 a month | 74th cheapest of 377 $622 a month |
| 24/7 dev boxes 1 machine 24/7 · 4 vCPU / 8 GB Both make good dev boxes; boxd hibernates overnight and wakes with your shells still open, and boat keeps its disk while stopped for free. | 18th cheapest of 368 $26 a month | 93rd cheapest of 368 $134 a month |
| Computer-use agents 50 at once · 4 vCPU / 8 GB · 20,000 sessions of 15 min a month Both have a desktop you can watch; boat also gives every agent built-in tools to see the screen and click, streamed at 60fps. | 6th cheapest of 369 $200 a month | 15th cheapest of 369 $753 a month |
| Browser-use agents 50 at once · 2 vCPU / 4 GB · 30,000 sessions of 10 min a month | 7th cheapest of 367 $200 a month | 80th of 367, with limits $411 a month |
| Scraping & bots (startup scale) 50 at once · 1 vCPU / 2 GB · 100,000 sessions of 3 min a month | 6th cheapest of 346 $90 a month | 29th cheapest of 346 $313 a month |
| Mass scraping & bots (undetectable) 1,000 at once · 1 vCPU / 2 GB · 3,000,000 sessions of 2 min a month | 71st of 338, with limits $1,800 a month | 176th of 338, with limits $6,267 a month |
| Parallel red teaming 200 at once · 2 vCPU / 4 GB · 5,000 sessions of 30 min a month | 2nd cheapest of 360 $200 a month | 31st of 360, with limits $309 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 |
| 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 |
Key features
| Feature | boat | boxd |
|---|---|---|
| Isolation | Full VM with its own kernel on dedicated AMD Ryzen 9 9950X hosts | KVM microVM with its own kernel on bare-metal servers in Germany |
| Biggest machine | Up to 16 vCPU / 32 GB on the $100 plan and above | Up to 4 vCPU / 16 GiB self-serve, 8 vCPU / 32 GiB by email |
| Session length | No cap on paid plans; you set the time to live | No cap; hibernates after 4 hours without network traffic by default |
| Sleep and resume | Disk is saved every minute and on stop; resume boots the machine again | Standby and hibernate keep memory and processes; wake in about 85ms from hibernation |
| Fork | Fork a running sandbox with its disk | Fork a running machine with memory, processes and disk in under 200ms |
| Wake on request | No; a stopped sandbox is started by API | Yes; the first inbound packet wakes a sleeping machine |
| Nested virtualization | Yes, /dev/kvm for Android emulators and VMs | Not documented |
| Coding agents | Seven agents preinstalled, with a prompt, steer and events API | Claude Code, Codex and OpenCode preinstalled with shared logins, run through exec or SSH |
| Desktop and computer use | 1920x1080 desktop at 60fps, with computer tools for every built-in agent | Browser desktop for a person to watch and take over; Playwright browser on it |
| Inbound access | HTTPS URLs for up to 50 ports, raw TCP, dedicated IPv4 or IPv6 | HTTPS domain plus subdomain proxies, 3 raw TCP/UDP forwards, shared proxy IP, Tailscale |
| Outbound rules | Open internet, no provider-side allowlist | Per-machine allowlist of hosts and IP ranges, enforced outside the VM |
| Keeping API keys out of the sandbox | Credentials proxy for model providers and any HTTPS API; switch a credential to another account when credits run out | Host-bound secrets: the machine holds a placeholder, the real key is added on the way out |
| Regions | EU only (Germany, Finland, France) | EU only (Germany); US region on a waitlist |
| Self-hosting | No | Single binary on your own KVM hosts, or bring your own cloud |
| Compliance and transparency | SOC 2 is in progress. We're open about where we stand: live status and data retention policy. | No SOC 2 report published |
Every feature Battleships tracks (43)
| Feature | boat | boxd |
|---|---|---|
| Full VM (own kernel) | Yes | Yes |
| Docker inside | Yes | Yes |
| Nested virtualization | Yes | No |
| Root | Yes | Yes |
| Systemd | Yes | Yes |
| Desktop GUI | Yes | Yes |
| Browser | Yes | Yes |
| Computer-use API | Yes | No |
| SSH | Yes | Yes |
| Persistent disk | Yes | Yes |
| Pause/resume | Yes | Yes |
| Automatic snapshots | Yes | Yes |
| Fork/clone | Yes | Yes |
| Live fork (no pause) | Yes | Yes |
| Memory fork | No | Yes |
| Custom image (Docker or snapshot) | Yes | Yes |
| ≥24 h sessions | Yes | Yes |
| Idle auto-stop | No | Yes |
| Wake on request | No | Yes |
| HTTPS preview URLs | Yes | Yes |
| Raw TCP inbound | Yes | Yes |
| Public IPv4 | No | No |
| Egress allowlist | No | Yes |
| Secret proxy | Yes | Yes |
| Secret proxy for any API | Yes | Yes |
| Preinstalled agents | Yes | Yes |
| Agent harness API | Yes | No |
| MCP server | No | Yes |
| GPU | No | No |
| Windows | No | No |
| Arm64 | No | No |
| Self-hosting | No | Yes |
| BYOC | No | Yes |
| Open source | No | No |
| Scoped API keys | Yes | Not published |
| Spend limits | Yes | Not published |
| Usage per sandbox (API) | Yes | Yes |
| Audit logs | No | Yes |
| SSO | No | Yes |
| SOC 2 | No | No |
| HIPAA | No | No |
| EU data residency | Yes | Yes |
| Zero data retention | Yes | Not published |
Performance
There is no comparable measurement: boxd is not in the hpc-sandbox-benchmarks run. boat did 26.69 runs per second on its Node.js build-and-test loop at 4 vCPU / 8 GB. boxd reports boot in under 10ms and wake from hibernation in about 85ms, which measure 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. boxd has 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 | boat, a month | boxd, 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 | $20 · $20/mo | $42 · Pay as you go |
| One agent that never stops 4 vCPU / 8 GB, 50 GB disk, running 24/7 all month | $26 · $20/mo | $164 · Pay as you go |
| 50 agents in parallel 50 machines of 4 vCPU / 8 GB at once, 8-hour sessions, 1,100 sessions a month, Docker inside | $317 · $20/mo × 3 seats | $2,003 · Pay as you go |
| Sandboxes for your users 2 vCPU / 4 GB, 30,000 sessions of 10 minutes a month, up to 300 at once | $200 · $100/mo × 2 seats | $553 · Pay as you go · with limits |
| 1,000 short jobs at once 2 vCPU / 4 GB, 1,000 at once, 3 minutes each, 200,000 jobs a month | $2,000 · $2000/mo · with limits | $1,223 · Pay as you go · with limits |
boat: Plans start at $20 a month, and the whole fee is usage credit. You pay per second while a sandbox runs, and a stopped sandbox costs nothing and keeps its disk.
boxd: boxd has no monthly plan or seat fee: prepaid credits are drawn down for the full vCPU size while a machine runs, the RAM actually in use while it runs or sits on standby, and the disk written in every state. A hibernated machine pays for its disk only, so machines that sleep most of the day cost much less than the full-time shapes here, and egress has no published price.
Limits in those scenarios
boxd starts each organization at 50 machines, hibernated and stopped ones included, so 1,000 user sandboxes do not fit until you email boxd to raise it, which it says it usually approves the same day. Its idle timers watch network traffic, not CPU, so a long job that does not touch the network is hibernated after 4 hours unless you turn that off. boat has no machine cap at this scale, but at 1,000 short jobs at once its $2,000 plan queues starts above 90 a minute.
| Scenario | boat | boxd |
|---|---|---|
| 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 |
|
| 1,000 short jobs at once |
|
|
Which one should you use?
Use boxd when
your machines sit idle most of the time and must wake in milliseconds with memory intact, when you need an outbound allowlist, or when you must self-host.
- Sleep and fork with memory. Useful for machines that idle between requests: they wake in milliseconds with every process and open connection still there.
- Outbound allowlist and private networking. Teams running untrusted code can limit each machine to named hosts and serve machines only inside their own tailnet.
- Self-hosting. Teams that must run on their own hardware can deploy it as one binary on KVM hosts or in their own cloud.
Use boat when
agents do the work: you prompt and steer them from outside, they run emulators, VMs, Docker and GUI apps, and they need machines up to 16 vCPU without asking.
- Agents you drive from outside. On boxd you start an agent with exec or tmux and its own remote control, so the queue, steering and event stream are code you write and keep working.
- Nested VMs and bigger machines. boxd does not document /dev/kvm, so an emulator or VM build has no place to start, and its 8 vCPU size needs an email to boxd first.
- Computer use built in. boxd's desktop is made for a person to watch and take over, and Playwright covers only the browser, so an agent that works in other GUI apps needs its own screen and click driver.
Questions people ask
Is boat cheaper than boxd?
In the scenarios on this page that boat fits, yes: a workday agent, an always-on agent, a fleet and user sandboxes all cost less per month on boat. boxd bills RAM in use and disk only while hibernated, so a machine that sleeps most of the day can cost little there. For 1,000 short jobs at once, neither fits as listed.
Does boat keep memory when a sandbox sleeps, like boxd?
No. boat saves the disk every minute and when the sandbox stops, so files survive, but resuming boots the machine again. boxd keeps memory on standby or hibernation and wakes with processes still running.
Can I run Docker and Android emulators on each?
Both run Docker and systemd with root inside a VM. boat also exposes /dev/kvm for Android emulators and nested VMs, and boxd's docs do not mention nested virtualization.
Which one is better for coding agents?
Both come with Claude Code and Codex installed. boat has seven agents and an API to prompt, steer and follow them, plus computer tools for GUI work. On boxd you run the agent through exec or SSH, and it supports Claude's own remote control inside tmux.
Can I self-host boat or boxd?
boxd can be self-hosted as one binary on your own KVM hosts, under an annual licence. boat runs only as a hosted service in the EU.
Is boat SOC 2 compliant?
SOC 2 is in progress. We're open about where we stand: live status at status.ascii.dev and our data retention policy at docs.boat.dev/data-retention.
Start a sandbox
Install the CLI, then run boat new.
7-day free trial