OpenAI Containers vs smol machines

OpenAI Containers are short-lived boxes inside OpenAI's model API, where the model runs code and the box expires after 20 minutes without use. smol machines gives you Linux microVMs that you create, keep, stop and branch, in its cloud or on your own machines.

The companies and products

OpenAI Containers

OpenAI Containers are the sandboxes OpenAI runs for its own model tools: Code Interpreter, Hosted Shell and the Agents API's hosted sandbox.

This is a different kind of product from boat: a tool inside OpenAI's model API, not a machine you rent. You create a container through the API or let a Responses call make one, and the model runs Python or shell commands in it on a fixed Debian 12 image without sudo, until it expires after 20 minutes without use. It is built for apps that already call OpenAI models and want them to run code, read files and make charts without running any servers.

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. “356th cheapest of 367” means 355 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 workloadOpenAI Containers: price ranksmol machines: price rankboat: price rank
Software factory
100 at once · 4 vCPU / 8 GB · 2,200 sessions of 8 h a month
An OpenAI container has no root or Docker and expires when idle; smol machines runs Docker and keeps its files, and boat adds /dev/kvm, SSH and coding agents you drive through an API.
356th of 367, with limits
$17,371 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
An OpenAI container is deleted after 20 idle minutes; a smol machine stays, but has no desktop or browser and its secrets are readable inside, while boat has all three built in.
341st of 366, with limits
$13,140 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
This is what OpenAI Containers are built for, inside the same API call as the model; smol machines also fits well, with a one-minute minimum and a /code endpoint for Python and JavaScript.
194th of 345, with limits
$6,000 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
smol machines fits, and starts a stopped machine on the next command; OpenAI containers take no inbound connections, while boat gives each user a desktop, URLs on up to 50 ports and a credentials proxy.
361st of 361, with limits
$3,780 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; OpenAI containers cannot be forked.
191st of 360, with limits
$30,000 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
360th of 364, with limits
$5,760 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
OpenAI documents no Docker or root, and its Code Interpreter containers start with no internet; smol machines runs Docker but not nested virtualization, which boat has for Android builds and VMs.
345th of 377, with limits
$1,728 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
OpenAI containers have no SSH and no disk that lasts; smol machines keeps the disk but has no SSH and caps a terminal connection at one hour, while boat takes SSH.
362nd of 368, with limits
$1,051 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
OpenAI has a hosted browser inside the Agents API beta, smol machines has no hosted desktop, and boat streams a full Linux desktop at 60fps with computer use.
351st of 369, with limits
$5,280 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
328th of 367, with limits
$1,440 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
328th of 346, with limits
$1,755 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
311th of 338, with limits
$35,100 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
308th of 360, with limits
$870 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

FeatureOpenAI Containerssmol machinesboat
What it isA sandbox tool the model uses inside OpenAI's APILinux microVMs you run through a REST API and SDKs, in smol cloud or locallyA cloud VM you create, keep, stop and reach from outside
IsolationA fully sandboxed virtual machine; hypervisor not namedlibkrun microVM with its own guest kernelFull VM with its own kernel on dedicated AMD Ryzen 9 9950X hosts
Root, Docker and nested virtualizationCommands do not run with sudo; no Docker or /dev/kvm documentedDocker runs inside the VM; nested virtualization not exposed in the cloudRoot, systemd, Docker and /dev/kvm on every machine
Machine size1, 4, 16 or 64 GB of memory; vCPU not publishedUp to 8 vCPU / 16 GB on Standard, 16 vCPU / 24 GB on Pro, 32 vCPU / 32 GB on Startup4 vCPU / 8 GB by default, up to 16 vCPU / 32 GB
Files after the sessionData is discarded when the container expires after 20 minutes without useFilesystem survives a stop; stopped disk keeps billingDisk saved every minute and on stop; a stopped sandbox costs nothing and comes back
ForkNo forkBranch a running machine with its memory and processesFork a running sandbox with its disk
Wake on requestNo; a new container is made for new workA command starts a stopped machine; idle apps wake on the next requestNo; a stopped sandbox is started by API
Inbound accessNone; you reach the container only through the APIUp to 16 published ports and a WebSocket terminal capped at one hour per connection; no SSHSSH, HTTPS URLs for up to 50 ports, raw TCP
Outbound internetCode Interpreter and Hosted Shell: off until an admin sets a domain allowlist; Agents API sandboxes: on by defaultBlocked, open, or an allowlist of hosts and CIDR rangesOpen internet on every plan; no provider-side allowlist
Desktop and computer useHosted browser for the Agents API computer_use toolNo hosted desktop; a guide shows running your own Chromium inside a machine60fps Linux desktop and Chromium, computer use, embeddable stream
Coding agentsAgents API (beta) drives a managed Codex harness from outsideRegistry images with the Codex CLI and the Harbor eval harness, run through the command APIClaude Code, Codex, OpenCode and more preinstalled, with a prompt, steer and events API
Keeping API keys out of the sandboxdomain_secrets: a sidecar adds the real header for approved domainsCloud secrets are environment variables the guest can readCredentials proxy for any HTTPS API; switch a credential to another account when credits run out
RegionsUS or EU processing for Code Interpreter; Agents API data residency in the US onlyNo region choice in the cloud APIEU only (Germany, Finland, France), with EU data residency
Your own machinesAgents API can drive an executor you hostOpen-source smolvm runs on your laptop or servers with the same .smolmachine artifactNo; hosted only
Every feature Battleships tracks (43)
FeatureOpenAI Containerssmol machinesboat
Full VM (own kernel)YesYesYes
Docker insideNoYesYes
Nested virtualizationNoNoYes
RootNoNot publishedYes
SystemdNot publishedNot publishedYes
Desktop GUIYesNoYes
BrowserYesNoYes
Computer-use APIYesNoYes
SSHNoNoYes
Persistent diskNoYesYes
Pause/resumeNoYesYes
Automatic snapshotsNoNoYes
Fork/cloneNoYesYes
Live fork (no pause)NoYesYes
Memory forkNoYesNo
Custom image (Docker or snapshot)NoYesYes
≥24 h sessionsYesYesYes
Idle auto-stopYesYesNo
Wake on requestNoYesNo
HTTPS preview URLsNoYesYes
Raw TCP inboundNoNot publishedYes
Public IPv4NoNoNo
Egress allowlistYesYesNo
Secret proxyYesNoYes
Secret proxy for any APIYesNoYes
Preinstalled agentsNoYesYes
Agent harness APIYesNoYes
MCP serverNoYesNo
GPUNoNoNo
WindowsNoNoNo
Arm64NoYesNo
Self-hostingYesYesNo
BYOCNoYesNo
Open sourceNoYesNo
Scoped API keysNot publishedNot publishedYes
Spend limitsNot publishedYesYes
Usage per sandbox (API)NoYesYes
Audit logsNot publishedNot publishedNo
SSOYesYesNo
SOC 2YesNoNo
HIPAAYesNoNo
EU data residencyYesNoYes
Zero data retentionNot publishedNot publishedYes

Performance

OpenAI ContainersNot measured
smol machinesNot measured
boat26.69 runs/s

There is no comparable measurement for either: OpenAI Containers and smol cloud have not been run on the StarSling hpc-sandbox-benchmarks CPU test, and OpenAI does not publish the vCPU behind each container size. boat did 26.69 runs per second on that Node.js build-and-test loop at 4 vCPU / 8 GB. 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. OpenAI Containers 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.

ScenarioOpenAI Containers, 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
$228 · API pay as you go · with limits$25 · Standard$20 · $20/mo
One agent that never stops
4 vCPU / 8 GB, 50 GB disk, running 24/7 all month
$1,051 · API pay as you go · with limits$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
$11,405 · API 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
$1,620 · API pay as you go · with limits$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
$6,000 · API pay as you go · with limits$1,389 · Startup$2,000 · $2000/mo · with limits

OpenAI Containers: OpenAI bills each container session by the minute for the memory size you pick, with a 5-minute minimum, and model tokens are billed separately on top. There is no plan fee.

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 becomes usage credit spent per second on running sandboxes. A stopped sandbox costs nothing and keeps its disk.

Limits in those scenarios

OpenAI Containers do not fit any of the five scenarios as written: no disk that lasts, no Docker, no internet by default in Code Interpreter and Hosted Shell, and no published vCPU or limit on how many can run at once. smol machines fits all five, but caps machines by plan (20 on Standard, 100 on Pro, 1,000 on Startup, with stopped machines still holding a slot), so 50 agents need Pro and 1,000 short jobs need Startup. On boat the 1,000-job burst is limited by starts, so the $2,000 plan queues starts above 90 a minute.

ScenarioOpenAI Containerssmol machinesboat
One coding agent, workdays
  • no open internet: sandboxes reach only an allowlist (domains your org admin adds to the allow list)
  • missing persistent disk
  • machine size not published
  • different kind of product: code interpreter
None that biteNone that bite
One agent that never stops
  • no open internet: sandboxes reach only an allowlist (domains your org admin adds to the allow list)
  • missing persistent disk
  • machine size not published
  • different kind of product: code interpreter
None that biteNone that bite
50 agents in parallel
  • no open internet: sandboxes reach only an allowlist (domains your org admin adds to the allow list)
  • missing persistent disk, Docker inside
  • machine size not published
  • different kind of product: code interpreter
None that biteNone that bite
Sandboxes for your users
  • no open internet: sandboxes reach only an allowlist (domains your org admin adds to the allow list)
  • machine size not published
  • different kind of product: code interpreter
  • not confirmed: how many machines can run at once (you need 300; the typical published limit is 50)
None that biteNone that bite
1,000 short jobs at once
  • no open internet: sandboxes reach only an allowlist (domains your org admin adds to the allow list)
  • machine size not published
  • different kind of product: code interpreter
  • not confirmed: how many machines can run at once (you need 1,000; the typical published limit is 50)
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 OpenAI Containers when

your app already calls OpenAI models and the model only needs to run short pieces of code or shell commands on files you give it.

  • Built into the model call. Useful if your app already calls OpenAI models: one tool line in a request gives the model a place to run code.
  • Locked-down network by default. Code Interpreter and Hosted Shell reach nothing until an admin allows domains, and secrets reach the model only as placeholders.
  • US or EU processing. Teams that need data processed in the US can get it, since Code Interpreter offers US or EU processing.

Use smol machines when

you want VMs you keep and branch with their memory, one open-source engine from your laptop to your own servers, or tight outbound rules.

  • Open source, laptop to your servers. Teams that want the same VM locally, in a hosted cloud and on their own servers get it from one open-source engine.
  • Live branches with memory. Useful for RL and test fan-out: branch a running machine with its memory, and wake stopped machines on the next command.
  • Bigger machines and outbound rules. Startup goes up to 32 vCPU per machine, and each machine can block outbound traffic or allow listed hosts only.

Where boat fits

If what you are running is coding or computer-use agents that need a whole machine, look at boat. OpenAI Containers are a short-lived tool for the model, and smol machines gives you a lean VM; boat gives each agent root, a desktop, SSH and coding agents you drive from outside.

Root, Docker and /dev/kvm

An OpenAI container runs commands without sudo and documents no Docker. smol machines runs Docker but exposes no nested virtualization in its cloud, so an Android emulator or a VM inside cannot start on either.

Reachable from outside

An OpenAI container takes no inbound connections, so nobody can open the app an agent built. smol machines has no SSH and caps a terminal connection at one hour; boat has SSH, HTTPS on 50 ports and raw TCP.

Desktop and keys built in

smol machines has no hosted desktop and its secrets are readable inside the guest, and OpenAI's browser lives in the Agents API beta. boat streams a 60fps desktop and keeps keys for any HTTPS API outside the sandbox.

Use boat when your agents need a whole machine for real work: root, Docker and /dev/kvm, SSH and ports you can reach, 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 OpenAI Containers and boat vs smol machines.

Questions people ask

Is OpenAI Containers cheaper than smol machines?

Not in the scenarios on this page: one coding agent on workdays comes to $228 a month on OpenAI and $25 on smol machines, and one agent running all month comes to $1,051 versus $93. OpenAI also bills model tokens on top, and its containers do not fully fit these scenarios.

Which is faster, OpenAI Containers or smol machines?

There is no comparable CPU measurement for either one, and OpenAI does not publish how many vCPU each container size gets. smol machines publishes a boot time under 200ms for smolvm, which is about start time, not CPU speed.

Can OpenAI Containers or smol machines run Docker?

OpenAI's docs say hosted shell commands do not run with sudo, and no Docker support is documented. smol machines runs Docker inside the VM, with Docker data on the machine's ext4 disk. boat gives root, systemd, Docker and /dev/kvm on every sandbox.

Do files survive between sessions?

Not on OpenAI: a container expires after 20 minutes without use and its data is discarded. On smol machines the filesystem survives a stop, and the stopped disk keeps billing. On boat the disk is saved every minute and a stopped sandbox costs nothing.

Can I run either one on my own machines?

smol machines' engine, smolvm, is open source and runs on macOS, Linux and Windows hosts. OpenAI's Agents API can drive an executor you host, but Code Interpreter containers run only on OpenAI. boat is a hosted service only.

Can I open a web app running inside the sandbox?

Not on OpenAI: its containers have no ports, URLs or SSH. smol machines publishes up to 16 ports through a returned URL. boat gives each sandbox HTTPS URLs for up to 50 ports, raw TCP and SSH.

Try boat

Install the CLI, then run boat new.

7-day free trial

More comparisons