OpenAI Containers vs Agent 37
OpenAI Containers are short-lived boxes inside OpenAI's model API, where the model runs code and the box expires after 20 idle minutes. Agent 37 gives each of your users a persistent agent sandbox that sleeps when idle and keeps its disk and memory.
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.
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. “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 workload | OpenAI Containers: 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 A coding agent needs root, Docker and a disk that lasts for days; OpenAI Containers have none of these, Agent 37 needs its VM type for Docker, and boat has all three on every sandbox. | 356th of 367, with limits $17,371 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 one always-on assistant per user that sleeps and wakes with its memory; an OpenAI container is deleted after 20 idle minutes. | 341st of 366, with limits $13,140 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 Running model-written Python inside one API call is what OpenAI Containers are built for; Agent 37's small default sandboxes also suit short code runs and cost far less in the table. | 194th of 345, with limits $6,000 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 Agent 37 gives each user a sandbox with HTTPS URLs but tops out at 200 instances self-serve; OpenAI containers have no inbound access, and boat plans go up to 2,000 at once. | 361st of 361, with limits $3,780 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 | 191st of 360, with limits $30,000 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 | 360th of 364, with limits $5,760 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 CI jobs need Docker, root and open internet; OpenAI documents no Docker or root and starts Code Interpreter with no internet, while Agent 37 and boat both have open internet. | 345th of 377, with limits $1,728 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 and boat both keep a machine and its disk all month with SSH; OpenAI containers have no SSH and no persistent disk. | 362nd of 368, with limits $1,051 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 OpenAI's hosted browser runs inside the Agents API beta, Agent 37 adds a noVNC desktop through a template, and boat streams a 60fps desktop in every sandbox. | 351st of 369, with limits $5,280 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 | 328th of 367, with limits $1,440 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 | 328th of 346, with limits $1,755 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 | 311th of 338, with limits $35,100 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 boat can fork a running sandbox to try many paths at once; neither OpenAI Containers nor Agent 37 has a fork of a running workspace. | 308th of 360, with limits $870 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 | OpenAI Containers | Agent 37 | boat |
|---|---|---|---|
| What it is | A sandbox tool the model uses inside OpenAI's API | One persistent agent sandbox per user, behind one API | A cloud VM you create, keep, stop and reach from outside |
| Isolation | A fully sandboxed virtual machine; hypervisor not named | gVisor by default; full VM as an opt-in instance type | Every sandbox is a full VM with its own kernel on dedicated AMD Ryzen 9 9950X hosts |
| Root and Docker | Commands do not run with sudo; no Docker documented | Root over SSH; Docker only on the VM type, at 2.5x the default compute rate | Root, systemd and Docker in every sandbox |
| Nested virtualization | No /dev/kvm documented | /dev/kvm on the VM type, with an Android template | /dev/kvm in every sandbox, Android emulator works |
| Machine size | Picked by memory: 1, 4, 16 or 64 GB; vCPU not published | Shapes from 2 vCPU / 4 GB to 16 vCPU / 32 GB; Performance type on dedicated cores | 4 vCPU / 8 GB by default, up to 16 vCPU / 32 GB |
| Files after the session | Data is discarded when the container expires | Disk kept; daily backups plus one on-demand backup, restored in place | Disk saved every minute and on stop; a stopped sandbox costs nothing and comes back |
| Lifetime and idle | Expires after 20 minutes without use | Always on until stopped; opt-in sleep on idle that keeps memory and wakes on the next request | No session cap on paid plans; you set the time to live, resume reboots with the disk kept |
| Fork | No fork | No fork of a running instance; backups restore only onto the same instance | Fork a running sandbox with its disk; named snapshots as templates |
| Custom image | Fixed Debian 12 image; you upload files or skills | Your own linux/amd64 Docker image as a template | Templates from named snapshots, no Dockerfile builds |
| Inbound access | None; reached only through the API | HTTPS URL per port, custom domains, SSH through a WebSocket tunnel; no public IP | SSH, HTTPS URLs for up to 50 ports, raw TCP |
| Outbound internet | Code Interpreter and Hosted Shell: off until an admin sets a domain allowlist | Open internet | Open internet on every plan |
| Keys kept out of the sandbox | domain_secrets: a sidecar adds the real header for approved domains | Managed models, 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 |
| Coding agents and desktop | Agents API (beta) drives a managed Codex harness and a hosted browser | Hermes, OpenClaw, Claude Code, Codex and more with a chat API; noVNC desktop through a template | Claude Code, Codex, OpenCode and more with a prompt, steer and events API; 60fps desktop in every sandbox |
| Regions | US or EU processing for Code Interpreter; Agents API in the US | United States | EU only (Germany, Finland, France), EU data residency |
Every feature Battleships tracks (43)
| Feature | OpenAI Containers | Agent 37 | boat |
|---|---|---|---|
| Full VM (own kernel) | Yes | No | Yes |
| Docker inside | No | No | Yes |
| Nested virtualization | No | No | Yes |
| Root | No | Yes | Yes |
| Systemd | Not published | Not published | Yes |
| Desktop GUI | Yes | Yes | Yes |
| Browser | Yes | Yes | Yes |
| Computer-use API | Yes | Yes | Yes |
| SSH | No | Yes | Yes |
| Persistent disk | No | Yes | Yes |
| Pause/resume | No | Yes | Yes |
| Automatic snapshots | No | Yes | Yes |
| Fork/clone | No | Yes | Yes |
| Live fork (no pause) | No | Yes | Yes |
| Memory fork | No | No | No |
| Custom image (Docker or snapshot) | No | Yes | Yes |
| ≥24 h sessions | Yes | Yes | Yes |
| Idle auto-stop | Yes | Yes | No |
| Wake on request | No | Yes | No |
| HTTPS preview URLs | No | Yes | Yes |
| Raw TCP inbound | No | Not published | Yes |
| Public IPv4 | No | No | No |
| Egress allowlist | Yes | No | No |
| Secret proxy | Yes | Yes | Yes |
| Secret proxy for any API | Yes | No | Yes |
| Preinstalled agents | No | Yes | Yes |
| Agent harness API | Yes | Yes | Yes |
| MCP server | No | No | No |
| GPU | No | No | No |
| Windows | No | No | No |
| Arm64 | No | No | No |
| Self-hosting | Yes | No | No |
| BYOC | No | No | No |
| Open source | No | No | No |
| Scoped API keys | Not published | Not published | Yes |
| Spend limits | Not published | Yes | Yes |
| Usage per sandbox (API) | No | Yes | Yes |
| Audit logs | Not published | Not published | No |
| SSO | Yes | No | No |
| SOC 2 | Yes | Yes | No |
| HIPAA | Yes | No | No |
| EU data residency | Yes | No | Yes |
| Zero data retention | Not published | Not published | Yes |
Performance
There is no comparable measurement for either: OpenAI Containers and Agent 37 are not in the public CPU benchmark, and OpenAI does not publish the vCPU behind each container size. boat did 26.69 runs per second on the hpc-sandbox-benchmarks Node.js build-and-test loop at 4 vCPU / 8 GB. Agent 37 says its default instances share host resources and sells dedicated cores on its Performance type.
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 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 | OpenAI Containers, 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 | $228 · API pay as you go · with limits | $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 | $1,051 · API pay as you go · with limits | $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 | $11,405 · API pay as you go · with limits | $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 | $1,620 · API pay as you go · with limits | $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 | $6,000 · API pay as you go · with limits | $73 · Wallet ($250 lifetime top-ups) · with limits | $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.
Agent 37: A prepaid wallet with no plan fee, metered per minute: $0.80 per vCPU and $0.70 per GB of RAM per month while running, plus $0.09 per GB of disk per month even while stopped or asleep. Performance compute costs 4x and VM compute 2.5x.
Agent 37: A monthly plan from $20, all of it usage credit spent per second on running sandboxes. A stopped sandbox costs nothing and keeps its disk.
Limits in those scenarios
OpenAI Containers fit none of the five scenarios as written: no persistent disk, no Docker, no internet in Code Interpreter and Hosted Shell until an admin allows domains, and no published vCPU or concurrency limit. Agent 37 fits the single-agent and fleet scenarios, with the fleet priced on its VM type because it needs Docker, but its cap of 200 instances at $250 of top-ups, counting sleeping and stopped ones, rules out 300 user sandboxes and the 1,000-job burst. boat's limit in the burst is starts per minute, so those starts are queued.
| Scenario | OpenAI Containers | Agent 37 | boat |
|---|---|---|---|
| One coding agent, workdays |
|
| None that bite |
| One agent that never stops |
|
| None that bite |
| 50 agents in parallel |
|
| None that bite |
| Sandboxes for your users |
|
| None that bite |
| 1,000 short jobs at once |
|
|
|
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. If your app already calls OpenAI models, one tool line in a request gives the model a place to run code.
- Nothing to run or clean up. OpenAI creates the container, bills it by the minute with your tokens, and it expires on its own when idle.
- Locked-down network by default. Code Interpreter and Hosted Shell reach no hosts until an admin allows domains, which suits code that must stay contained.
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.
- A persistent machine per user. Each of your customers gets an always-on sandbox with its own disk, SSH and HTTPS URLs, created from an agent template.
- Sleeps and keeps its memory. For assistants idle most of the day, an instance sleeps, saves its memory and wakes on the next message.
- Bring your own Docker image. Templates build from your own Docker image, and a Performance type runs on dedicated cores for steady speed.
Where boat fits
OpenAI Containers suit short code runs inside a model call, and Agent 37 suits mostly idle assistants that sleep. If your agents do real work for hours, with installs, Docker, builds and apps people need to open, boat gives every one a full VM it keeps, in the EU.
A full VM with Docker in every sandbox
An OpenAI container runs without sudo and has no Docker. On Agent 37 the default gVisor type cannot run Docker; the VM type can, but bills compute at 2.5x and has no systemd, so services do not start on their own.
Fork a machine while it runs
Neither has a fork. An OpenAI container's data is gone when it expires, and Agent 37 backups restore only onto the same instance, so each new try rebuilds a half-done task from the start.
Keys outside, apps reachable
OpenAI containers accept no inbound connections, so nobody can open the app an agent built. On Agent 37 your own API keys sit as env vars inside the machine; boat's proxy keeps them outside for any HTTPS API.
Use boat when your agents do real work for hours: installs, builds, Docker and emulators on a full VM, with forks of running machines, ports people can open and keys kept outside for any API. Compare it one to one: boat vs OpenAI Containers and boat vs Agent 37.
Questions people ask
Is OpenAI Containers cheaper than Agent 37?
No, not in the scenarios on this page: one coding agent on workdays comes to $228 a month on OpenAI and $6 on Agent 37, and one agent running all month to $1,051 versus $12. OpenAI also bills model tokens on top, and its containers do not fully fit these scenarios.
Which is faster, OpenAI Containers or Agent 37?
Neither is in the public CPU benchmark, so there is no fair comparison. OpenAI does not publish the vCPU per container size, and Agent 37 sells dedicated cores on its Performance type. boat scored 26.69 runs per second on that benchmark.
Can OpenAI Containers or Agent 37 run Docker?
OpenAI documents no Docker, and hosted shell commands do not run with sudo. Agent 37 runs Docker only on its VM type, at 2.5x the default compute rate. boat runs Docker in every sandbox.
Do they keep files between sessions?
An OpenAI container expires after 20 minutes without use and its data is discarded. Agent 37 keeps the disk and can sleep with memory kept. boat saves the disk every minute and when the sandbox stops.
Can I open a web app running inside them?
Not on OpenAI: containers have no ports, URLs or SSH. Agent 37 gives an HTTPS URL per port and SSH through a WebSocket tunnel. boat gives HTTPS URLs for up to 50 ports, raw TCP and SSH.
Where do they run?
OpenAI processes Code Interpreter data in the US or Europe, and the Agents API in the US. Agent 37 runs on dedicated servers in the United States. boat runs only in the EU, in Germany, Finland and France.
Try boat
Install the CLI, then run boat new.
7-day free trial
More comparisons
- boat vs OpenAI Containers
- boat vs Agent 37
- E2B vs OpenAI Containers
- Daytona vs OpenAI Containers
- Modal vs OpenAI Containers
- Vercel Sandbox vs OpenAI Containers
- Cloudflare Sandbox vs OpenAI Containers
- Blaxel vs OpenAI Containers
- Runloop vs OpenAI Containers
- Tensorlake vs OpenAI Containers
- Morph Cloud vs OpenAI Containers
- CodeSandbox SDK vs OpenAI Containers