boat vs Self-hosted Firecracker

You can rent dedicated servers and run Firecracker microVMs on them yourself, and at high use the hardware is hard to beat. boat gives you the finished product instead: full VMs with nested virtualization, snapshots every minute, fork of a running machine, HTTPS ports and coding agents, with nobody on your team on call for the hosts.

Where boat stands out

A finished sandbox, not a project

boat gives you an API, scheduling across hosts, HTTPS URLs for up to 50 ports, raw TCP, a dedicated IP, snapshots every minute and fork of a running sandbox. With your own fleet, Firecracker gives you the VMM and you build the rest, then keep the hosts patched and spare capacity ready.

Nested virtualization inside every machine

Every boat sandbox has /dev/kvm, Docker, systemd and root, so an agent can run Android emulators, Firecracker or its own VMs. Firecracker guests are not offered nested virtualization, so a self-built fleet cannot run that work inside the agent's machine.

Agents, keys and a desktop built in

Claude Code, Codex and other agents come preinstalled, and you drive agents inside from outside with a prompt, steer and events API. Real API keys stay outside the sandbox in a credentials proxy that can switch to another account when credits run out, and a 60fps desktop with Chromium is ready for computer use.

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.

Self-hosted Firecracker

Not a company or a product: this is the do-it-yourself option, where you rent dedicated servers and run open-source Firecracker microVMs on them.

You rent whole physical servers, for example a Hetzner AX42 (8-core AMD Ryzen 7 PRO 8700GE, 64 GB, 2 x 512 GB NVMe) or machines from OVHcloud, Latitude.sh or AWS metal, and run Firecracker on them to give each agent its own microVM. Everything above the VMM is yours to build and run: the API, scheduling across hosts, guest images, networking, snapshots, storage, monitoring and spare capacity. Open-source stacks such as E2B's runtime can do part of this for you, so this page compares boat with the hardware floor of that build.

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 workloadboat: price rankSelf-hosted Firecracker: price rank
Software factory
100 at once · 4 vCPU / 8 GB · 2,200 sessions of 8 h a month
A self-built fleet runs builds fine, but its Firecracker guests have no /dev/kvm, so Android emulators and VMs inside the agent's machine do not run there.
3rd cheapest of 367
$634 a month
75th of 367, with limits
$637 a month
Always-on AI employees
50 machines 24/7 · 2 vCPU / 4 GB
Hardware for an always-on assistant costs about the same either way; on boat the snapshots, HTTPS and agent setup are already there.
5th cheapest of 366
$657 a month
116th of 366, with limits
$661 a month
Code interpreter bursts
100 at once · 1 vCPU / 2 GB · 200,000 sessions of 1 min a month
Your own hosts start as many short runs as their cores allow, but you build the pool, the API and the cleanup yourself.
186th of 345, with limits
$2,000 a month
207th of 345, with limits
$30 a month
Sandboxes for your users
300 at once · 2 vCPU / 4 GB · 30,000 sessions of 23 min a month
Serving 300 users means building your own multi-host scheduler, per-user ingress and quotas, which boat gives you as an API.
Cheapest of 361
$209 a month
196th of 361, with limits
$210 a month
RL rollouts
1,000 at once · 2 vCPU / 4 GB · 1,000,000 sessions of 3 min a month
Firecracker memory snapshots suit rollouts that branch from the same state, if you handle the duplicated random state its docs warn about.
34th of 360, with limits
$2,000 a month
225th of 360, with limits
$905 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
231st of 364, with limits
$181 a month
CI runners
40 at once · 8 vCPU / 16 GB · 6,000 sessions of 12 min a month
CI jobs that build Android apps or VM images need nested virtualization, which boat has and a Firecracker fleet does not.
4th cheapest of 377
$86 a month
224th of 377, with limits
$87 a month
24/7 dev boxes
1 machine 24/7 · 4 vCPU / 8 GB
18th cheapest of 368
$26 a month
140th of 368, with limits
$26 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; on your own fleet you build the desktop image, the stream and the control loop.
6th cheapest of 369
$200 a month
96th of 369, with limits
$181 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
161st of 367, with limits
$91 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
154th of 346, with limits
$45 a month
Mass scraping & bots (undetectable)
1,000 at once · 1 vCPU / 2 GB · 3,000,000 sessions of 2 min a month
At very large scale, owning the hardware and your own IP ranges can beat any managed sandbox, if you can staff the operations.
71st of 338, with limits
$1,800 a month
40th of 338, with limits
$905 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
109th of 360, with limits
$45 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 it
macOS agents
5 at once · 4 vCPU / 8 GB · 1,000 sessions of 20 min a month
Can't run itCan't run it

Key features

FeatureboatSelf-hosted Firecracker
What you getA sandbox API for agents; boat runs the hosts, upgrades and capacityServers plus an open-source VMM; you build the API and run hosts, upgrades, spares and on-call
IsolationFull VM with its own kernel on dedicated AMD Ryzen 9 9950X (Zen 5) hostsFirecracker microVM with its own kernel on hosts you rent
CPU benchmark (4 vCPU / 8 GB)26.69 runs/sNo comparable measurement; it depends on the hardware you rent
Nested virtualizationYes, /dev/kvm for Android emulators and VMsNot offered to Firecracker guests
Saving stateDisk saved automatically every minute and on stopSnapshot API you call and schedule yourself; off-host storage is extra
Memory snapshotsNo; resume boots the machine againYes; a full snapshot saves guest memory and resumes running processes
ForkFork a running sandbox in one call (disk)Pause, snapshot, restore; restoring one state more than once needs your own fixes for duplicated IDs and random state
Inbound accessHTTPS URLs for up to 50 ports, token-protected; raw TCP; dedicated IPv4 or IPv6One IPv4 per host; guests need NAT, a reverse proxy and TLS you set up, or extra paid IPs
Outbound rulesOpen internet, no provider-side allowlistAny rules you write on the host with nftables, out of the guest's reach
Coding agentsClaude Code, Codex and more preinstalled, with a prompt, steer and events APINone; you build guest images and drive agents yourself
Keeping API keys out of the sandboxCredentials proxy for model providers and any HTTPS API; switch a credential to another account when credits run outBuild your own proxy on the host
Desktop and computer use60fps desktop and Chromium with computer use, embeddable streamNone; you build a desktop image and stream
RegionsEU only (Germany, Finland, France)Wherever you rent servers, including the US and Asia, or your own data center
Machine sizeUp to 16 vCPU / 32 GB per sandboxUp to the size of the host you rent, minus what the host itself needs
Compliance and transparencySOC 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)
FeatureboatSelf-hosted Firecracker
Full VM (own kernel)YesYes
Docker insideYesYes
Nested virtualizationYesNo
RootYesYes
SystemdYesYes
Desktop GUIYesNo
BrowserYesNo
Computer-use APIYesNo
SSHYesYes
Persistent diskYesYes
Pause/resumeYesYes
Automatic snapshotsYesNo
Fork/cloneYesYes
Live fork (no pause)YesNo
Memory forkNoYes
Custom image (Docker or snapshot)YesYes
≥24 h sessionsYesYes
Idle auto-stopNoNo
Wake on requestNoNo
HTTPS preview URLsYesNo
Raw TCP inboundYesYes
Public IPv4NoNo
Egress allowlistNoYes
Secret proxyYesNo
Secret proxy for any APIYesNo
Preinstalled agentsYesNo
Agent harness APIYesNo
MCP serverNoNo
GPUNoNo
WindowsNoNo
Arm64NoYes
Self-hostingNoYes
BYOCNoYes
Open sourceNoYes
Scoped API keysYesNot published
Spend limitsYesNot published
Usage per sandbox (API)YesNo
Audit logsNoNot published
SSONoNo
SOC 2NoNo
HIPAANoNo
EU data residencyYesYes
Zero data retentionYesNot published

Performance

boat26.69 runs/s
Self-hosted FirecrackerNot measured

There is no comparable measurement: a self-built fleet is as fast as the hardware you rent, and none of these hosts was run on the same benchmark. boat did 26.69 runs per second on the hpc-sandbox-benchmarks Node.js build-and-test loop at 4 vCPU / 8 GB, on dedicated AMD Ryzen 9 9950X (Zen 5) hosts.

Node.js build-and-test loop at 4 vCPU / 8 GB, higher is better. Measured with the open hpc-sandbox-benchmarks suite. Self-hosted Firecracker 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.

Scenarioboat, a monthSelf-hosted Firecracker, 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$6 · DIY infrastructure only · with limits
One agent that never stops
4 vCPU / 8 GB, 50 GB disk, running 24/7 all month
$26 · $20/mo$26 · DIY infrastructure only · with limits
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$319 · DIY infrastructure only · with limits
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$91 · DIY infrastructure only · 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$181 · DIY infrastructure only · with limits

boat: Plans start at $20 a month, and the whole fee is usage credit spent per second while sandboxes run. A stopped sandbox costs nothing and keeps its disk.

Self-hosted Firecracker: You pay for whole servers, for example a Hetzner AX42 at $119 a month plus a $59 setup fee, whether they are busy or idle. The figures on this page split that host cost across the guests it can hold at a given occupancy, and leave out ops labour, a control plane, spare hosts and off-host snapshot storage.

Limits in those scenarios

None of the self-hosted scenarios count as a fit, because this is a build, not a sandbox you can sign up for. How many machines run at once is set by the hosts you buy and the scheduler you write, and egress depends on each host's network plan. One agent on workdays still needs a whole server rented for the month. On boat the limits are sandbox counts by plan and start rates, so the 1,000-job burst is queued at 90 starts per minute and needs more starts per day than the $2,000 plan allows.

ScenarioboatSelf-hosted Firecracker
One coding agent, workdaysNone that bite
  • adjacent product, not a like-for-like sandbox
  • different kind of product: self-host reference
  • egress price not published
One agent that never stopsNone that bite
  • adjacent product, not a like-for-like sandbox
  • different kind of product: self-host reference
  • egress price not published
50 agents in parallelNone that bite
  • adjacent product, not a like-for-like sandbox
  • different kind of product: self-host reference
  • egress price not published
  • how many machines can run at once: limit not published, probably fine at 50 (the typical published limit is 50)
Sandboxes for your usersNone that bite
  • adjacent product, not a like-for-like sandbox
  • different kind of product: self-host reference
  • not confirmed: how many machines can run at once (you need 300; the typical published limit is 50)
  • egress price not published
1,000 short jobs at once
  • 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)
  • adjacent product, not a like-for-like sandbox
  • different kind of product: self-host reference
  • not confirmed: how many machines can run at once (you need 1,000; the typical published limit is 50)
  • egress price not published

Which one should you use?

Use Self-hosted Firecracker when

you have infrastructure engineers, steady heavy load that keeps your hosts busy, and a need to run outside the EU or control every layer yourself.

  • The hardware floor at high use. Useful for teams with infrastructure engineers and steady, heavy load: rented hosts kept busy cost less than any managed service.
  • Full control, anywhere. Useful if you need machines in the US, Asia or your own data center, or must control every layer of the stack.
  • Memory snapshots. Useful for workloads that pause and resume with processes still running, or branch many copies from one warm state.

Use boat when

you want agents working this week on full VMs with /dev/kvm, snapshots every minute, fork while running, HTTPS ports, coding agents and a desktop, without building and running a fleet.

  • A finished sandbox, not a project. The hardware floor on this page leaves out ops labour, a control plane and spare hosts. Until you build them, a dead host loses its guests' local disks and nobody's sandbox gets an HTTPS URL.
  • Nested virtualization inside every machine. Agents that test mobile apps, build VM images or run their own sandboxes need KVM. On a Firecracker fleet that work has to move to a separate host you manage.
  • Agents, keys and a desktop built in. On your own fleet each of these is a separate build: guest images, an agent harness, a key proxy and a desktop stream, all to maintain while the agents themselves keep changing.

Questions people ask

Is boat cheaper than running my own Firecracker fleet?

On hardware alone, often not. One agent that never stops comes to $26 on both, 50 agents to $317 on boat and $319 self-hosted, 300 user sandboxes to $200 against $91, and 1,000 short jobs at once to $2,000 against $181. The self-hosted numbers leave out the engineers, the control plane and the spare hosts.

What do I have to build to self-host agent sandboxes?

An API, a scheduler across hosts, guest images, networking with NAT or a proxy for inbound HTTPS, snapshot scheduling and off-host storage, monitoring and spare capacity. Open-source runtimes such as E2B's cover part of this, though its single-host package is one machine by design.

Can Firecracker run Docker and nested VMs?

Docker works inside a Firecracker microVM with a suitable guest kernel. Nested virtualization is not offered to Firecracker guests, so Android emulators and VMs do not run inside them. boat exposes /dev/kvm on every machine.

Can I self-host boat?

No. boat is a managed service on dedicated AMD Ryzen 9 9950X (Zen 5) hosts in the EU, with EU data residency and a zero data retention option.

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

More comparisons