smol machines vs Unikraft Cloud
Both run each workload in its own small Linux VM. smol machines bills the CPU and memory you actually use and lets you run the same open-source engine on your own servers, while Unikraft Cloud sells a flat pool of running capacity whose microVMs sleep when idle and wake in milliseconds.
The companies and products
smol machines
smol machines makes fast, isolated Linux microVMs that run the same way on your laptop, in their hosted cloud, or on your own servers.
The core is smolvm, an open-source microVM engine built on libkrun, where each machine has its own guest kernel. smol cloud is the paid hosted service that runs fleets of those machines behind a REST API and Node, Python and Rust SDKs. It is built for developers who want one VM model from local development to production, with live branching of running machines.
- Uptime SLA
- 99.95% on Pro, Startup and Enterprise
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. “12th cheapest of 345” means 11 of the other 344 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 | smol machines: price rank | Unikraft Cloud: price rank | boat: price rank |
|---|---|---|---|
| Software factory 100 at once · 4 vCPU / 8 GB · 2,200 sessions of 8 h a month smol machines runs Docker inside the VM and Unikraft documents no container runtime inside its instances; boat adds /dev/kvm, SSH and coding agents you drive from outside. | 73rd of 367, with limits $604 a month | Can't run it | 3rd cheapest of 367 $634 a month |
| Always-on AI employees 50 machines 24/7 · 2 vCPU / 4 GB | 148th of 366, with limits $1,038 a month | Can't run it | 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 smol machines fits short code runs well with a one-minute minimum and a /code endpoint, while Unikraft's self-serve pools hold at most 24 running instances. | 12th cheapest of 345 $140 a month | Can't run it | 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 smol machines fits on its Startup plan; Unikraft's Pro pool holds 5,000 sleeping instances but only 24 running ones, so hundreds of active users need Enterprise. | 7th cheapest of 361 $531 a month | Can't run it | 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 smol machines can branch a running machine with its memory and processes, so many rollouts start from one prepared state. | 111th of 360, with limits $6,978 a month | Can't run it | 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 | 36th cheapest of 364 $670 a month | Can't run it | 10th cheapest of 364 $200 a month |
| CI runners 40 at once · 8 vCPU / 16 GB · 6,000 sessions of 12 min a month CI jobs that build Docker images fit smol machines, but neither exposes nested virtualization on self-serve plans; boat has /dev/kvm on every plan. | 66th cheapest of 377 $514 a month | Can't run it | 4th cheapest of 377 $86 a month |
| 24/7 dev boxes 1 machine 24/7 · 4 vCPU / 8 GB Both can keep a box all month, but neither has SSH, so you work through their command APIs; boat gives you SSH into every sandbox. | 216th of 368, with limits $29 a month | 219th of 368, with limits $39 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 Neither has a hosted desktop, so you build your own inside the VM; boat streams a Linux desktop at 60fps with computer use built in. | 90th of 369, with limits $156 a month | Can't run it | 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 Both let you run your own headless Chromium inside a VM; boat ships Chromium on a desktop ready for agents. | 176th of 367, with limits $136 a month | Can't run it | 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 | 241st of 346, with limits $242 a month | Can't run it | 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 | 148th of 338, with limits $4,344 a month | Can't run it | 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 | 252nd of 360, with limits $377 a month | Can't run it | 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 | smol machines | Unikraft Cloud | boat |
|---|---|---|---|
| Isolation | libkrun microVM with its own guest kernel | Minimal Linux microVM on a customized Firecracker VMM | Full VM with its own kernel on dedicated AMD Ryzen 9 9950X hosts |
| Machine size | Up to 8 vCPU / 16 GB on Standard, 16 vCPU / 24 GB on Pro, 32 vCPU / 32 GB on Startup | A plan pool shared by all running instances: 2 vCPU / 4 GiB, 8 vCPU / 8 GiB or 24 vCPU / 32 GiB | 4 vCPU / 8 GB by default, up to 16 vCPU / 32 GB per sandbox on the $100 plan and above |
| Running at once | 20 on Standard, 100 on Pro, 1,000 on Startup; stopped machines still hold a slot | 2, 8 or 24 running instances on self-serve plans; more needs Enterprise | 100 to 2,000 sandboxes at once on paid plans, no session cap |
| Docker inside | Yes, with Docker data on the machine's ext4 disk | The Dockerfile becomes the VM image; no container runtime inside documented | Yes, Docker, systemd and root, like any Ubuntu machine |
| Nested virtualization | Not exposed in the cloud API; a local smolvm flag only | Per-instance flag, Enterprise only | Yes, /dev/kvm for Android emulators and VMs on every plan |
| Shell access | Command API and a WebSocket terminal capped at one hour per connection; no SSH | Sandbox plugin and CLI for commands and files; no SSH yet | SSH, plus a command API and terminal |
| Sleep and wake | A command or terminal starts a stopped machine; idle apps wake on the next request | Standby after a 1 second idle cooldown; traffic wakes it in milliseconds, with memory kept in stateful mode | Disk saved every minute and on stop; a stopped sandbox costs nothing and is started by API |
| Fork and checkpoints | Branch a running machine with its memory and processes; checkpoints capture RAM to a file | Checkpoint memory and volumes of a running microVM, then start new instances from it; forking is in preview | Fork a running sandbox with its disk; snapshots every minute |
| Inbound access | Up to 16 published ports through a returned URL; no dedicated IP | Load balancer services: HTTP on 80, HTTPS on 443, TLS-wrapped TCP on other ports; no public IP per instance | HTTPS URLs for up to 50 ports, token-protected by default; raw TCP; dedicated IPv4 or IPv6 |
| Outbound rules | Blocked, open, or an allowlist of hosts and CIDR ranges | Network shield filters traffic, Enterprise only, limited access | Open internet, no provider-side allowlist |
| Keeping API keys out of the sandbox | Cloud secrets are environment variables the guest can read | Network shield can inject secrets into traffic, Enterprise only | Credentials proxy for model providers and any HTTPS API on every plan; switch a credential to another account when credits run out |
| Desktop, browser and coding agents | No hosted desktop; registry images with the Codex CLI and Harbor | None built in; you bring your own browser and agent in the image | Linux desktop at 60fps, Chromium, computer use, and seven coding agents with a prompt, steer and events API |
| Regions | No region choice in the cloud API | Dallas, Frankfurt, San Francisco, Singapore and Washington DC, more on request | EU only (Germany, Finland, France), with EU data residency |
| Self-hosting | Open-source smolvm runs on your laptop or your own servers | Dedicated hosts, on-prem or your own cloud on Enterprise | No |
Every feature Battleships tracks (43)
| Feature | smol machines | Unikraft Cloud | boat |
|---|---|---|---|
| Full VM (own kernel) | Yes | Yes | Yes |
| Docker inside | Yes | No | Yes |
| Nested virtualization | No | Yes | Yes |
| Root | Not published | Yes | Yes |
| Systemd | Not published | Not published | Yes |
| Desktop GUI | No | No | Yes |
| Browser | No | No | Yes |
| Computer-use API | No | No | Yes |
| SSH | No | 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 | Yes | Yes | No |
| Custom image (Docker or snapshot) | Yes | Yes | Yes |
| ≥24 h sessions | Yes | Yes | Yes |
| Idle auto-stop | Yes | Yes | No |
| Wake on request | Yes | Yes | No |
| HTTPS preview URLs | Yes | Yes | Yes |
| Raw TCP inbound | Not published | Not published | Yes |
| Public IPv4 | No | No | No |
| Egress allowlist | Yes | Yes | No |
| Secret proxy | No | Yes | Yes |
| Secret proxy for any API | No | Yes | Yes |
| Preinstalled agents | Yes | No | Yes |
| Agent harness API | No | No | Yes |
| MCP server | Yes | No | No |
| GPU | No | Yes | No |
| Windows | No | No | No |
| Arm64 | Yes | Yes | No |
| Self-hosting | Yes | Yes | No |
| BYOC | Yes | Yes | No |
| Open source | Yes | No | No |
| Scoped API keys | Not published | Not published | Yes |
| Spend limits | Yes | Not published | Yes |
| Usage per sandbox (API) | Yes | No | Yes |
| Audit logs | Not published | Yes | No |
| SSO | Yes | No | No |
| SOC 2 | No | Yes | No |
| HIPAA | No | Yes | No |
| EU data residency | No | Yes | Yes |
| Zero data retention | Not published | Not published | Yes |
Performance
There is no comparable CPU measurement for smol machines or Unikraft Cloud: neither has been run on the StarSling hpc-sandbox-benchmarks test. boat did 26.69 runs per second on that Node.js build-and-test loop at 4 vCPU / 8 GB. smol publishes a boot under 200ms and Unikraft cold starts under 10 ms, which are start times, 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. smol machines and Unikraft Cloud 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 | smol machines, a month | Unikraft Cloud, 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 | $25 · Standard | $39 · Hobby | $20 · $20/mo |
| One agent that never stops 4 vCPU / 8 GB, 50 GB disk, running 24/7 all month | $93 · Standard | $39 · Hobby | $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,139 · Pro | Can't run it | $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 | $465 · Startup | Can't run it | $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,389 · Startup | Can't run it | $2,000 · $2000/mo · with limits |
smol machines: smol cloud charges a base fee for every hour a machine runs plus the CPU and memory the guest uses, with a one-minute minimum and disk billed while stopped. Pro and Startup are monthly fees on top of usage, not credit.
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 or egress rate, so anything bigger is an Enterprise quote.
Unikraft Cloud: 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.
Limits in those scenarios
Unikraft's limits are pools every running instance shares: one 4 vCPU / 8 GB agent fills the Team pool, so 50 agents, sandboxes for your users and 1,000 short jobs at once fit no self-serve plan. smol machines fits all five scenarios, but 50 agents need Pro and 1,000 jobs at once need Startup, whose fees sit on top of usage. boat fits four, and at 1,000 short jobs at once its $2,000 plan queues starts above 90 a minute.
| Scenario | smol machines | Unikraft Cloud | boat |
|---|---|---|---|
| One coding agent, workdays | None that bite |
| None that bite |
| One agent that never stops | None that bite |
| None that bite |
| 50 agents in parallel | 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 smol machines when
you want one open-source VM engine from your laptop to your own servers, pay only for what guests use, or branch running machines with their memory.
- Open source, from laptop to your servers. Teams that want one VM engine locally, in a hosted cloud and on their own servers get it with open-source smolvm.
- Pay for what the guest uses. smol bills the CPU and memory a machine actually uses, and self-serve plans scale to 1,000 machines and 32 vCPU each.
- Live branches and outbound allowlists. Useful for RL and locked-down agents: branch a running machine with its memory, and allow only listed hosts on any plan.
Use Unikraft Cloud when
you run small services or headless browsers that sleep most of the time and must wake in milliseconds, or need US and Asia regions.
- Millisecond wake from standby. Best for many small services that sleep most of the time and must answer the next request in milliseconds.
- A flat fee for an always-on box. One small service running all month fits a fixed Team pool fee, with no usage meter to watch.
- 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.
Where boat fits
smol machines and Unikraft Cloud are both built around small, fast microVMs you reach through an API. If what you are running is coding agents that need a whole machine, with Docker, emulators, SSH, a desktop and keys kept out of reach, boat gives each one that machine on every plan.
A whole machine with /dev/kvm and SSH
Neither has SSH, smol cloud does not expose nested virtualization, and Unikraft keeps it for Enterprise. An agent that runs an Android emulator or a VM has no way to start one on either self-serve plan.
Keys that never enter the sandbox
smol cloud secrets are environment variables the guest can read, and Unikraft's secret injection is Enterprise only. So one prompt injection can leak real keys; boat's credentials proxy keeps them outside for any HTTPS API.
A desktop and agents ready to drive
Neither ships a desktop or a computer-use stack, so you build and maintain your own. boat streams a 60fps Linux desktop with Chromium and lets you drive seven preinstalled coding agents inside from outside.
Use boat when your agents need a whole machine to work in: Docker, emulators, SSH, a desktop and a browser, coding agents you drive from outside, and keys that never enter the sandbox. Compare it one to one: boat vs smol machines and boat vs Unikraft Cloud.
Questions people ask
Is smol machines cheaper than Unikraft Cloud?
For one coding agent on workdays, smol machines is $25 a month against $39 for Unikraft's Team pool. For one agent that never stops, Unikraft's flat $39 a month beats smol's $93 a month. For 50 agents, user sandboxes or 1,000 short jobs, only smol machines has a self-serve price.
Which is faster?
Neither has a CPU score on the benchmark used here, so there is no fair speed comparison. On start time, Unikraft claims cold starts under 10 ms and smol claims boots under 200ms; both are vendor figures.
Can smol machines or Unikraft Cloud run Docker?
smol machines runs Docker inside the VM, with Docker data on the machine's ext4 disk. Unikraft builds your Dockerfile into the VM image and documents no container runtime inside a running instance. boat runs Docker, systemd and /dev/kvm in every sandbox.
Can I SSH into smol machines or Unikraft Cloud?
Not today. smol cloud gives you a command API and a WebSocket terminal, and Unikraft gives you a sandbox plugin and CLI. boat gives you SSH into every sandbox.
Can I self-host either one?
smolvm, the engine behind smol machines, is open source and runs on your laptop or servers. Unikraft offers dedicated hosts, on-prem and your own cloud on Enterprise, and its CLI is open source. boat is a hosted service only.
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.
Try boat
Install the CLI, then run boat new.
7-day free trial
More comparisons
- boat vs smol machines
- boat vs Unikraft Cloud
- E2B vs smol machines
- Daytona vs smol machines
- Modal vs smol machines
- Vercel Sandbox vs smol machines
- Cloudflare Sandbox vs smol machines
- Blaxel vs smol machines
- Runloop vs smol machines
- Tensorlake vs smol machines
- Morph Cloud vs smol machines
- CodeSandbox SDK vs smol machines