boat vs Unikraft Cloud
Both run each workload in its own VM. boat gives an agent a whole Linux machine to work in, while Unikraft Cloud turns a Dockerfile into a tiny microVM that wakes in milliseconds and sleeps when traffic stops.
Where boat stands out
A whole machine the agent can work in
Each boat sandbox is a full Ubuntu VM with root, systemd, Docker and /dev/kvm on every plan, and you can SSH into it. Unikraft runs your Dockerfile as the VM image, documents no container runtime inside, has no SSH yet, and keeps nested virtualization for Enterprise.
Agents and keys built in
Claude Code, Codex and five other agents come preinstalled, and you prompt, steer and follow them from outside through one API. Real API keys stay in a credentials proxy outside the sandbox, on every plan, and a credential can switch to another account when one runs out of credits.
Big fleets and big machines, self-serve
A single boat sandbox can have up to 16 vCPU / 32 GB, and paid plans run 100 to 2,000 sandboxes at once without a sales call. Unikraft's largest self-serve plan holds 24 running instances sharing 24 vCPU and 32 GiB.
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
Unikraft Cloud
Unikraft Cloud is a microVM cloud from Unikraft Inc. that runs any Dockerfile-based workload as a minimal Linux microVM with millisecond cold starts and scale-to-zero.
Your Dockerfile becomes the VM image at build time, and each instance runs on a heavily customized Firecracker VMM, so it boots in milliseconds and can go into standby when no traffic arrives. It is a general compute platform built for dense, bursty work such as HTTP services, headless browsers and agent fleets, sold as flat self-serve plans plus Enterprise dedicated hosts, on-prem and bring your own cloud. It is not a dev machine you log into: instances are reached through services, the CLI and a sandbox plugin for commands and files.
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 | Unikraft Cloud: price rank |
|---|---|---|
| Software factory 100 at once · 4 vCPU / 8 GB · 2,200 sessions of 8 h a month A software factory runs Docker, databases and test suites inside the sandbox; Unikraft builds your Dockerfile into the VM itself and documents no container runtime inside it. | 3rd cheapest of 367 $634 a month | Can't run it |
| Always-on AI employees 50 machines 24/7 · 2 vCPU / 4 GB An assistant that lives on its machine all month needs room to install and run many tools; Unikraft's Team pool is 8 GiB of memory shared by every running instance. | 5th cheapest of 366 $657 a month | Can't run it |
| Code interpreter bursts 100 at once · 1 vCPU / 2 GB · 200,000 sessions of 1 min a month Short code runs that sleep between calls are the shape Unikraft is built for, though self-serve plans cap you at 24 running instances. | 186th of 345, with limits $2,000 a month | Can't run it |
| Sandboxes for your users 300 at once · 2 vCPU / 4 GB · 30,000 sessions of 23 min a month Unikraft Pro holds 5,000 sleeping instances but only 24 running ones, so hundreds of active users need an Enterprise contract. | Cheapest of 361 $209 a month | Can't run it |
| RL rollouts 1,000 at once · 2 vCPU / 4 GB · 1,000,000 sessions of 3 min a month | 34th of 360, with limits $2,000 a month | Can't run it |
| Agent evals 250 at once · 4 vCPU / 8 GB · 15,000 sessions of 20 min a month | 10th cheapest of 364 $200 a month | Can't run it |
| CI runners 40 at once · 8 vCPU / 16 GB · 6,000 sessions of 12 min a month CI jobs that build Docker images or run Android emulators need a container runtime and /dev/kvm; on Unikraft, nested virtualization is Enterprise only. | 4th cheapest of 377 $86 a month | Can't run it |
| 24/7 dev boxes 1 machine 24/7 · 4 vCPU / 8 GB Both can keep a box around all month, but Unikraft has no SSH today, so you work through its CLI and sandbox plugin instead of logging in. | 18th cheapest of 368 $26 a month | 219th of 368, with limits $39 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 desktop to see and click; boat streams one at 60fps, and Unikraft leaves you to build your own inside the image. | 6th cheapest of 369 $200 a month | Can't run it |
| Browser-use agents 50 at once · 2 vCPU / 4 GB · 30,000 sessions of 10 min a month Browser companies run their own headless Chrome on Unikraft at scale; boat gives each sandbox Chromium on a desktop out of the box. | 7th cheapest of 367 $200 a month | Can't run it |
| 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 | Can't run it |
| 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 | Can't run it |
| 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 | Can't run it |
| 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 | Unikraft Cloud |
|---|---|---|
| Isolation | Full VM with its own kernel on dedicated AMD Ryzen 9 9950X hosts | Minimal Linux microVM on a customized Firecracker VMM |
| Machine size | 4 vCPU / 8 GB by default, up to 16 vCPU / 32 GB per sandbox on the $100 plan and above | Plan pool shared by all running instances: 2 vCPU / 4 GiB, 8 vCPU / 8 GiB or 24 vCPU / 32 GiB |
| Docker and systemd inside | Yes, Docker, systemd and root, like any Ubuntu machine | Runs as root; the Dockerfile becomes the VM image, with no container runtime inside documented |
| Nested virtualization | Yes, /dev/kvm for Android emulators and VMs on every plan | Yes, with a per-instance flag and permission, Enterprise only |
| SSH | Yes, into every sandbox | Not yet; commands and files go through the sandbox plugin and CLI |
| Desktop and browser | Linux desktop streamed at 60fps, Chromium, and a computer-use agent | None built in; you can run your own headless browser from a Dockerfile |
| Idle and standby | Disk saved every minute and on stop; a stopped sandbox costs nothing and boots again on start | Goes into standby after a 1 second idle cooldown by default; stateful mode snapshots memory and resumes with warm caches |
| Wake on request | No; a stopped sandbox is started by API | Yes; incoming traffic wakes a sleeping instance in milliseconds |
| Fork and checkpoints | Fork a running sandbox with its disk; snapshots every minute | Checkpoint memory and volumes of a running microVM with a pause of a few milliseconds, then start new instances from it |
| Inbound access | HTTPS URLs for up to 50 ports, token-protected by default; raw TCP; dedicated IPv4 or IPv6 | Services on its load balancer: HTTP on 80, HTTPS on 443, TLS-wrapped TCP on other ports; no public IP per instance |
| Outbound rules | Open internet, no provider-side allowlist | Network shield filters traffic, Enterprise only, limited access |
| Keeping API keys out of the sandbox | Credentials proxy for model providers and any HTTPS API, on every plan; switch a credential to another account when credits run out | Network shield can inject secrets into traffic, Enterprise only, limited access |
| Coding agents | Seven agents preinstalled, with a prompt, steer and events API | None preinstalled; you bring the agent in your own image |
| Regions | EU only (Germany, Finland, France) | US, EU and Singapore by default, more metros on request |
| 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 | Unikraft Cloud |
|---|---|---|
| Full VM (own kernel) | Yes | Yes |
| Docker inside | Yes | No |
| Nested virtualization | Yes | Yes |
| Root | Yes | Yes |
| Systemd | Yes | Not published |
| Desktop GUI | Yes | No |
| Browser | Yes | No |
| Computer-use API | Yes | No |
| SSH | Yes | No |
| 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 | Not published |
| Public IPv4 | No | No |
| Egress allowlist | No | Yes |
| Secret proxy | Yes | Yes |
| Secret proxy for any API | Yes | Yes |
| Preinstalled agents | Yes | No |
| Agent harness API | Yes | No |
| MCP server | No | No |
| GPU | No | Yes |
| Windows | No | No |
| Arm64 | No | Yes |
| 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 | No |
| Audit logs | No | Yes |
| SSO | No | No |
| SOC 2 | No | Yes |
| HIPAA | No | Yes |
| EU data residency | Yes | Yes |
| Zero data retention | Yes | Not published |
Performance
There is no comparable measurement for Unikraft Cloud: it is not in the hpc-sandbox-benchmarks run that measured boat at 26.69 runs per second at 4 vCPU / 8 GB. Unikraft states cold starts under 10 ms, which is its own figure and measures 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. Unikraft Cloud 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 | Unikraft Cloud, 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 | $39 · Hobby |
| One agent that never stops 4 vCPU / 8 GB, 50 GB disk, running 24/7 all month | $26 · $20/mo | $39 · Hobby |
| 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 | Can't run it |
| 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 | Can't run it |
| 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 | Can't run it |
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.
Unikraft Cloud: Unikraft charges a flat monthly fee for a pool of running capacity: free for 2 vCPU / 4 GiB, $39 for 8 vCPU / 8 GiB, $199 for 24 vCPU / 32 GiB, with sleeping instances not counted. It publishes no per-hour rate, so anything bigger is an Enterprise quote.
Limits in those scenarios
Unikraft's limits are pools that every running instance shares: Team has 8 vCPU and 8 GiB in total, so a single 4 vCPU / 8 GB agent fills it, and the $199 Pro plan holds four of them by memory. That is why the 50-agent, user-sandbox and burst scenarios do not fit any self-serve plan and need Enterprise. boat has no session cap and runs 100 sandboxes at once from its first paid plan, but its start limits are lower: at 1,000 short jobs at once, the $2,000 plan queues starts.
| Scenario | boat | Unikraft Cloud |
|---|---|---|
| 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 Unikraft Cloud when
you run many small services or headless browsers that sleep most of the time and must wake in milliseconds, need US or Asia regions, or want GPUs, on-prem or your own cloud under an Enterprise contract.
- Millisecond starts and scale-to-zero. Best for many small services that sleep most of the time and must answer the next request in milliseconds.
- Regions in the US and Asia. Unikraft runs in Dallas, San Francisco, Washington DC and Singapore as well as Frankfurt, with more metros on request.
- GPUs, arm64 and your own hardware. Enterprise customers can get NVIDIA GPUs, arm64 hosts, egress filtering, dedicated hosts, on-prem or their own cloud.
Use boat when
your agents need a real machine to work in: Docker, emulators, a desktop and a browser, coding agents you drive from outside, and fleets of full-size sandboxes without a sales call.
- A whole machine the agent can work in. Coding agents install packages, start databases with docker compose and run emulators. On Unikraft you bake all of that into the image up front, or sign an Enterprise contract for nested virtualization.
- Agents and keys built in. Unikraft's secret injection is part of its network shield, which is Enterprise only and in limited access. On self-serve plans the real keys sit inside a machine the agent controls.
- Big fleets and big machines, self-serve. Fifty agents at 4 vCPU / 8 GB need 200 vCPU and 400 GiB running at the same time. On Unikraft that is above every self-serve pool, so it means an Enterprise contract at a price you have to ask for.
Questions people ask
Is boat cheaper than Unikraft Cloud?
For one agent, yes: one coding agent on workdays or one that never stops costs less on boat than the Team pool it needs on Unikraft. For 50 agents, sandboxes for your users or 1,000 short jobs, no self-serve Unikraft plan is big enough, so the price is an Enterprise quote.
Can I run Docker inside a Unikraft Cloud instance?
Unikraft uses your Dockerfile to build the VM's filesystem, and its docs do not describe running a container runtime inside a running instance. A boat sandbox is a full Ubuntu VM with Docker, systemd and /dev/kvm ready to use.
Can I SSH into Unikraft Cloud?
Not yet. Unikraft announced SSH as coming soon, and today you run commands and move files through its sandbox plugin and CLI. You can SSH into every boat sandbox or drive it through its API.
Which one starts faster?
Unikraft. Its microVMs cold boot in milliseconds and wake on the next request, which is its main design goal. A boat sandbox boots a full machine, and it starts again from its saved disk.
Is Unikraft Cloud the same as Unikraft?
No. Unikraft Cloud is the commercial platform from Unikraft Inc., while the Unikraft unikernel project at unikraft.org is a separate open-source project. Unikraft Cloud runs Linux-based microVMs.
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
- boat vs E2B
- boat vs Daytona
- boat vs Modal
- boat vs Vercel Sandbox
- boat vs Blaxel
- boat vs Runloop
- boat vs Tensorlake
- boat vs Cloudflare Sandbox
- boat vs exe.dev
- boat vs Agent 37
- boat vs Oracle Cloud
- boat vs IONOS Cloud
- E2B vs Unikraft Cloud
- Daytona vs Unikraft Cloud
- Modal vs Unikraft Cloud
- Vercel Sandbox vs Unikraft Cloud
- Cloudflare Sandbox vs Unikraft Cloud
- Blaxel vs Unikraft Cloud
- Runloop vs Unikraft Cloud
- Tensorlake vs Unikraft Cloud