Koyeb vs OpenAI Containers
A Koyeb sandbox is a microVM you start from any Docker image, expose on a port and can put to sleep. An OpenAI container is a tool inside OpenAI's model API: the model runs Python or shell there on a fixed image, and the box expires after 20 minutes without use.
The companies and products
Koyeb
Koyeb is a serverless cloud for apps, inference and sandboxes, and in February 2026 it agreed to join Mistral AI.
A Koyeb sandbox is a Koyeb service: a microVM started from any Docker image and driven from Python or JavaScript SDKs that run commands, read files and expose a port. It can scale to zero when idle and wake on the next request, and it can run on CPU or GPU instance types. It is built for teams that run AI agents or untrusted code next to apps they already host on Koyeb.
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.
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. “4th cheapest of 345” means 3 of the other 344 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 | Koyeb: price rank | OpenAI Containers: price rank | boat: price rank |
|---|---|---|---|
| Software factory 100 at once · 4 vCPU / 8 GB · 2,200 sessions of 8 h a month A software factory needs Docker and a disk that survives; Koyeb runs Docker images but needs a volume to keep files, OpenAI containers have no Docker or root, and boat keeps the disk by default. | 54th of 367, with limits $366 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 An assistant that lives on its machine all month needs its files to stay; an OpenAI container must be touched every 20 minutes, a Koyeb deep sleep discards the VM, and a boat sandbox keeps its disk. | 135th of 366, with limits $923 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 This is what OpenAI Containers are built for, with no machine to manage; Koyeb also fits short code runs well, with small instances that scale to zero and wake on the next request. | 4th cheapest of 345 $66 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 Koyeb gives each user an HTTPS port and wakes a sleeping sandbox on request, OpenAI containers have no inbound access at all, and boat gives each user up to 50 HTTPS ports and SSH. | 6th cheapest of 361 $495 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 | 237th of 360, with limits $1,631 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 | 19th cheapest of 364 $429 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; Koyeb has Docker but no documented /dev/kvm, OpenAI containers start with no internet and no Docker, and boat has all of them. | 142nd of 377, with limits $88 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 A dev box you keep all month fits neither well: Koyeb has no SSH and OpenAI containers expire, while a boat sandbox has SSH and a disk that stays. | 217th of 368, with limits $37 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 OpenAI has a hosted browser for computer use in its Agents API beta, Koyeb sandboxes have no desktop, and boat streams a 60fps Linux desktop with Chromium. | 81st of 369, with limits $123 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 | 172nd of 367, with limits $123 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 | 172nd of 346, with limits $89 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 | 65th of 338, with limits $1,683 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 | 233rd of 360, with limits $299 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 Koyeb runs GPU instances up to H100 and H200; OpenAI containers and boat have no GPUs. | 3rd cheapest of 98 $628 a month | 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 | Koyeb | OpenAI Containers | boat |
|---|---|---|---|
| What it is | A sandbox service you start from any Docker image and drive with Python or JavaScript SDKs | A sandbox tool the model uses inside OpenAI's API | A cloud VM you create, keep, stop and reach from outside |
| Isolation | MicroVM per instance | A fully sandboxed virtual machine; hypervisor not named | Full VM with its own kernel on dedicated AMD Ryzen 9 9950X hosts |
| Docker, root and nested virtualization | Starts from any Docker image and runs Docker inside; /dev/kvm not documented | Commands do not run with sudo on a fixed Debian 12 image; no Docker or /dev/kvm documented | Root, systemd, Docker and /dev/kvm on every machine |
| Machine size | Instance types up to 40 vCPU / 128 GB, and GPU types far larger | 1, 4, 16 or 64 GB of memory; vCPU not published | 4 vCPU / 8 GB by default, up to 16 vCPU / 32 GB |
| Files after the session | Local disk is lost on redeploy; volumes (preview, 1 to 10 GB, two regions) persist | Data is discarded when the container expires | Disk saved every minute and on stop; a stopped sandbox costs nothing and comes back |
| Lifetime and sleep | No forced session cap; scales to zero after 5 idle minutes and wakes on the next request | Expires after 20 minutes without use; Agents API sandboxes after an hour without activity | No session cap on paid plans; stop and start by API |
| Snapshots and fork | SDK snapshots of the filesystem or running processes, then new sandboxes from them (experimental) | No snapshots or fork | Fork a running sandbox with its disk |
| Inbound access | One exposed HTTPS port at a time, plus an optional TCP proxy to one port | None; you reach the container only through the API | SSH, HTTPS URLs for up to 50 ports, raw TCP |
| Outbound internet | Open by default; can block all outbound traffic or allow only listed IPs and CIDRs | Code Interpreter and Hosted Shell: off until an admin sets a domain allowlist | Open internet, no provider-side allowlist |
| Keeping API keys out of the sandbox | Secrets are set as environment variables inside the service | domain_secrets: a sidecar adds the real header for approved domains | Credentials proxy for model providers and any HTTPS API; switch a credential to another account when credits run out |
| Coding agents | Tutorials that run agents through the command API; an MCP server lets agents manage Koyeb | Agents API (beta) drives a managed Codex harness from outside | Claude Code, Codex, OpenCode and more preinstalled, with a prompt, steer and events API |
| Desktop and computer use | No desktop or browser in the sandbox SDK | Hosted browser for the Agents API computer_use tool | 60fps desktop and Chromium, computer use, embeddable stream |
| GPUs | RTX 4000 SFF Ada up to H100, H200 and multi-GPU | No | No |
| Regions | Frankfurt, Paris, Washington D.C., Singapore, Tokyo and more | US or EU processing for Code Interpreter; Agents API data residency in the US only | EU only (Germany, Finland, France) |
Every feature Battleships tracks (43)
| Feature | Koyeb | OpenAI Containers | boat |
|---|---|---|---|
| Full VM (own kernel) | Yes | Yes | Yes |
| Docker inside | Yes | No | Yes |
| Nested virtualization | No | No | Yes |
| Root | Not published | No | Yes |
| Systemd | Not published | Not published | Yes |
| Desktop GUI | No | Yes | Yes |
| Browser | No | Yes | Yes |
| Computer-use API | No | 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) | Not published | 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 | Yes | No | Yes |
| Public IPv4 | No | No | No |
| Egress allowlist | Yes | Yes | No |
| Secret proxy | No | Yes | Yes |
| Secret proxy for any API | No | Yes | Yes |
| Preinstalled agents | Yes | No | Yes |
| Agent harness API | No | Yes | Yes |
| MCP server | Yes | No | No |
| GPU | Yes | No | No |
| Windows | No | No | No |
| Arm64 | No | No | No |
| Self-hosting | Yes | Yes | No |
| BYOC | Yes | No | No |
| Open source | No | No | No |
| Scoped API keys | Not published | Not published | Yes |
| Spend limits | No | Not published | Yes |
| Usage per sandbox (API) | No | No | Yes |
| Audit logs | Yes | Not published | No |
| SSO | Yes | Yes | No |
| SOC 2 | Yes | Yes | No |
| HIPAA | No | Yes | No |
| EU data residency | Yes | Yes | Yes |
| Zero data retention | Not published | Not published | Yes |
Performance
There is no comparable measurement for Koyeb or OpenAI Containers: neither was part of the hpc-sandbox-benchmarks run, and OpenAI does not publish how many vCPU each container size gets. boat did 26.69 runs per second on that Node.js build-and-test loop at 4 vCPU / 8 GB. Koyeb publishes a CPU share of at least 0.25 dedicated vCPU per GB of memory, bursting to all cores.
Node.js build-and-test loop at 4 vCPU / 8 GB, higher is better. Measured with the open hpc-sandbox-benchmarks suite. Koyeb and OpenAI Containers 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 | Koyeb, a month | OpenAI Containers, 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 | $29 · Pro | $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 | $57 · Pro | $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 | $475 · Pro | $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 | $329 · Scale | $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 | $485 · Scale · with limits | $6,000 · API pay as you go · with limits | $2,000 · $2000/mo · with limits |
Koyeb: Koyeb bills each instance per second at a fixed price per instance type, and Deep Sleep costs nothing. Pro costs $29 a month with $10 of usage included and Scale $299 with $100 included; the rest of the fee is not credit.
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.
OpenAI Containers: Plans start at $20 a month, and the whole fee is 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 per size. Koyeb fits four, but its priced eco-xlarge shape has a 20 GiB disk with no published price for more. At 1,000 short jobs at once nothing fits as priced: Koyeb's burstable CPU throttles under load, OpenAI's concurrency is unconfirmed, and boat's $2,000 plan queues starts above 90 a minute.
| Scenario | Koyeb | OpenAI Containers | boat |
|---|---|---|---|
| One coding agent, workdays |
|
| None that bite |
| One agent that never stops |
|
| None that bite |
| 50 agents in parallel | None that bite |
| None that bite |
| Sandboxes for your users | None that bite |
| None that bite |
| 1,000 short jobs at once |
|
|
|
Which one should you use?
Use Koyeb when
you want sandboxes from your own Docker images that sleep when idle, wake on a request, use GPUs or run in the US or Asia.
- A machine you control. Good when you want to pick the image, the size and the port yourself: Koyeb starts any Docker image as a microVM.
- GPUs and sleep on request. Useful when sandboxes need a GPU, or sit idle and must wake on the next request in about 200 ms with Light Sleep.
- Many regions. Good for sandboxes that must run in the US or Asia: Koyeb runs in Washington D.C., Singapore, Tokyo and Europe.
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.
- Nothing to run or clean up. Good for short code runs: OpenAI creates the container, bills it by the minute and lets it expire on its own.
- Locked-down network by default. Useful if code must reach only chosen domains, with keys for those domains added by a sidecar the model cannot read.
Where boat fits
If what you are really running is coding agents that work for hours, look at boat. Koyeb gives you a machine but little built for agents, and OpenAI Containers give the model a short-lived box with no root. boat gives each agent a full VM that keeps its disk, with agents, a desktop and hosting built in.
A disk that stays
An OpenAI container discards its files after 20 idle minutes, and a Koyeb deep sleep discards the VM unless you add a preview volume of 1 to 10 GB. boat saves the disk every minute, and a stopped sandbox costs nothing.
Root, Docker and /dev/kvm
OpenAI runs commands without sudo and documents no Docker, so apt installs and databases stop there. Koyeb has Docker but no documented /dev/kvm, so Android emulators and VMs run elsewhere. boat has root, systemd, Docker and /dev/kvm.
Agents and ports built in
On Koyeb you build the agent harness on exec and expose one port at a time; OpenAI containers accept no inbound connections. boat preinstalls seven coding agents you drive from outside, plus HTTPS on up to 50 ports and a 60fps desktop.
Use boat when your agents need a real machine they keep: root, Docker, /dev/kvm, a disk that persists, open internet and ports you can reach, with coding agents built in. Compare it one to one: boat vs Koyeb and boat vs OpenAI Containers.
Questions people ask
Is Koyeb cheaper than OpenAI Containers?
In the scenarios on this page, yes by a wide margin: one agent running all month is $57 on Koyeb against $1,051 on OpenAI, and boat is $26. OpenAI also bills model tokens on top, and its containers do not fully fit these scenarios.
Which is faster?
Neither Koyeb nor OpenAI Containers has a comparable CPU measurement, so there is no fair speed ratio. boat did 26.69 runs per second on the same benchmark at 4 vCPU / 8 GB.
Can I run Docker in Koyeb or OpenAI Containers?
Koyeb sandboxes start from Docker images and can run Docker inside. OpenAI's docs say commands do not run with sudo and document no Docker. boat has root, systemd, Docker and /dev/kvm on every sandbox.
Do they keep files between sessions?
An OpenAI container discards its data when it expires after 20 minutes without use. Koyeb loses local disk on redeploy and on deep sleep unless you add a volume, which is in preview. A boat sandbox keeps its disk across stops.
Can I open a web app running inside the sandbox?
On Koyeb you can expose one HTTPS port at a time. OpenAI containers have no ports, URLs or SSH. boat gives each sandbox HTTPS URLs for up to 50 ports, raw TCP and SSH.
Is boat SOC 2 compliant?
SOC 2 is in progress. We're open about where we stand: live status at status.ascii.dev and our data retention policy at docs.boat.dev/data-retention.
Try boat
Install the CLI, then run boat new.
7-day free trial