Together Code Sandbox vs OpenAI Containers
Together Code Sandbox starts VMs from Docker-image snapshots and can save their memory when they end, but Together has to turn it on for you. OpenAI Containers are boxes the model runs code in during an API call, and they are deleted after 20 minutes without use.
The companies and products
Together Code Sandbox
Together AI is a cloud for running and training AI models, and Code Sandbox is its product for running code in isolated VMs.
You build a snapshot from a Docker image or Dockerfile on Together's builder, then start sandboxes from it and run commands and file operations through the together-sandbox SDK or CLI. When a sandbox ends you can save its disk, and its memory too, as a new snapshot to start more sandboxes from. It is aimed at model-generated code, agent tool calls and reinforcement learning rollouts, and it must be enabled for your organization by Together. Together also sells Code Interpreter, a separate API that runs Python code in short sessions.
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. “65th cheapest of 367” means 64 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 | Together Code Sandbox: 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 root, Docker and a disk that stays; Together runs commands as a normal user unless you ask for root, OpenAI gives no sudo at all, and boat has root, Docker and /dev/kvm on every machine. | 65th of 367, with limits $528 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 a disk that survives; an OpenAI container is deleted after 20 idle minutes, Together has no idle detection or wake on request, and boat keeps the disk and costs nothing while stopped. | 152nd of 366, with limits $1,095 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 Short Python runs are what both are built for: OpenAI runs the code inside the model call and bills by the minute, Together's Code Interpreter bills per 60-minute session. | 326th of 345, with limits $2,190 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 Giving each user a private app is hard on both: every Together port is public with preview URLs still coming soon, OpenAI containers take no inbound connections, and boat serves token-protected HTTPS URLs. | 234th of 361, with limits $900 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 Together can save a sandbox with its memory and start many copies from it, which suits rollouts that branch from one warm state; OpenAI containers have no snapshots. | 315th of 360, with limits $21,900 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 | 258th of 364, with limits $450 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 jobs need Docker and open internet; Together does not document Docker inside, and OpenAI Code Interpreter and Hosted Shell containers start with no internet at all. | 251st of 377, with limits $180 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 has SSH; a dev box you SSH into and keep all month is what boat is. | 210th of 368, with limits $22 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 the Agents API computer_use tool, Together has no desktop or browser, and boat streams a full 60fps desktop with Chromium. | 184th of 369, with limits $600 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 | 301st of 367, with limits $900 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 | 219th of 346, with limits $180 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 | 124th of 338, with limits $3,600 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 | 167th of 360, with limits $150 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 | Together Code Sandbox | OpenAI Containers | boat |
|---|---|---|---|
| Getting started | The VM SDK and CLI must be enabled for your organization by Together; Code Interpreter is self-serve on prepaid credits | Self-serve on the API: add Code Interpreter or the shell tool to a request | Sign up and start a sandbox from the API, CLI or dashboard |
| Isolation | A VM per sandbox on Together's infrastructure | A fully sandboxed virtual machine; hypervisor not named | Full VM with its own kernel on dedicated AMD Ryzen 9 9950X hosts |
| Machine size | 0.1 to 16 cores, 1 to 8 GB of memory per core; disk size fixed | 1, 4, 16 or 64 GB of memory; vCPU not published (Agents API sandboxes: 1, 2 or 4 vCPU) | 4 vCPU / 8 GB by default, up to 16 vCPU / 32 GB |
| Root, Docker and nested virtualization | Commands run as user 1000 by default, root on request; Docker inside and nested virtualization not documented | Commands do not run with sudo; no Docker or /dev/kvm documented | Root, systemd, Docker and /dev/kvm on every machine |
| Custom image | Snapshots built from a Docker image or Dockerfile | Fixed Debian 12 image; you upload files or skills into each container | Named snapshots of a set-up machine, reused as templates |
| Shell access | Commands, interactive shells and files through the SDK and CLI; no SSH | The model runs commands through the API; no SSH | SSH, plus exec and files over the API |
| Saving state | End a sandbox with a snapshot of its disk, or disk and memory; a new sandbox resumes with its processes running | Data is discarded when the container expires; Agents API keeps only files in /workspace/outputs | Disk saved every minute and on stop; a stopped sandbox costs nothing; resume boots the machine again |
| Lifetime | VM sandboxes run until you end them or their time to live runs out; Code Interpreter sessions last 60 minutes | Expires after 20 minutes without use; Agents API sandboxes after an hour without activity | No session cap on paid plans; you set the time to live |
| Fork | No live fork: the parent stops, then you start many sandboxes from its snapshot | No fork; templates save configuration, not a running workspace | Fork a running sandbox; the original keeps running |
| Reaching the sandbox | All ports public; preview URLs coming soon; an experimental inbound allowlist by IP or token | None; you reach the container only through the API | HTTPS URLs for up to 50 ports, token-protected by default; raw TCP; SSH |
| Outbound internet | Open internet | Code Interpreter and Hosted Shell: off until an admin sets an org domain allowlist; Agents API sandboxes: on by default, can be limited to 1 to 100 hosts | Open internet on every plan; no provider-side allowlist |
| Keeping API keys out of the sandbox | No credentials proxy documented | domain_secrets: a sidecar adds the real header for approved domains, the model sees a placeholder | Credentials proxy for model providers and any HTTPS API; switch a credential to another account when credits run out |
| Coding agents | Run your own agent through execs; a Harbor guide for agent evals | Agents API (beta) drives a managed Codex harness from outside, with steering, events and webhooks | Claude Code, Codex, OpenCode and more preinstalled, with a prompt, steer and events API |
| Desktop and computer use | None; headless command and file access only | Hosted browser for the Agents API computer_use tool | Linux desktop streamed at 60fps, Chromium and computer-use tools, embeddable stream |
Every feature Battleships tracks (43)
| Feature | Together Code Sandbox | OpenAI Containers | boat |
|---|---|---|---|
| Full VM (own kernel) | Yes | Yes | Yes |
| Docker inside | Not published | No | Yes |
| Nested virtualization | No | No | Yes |
| Root | Yes | 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 | No | No | Yes |
| Fork/clone | Yes | No | Yes |
| Live fork (no pause) | No | No | Yes |
| Memory fork | Yes | No | No |
| Custom image (Docker or snapshot) | Yes | No | Yes |
| ≥24 h sessions | Yes | Yes | Yes |
| Idle auto-stop | No | Yes | No |
| Wake on request | No | No | No |
| HTTPS preview URLs | Yes | No | Yes |
| Raw TCP inbound | No | No | Yes |
| Public IPv4 | No | No | No |
| Egress allowlist | No | Yes | No |
| Secret proxy | No | Yes | Yes |
| Secret proxy for any API | No | Yes | Yes |
| Preinstalled agents | No | 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 | No | No | No |
| Open source | No | No | No |
| Scoped API keys | Not published | Not published | Yes |
| Spend limits | Yes | 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 | No | Yes | No |
| EU data residency | Not published | Yes | Yes |
| Zero data retention | Not published | Not published | Yes |
Performance
There is no comparable CPU measurement for Together Code Sandbox or OpenAI Containers: neither is in the public benchmark, and OpenAI does not publish how many vCPU each container size gets. boat did 26.69 runs per second on the StarSling hpc-sandbox-benchmarks Node.js test at 4 vCPU / 8 GB, on dedicated AMD Ryzen 9 9950X hosts.
Node.js build-and-test loop at 4 vCPU / 8 GB, higher is better. Measured with the open hpc-sandbox-benchmarks suite. Together Code Sandbox 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 | Together Code Sandbox, 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 | $5 · Together pay-as-you-go (prepaid credits; Code Interpreter only) · with limits | $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 | $22 · Together pay-as-you-go (prepaid credits; Code Interpreter only) · with limits | $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 | $264 · Together pay-as-you-go (prepaid credits; Code Interpreter only) · with limits | $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 | $900 · Together pay-as-you-go (prepaid credits; Code Interpreter only) · 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 | $6,000 · Together pay-as-you-go (prepaid credits; Code Interpreter only) · with limits | $6,000 · API pay as you go · with limits | $2,000 · $2000/mo · with limits |
Together Code Sandbox: Together lists Code Sandbox at $0.0446 per vCPU-hour and $0.0149 per GiB-hour, but the VMs need Together to enable them, so the tables price Code Interpreter: $0.03 per 60-minute session from prepaid credits, with a $5 minimum purchase.
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: Plans start at $20 a month, and the whole fee becomes usage credit spent per second on running sandboxes. A stopped sandbox costs nothing and keeps its disk.
Limits in those scenarios
Neither fits the scenarios as written. Together's priced product, Code Interpreter, ends each session after 60 minutes and keeps no disk, and its machine size is not published. OpenAI Containers keep no disk, run no Docker, start with no internet in Code Interpreter and Hosted Shell, and OpenAI does not publish how many can run at once, so 300 user sandboxes or a 1,000-job burst are unconfirmed. On boat the burst is limited by starts, so even the $2,000 plan queues them.
| Scenario | Together Code Sandbox | 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 |
| Sandboxes for your users |
|
| None that bite |
| 1,000 short jobs at once |
|
|
|
Which one should you use?
Use Together Code Sandbox when
you already run models on Together and want light sandboxes, from a tenth of a core, that you can save with their memory and branch from, or a simple Python runner billed per session.
- Memory snapshots to branch from. Useful for rollouts and test variants: save a sandbox with its memory and start many copies with processes still running.
- Open network and a machine you shape. Good when code must reach the internet: sandboxes have open egress, start from your own Docker image and can run commands as root.
- Sandboxes next to your models. Handy if you already run inference or fine-tuning on Together: sandboxes and models share one account and API key.
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.
- Locked-down network by default. Useful if code must only reach chosen hosts: Code Interpreter and Hosted Shell have no outbound access until an admin allows domains.
- No access request. Self-serve on any API account, with US or EU processing for Code Interpreter, while Together's VMs wait for Together to enable them.
Where boat fits
Both of these are built for short pieces of code: OpenAI runs what the model writes, and Together runs sandboxes you script from your own backend. If what you are really running is agents that work for hours, install things, start servers and come back the next day, boat gives each one a whole machine you can sign up for today.
A whole machine with root
boat has root, systemd, Docker and /dev/kvm. OpenAI gives no sudo and no Docker, and Together runs as a normal user and documents no Docker inside, so compose stacks and emulators stop before they start.
A disk that stays, with no session cap
An OpenAI container deletes its files after 20 idle minutes unless your code keeps touching it. Together can snapshot, but only by ending the sandbox and starting a new one. boat saves the disk every minute.
Private hosting and agents built in
OpenAI containers take no inbound connections, and every Together port is public with no preview URLs yet. boat serves token-protected HTTPS on 50 ports, with coding agents and a 60fps desktop you drive from outside.
Use boat when your agents do real work for hours: root, Docker, a disk that stays, open internet and private ports you can reach, on a full machine with any coding agent built in. Compare it one to one: boat vs Together Code Sandbox and boat vs OpenAI Containers.
Questions people ask
Is Together Code Sandbox cheaper than OpenAI Containers?
In these scenarios, priced with Together's Code Interpreter, yes for long runs: one agent running all month comes to $22 on Together against $1,051 on OpenAI, and 50 agents to $264 against $11,405. For 1,000 short jobs at once both come to $6,000 a month, and neither fully fits these scenarios. boat comes to $26, $317 and $2,000.
Which is faster, Together Code Sandbox or OpenAI Containers?
There is no comparable measurement for either. Neither is 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 StarSling Node.js test at 4 vCPU / 8 GB.
Can I run Docker in Together Code Sandbox or OpenAI Containers?
Neither documents it. Together builds sandboxes from Docker images and can run commands as root on request, but does not document Docker inside a sandbox. OpenAI's hosted shell runs commands without sudo. boat runs Docker, systemd and root on every machine.
How long does a session last on each?
An OpenAI container expires after 20 minutes without use, and its data is discarded. Together's VM sandboxes run until you end them or their time to live runs out, while Code Interpreter sessions last 60 minutes. boat has no session cap on paid plans and keeps the disk when a sandbox stops.
Can I open a web app running inside the sandbox?
Not on OpenAI: containers have no ports, URLs or SSH. On Together every port is public, and preview URLs are listed as coming soon. boat gives each sandbox HTTPS URLs for up to 50 ports, token-protected by default, plus 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
More comparisons
- boat vs Together Code Sandbox
- boat vs OpenAI Containers
- E2B vs Together Code Sandbox
- Daytona vs Together Code Sandbox
- Modal vs Together Code Sandbox
- Vercel Sandbox vs Together Code Sandbox
- Cloudflare Sandbox vs Together Code Sandbox
- Blaxel vs Together Code Sandbox
- Runloop vs Together Code Sandbox
- Tensorlake vs Together Code Sandbox
- Morph Cloud vs Together Code Sandbox
- CodeSandbox SDK vs Together Code Sandbox