boat vs Sail
Sail and boat both give each agent a persistent Linux VM with root and Docker. boat adds nested virtualization, a desktop with Chromium and coding agents you drive from outside, while Sail bills only the CPU and memory a VM uses and puts idle VMs to sleep with their memory kept.
Where boat stands out
/dev/kvm on every machine
boat machines expose /dev/kvm, so an agent can run Android emulators, Firecracker or a VM of its own inside the sandbox. Sailboxes are Firecracker microVMs, and Sail's docs do not offer nested virtualization.
A desktop and a browser built in
Every boat sandbox can stream a 60fps Linux desktop with Chromium, and agents can drive it with computer use and browser control. You can embed the stream in your own app. Sailboxes are headless VMs with no desktop or computer-use API.
Coding agents you drive from outside
boat ships Claude Code, Codex, OpenCode and other agents in each sandbox, and you drive agents inside from outside with a prompt, steer and events API. Sail's devbox setup installs the agent CLIs, and you run them over SSH or exec. boat's credentials proxy can also switch to another account when one runs out of credits.
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
Sail
Sail Research sells an inference API for open-source models and Sailboxes, persistent Linux VMs for long-running AI agents.
A Sailbox is a Firecracker microVM with root, Docker and a local NVMe disk, in three sizes from 1 to 8 vCPU. It bills only the CPU, memory and disk the VM actually uses, sleeps on its own when fully idle and live-migrates between hosts a few times a day to pack the fleet tightly. It is built for teams running long agent jobs, RL rollouts and devboxes, often together with Sail's own inference API.
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 | Sail: price rank |
|---|---|---|
| Software factory 100 at once · 4 vCPU / 8 GB · 2,200 sessions of 8 h a month Both run Docker on a full VM; Android emulators and other KVM tools need /dev/kvm, which boat has and Sail does not document. | 3rd cheapest of 367 $634 a month | 55th of 367, with limits $372 a month |
| Always-on AI employees 50 machines 24/7 · 2 vCPU / 4 GB Both keep an assistant's VM for as long as you want; boat adds a desktop and Chromium, and Sail's VM sleeps between tasks and can wake up cold. | 5th cheapest of 366 $657 a month | 142nd of 366, with limits $993 a month |
| Code interpreter bursts 100 at once · 1 vCPU / 2 GB · 200,000 sessions of 1 min a month Sail fits short bursts better: no plan fee, creation fees waived on Pro and up to 5,000 Sailboxes at once, while boat's start limits make big bursts a compromise. | 186th of 345, with limits $2,000 a month | 23rd cheapest of 345 $250 a month |
| Sandboxes for your users 300 at once · 2 vCPU / 4 GB · 30,000 sessions of 23 min a month Both fit; boat gives each user sandbox HTTPS on up to 50 ports and a desktop to embed, and Sail gives per-port allowlists and per-sandbox egress rules. | Cheapest of 361 $209 a month | 4th cheapest of 361 $413 a month |
| RL rollouts 1,000 at once · 2 vCPU / 4 GB · 1,000,000 sessions of 3 min a month Neither is a full fit at that scale; Sail lets a rollout sleep for free while it waits on a Sail inference call. | 34th of 360, with limits $2,000 a month | 349th of 360, with limits $4,347 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 | 18th cheapest of 364 $409 a month |
| CI runners 40 at once · 8 vCPU / 16 GB · 6,000 sessions of 12 min a month | 4th cheapest of 377 $86 a month | 31st cheapest of 377 $301 a month |
| 24/7 dev boxes 1 machine 24/7 · 4 vCPU / 8 GB Both make good always-on dev boxes; Sail's devbox setup installs Claude Code, Codex, Cursor Agent and opencode, and boat preinstalls its agents with an API to drive them. | 18th cheapest of 368 $26 a month | 22nd cheapest of 368 $30 a month |
| Computer-use agents 50 at once · 4 vCPU / 8 GB · 20,000 sessions of 15 min a month boat streams a 60fps desktop with Chromium and computer use; Sailboxes are headless, so you would install and stream a desktop yourself. | 6th cheapest of 369 $200 a month | 113th of 369, with limits $252 a month |
| Browser-use agents 50 at once · 2 vCPU / 4 GB · 30,000 sessions of 10 min a month boat ships Chromium on a desktop you can watch; on Sail you install a browser in a headless VM. | 7th cheapest of 367 $200 a month | 215th of 367, with limits $250 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 | 185th of 346, with limits $104 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 | 80th of 338, with limits $2,027 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 | 237th of 360, with limits $307 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 | Sail |
|---|---|---|
| Isolation | Every sandbox is a full VM with its own kernel | Every Sailbox is a Firecracker microVM with its own kernel |
| Nested virtualization | /dev/kvm on every machine, for emulators and VMs inside | Not documented |
| Docker, root and systemd | Docker, root and systemd on every machine | Root, Docker support and local NVMe disk on every Sailbox |
| Desktop and computer use | 60fps desktop and Chromium, computer use and browser control, embeddable stream | Headless Linux; no desktop or computer-use API |
| Coding agents | Claude Code, Codex, OpenCode and more preinstalled, with a prompt, steer and events API | Devbox setup installs Claude Code, Codex, Cursor Agent and opencode; you run them over SSH or exec |
| Idle and sleep | Stop is free and keeps the disk; snapshots every minute; resume reboots from disk | Sleeps after 30 seconds fully idle with memory and processes kept; any wake can come back cold |
| Fork | Fork a running sandbox from its disk | Checkpoint a running Sailbox and start copies with its disk and memory |
| Session length | No session cap on paid plans | Unlimited lifetime unless you set one |
| Reaching the sandbox | HTTPS URLs for up to 50 ports, token-protected; raw TCP; dedicated IPv6 or IPv4 | Public HTTPS URL per exposed port, raw TCP ports and SSH, with per-port allowlists; no public IP per machine |
| Outbound internet | Open internet on every plan; no provider-side allowlist | Open by default; per-Sailbox allowlist or blocklist, no-network mode and HTTPS request rules |
| Keeping keys out of the sandbox | AI credentials proxy for model providers and any HTTPS API you register; switch a credential to another account when credits run out | Credential injection adds org secrets to HTTPS requests on the way out |
| Machine size | Up to 8 vCPU / 16 GB on the $20 plan, 16 vCPU / 32 GB from the $100 plan | Up to 8 vCPU and 256 GiB memory, billed on what is used |
| CPU architecture | x86 on AMD Ryzen 9 9950X (Zen 5) hosts | amd64 or arm64 images |
| Where it runs | EU only: Germany, Finland, France, with EU data residency | Regions not listed; data may be processed outside the United States |
| Compliance and transparency | SOC 2 is in progress. We're open about where we stand: live status and data retention policy. | SOC 2 |
Every feature Battleships tracks (43)
| Feature | boat | Sail |
|---|---|---|
| Full VM (own kernel) | Yes | Yes |
| Docker inside | Yes | Yes |
| Nested virtualization | Yes | No |
| Root | Yes | Yes |
| Systemd | Yes | Yes |
| Desktop GUI | Yes | No |
| Browser | Yes | No |
| 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 | No |
| GPU | No | No |
| Windows | No | No |
| Arm64 | No | Yes |
| Self-hosting | No | No |
| BYOC | No | No |
| Open source | No | No |
| Scoped API keys | Yes | Not published |
| Spend limits | Yes | Not published |
| Usage per sandbox (API) | Yes | Yes |
| Audit logs | No | Not published |
| SSO | No | No |
| SOC 2 | No | Yes |
| HIPAA | No | Yes |
| EU data residency | Yes | No |
| Zero data retention | Yes | Yes |
Performance
There is no comparable CPU measurement for Sail. In StarSling's public run of 2026-09-29, boat did 26.69 Node.js build-and-test runs per second at 4 vCPU / 8 GB, but Sail was not part of that run, so we do not compare speeds.
Node.js build-and-test loop at 4 vCPU / 8 GB, higher is better. Measured with the open hpc-sandbox-benchmarks suite. Sail 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 | Sail, 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 | $9 · Free (pay-as-you-go) |
| One agent that never stops 4 vCPU / 8 GB, 50 GB disk, running 24/7 all month | $26 · $20/mo | $55 · Free (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 | $529 · Free (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 | $344 · Pro |
| 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 | $925 · Pro |
boat: You pick a monthly plan from $20, and all of it becomes usage credit spent per second on running sandboxes. A stopped sandbox costs nothing and keeps its disk.
Sail: Sail bills the vCPU time, memory and disk a Sailbox actually uses while running, measured every second and billed in one-minute steps; sleeping and paused time is free. The Free plan adds a small fee for each Sailbox you create, and the $250 Pro plan waives it and includes $100 of credit a month, shared with Sail's inference API.
Limits in those scenarios
Sail caps how many Sailboxes run at once: 100 on the Free plan and 5,000 on Pro, which is why 1,000 short jobs at once fit on Pro. boat limits starts per minute and per day, so that burst gets queued and needs more starts per day than the $2,000 plan allows. A Sailbox tops out at 8 vCPU, Sail does not publish an egress price, and live migrations add a few seconds to the occasional command, a few times a day.
| Scenario | boat | Sail |
|---|---|---|
| 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 Sail when
your agents spend most of their time waiting, so free sleep with memory kept pays off, or when you need memory forks, per-sandbox egress rules or arm64.
- Sleep with memory kept. Useful for agents that wait a lot: an idle Sailbox sleeps after 30 seconds with its processes kept, and sleeping time is free.
- Forks that keep memory. Useful for RL rollouts and test shards: set up one Sailbox, checkpoint it, and start many copies that keep its memory.
- Egress rules and arm64. Useful when an agent should reach only chosen hosts, or when your code targets arm64: Sail does both per Sailbox.
Use boat when
your agents do real work for hours: builds, Docker and emulators on a VM with /dev/kvm, a desktop with Chromium, and coding agents you drive from outside, in the EU.
- /dev/kvm on every machine. Mobile app tests, emulator-based evals and agents that build VMs all need KVM. Without it they fall back to slow software emulation or do not run at all.
- A desktop and a browser built in. On Sail you would install a desktop, a VNC server and a browser in each image, then build the streaming and click layer yourself, and keep it working across sleeps and migrations.
- Coding agents you drive from outside. Without a driving API you write and maintain the code that starts each agent, sends it prompts and parses its output. When an account runs out of credits, boat switches it, so the agent keeps working.
Questions people ask
Is boat cheaper than Sail?
It depends on the workload. One coding agent on workdays comes to $20 a month on boat and $9 on Sail, and 1,000 short jobs at once come to $925 on Sail, where boat needs higher start limits. One agent that never stops comes to $26 against $55, 50 agents in parallel to $317 against $529, and sandboxes for your users to $200 against $344.
Are Sailboxes real VMs?
Yes. Sail's engineering blog says every Sailbox is a Firecracker microVM, with root, Docker and a local NVMe disk. boat sandboxes are full VMs too, and they also expose /dev/kvm for nested virtualization.
What happens when a Sailbox is idle?
After 30 seconds fully idle by default, Sail checkpoints it and stops billing, and the next request or command wakes it in a few seconds. Sail's docs say any wake can come back cold, with the disk intact and nothing running, so your code must handle restarts. A boat sandbox keeps running until you stop it.
Can I run a browser or desktop on Sail?
Sailboxes are headless Linux VMs, so you can install a browser yourself, but there is no desktop stream or computer-use API. boat sandboxes come with a 60fps desktop and Chromium that agents can drive with computer use.
Where does my data run?
boat runs only in the EU (Germany, Finland and France), with EU data residency and a zero data retention option. Sail does not list Sailbox regions and says customer data may be processed or stored outside the United States.
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. Sail says it is SOC 2 Type I compliant and signs HIPAA BAAs for Enterprise customers.
Start a sandbox
Install the CLI, then run boat new.
7-day free trial