Blaxel vs OpenAI Containers
Blaxel rents you sandboxes you create and keep, each a Firecracker microVM that sleeps when idle and wakes in under 25 ms. OpenAI Containers are a tool inside OpenAI's model API: the model runs Python or shell commands in a short-lived box that expires after 20 minutes without use.
The companies and products
Blaxel
Blaxel is a San Francisco company that runs cloud infrastructure for AI agents, and since September 2026 it is part of Baseten.
You get sandboxes, batch jobs, MCP server hosting and a model gateway. Each sandbox is a Firecracker microVM with its own kernel that drops to standby when nothing is connected and resumes in under 25 ms with its memory and running processes. It is built for agent products that start many sandboxes and want them asleep most of the time.
- Headquarters
- San Francisco, founded 2024
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.
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 367” means 9 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 | Blaxel: price rank | OpenAI Containers: price rank | bochka: price rank |
|---|---|---|---|
| Software factory 100 at once · 4 vCPU / 8 GB · 2,200 sessions of 8 h a month Blaxel fits a coding agent with root and Docker, while an OpenAI container has no sudo, no Docker and loses its files after 20 idle minutes; bochka adds a real disk and /dev/kvm. | 10th cheapest of 367 $2,373 a month | 356th of 367, with limits $17,371 a month | 3rd cheapest of 367 $634 a month |
| Always-on AI employees 50 machines 24/7 · 2 vCPU / 4 GB Blaxel keeps a mostly idle assistant in standby with its memory, while an OpenAI container has to be touched every 20 minutes or it is deleted. | 12th cheapest of 366 $2,832 a month | 341st of 366, with limits $13,140 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 suit short code runs: OpenAI Containers run the model's code inside the API call, and Blaxel sandboxes sleep right away and wake in milliseconds. | 14th cheapest of 345 $144 a month | 194th of 345, with limits $6,000 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 Blaxel gives preview URLs but its public tiers stop at 200 at once, OpenAI containers have no inbound access, and bochka fits 300 at once on a self-serve plan. | 101st of 361, with limits $926 a month | 361st of 361, with limits $3,780 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 | 77th of 360, with limits $4,378 a month | 191st of 360, with limits $30,000 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 | 136th of 364, with limits $704 a month | 360th of 364, with limits $5,760 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 needs Docker, root and open internet, which Blaxel has and OpenAI does not document; bochka fits too, with Docker and systemd on a full VM. | 57th cheapest of 377 $431 a month | 345th of 377, with limits $1,728 a month | 4th cheapest of 377 $86 a month |
| 24/7 dev boxes 1 machine 24/7 · 4 vCPU / 8 GB Neither Blaxel nor OpenAI Containers offers native SSH, so a dev box you SSH into and keep all month is a better fit on bochka. | 265th of 368, with limits $114 a month | 362nd of 368, with limits $1,051 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 Both have a hosted browser for computer use, Blaxel inside its sandbox and OpenAI inside the Agents API beta; bochka streams a 60fps desktop you can embed. | 14th cheapest of 369 $634 a month | 351st of 369, with limits $5,280 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 | 16th cheapest of 367 $317 a month | 328th of 367, with limits $1,440 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 | 16th cheapest of 346 $215 a month | 328th of 346, with limits $1,755 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 | 147th of 338, with limits $4,292 a month | 311th of 338, with limits $35,100 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 Blaxel fits well with root and domain-level egress rules, while OpenAI containers run without sudo; bochka adds raw TCP and nftables inside the VM. | 3rd cheapest of 360 $217 a month | 308th of 360, with limits $870 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 | Blaxel | OpenAI Containers | bochka |
|---|---|---|---|
| What it is | Sandboxes you create through an API, built for agent products | A sandbox tool the model uses inside OpenAI's API | A cloud VM you create, keep, stop and reach from outside |
| Isolation | Firecracker microVM, own kernel | A fully sandboxed virtual machine; hypervisor not named | Full VM with its own kernel on dedicated AMD Ryzen 9 9950X hosts |
| Root and Docker | Root; Docker with a Docker-in-sandbox image | Commands do not run with sudo; no Docker documented | Root, systemd and Docker on every machine |
| Nested virtualization | No: Firecracker guests do not get /dev/kvm | No /dev/kvm documented | Yes: /dev/kvm, so Android emulators and VMs run inside |
| Files after the session | Files live in memory (about half the RAM) and stay in standby; one block volume can be attached at creation | Data is discarded when the container expires; Agents API keeps only files in /workspace/outputs | A real disk saved every minute and on stop; a stopped sandbox costs nothing |
| Idle and lifetime | Standby seconds after the last connection, wakes in under 25 ms with memory and processes | Expires after 20 minutes without use; Agents API sandboxes after an hour without activity | No session cap on paid plans; stop keeps the disk, resume boots the VM again |
| Fork | Fork with memory and running processes (private preview) | No fork | Fork a running sandbox with its disk |
| Custom image | Custom images built from Docker images | Fixed Debian 12 image; you upload files or skills into each container | Named snapshots of a set-up machine, reused as templates |
| Inbound access | Preview URL per port, public or token-protected; no native SSH or raw TCP | None; you reach the container only through the API | SSH, HTTPS URLs for up to 50 ports, raw TCP |
| Outbound internet | Open by default; domain allow and deny lists, method and path rules, static egress IPs | Code Interpreter and Hosted Shell: off until an admin sets a domain allowlist; Agents API: on by default | Open internet on every plan; filter inside the VM with nftables |
| Keeping API keys out | Proxy fills secrets into outbound HTTPS requests (public preview) | domain_secrets: a sidecar adds the real header, the model sees a placeholder | Credentials proxy for model providers and any HTTPS API you register |
| Coding agents | Claude Code image you drive from its terminal or your own harness | Agents API (beta) drives a managed Codex harness from outside | Claude Code, Codex, OpenCode and more preinstalled, with a prompt, steer and events API |
| Machine size | Sized by RAM with CPU included (8 GB comes with 4 cores) | 1, 4, 16 or 64 GB of memory; vCPU not published | 4 vCPU / 8 GB by default, up to 16 vCPU / 32 GB |
| Regions | Oregon, North Virginia, London, Frankfurt | Code Interpreter processing in the US or Europe; Agents API data residency US only | EU only: Germany, Finland, France |
Every feature Battleships tracks (43)
| Feature | Blaxel | OpenAI Containers | bochka |
|---|---|---|---|
| Full VM (own kernel) | Yes | Yes | Yes |
| Docker inside | Yes | No | Yes |
| Nested virtualization | No | No | Yes |
| Root | Yes | No | Yes |
| Systemd | No | Not published | Yes |
| Desktop GUI | Yes | Yes | Yes |
| Browser | Yes | Yes | Yes |
| Computer-use API | Yes | Yes | Yes |
| SSH | No | No | Yes |
| Persistent disk | Yes | No | Yes |
| Pause/resume | Yes | No | Yes |
| Automatic snapshots | Yes | No | Yes |
| Fork/clone | Yes | No | Yes |
| Live fork (no pause) | Yes | No | Yes |
| Memory fork | Yes | No | No |
| Custom image (Docker or snapshot) | Yes | No | Yes |
| ≥24 h sessions | Yes | Yes | Yes |
| Idle auto-stop | Yes | Yes | No |
| Wake on request | Yes | No | No |
| HTTPS preview URLs | Yes | No | 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 | Yes | No | Yes |
| Agent harness API | No | Yes | Yes |
| MCP server | Yes | No | No |
| GPU | No | No | No |
| Windows | No | No | No |
| Arm64 | No | No | No |
| Self-hosting | No | Yes | No |
| BYOC | Yes | No | No |
| Open source | No | No | No |
| Scoped API keys | Yes | Not published | Yes |
| Spend limits | No | Not published | Yes |
| Usage per sandbox (API) | Yes | No | Yes |
| Audit logs | Not published | Not published | No |
| SSO | Yes | Yes | No |
| SOC 2 | Yes | Yes | No |
| HIPAA | Yes | Yes | No |
| EU data residency | Yes | Yes | Yes |
| Zero data retention | Yes | Not published | Yes |
Performance
On the hpc-sandbox-benchmarks Node.js build-and-test loop at 4 vCPU and 8 GB, run on September 29, 2026, bochka did 26.69 runs per second and Blaxel 19.48, so bochka does about 1.4 times the work in the same time. OpenAI Containers have no comparable measurement: they are not in the benchmark, and OpenAI does not publish how many vCPU each container size gets.
Node.js build-and-test loop at 4 vCPU / 8 GB, higher is better. Measured with the open hpc-sandbox-benchmarks suite. Blaxel measured on: Sandbox (active time, RAM-only pricing, CPU bundled). OpenAI Containers has 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 | Blaxel, a month | OpenAI Containers, 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 | $33 · Pay-as-you-go Tier 1 | $228 · API pay as you go · with limits | $20 · $20/mo |
| One agent that never stops 4 vCPU / 8 GB, 50 GB disk, running 24/7 all month | $120 · Pay-as-you-go Tier 1 | $1,051 · API pay as you go · with limits | $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 | $1,489 · Pay-as-you-go Tier 1 | $11,405 · API 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 | $396 · Pay-as-you-go Tier 2 · with limits | $1,620 · API pay as you go · 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 | $876 · Pay-as-you-go Tier 2 · with limits | $6,000 · API pay as you go · with limits | $2,000 · $2000/mo · with limits |
Blaxel: Blaxel charges for allocated RAM per second while a sandbox is active, with CPU included. In standby you pay only snapshot storage, and volumes are billed on their full size.
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.
OpenAI Containers: Your plan payment (from $20 a month) is all usage credit, billed per second while a machine runs. 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 by default in Code Interpreter and Hosted Shell, and no published vCPU, and OpenAI does not publish how many can run at once. Blaxel fits the three agent scenarios, but its self-serve tiers allow at most 200 sandboxes at once, standby ones included, so 300 user sandboxes and 1,000 jobs at once need a sales tier. Blaxel's lower tiers also delete sandboxes after 7 or 30 days. bochka fits four of the five, and queues the 1,000-job burst because it limits starts per minute.
| Scenario | Blaxel | OpenAI Containers | bochka |
|---|---|---|---|
| One coding agent, workdays | None that bite |
| None that bite |
| One agent that never stops | None that bite |
| None that bite |
| 50 agents in parallel | None that bite |
| None that bite |
| Sandboxes for your users |
|
| None that bite |
| 1,000 short jobs at once |
|
|
|
Which one should you use?
Use Blaxel when
you need sandboxes you keep, with root, Docker and open internet, that sleep when idle and wake in milliseconds with their memory, or must run in the US.
- A sandbox you keep. For agents that work across days, Blaxel keeps the sandbox in standby with its files, memory and running processes.
- Docker and open internet. For agents that install packages or run services, Blaxel gives root, Docker images and outbound internet you can narrow by domain.
- Reachable from outside. For apps a user should open, Blaxel gives each port a preview URL, public or token-protected.
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.
- Locked-down network by default. If code must only reach chosen hosts, Code Interpreter and Hosted Shell have no outbound access until an admin allows domains.
- Your own compute. If you want OpenAI's Codex harness on machines you run, the Agents API can drive a sandbox you host.
Where bochka fits
If your agents do real work for hours, such as builds, tests, Docker and emulators, look at bochka. Blaxel keeps files in memory and has no /dev/kvm or SSH, and OpenAI Containers have no root, no Docker and no disk that lasts. bochka gives each agent a whole Linux machine with a disk that stays and agents built in.
A whole Linux machine
Without /dev/kvm an Android emulator or a VM will not start on either. OpenAI also runs without sudo, so apt installs and Docker fail, and the only way around it there is a sandbox you host yourself.
A disk that stays
An OpenAI container loses its clone and installs after 20 idle minutes. Blaxel keeps files in memory, about half the RAM, so a big repo can fill it unless you attach a volume at creation.
A faster CPU, and agents driven from outside
bochka did about 1.4 times Blaxel's measured work, and OpenAI publishes no vCPU per size. You drive Claude Code, Codex and others inside from outside with one API, where Blaxel leaves the harness to you.
Use bochka when your agents do real work for hours: builds, tests, Docker and emulators on a whole Linux machine with a disk that stays, a faster CPU and coding agents built in. Compare it one to one: bochka vs Blaxel and bochka vs OpenAI Containers.
Questions people ask
Is Blaxel cheaper than OpenAI Containers?
In the scenarios we priced, yes: one coding agent on workdays comes to $33 a month on Blaxel and $228 on OpenAI, and 50 agents in parallel to $1,489 against $11,405. OpenAI also bills model tokens on top, and bochka comes to $20 and $317 for the same two.
Which is faster, Blaxel or OpenAI Containers?
Only Blaxel has a measured score: 19.48 runs per second on a Node.js build-and-test benchmark at 4 vCPU and 8 GB. OpenAI does not publish the vCPU behind each container size. bochka did 26.69 on the same benchmark.
Can Blaxel or OpenAI Containers run Docker?
Blaxel can, with its Docker-in-sandbox image. OpenAI's hosted shell runs without sudo and documents no Docker support. bochka gives root, systemd, Docker and /dev/kvm on every sandbox.
How long does a sandbox last on each?
An OpenAI container expires after 20 minutes without use and its data is discarded. A Blaxel sandbox goes to standby seconds after the last connection and wakes in under 25 ms, though lower tiers delete sandboxes after 7 or 30 days. A bochka sandbox has no session cap on paid plans and keeps its disk when it stops.
Can I open a web app running inside the sandbox?
On Blaxel, yes: each port gets a preview URL, public or token-protected. OpenAI containers have no ports, URLs or SSH, only the API. bochka gives HTTPS URLs for up to 50 ports, raw TCP and SSH.
Can I use OpenAI models with Blaxel or bochka?
Both can keep your key out of the sandbox: Blaxel's proxy fills secrets into outbound HTTPS requests, and bochka's credentials proxy does the same for model providers and any HTTPS API. Codex also comes preinstalled in every bochka sandbox.
Try bochka
Install the CLI, then run bochka new.
Product preview