Freestyle vs smol machines
Both give each agent its own Linux VM that can be branched with its memory and woken on the next request. Freestyle is a fuller hosted VM with nested virtualization and bigger machines, while smol machines is an open-source microVM engine you can also run on your laptop or your own servers, billed for the CPU and memory a guest actually uses.
The companies and products
Freestyle
Freestyle sells full Linux virtual machines for AI agents, built for long running, complex tasks.
Each Freestyle VM is a KVM virtual machine with its own kernel, booted from an Ubuntu base snapshot with systemd, Docker and coding agent CLIs preinstalled. VMs can be paused with their memory, snapshotted while running, forked and woken by the next request, and every VM starts behind a default-deny firewall. It is built for teams that give each agent or each user its own machine, driven from a TypeScript SDK, a CLI or an API.
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
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. “40th cheapest of 345” means 39 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 | Freestyle: price rank | smol machines: price rank | boat: price rank |
|---|---|---|---|
| Software factory 100 at once · 4 vCPU / 8 GB · 2,200 sessions of 8 h a month Both run Docker, but only Freestyle exposes nested virtualization for Android emulators; boat adds /dev/kvm too, on CPUs that did 2.8 times Freestyle's benchmark work. | 241st of 367, with limits $3,311 a month | 73rd of 367, with limits $604 a month | 3rd cheapest of 367 $634 a month |
| Always-on AI employees 50 machines 24/7 · 2 vCPU / 4 GB | 263rd of 366, with limits $4,195 a month | 148th of 366, with limits $1,038 a month | 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 Short code runs suit smol machines best of the three: a one-minute minimum, billing for active CPU and memory, and branches of a warm machine. | 40th cheapest of 345 $482 a month | 12th cheapest of 345 $140 a month | 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 Both wake a user's machine on the next request; boat also gives each user a desktop, hosting on up to 50 ports and a credentials proxy. | 16th cheapest of 361 $1,358 a month | 7th cheapest of 361 $531 a month | 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 Both branch a running machine with its memory, so many rollouts can start from one prepared state. | 107th of 360, with limits $6,600 a month | 111th of 360, with limits $6,978 a month | 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 | 53rd cheapest of 364 $1,046 a month | 36th cheapest of 364 $670 a month | 10th cheapest of 364 $200 a month |
| CI runners 40 at once · 8 vCPU / 16 GB · 6,000 sessions of 12 min a month smol machines fits CI runners fully, while Freestyle's own docs say sustained CPU-heavy jobs are better served elsewhere. | 168th of 377, with limits $625 a month | 66th cheapest of 377 $514 a month | 4th cheapest of 377 $86 a month |
| 24/7 dev boxes 1 machine 24/7 · 4 vCPU / 8 GB Freestyle fits a 24/7 dev box fully with SSH and systemd, while smol cloud has no SSH and caps a terminal connection at one hour. | 98th cheapest of 368 $151 a month | 216th of 368, with limits $29 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 ships a desktop; on both you install your own display stack and screen stream, while boat streams a Linux desktop at 60fps with computer use built in. | 234th of 369, with limits $940 a month | 90th of 369, with limits $156 a month | 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 Freestyle and smol machines both have guides for running your own Chromium; boat has Chromium ready inside every sandbox. | 257th of 367, with limits $482 a month | 176th of 367, with limits $136 a month | 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 | 278th of 346, with limits $482 a month | 241st of 346, with limits $242 a month | 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 | 183rd of 338, with limits $6,560 a month | 148th of 338, with limits $4,344 a month | 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 | 272nd of 360, with limits $482 a month | 252nd of 360, with limits $377 a month | 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 | Freestyle | smol machines | boat |
|---|---|---|---|
| Isolation | Full KVM VM with its own kernel on bare metal servers | libkrun microVM with its own guest kernel | Full VM with its own kernel on dedicated AMD Ryzen 9 9950X hosts |
| CPU benchmark (4 vCPU / 8 GB) | 9.64 runs/s | Not measured | 26.69 runs/s |
| Nested virtualization | Yes, full KVM support with systemd as pid 1 | Not exposed on hosted machines; a local smolvm flag only | Yes, /dev/kvm for Android emulators and VMs |
| Biggest machine | 32 vCPU / 64 GiB on Pro, 64 / 128 with custom limits | 32 vCPU / 32 GB on Startup, 16 vCPU / 24 GB on Pro | 16 vCPU / 32 GB on the $100 plan and above |
| Pause, stop and fork | Pause with memory and resume the same processes; clone a running VM | Branch a running machine with its memory and processes; a stop keeps only the filesystem | Disk saved every minute and on stop; fork a running sandbox with its disk |
| Wake on request | A VM paused by idle timeout resumes on the next traffic | A command starts a stopped machine; idle apps wake on the next request | No; a stopped sandbox is started by API |
| Shell access | SSH, exec and a terminal | Command API and a WebSocket terminal capped at one hour per connection; no SSH | SSH, plus a command API and terminal |
| Desktop and browser | Guides to install GNOME or Xvfb, VNC and Chromium yourself | No hosted desktop; a guide for running your own Chromium | Linux desktop streamed at 60fps, Chromium and computer use built in |
| Coding agents | claude, codex, opencode and openclaw preinstalled, run through exec or a terminal | Registry images with the Codex CLI and the Harbor eval harness, run through the command API | Seven agents preinstalled, with a prompt, steer and events API |
| Keeping API keys out of the sandbox | Credentials injected at the edge for HTTPS headers, Postgres and S3 | Cloud secrets are environment variables the guest can read | Credentials proxy for model providers and any HTTPS API, with switching to another account when credits run out |
| Inbound access | HTTPS on free style.dev names or your own domain, forward auth, other public protocols | Up to 16 published ports through a returned URL; no dedicated IP | HTTPS URLs for up to 50 ports, token-protected by default; raw TCP; dedicated IPv4 or IPv6 |
| Outbound rules | Default-deny firewall with allow rules by IP, VM, VPC or exact domain | Blocked, open, or an allowlist of hosts and CIDR ranges | Open internet, no provider-side allowlist |
| Self-hosting and arm64 | Hosted only, x86 | Open-source smolvm runs on your laptop or servers; amd64 and arm64 images | Hosted only |
| Regions | Not listed; the docs name a San Jose, US data center | No region choice in the cloud API | EU only (Germany, Finland, France), with EU data residency |
Every feature Battleships tracks (43)
| Feature | Freestyle | smol machines | boat |
|---|---|---|---|
| Full VM (own kernel) | Yes | Yes | Yes |
| Docker inside | Yes | Yes | Yes |
| Nested virtualization | Yes | No | Yes |
| Root | Yes | Not published | Yes |
| Systemd | Yes | Not published | Yes |
| Desktop GUI | No | No | Yes |
| Browser | No | No | Yes |
| Computer-use API | No | No | Yes |
| SSH | Yes | No | Yes |
| Persistent disk | Yes | Yes | Yes |
| Pause/resume | Yes | Yes | Yes |
| Automatic snapshots | Yes | No | 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 | Yes | Not published | Yes |
| Public IPv4 | No | No | No |
| Egress allowlist | Yes | Yes | No |
| Secret proxy | Yes | No | Yes |
| Secret proxy for any API | Yes | No | Yes |
| Preinstalled agents | Yes | Yes | Yes |
| Agent harness API | No | No | Yes |
| MCP server | No | Yes | No |
| GPU | Yes | No | No |
| Windows | No | No | No |
| Arm64 | No | Yes | No |
| Self-hosting | No | Yes | No |
| BYOC | No | Yes | No |
| Open source | No | Yes | No |
| Scoped API keys | Yes | Not published | Yes |
| Spend limits | Not published | Yes | Yes |
| Usage per sandbox (API) | No | Yes | Yes |
| Audit logs | Yes | Not published | No |
| SSO | Yes | Yes | No |
| SOC 2 | Not published | No | No |
| HIPAA | Not published | No | No |
| EU data residency | No | No | Yes |
| Zero data retention | Not published | Not published | Yes |
Performance
On the hpc-sandbox-benchmarks Node.js build-and-test loop at 4 vCPU / 8 GB, Freestyle did 9.64 runs per second and boat did 26.69, so boat did about 2.8 times as much CPU work in the same time. smol machines has no comparable measurement; it publishes a smolvm boot time under 200ms, which is 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. smol machines 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 | Freestyle, a month | smol machines, 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 | $27 · Free | $25 · Standard | $20 · $20/mo |
| One agent that never stops 4 vCPU / 8 GB, 50 GB disk, running 24/7 all month | $159 · Free | $93 · Standard | $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 | $2,139 · Pro | $1,139 · Pro | $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 | $581 · Pro | $465 · Startup | $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,305 · Pro · with limits | $1,389 · Startup | $2,000 · $2000/mo · with limits |
Freestyle: Freestyle bills per second for the vCPU, RAM and disk allocated to a VM, busy or idle, after monthly allowances that are hard stops on Free. Hobby and Pro set a $50 or $500 monthly minimum that counts as usage, and a paused VM bills only for storage.
smol machines: smol cloud charges a base fee for every hour a machine runs plus the CPU and memory the guest actually uses, with a one-minute minimum and disk billed even while stopped. Pro ($20 a month) and Startup ($150 a month) are fees added on top of usage, not credit.
smol machines: 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
Freestyle caps running VMs at 10 on Free, 40 on Hobby and 400 on Pro, which is why it does not fit 1,000 short jobs at once. smol machines caps machines at 20 on Standard, 100 on Pro and 1,000 on Startup, with stopped machines still holding a slot, so it can start that whole burst on Startup. Freestyle has no idle timeout by default, so a VM bills until you pause it. boat's limit that bites is starts: the $2,000 plan queues starts above 90 a minute.
| Scenario | Freestyle | smol machines | boat |
|---|---|---|---|
| One coding agent, workdays | None that bite | None that bite | None that bite |
| One agent that never stops | None that bite | None that bite | None that bite |
| 50 agents in parallel | None that bite | None that bite | None that bite |
| Sandboxes for your users | None that bite | None that bite | None that bite |
| 1,000 short jobs at once |
| None that bite |
|
Which one should you use?
Use Freestyle when
your agents need a full VM with systemd, SSH and nested virtualization, machines bigger than 32 GB of RAM, or a default-deny firewall with credentials injected at the edge.
- A fuller VM with nested virtualization. Agents that need systemd, SSH, Android emulators or VMs inside their sandbox get all of them on Freestyle.
- Bigger machines. Pro VMs go up to 32 vCPU / 64 GiB, and custom limits reach 64 vCPU / 128 GiB.
- Network and credential controls. Each VM starts behind a default-deny firewall, and real credentials for HTTPS, Postgres and S3 are injected at the edge.
Use smol machines when
you want one open-source VM engine from your laptop to your own servers, machines that cost little while idle, or bursts of up to 1,000 machines.
- Open source, from laptop to your own servers. Teams that want one VM engine locally, in a hosted cloud and on their own servers can use the open-source smolvm.
- Pay for what the guest uses. Machines that sit idle most of the day cost less, since smol bills active CPU and memory plus a small base fee.
- Large bursts and arm64. Startup holds up to 1,000 machines at once, and images come in amd64 and arm64.
Where boat fits
Freestyle and smol machines are both strong at machines that sleep, wake and branch with their memory. If your agents instead work for hours on builds, tests, emulators, a desktop and a browser, boat gives them a whole machine on fast CPUs with those parts built in. boat cannot resume a sandbox with its memory or wake it on a request, so pick one of these two if that is the core of your product.
A whole machine on fast CPUs
Freestyle did 9.64 runs per second to boat's 26.69, and its docs send heavy CPU work elsewhere. smol cloud has no measured score, no SSH and no /dev/kvm, so emulators and nested VMs do not start there.
A desktop and a browser, ready
Neither ships a desktop. On both you build, package and maintain a display, a browser and a screen stream yourself before a computer-use agent can click anything; boat streams one at 60fps in every sandbox.
Agents driven from outside, keys kept out
On both you start agent CLIs through exec and parse their output yourself. smol cloud secrets are plaintext inside the guest, and Freestyle cannot switch a key that ran out of credits to another account.
Use boat when your agents do real work for hours: builds, tests, Docker, emulators, a desktop and a browser, on fast CPUs, with coding agents you drive from outside and keys that never enter the sandbox. Compare it one to one: boat vs Freestyle and boat vs smol machines.
Questions people ask
Is Freestyle cheaper than smol machines?
In the scenarios on this page, smol machines costs less: one agent running all month is $93 on smol machines against $159 on Freestyle, and 50 agents in parallel are $1,139 against $2,139. For 1,000 short jobs at once only smol machines fits. boat is $26 for the always-on agent.
Which is faster, Freestyle or smol machines?
Only Freestyle has a CPU score: 9.64 runs per second on the hpc-sandbox-benchmarks test at 4 vCPU / 8 GB, where boat did 26.69. smol machines has not been measured on that test. Both advertise fast starts: about 65 ms for Freestyle and under 200ms for smolvm.
Can Freestyle and smol machines run Docker?
Yes, both run Docker inside the VM; smol's guide says Docker data must live on the machine's ext4 disk. Freestyle also has nested virtualization for Android emulators and VMs, which smol cloud does not expose. boat has Docker and /dev/kvm.
Can both fork a running machine?
Yes. Freestyle clones a running VM and snapshots its memory and disk, and smol machines branches a running machine into children that keep its memory and processes. boat forks a running sandbox with its disk, and the fork boots fresh.
Can I self-host Freestyle or smol machines?
smol machines, yes: the smolvm engine is open source and runs on macOS, Linux and Windows hosts, and a .smolmachine runs the same locally or on your servers. Freestyle and boat are hosted services.
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