smol machines vs Agent 37
smol machines gives every machine its own microVM kernel, from an open-source engine you can also run on your own servers, and it can branch a running machine with its memory. Agent 37 hosts one always-on agent per user in lighter gVisor sandboxes that sleep when idle, keep their memory, and cost less per hour.
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
Agent 37
Agent 37 hosts AI agents, one isolated, always-on sandbox per user, behind one API.
You create an instance from a template (Hermes, OpenClaw, Claude Code, Codex, OpenCode, Pi, Grok or your own Docker image) and talk to it through a chat API, files, exec, SSH and HTTPS URLs. The default instance is a container enforced by gVisor; a VM type gives a full Linux machine with its own kernel for Docker, Kubernetes and Android emulators. It is built for companies that give each of their customers an agent.
- Where it runs
- Dedicated servers in the United States
- Instance types
- Default (shared), Performance (dedicated cores), VM
- Compliance
- SOC 2 Type I, Type II in progress
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 | Agent 37: 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 in every machine; Agent 37 needs its VM type for Docker, which bills compute at 2.5 times the default rate; boat also adds /dev/kvm and systemd. | 73rd of 367, with limits $604 a month | 2nd cheapest of 367 $551 a month | 3rd cheapest of 367 $634 a month |
| Always-on AI employees 50 machines 24/7 · 2 vCPU / 4 GB Agent 37 is built for this: one assistant per user that sleeps when idle, keeps its memory and wakes on the next message; boat adds a 60fps desktop and keys kept outside. | 148th of 366, with limits $1,038 a month | Cheapest of 366 $279 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 Both fit short code runs: Agent 37 has small cheap default sandboxes, and smol machines has a one-minute minimum and a /code endpoint for Python and JavaScript. | 12th cheapest of 345 $140 a month | Cheapest of 345 $22 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 smol machines holds up to 1,000 machines on Startup, while Agent 37 stops at 200 instances on self-serve, counting sleeping ones; boat ranks first here with a desktop per user. | 7th cheapest of 361 $531 a month | 30th of 361, with limits $79 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 smol machines can branch a running machine with its memory and processes, so many rollouts start from one prepared state; Agent 37 has no fork. | 111th of 360, with limits $6,978 a month | 6th of 360, with limits $363 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 | 36th cheapest of 364 $670 a month | 90th of 364, with limits $58 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 | 66th cheapest of 377 $514 a month | 2nd cheapest of 377 $84 a month | 4th cheapest of 377 $86 a month |
| 24/7 dev boxes 1 machine 24/7 · 4 vCPU / 8 GB Agent 37 is cheap to keep around the clock and takes SSH; smol machines has no SSH, and boat gives a full VM with systemd, SSH and raw TCP. | 216th of 368, with limits $29 a month | 3rd cheapest of 368 $12 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 Agent 37 offers a noVNC desktop through a template, smol machines has no hosted desktop, and boat streams a 60fps desktop with computer use built in. | 90th of 369, with limits $156 a month | Cheapest of 369 $53 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 | 176th of 367, with limits $136 a month | 48th of 367, with limits $29 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 | 241st of 346, with limits $242 a month | Cheapest of 346 $32 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 | 148th of 338, with limits $4,344 a month | 36th of 338, with limits $648 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 Agent 37 is cheap per attempt but has no fork; smol machines can branch a running machine, and boat can fork a running sandbox to try many paths at once. | 252nd of 360, with limits $377 a month | Cheapest of 360 $43 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 | smol machines | Agent 37 | boat |
|---|---|---|---|
| Isolation | libkrun microVM with its own guest kernel | gVisor by default; full VM as an opt-in instance type | Full VM with its own kernel on dedicated AMD Ryzen 9 9950X hosts |
| Docker inside | Yes, with Docker data on the machine's ext4 disk | Only on the VM type, at 2.5x the default compute rate | Yes, in every sandbox |
| Nested virtualization | Not exposed on hosted machines; a local smolvm flag only | /dev/kvm on the VM type, with a ready Android template | /dev/kvm in every sandbox, Android emulator works |
| Shell access | Command API, sessions and a WebSocket terminal capped at one hour per connection; no SSH | Exec API and SSH through a WebSocket tunnel | SSH, plus a command API and terminal |
| Idle and wake | A command or terminal starts a stopped machine; idle apps wake on the next request | Opt-in auto-sleep after a quiet period (default 15 minutes), wakes on the next request | No idle timer; a time limit you set, or no limit |
| Memory kept | Checkpoints capture RAM to a file you can restore | Memory checkpointed on auto-sleep, processes resume when the restore works | Disk kept; a resume reboots the machine |
| Fork | Branch a running machine with its memory and processes | No fork; daily backups plus one on-demand backup, restored in place only | Fork a running sandbox with its disk; named snapshots as shareable templates |
| Stopped machines | Filesystem survives a stop; disk keeps billing | Disk kept; disk keeps billing while stopped or asleep | Disk saved every minute and on stop; a stopped sandbox costs nothing |
| Desktop and browser | No hosted desktop; a guide shows running your own Chromium | noVNC desktop through a template build or the Ubuntu VM template | Linux desktop streamed at 60fps, Chromium and computer use built in |
| Built-in agents | Registry images with the Codex CLI and the Harbor eval harness, run through the command API | Hermes, OpenClaw, Claude Code, Codex, Grok, OpenCode, Pi, with a chat API per instance | Seven agents preinstalled, with a prompt, steer and events API |
| Keeping API keys out | Cloud secrets are env vars the guest can read | Managed LLM, search and Composio through a per-instance token; your own keys go in as env vars | Credentials proxy for model providers and any HTTPS API; switch a credential to another account when credits run out |
| Inbound access | Up to 16 published ports through a URL or an authenticated route; no dedicated IP | HTTPS URL per port, signed URLs, custom domains; no public IP | HTTPS URLs for up to 50 ports, raw TCP, dedicated IPv4 or IPv6 |
| Outbound rules | Blocked, open, or an allowlist of hosts and CIDR ranges | Open internet | Open internet, no provider-side allowlist |
| Where it runs | No region choice in the cloud API; open-source smolvm runs on your own servers | Dedicated servers in the United States | EU only (Germany, Finland, France), with EU data residency |
Every feature Battleships tracks (43)
| Feature | smol machines | Agent 37 | boat |
|---|---|---|---|
| Full VM (own kernel) | Yes | No | Yes |
| Docker inside | Yes | No | Yes |
| Nested virtualization | No | No | Yes |
| Root | Not published | Yes | Yes |
| Systemd | Not published | Not published | Yes |
| Desktop GUI | No | Yes | Yes |
| Browser | No | Yes | Yes |
| Computer-use API | No | Yes | Yes |
| SSH | No | Yes | 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 | No | 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 | No | No |
| Secret proxy | No | Yes | Yes |
| Secret proxy for any API | No | No | Yes |
| Preinstalled agents | Yes | Yes | Yes |
| Agent harness API | No | Yes | Yes |
| MCP server | Yes | No | No |
| GPU | No | No | No |
| Windows | No | No | No |
| Arm64 | Yes | No | No |
| Self-hosting | Yes | No | No |
| BYOC | Yes | No | No |
| Open source | Yes | No | No |
| Scoped API keys | Not published | Not published | Yes |
| Spend limits | Yes | Yes | Yes |
| Usage per sandbox (API) | Yes | Yes | Yes |
| Audit logs | Not published | Not published | No |
| SSO | Yes | No | No |
| SOC 2 | No | Yes | No |
| HIPAA | No | No | No |
| EU data residency | No | No | Yes |
| Zero data retention | Not published | Not published | Yes |
Performance
There is no comparable CPU measurement for smol machines or Agent 37: 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. Agent 37 says its default instances share host resources and sells dedicated cores at 4x the rate.
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 Agent 37 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 | Agent 37, 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 | $6 · Wallet (any top-up) | $20 · $20/mo |
| One agent that never stops 4 vCPU / 8 GB, 50 GB disk, running 24/7 all month | $93 · Standard | $12 · Wallet (any top-up) | $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 | $329 · Wallet ($100 lifetime top-ups) | $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 | $33 · Wallet ($250 lifetime top-ups) · with limits | $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 | $73 · Wallet ($250 lifetime top-ups) · with limits | $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 actually uses, with a one-minute minimum and disk billed even while stopped. Pro ($20 a month) and Startup ($150 a month) are fees on top of usage, not credit.
Agent 37: A prepaid wallet with no plan fee, metered per minute on allocated size: $0.80 per vCPU and $0.70 per GB of RAM per month while running, and $0.09 per GB of disk per month even while stopped or asleep. VM compute costs 2.5x and Performance compute 4x.
Agent 37: 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
smol machines caps machines by plan: 20 on Standard, 100 on Pro and 1,000 on Startup, with stopped machines counting too, so 1,000 short jobs at once needs Startup. Agent 37 stops at 200 instances on self-serve, counting sleeping and stopped ones, so it cannot hold 300 user sandboxes or 1,000 jobs at once without emailing the founder. Agent 37 does not publish an egress price. boat queues starts above 90 a minute, which is what stops it in the 1,000-at-once burst.
| Scenario | smol machines | Agent 37 | 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, need outbound allowlists, or fan out branches of a running machine with its memory.
- 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 open-source smolvm.
- Live branches with memory. Useful for RL and test fan-out: branch a running machine with its memory and processes into many children.
- Outbound allowlists and arm64. Teams that must limit which hosts a machine reaches, or need arm64 images, get both on smol cloud.
Use Agent 37 when
you host one mostly idle assistant per customer in the US that should sleep with its memory kept and wake on the next message, at a low hourly rate.
- Sleeps when idle and keeps its memory. Useful for assistants that sit idle most of the day: an instance sleeps, keeps its memory and wakes on the next message.
- Low cost for one agent per user. Teams hosting many small, mostly idle agents pay the lowest bill here in most scenarios, with no plan fee.
- Bring a Dockerfile, pick dedicated cores. Agent 37 builds templates from your own Docker image, and sells a Performance type on dedicated cores.
Where boat fits
If your agents do real work for hours, like installs, builds, tests, Docker and emulators, look at boat. Every sandbox is a full VM with systemd, SSH, /dev/kvm and a 60fps desktop, and real API keys stay outside the machine for any HTTPS API.
Docker, emulators and SSH in every sandbox
smol cloud has no SSH and no nested virtualization, so an Android emulator cannot start. Agent 37 has /dev/kvm and Docker only on its VM type, which bills 2.5 times the compute and has no init system.
A desktop ready for computer use
On smol cloud you build and run your own desktop and screen stream before an agent can click anything. Agent 37 adds a noVNC desktop through a template build. boat streams a 60fps desktop with Chromium built in.
Keys that never enter the sandbox
On smol cloud secrets are env vars the guest can read, and on Agent 37 your own keys sit inside the instance too, so one prompt injection can leak them. boat's proxy keeps them outside for any HTTPS API.
Use boat when your agents need a whole machine for real work: Docker, emulators, SSH, a desktop and a browser, with 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 Agent 37.
Questions people ask
Is smol machines cheaper than Agent 37?
No, not in the scenarios on this page. Agent 37 comes out lower in all five, for example $12 against $93 a month for one agent running 24/7. Agent 37 cannot hold 300 or 1,000 at once on self-serve, though, while smol machines on Startup can.
Which is faster, smol machines or Agent 37?
Neither has a published result on the StarSling hpc-sandbox-benchmarks CPU test, so there is no fair comparison. boat did 26.69 runs per second there. smol machines publishes a boot time under 200ms for smolvm, which is about start time, not CPU speed.
Can smol machines and Agent 37 run Docker?
smol machines runs Docker inside every machine, with Docker data on the ext4 disk. Agent 37 runs Docker only on its VM type, which bills compute at 2.5x; the default gVisor type cannot run a Docker daemon. boat runs Docker in every sandbox.
Is Agent 37 a VM like smol machines?
By default no: an Agent 37 instance is a container enforced by gVisor, and a full VM is an opt-in type. Every smol machine is a libkrun microVM with its own kernel, and every boat sandbox is a full VM.
Can either fork a running machine?
smol machines can branch a running machine into children that keep its memory and processes. Agent 37 has no fork; its backups restore in place only. boat forks a running sandbox with its disk.
Where do smol machines and Agent 37 run?
Agent 37 runs on dedicated servers in the United States. smol cloud has no region choice in its API, but smolvm can run on your own servers. boat runs only in the EU, with EU data residency.
Try boat
Install the CLI, then run boat new.
7-day free trial
More comparisons
- boat vs smol machines
- boat vs Agent 37
- 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