OpenAI Containers vs Upstash Box
OpenAI Containers are a tool inside OpenAI's model API: the model runs code in a short-lived box that is deleted after 20 idle minutes. Upstash Box is a cloud computer for an agent, a container with a coding agent built in that pauses when idle and keeps its files.
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 bochka: 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.
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.
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 | Upstash Box: price rank | bochka: price rank |
|---|---|---|---|
| Software factory 100 at once · 4 vCPU / 8 GB · 2,200 sessions of 8 h a month Neither fits fully: OpenAI containers have no Docker, no root and no disk that stays, and an Upstash box is itself a container with no Docker inside, while bochka runs Docker on a full VM. | 356th of 367, with limits $17,371 a month | 61st of 367, with limits $464 a month | 3rd cheapest of 367 $634 a month |
| Always-on AI employees 50 machines 24/7 · 2 vCPU / 4 GB An Upstash keep-alive box can stay on all month, while an OpenAI container is deleted after 20 idle minutes; bochka keeps a full VM with systemd services and a desktop. | 341st of 366, with limits $13,140 a month | 103rd of 366, with limits $475 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 model call; Upstash also fits short runs well, since an idle box costs no CPU. | 194th of 345, with limits $6,000 a month | 10th cheapest of 345 $119 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 Upstash wakes a user's paused box on the next request to its URL, and OpenAI containers have no inbound access at all; bochka gives each user a full VM with hosting. | 361st of 361, with limits $3,780 a month | 2nd cheapest of 361 $222 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 | 352nd of 360, with limits $8,068 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 | 52nd cheapest of 364 $1,011 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, Upstash runs builds without Docker, and bochka has both Docker and /dev/kvm. | 345th of 377, with limits $1,728 a month | 120th cheapest of 377 $1,520 a month | 4th cheapest of 377 $86 a month |
| 24/7 dev boxes 1 machine 24/7 · 4 vCPU / 8 GB Upstash's flat-price keep-alive box makes a light dev box you can SSH into; OpenAI containers have no SSH and no persistent disk, and bochka's dev box is a full VM. | 362nd of 368, with limits $1,051 a month | 10th cheapest of 368 $20 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 for computer use in the Agents API beta, Upstash's browser is headless with no desktop, and bochka streams a full Linux desktop at 60fps. | 351st of 369, with limits $5,280 a month | 73rd of 369, with limits $76 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 Upstash ships a managed headless Chromium with AI page actions, OpenAI's hosted browser runs with its own Codex harness, and bochka gives the agent a desktop browser it can see and click. | 328th of 367, with limits $1,440 a month | 49th of 367, with limits $38 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 | 37th cheapest of 346 $400 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 | 200th of 338, with limits $8,000 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 | 225th of 360, with limits $259 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 | Upstash Box | bochka |
|---|---|---|---|
| What it is | A sandbox tool the model uses inside OpenAI's API | A cloud computer for an agent, with a coding agent built in | A cloud VM you create, keep, stop and reach from outside |
| Isolation | A fully sandboxed virtual machine; hypervisor not named | One Docker container per box on AWS | Full VM with its own kernel on dedicated AMD Ryzen 9 9950X hosts |
| Root and Docker inside | Commands do not run with sudo; no Docker documented | Docker inside not documented; the box is itself a container | Root, systemd and Docker on every machine |
| Nested virtualization | No /dev/kvm documented | No VM support documented | /dev/kvm for Android emulators and VMs |
| Machine size | 1, 4, 16 or 64 GB of memory; vCPU not published | Small 2 vCPU / 4 GB, Medium 4 vCPU / 8 GB, Large 8 vCPU / 16 GB | 4 vCPU / 8 GB by default, up to 16 vCPU / 32 GB |
| Files after the session | Data is discarded when the container expires | Pauses when idle and keeps its files; 5, 10 or 20 GB disk by size | Disk saved every minute and on stop; 50 GB at the default size |
| Lifetime | Expires after 20 minutes without use | No session cap documented; keep-alive boxes stay on all month | No session cap on paid plans; you set the time to live |
| Wake on request | No | Yes; a request to a public URL resumes a paused box | No; a stopped sandbox is started by API |
| Fork | No fork | Snapshot a running box and start many new boxes from it | Fork a running sandbox with its disk |
| Inbound access | None; you reach the container only through the API | HTTPS URL per port and SSH through a gateway; no raw TCP | SSH, HTTPS URLs for up to 50 ports, raw TCP |
| Outbound network | Code Interpreter and Hosted Shell: off until an admin sets a domain allowlist | Allow all, deny all, or rules by domain and CIDR, changeable on a running box | Open internet on every plan; no provider-side allowlist |
| Coding agents | Agents API (beta) drives a managed Codex harness | Claude Code, Codex and OpenCode built in, with webhooks and scheduled prompts | Claude Code, Codex, OpenCode and more preinstalled, with a prompt, steer and events API |
| Desktop and computer use | Hosted browser for the Agents API computer_use tool | Headless Chromium with AI page actions and CDP; no desktop | 60fps desktop and Chromium, computer use, embeddable stream |
| Regions | US or EU processing for Code Interpreter | US only (AWS us-east-1) | EU only (Germany, Finland, France) |
Every feature Battleships tracks (43)
| Feature | OpenAI Containers | Upstash Box | bochka |
|---|---|---|---|
| Full VM (own kernel) | Yes | No | Yes |
| Docker inside | No | No | Yes |
| Nested virtualization | No | No | Yes |
| Root | No | Not published | Yes |
| Systemd | Not published | Not published | Yes |
| Desktop GUI | Yes | No | Yes |
| Browser | Yes | Yes | Yes |
| Computer-use API | Yes | No | Yes |
| SSH | No | Yes | Yes |
| Persistent disk | No | Yes | Yes |
| Pause/resume | No | Yes | Yes |
| Automatic snapshots | No | No | 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 | No | Yes |
| Public IPv4 | No | No | No |
| Egress allowlist | Yes | Yes | No |
| Secret proxy | Yes | Yes | Yes |
| Secret proxy for any API | Yes | Yes | Yes |
| Preinstalled agents | No | Yes | Yes |
| Agent harness API | Yes | Yes | Yes |
| MCP server | No | Yes | No |
| GPU | No | No | No |
| Windows | No | No | No |
| Arm64 | No | Yes | 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 | Not published | 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 Upstash Box have no result in the hpc-sandbox-benchmarks CPU test, and OpenAI does not publish the vCPU behind each container size. bochka did 26.69 runs per second on that Node.js build-and-test loop at 4 vCPU / 8 GB.
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 Upstash Box 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 | Upstash Box, a month | bochka, 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 | $21 · Pay as You Go | $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 | $21 · Pay as You Go | $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 | $900 · Pay as You Go · with limits | $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 | $306 · Pay as You Go | $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,822 · Pay as You Go | $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 on top. There is no plan fee.
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 by size, 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.
Limits in those scenarios
OpenAI Containers fit none of the five scenarios: they have no persistent disk and no Docker, Code Interpreter and Hosted Shell start with no internet, and the vCPU behind each size is not published. Upstash fits four of them, but not 50 agents in parallel, because there is no Docker inside a box, and its egress price is not published. On bochka, the 1,000-job burst is queued, since even the $2,000 plan starts at most 90 per minute.
| Scenario | OpenAI Containers | Upstash Box | bochka |
|---|---|---|---|
| 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 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.
- Network off by default. Useful if model code must not reach the internet: Code Interpreter has no outbound access until an admin allows domains.
- US or EU, or your own compute. Code Interpreter can process data in the US or Europe, and the Agents API can drive a sandbox you host.
Use Upstash Box when
your agents mostly wait, keep their files between sessions, need to wake on an incoming request or run as big bursts in the US.
- A box that keeps its files. Good for agents that work over days: a box pauses when idle, keeps its files and resumes later.
- Idle costs no CPU, a request wakes it. Good for agents that wait a lot: you pay only CPU used, and a request to its URL wakes a paused box.
- Big bursts. Runs 1,000 boxes at once by default on Pay as You Go, so a burst of short jobs starts right away.
Where bochka fits
If your agents need a real machine rather than a code runner or a container, look at bochka. Each sandbox is a full VM with root, Docker and /dev/kvm, a disk that stays, ports you can reach and a 60fps desktop. It is the only one of the three that fits the 50-agent scenario.
Docker and root on a full VM
Agents that run a database in Docker or build an image get stuck on both: OpenAI runs commands without sudo and documents no Docker, and an Upstash box is itself a container. On OpenAI the workaround is hosting your own sandbox.
A disk that stays, and room to work
An OpenAI container deletes its files after 20 idle minutes, so your code uploads them again each time. Upstash keeps files but stops at 20 GB. bochka saves a 50 GB disk every minute, and stops cost nothing.
A desktop and ports you can reach
OpenAI containers take no inbound connections, so nobody can open the app an agent built. Upstash has HTTPS URLs but only a headless browser. bochka gives SSH, HTTPS on 50 ports, raw TCP and a 60fps desktop.
Use bochka when your agents need a real machine: root, Docker, a disk that persists, a desktop and ports you can reach, for as long as the work takes. Compare it one to one: bochka vs OpenAI Containers and bochka vs Upstash Box.
Questions people ask
Is OpenAI Containers cheaper than Upstash Box?
Not in the scenarios on this page: one coding agent on workdays comes to $228 a month on OpenAI and $21 on Upstash, and one agent that never stops comes to $1,051 against $21. OpenAI also bills model tokens on top. bochka comes to $20 and $26 for those two.
Which is faster, OpenAI Containers or Upstash Box?
Neither has a result in the public hpc-sandbox-benchmarks CPU test, so there is no fair answer. bochka did 26.69 runs per second on that test at 4 vCPU / 8 GB.
Can OpenAI Containers or Upstash Box run Docker?
OpenAI documents no Docker, and its hosted shell commands do not run with sudo. An Upstash box is itself a Docker container, and its docs do not offer Docker inside it. bochka sandboxes are full VMs with root, systemd and Docker.
Do files survive between sessions?
On OpenAI, no: a container expires after 20 minutes without use and its data is discarded. An Upstash box pauses when idle and keeps its files. bochka saves the disk every minute and on stop.
Can I open a web app running inside the sandbox?
Not on OpenAI: containers have no ports, URLs or SSH. Upstash gives an HTTPS URL per port and SSH through a gateway. bochka gives HTTPS URLs for up to 50 ports, raw TCP and SSH.
Where do they run?
Code Interpreter can process data in the US or Europe. Upstash Box runs in AWS us-east-1 only. bochka runs in the EU, in Germany, Finland and France.
Try bochka
Install the CLI, then run bochka new.
Product preview
More comparisons
- bochka vs OpenAI Containers
- bochka vs Upstash Box
- 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