Upstash Box vs smol machines

Upstash Box gives each agent a light Docker container with Claude Code, Codex or OpenCode built in, which pauses when idle and wakes on the next request. smol machines gives each agent a microVM with its own kernel that can run Docker, branch a running machine with its memory, and run the same way on your own servers.

The companies and products

Upstash Box

Upstash Box is a cloud computer for AI agents from Upstash, the company known for serverless Redis, Vector and QStash.

Each box is a Docker container with its own filesystem, shell, git and an optional coding agent such as Claude Code, Codex or OpenCode, which you drive from TypeScript or Python SDKs. A box pauses when it sits idle, keeps its files, and you pay for the CPU it actually uses. Upstash built it to run its own Context7 service and opened it to everyone in March 2026.

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.

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. “10th cheapest of 345” means 9 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 workloadUpstash Box: price ranksmol machines: price rankboat: price rank
Software factory
100 at once · 4 vCPU / 8 GB · 2,200 sessions of 8 h a month
A software factory needs Docker for databases and test services: smol machines runs it inside the VM, Upstash Box does not, and boat adds /dev/kvm and SSH on top.
61st of 367, with limits
$464 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
Upstash keeps an always-on box for a flat monthly price, smol machines bills every running hour, and boat gives the agent a full machine with a desktop and a credentials proxy.
103rd of 366, with limits
$475 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
Both fit short code runs well: Upstash bills only the CPU a box uses, and smol machines has a one-minute minimum and branches of a warm machine.
10th cheapest of 345
$119 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 stopped sandbox on the next request; boat fits closest by also giving each user a full VM with hosting on up to 50 ports.
2nd cheapest of 361
$222 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
smol machines can branch a running machine with its memory and processes, so many rollouts start from one prepared state, which Upstash snapshots of the filesystem do not do.
352nd of 360, with limits
$8,068 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
52nd cheapest of 364
$1,011 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
CI jobs that build container images need Docker, which smol machines has and Upstash does not; boat adds /dev/kvm for Android builds.
120th cheapest of 377
$1,520 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
An Upstash keep-alive box is a cheap light dev box, while a smol machine that runs all day pays its base fee every hour.
10th cheapest of 368
$20 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 has a hosted desktop: Upstash ships a headless browser and smol machines a guide to run your own, while boat streams a Linux desktop at 60fps.
73rd of 369, with limits
$76 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
49th of 367, with limits
$38 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
37th cheapest of 346
$400 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
200th of 338, with limits
$8,000 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
225th of 360, with limits
$259 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 itCan'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 itCan't run it

Key features

FeatureUpstash Boxsmol machinesboat
IsolationDocker container per box on AWSlibkrun microVM with its own guest kernelFull VM with its own kernel on dedicated AMD Ryzen 9 9950X hosts
Docker insideNot documented; the box is itself a Docker containerYes, Docker data lives on the machine's ext4 diskYes, Docker and systemd run as on any Linux server
Nested virtualizationNoNot exposed on hosted machines; a local smolvm flag onlyYes, /dev/kvm for Android emulators and VMs
Biggest machineLarge: 8 vCPU / 16 GBUp to 32 vCPU / 32 GB on Startup, 16 vCPU / 24 GB on ProUp to 16 vCPU / 32 GB on the $100 plan and above
Disk5, 10 or 20 GB by sizeUp to 200 GB on Pro and Startup50 GB at the default 4 vCPU / 8 GB size, 12 to 251 GB by size
Stop and resumePauses itself when idle and keeps its files; storage keeps billingFilesystem survives a stop, memory paths are emptied; stopped disk keeps billingDisk saved every minute and on stop; a stopped sandbox costs nothing
ForkSnapshot a running box's filesystem and start many boxes from itBranch a running machine with its memory and processesFork a running sandbox with its disk
Wake on requestYes; a request to a public URL resumes a paused boxYes; a command starts a stopped machine, idle apps wake on the next requestNo; a stopped sandbox is started by API
Shell accessSSH through a gateway, plus exec APIsCommand API and a WebSocket terminal capped at one hour per connection; no SSHSSH, plus a command API and terminal
Inbound accessHTTPS URL per port, public unless you add a token; no raw TCPUp to 16 published ports; no dedicated IPHTTPS URLs for up to 50 ports, token-protected by default; raw TCP; dedicated IPv4 or IPv6
Outbound rulesAllow all, deny all, or allow and deny by domain and CIDRBlocked, open, or an allowlist of hosts and CIDR rangesOpen internet, no provider-side allowlist
Desktop and browserManaged headless Chromium with AI page actions and CDP; no desktopNo hosted desktop; a guide shows running your own ChromiumLinux desktop streamed at 60fps, Chromium and computer use built in
Coding agentsClaude Code, Codex and OpenCode built in, with run and stream APIs, webhooks and scheduled promptsRegistry images with the Codex CLI, run through the command APIClaude Code, Codex and five other agents preinstalled, with a prompt, steer and events API
Keeping API keys out of the sandboxHost proxy injects headers into outbound HTTPS; set when the box is createdCloud secrets are environment variables the guest can readCredentials proxy for any HTTPS API; switch a credential to another account when credits run out
Every feature Battleships tracks (43)
FeatureUpstash Boxsmol machinesboat
Full VM (own kernel)NoYesYes
Docker insideNoYesYes
Nested virtualizationNoNoYes
RootNot publishedNot publishedYes
SystemdNot publishedNot publishedYes
Desktop GUINoNoYes
BrowserYesNoYes
Computer-use APINoNoYes
SSHYesNoYes
Persistent diskYesYesYes
Pause/resumeYesYesYes
Automatic snapshotsNoNoYes
Fork/cloneYesYesYes
Live fork (no pause)YesYesYes
Memory forkNoYesNo
Custom image (Docker or snapshot)YesYesYes
≥24 h sessionsYesYesYes
Idle auto-stopYesYesNo
Wake on requestYesYesNo
HTTPS preview URLsYesYesYes
Raw TCP inboundNoNot publishedYes
Public IPv4NoNoNo
Egress allowlistYesYesNo
Secret proxyYesNoYes
Secret proxy for any APIYesNoYes
Preinstalled agentsYesYesYes
Agent harness APIYesNoYes
MCP serverYesYesNo
GPUNoNoNo
WindowsNoNoNo
Arm64YesYesNo
Self-hostingNoYesNo
BYOCNoYesNo
Open sourceNoYesNo
Scoped API keysNot publishedNot publishedYes
Spend limitsNot publishedYesYes
Usage per sandbox (API)YesYesYes
Audit logsNot publishedNot publishedNo
SSONoYesNo
SOC 2YesNoNo
HIPAANoNoNo
EU data residencyNoNoYes
Zero data retentionNot publishedNot publishedYes

Performance

Upstash BoxNot measured
smol machinesNot measured
boat26.69 runs/s

There is no comparable measurement for either: neither Upstash Box nor smol cloud has been run on the StarSling hpc-sandbox-benchmarks CPU test. boat did 26.69 runs per second on that Node.js build-and-test loop at 4 vCPU / 8 GB, on dedicated AMD Ryzen 9 9950X hosts. smol machines publishes a boot time under 200ms for smolvm, which is a start-time figure, 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. Upstash Box and smol machines 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.

ScenarioUpstash Box, a monthsmol machines, a monthboat, 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
$21 · Pay as You Go$25 · Standard$20 · $20/mo
One agent that never stops
4 vCPU / 8 GB, 50 GB disk, running 24/7 all month
$21 · Pay as You Go$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
$900 · Pay as You Go · with limits$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
$306 · Pay as You Go$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,822 · Pay as You Go$1,389 · Startup$2,000 · $2000/mo · with limits

Upstash Box: A standard box is billed for the CPU it actually uses, at $0.10, $0.20 or $0.40 per active CPU hour for Small, Medium and Large, plus $0.10 per GB-month of storage, and RAM is free. A keep-alive box costs a flat $8, $16 or $32 a month whether it is busy or not.

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.

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

Upstash Box does not run Docker inside a box, so 50 agents in parallel with Docker does not fit there, and its disks stop at 5, 10 or 20 GB by size. Its egress price is not published. smol machines caps machines by plan, 20 on Standard, 100 on Pro and 1,000 on Startup, with stopped machines still holding a slot, so 50 agents needs Pro and 1,000 short jobs at once needs Startup. boat's limit is start rate: the $2,000 plan queues starts above 90 a minute, so that burst does not fit.

ScenarioUpstash Boxsmol machinesboat
One coding agent, workdays
  • flat pool: the tier is billed whether used or not
  • egress price not published
None that biteNone that bite
One agent that never stops
  • flat pool: the tier is billed whether used or not
  • egress price not published
None that biteNone that bite
50 agents in parallel
  • missing Docker inside
  • flat pool: the tier is billed whether used or not
  • egress price not published
None that biteNone that bite
Sandboxes for your users
  • egress price not published
None that biteNone that bite
1,000 short jobs at once
  • egress price not published
None that bite
  • 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)

Which one should you use?

Use Upstash Box when

your agents are light, mostly wait, need a built-in coding agent with webhooks and schedules, or must run in the US.

  • Coding agents built in. Teams that want Claude Code, Codex or OpenCode running with webhooks and scheduled prompts get it without writing a harness.
  • Idle costs no CPU. Good for agents that wait a lot: an idle box costs no CPU, RAM is not billed, and a request wakes it.
  • Cheap always-on boxes. A keep-alive box stays on all month for a flat price, which suits one light agent that never stops.

Use smol machines when

you need a real VM with Docker, live branches with memory, bigger machines, or the same open-source engine on your own servers.

  • A real VM that runs Docker. Agents that need Docker or their own kernel get a microVM, where an Upstash box is itself a container.
  • Live branches with memory. Useful for RL and test fan-out: branch a running machine with its memory and processes into many children.
  • Open source, from laptop to your servers. Teams that want the same VM locally, in a hosted cloud and on their own servers can use one open-source engine.

Where boat fits

If your agents do real software work, look at boat. It gives each agent a full VM with Docker, /dev/kvm, SSH, a 60fps desktop and coding agents you drive from outside, with real keys kept out of the sandbox. Upstash Box and smol machines each cover part of that list, and neither covers all of it.

Docker and emulators both work

An Upstash box cannot run Docker, so the 50-agent scenario does not fit there. smol machines runs Docker but does not expose nested virtualization on hosted machines, so an Android emulator or a VM inside the sandbox fails on both.

A desktop the agent can see

A computer-use agent needs a screen. Upstash gives a headless browser with no desktop, and on smol cloud you build, package and maintain your own desktop and screen stream. boat streams a Linux desktop at 60fps out of the box.

Keys that never enter the sandbox

On smol cloud secrets are plaintext inside the guest, so one prompt injection can leak them. Upstash's header proxy is fixed when the box is created. boat's credentials proxy works with any HTTPS API and can switch to another account when credits run out.

Use boat when your agents need a whole machine: Docker, emulators, SSH, a desktop, hosting on many ports, and coding agents you drive from outside with keys that never enter the sandbox. Compare it one to one: boat vs Upstash Box and boat vs smol machines.

Questions people ask

Is Upstash Box cheaper than smol machines?

Where both fit, Upstash costs less in three of four scenarios: one agent that never stops is $21 a month on Upstash against $93 on smol machines. For 1,000 short jobs at once, smol machines is $1,389 a month against $1,822 on Upstash. For 50 agents with Docker, Upstash does not fit, smol machines is $1,139 a month and boat is $317.

Can I run Docker in Upstash Box or smol machines?

smol machines runs Docker inside the VM, with Docker data on the machine's ext4 disk. Upstash's docs do not offer it, since each box is itself a Docker container. boat runs Docker, docker compose and systemd as on any Linux server.

Which is faster?

Neither has a comparable CPU measurement, so there is no fair speed ratio. boat did 26.69 runs per second on the hpc-sandbox-benchmarks Node.js test at 4 vCPU / 8 GB.

Can they fork a running sandbox?

smol machines branches a running machine with its memory and running processes. Upstash snapshots a running box's filesystem and starts new boxes from it. boat forks a running sandbox with its disk.

Do they have a desktop for computer use?

No. Upstash gives a headless Chromium with AI page actions, and smol machines documents how to run your own Chromium inside a machine. boat streams a full Linux desktop at 60fps with computer-use tools preinstalled.

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