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 workloadOpenAI Containers: price rankUpstash Box: price rankbochka: 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 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 ContainersUpstash Boxbochka
What it isA sandbox tool the model uses inside OpenAI's APIA cloud computer for an agent, with a coding agent built inA cloud VM you create, keep, stop and reach from outside
IsolationA fully sandboxed virtual machine; hypervisor not namedOne Docker container per box on AWSFull VM with its own kernel on dedicated AMD Ryzen 9 9950X hosts
Root and Docker insideCommands do not run with sudo; no Docker documentedDocker inside not documented; the box is itself a containerRoot, systemd and Docker on every machine
Nested virtualizationNo /dev/kvm documentedNo VM support documented/dev/kvm for Android emulators and VMs
Machine size1, 4, 16 or 64 GB of memory; vCPU not publishedSmall 2 vCPU / 4 GB, Medium 4 vCPU / 8 GB, Large 8 vCPU / 16 GB4 vCPU / 8 GB by default, up to 16 vCPU / 32 GB
Files after the sessionData is discarded when the container expiresPauses when idle and keeps its files; 5, 10 or 20 GB disk by sizeDisk saved every minute and on stop; 50 GB at the default size
LifetimeExpires after 20 minutes without useNo session cap documented; keep-alive boxes stay on all monthNo session cap on paid plans; you set the time to live
Wake on requestNoYes; a request to a public URL resumes a paused boxNo; a stopped sandbox is started by API
ForkNo forkSnapshot a running box and start many new boxes from itFork a running sandbox with its disk
Inbound accessNone; you reach the container only through the APIHTTPS URL per port and SSH through a gateway; no raw TCPSSH, HTTPS URLs for up to 50 ports, raw TCP
Outbound networkCode Interpreter and Hosted Shell: off until an admin sets a domain allowlistAllow all, deny all, or rules by domain and CIDR, changeable on a running boxOpen internet on every plan; no provider-side allowlist
Coding agentsAgents API (beta) drives a managed Codex harnessClaude Code, Codex and OpenCode built in, with webhooks and scheduled promptsClaude Code, Codex, OpenCode and more preinstalled, with a prompt, steer and events API
Desktop and computer useHosted browser for the Agents API computer_use toolHeadless Chromium with AI page actions and CDP; no desktop60fps desktop and Chromium, computer use, embeddable stream
RegionsUS or EU processing for Code InterpreterUS only (AWS us-east-1)EU only (Germany, Finland, France)
Every feature Battleships tracks (43)
FeatureOpenAI ContainersUpstash Boxbochka
Full VM (own kernel)YesNoYes
Docker insideNoNoYes
Nested virtualizationNoNoYes
RootNoNot publishedYes
SystemdNot publishedNot publishedYes
Desktop GUIYesNoYes
BrowserYesYesYes
Computer-use APIYesNoYes
SSHNoYesYes
Persistent diskNoYesYes
Pause/resumeNoYesYes
Automatic snapshotsNoNoYes
Fork/cloneNoYesYes
Live fork (no pause)NoYesYes
Memory forkNoNoNo
Custom image (Docker or snapshot)NoYesYes
≥24 h sessionsYesYesYes
Idle auto-stopYesYesNo
Wake on requestNoYesNo
HTTPS preview URLsNoYesYes
Raw TCP inboundNoNoYes
Public IPv4NoNoNo
Egress allowlistYesYesNo
Secret proxyYesYesYes
Secret proxy for any APIYesYesYes
Preinstalled agentsNoYesYes
Agent harness APIYesYesYes
MCP serverNoYesNo
GPUNoNoNo
WindowsNoNoNo
Arm64NoYesNo
Self-hostingYesNoNo
BYOCNoNoNo
Open sourceNoNoNo
Scoped API keysNot publishedNot publishedYes
Spend limitsNot publishedNot publishedYes
Usage per sandbox (API)NoYesYes
Audit logsNot publishedNot publishedNo
SSOYesNoNo
SOC 2YesYesNo
HIPAAYesNoNo
EU data residencyYesNoYes
Zero data retentionNot publishedNot publishedYes

Performance

OpenAI ContainersNot measured
Upstash BoxNot measured
bochka26.69 runs/s

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.

ScenarioOpenAI Containers, a monthUpstash Box, a monthbochka, 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.

ScenarioOpenAI ContainersUpstash Boxbochka
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
  • flat pool: the tier is billed whether used or not
  • egress price not published
None 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
  • flat pool: the tier is billed whether used or not
  • egress price not published
None 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
  • missing Docker inside
  • flat pool: the tier is billed whether used or not
  • egress price not published
None 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)
  • egress price not published
None 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)
  • egress price not published
  • 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 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 product preview · Pricing, benchmarks and commands are illustrative. Sandbox provisioning is not connected.