Together Code Sandbox vs Upstash Box

Together Code Sandbox starts VMs from Docker-image snapshots and can save their memory, but Together has to turn it on for you, and its self-serve product is a Python Code Interpreter. Upstash Box is a self-serve container with a coding agent built in that pauses when idle and wakes on the next request.

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.

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. “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 workloadTogether Code Sandbox: price rankUpstash Box: price rankboat: price rank
Software factory
100 at once · 4 vCPU / 8 GB · 2,200 sessions of 8 h a month
Neither fits a software factory fully: Together's new SDK does not document Docker inside, and an Upstash box is itself a container, while boat runs Docker, root and /dev/kvm on every machine.
65th of 367, with limits
$528 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
Upstash can keep an agent on all month in a flat-price keep-alive box, while Together sandboxes have no idle detection or wake on request; boat gives the agent a full machine with systemd and a desktop.
152nd of 366, with limits
$1,095 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
Upstash fits short code runs well because an idle box costs no CPU, while Together's Code Interpreter runs only Python in 60-minute sessions and keeps nothing after.
326th of 345, with limits
$2,190 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 and boat gives each user a full VM with token-protected hosting; on Together every port is public and preview URLs are listed as coming soon.
234th of 361, with limits
$900 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
Together can save a sandbox with its memory and start many copies with processes running, which suits rollouts from one warm state, but the VM product needs Together to enable it.
315th of 360, with limits
$21,900 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
258th of 364, with limits
$450 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 that build containers or Android apps need Docker and /dev/kvm, which boat has and neither Together nor an Upstash container documents.
251st of 377, with limits
$180 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
An Upstash keep-alive box is a light dev box at a flat price, Together's self-serve Code Interpreter is not a dev box at all, and boat's is a full VM with Docker and a 50 GB disk.
210th of 368, with limits
$22 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
Computer-use agents need a screen to look at; Together has no browser or desktop, Upstash has a headless Chromium only, and boat streams a full Linux desktop at 60fps.
184th of 369, with limits
$600 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
301st of 367, with limits
$900 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
219th of 346, with limits
$180 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
124th of 338, with limits
$3,600 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
167th of 360, with limits
$150 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

FeatureTogether Code SandboxUpstash Boxboat
IsolationA VM per sandbox on Together's infrastructureA Docker container per box on AWSFull VM with its own kernel on dedicated AMD Ryzen 9 9950X hosts
Getting startedThe VM SDK and CLI must be enabled for your organization by Together; only Code Interpreter is self-serveSelf-serve, with a Free plan and Pay as You GoSign up and start a sandbox from the API, CLI or dashboard
Machine size0.1 to 16 cores, 1 to 8 GB of memory per coreSmall 2 vCPU / 4 GB, Medium 4 vCPU / 8 GB, Large 8 vCPU / 16 GB2 to 16 vCPU with 2 GB per vCPU, up to 16 vCPU / 32 GB on the $100 plan and above
DiskDisk size is not configurable5, 10 or 20 GB by size, billed per GB-month50 GB at the default 4 vCPU / 8 GB size, 12 to 251 GB by size
Docker, root and systemdCommands run as user 1000 by default, root on request; Docker inside not documentedDocker inside not documented; the box is itself a Docker container, and custom images are coming soonDocker, systemd and root on every machine
Nested virtualizationNot documentedNo; boxes are containersYes, /dev/kvm for Android emulators and VMs
Saving stateEnd a sandbox with a snapshot of its disk, or disk and memory; a new sandbox resumes with its processes runningPauses itself when idle and keeps its files; storage keeps billing while pausedDisk saved every minute and on stop; a stopped sandbox costs nothing; resume boots the machine again
ForkNo live fork: the parent stops, then you start many sandboxes from its snapshotSnapshot a running box and start many new boxes from itFork a running sandbox; the original keeps running
Idle and wakeTime to live counts from creation; no idle detection and no wake on requestPauses when idle; a request to a public URL resumes the boxRuns until you stop it or its time to live ends; started again by API
Inbound accessAll ports public; preview URLs coming soon; an experimental inbound allowlist by IP or tokenHTTPS URL per port, public unless you add a token or basic auth; SSH through a gateway; no raw TCPHTTPS URLs for up to 50 ports, token-protected by default; raw TCP; SSH
Outbound rulesNo outbound allowlist documentedAllow all, deny all, or allow and deny by domain and CIDR, changeable on a running boxOpen internet, no provider-side allowlist
Desktop and browserNone; headless command and file access onlyManaged headless Chromium with AI page actions and CDP; no desktopLinux desktop streamed at 60fps, Chromium and computer-use tools
Coding agentsRun your own agent through execs; a Harbor guide for agent evalsClaude Code, Codex and OpenCode built in, with run and stream APIs, webhooks and scheduled promptsClaude Code, Codex, OpenCode and more preinstalled, with a prompt, steer and events API
Keeping API keys out of the sandboxNo credentials proxy documentedHost proxy injects headers into outbound HTTPS on port 443; set when the box is createdCredentials proxy for model providers and any HTTPS API; switch a credential to another account when credits run out
Every feature Battleships tracks (43)
FeatureTogether Code SandboxUpstash Boxboat
Full VM (own kernel)YesNoYes
Docker insideNot publishedNoYes
Nested virtualizationNoNoYes
RootYesNot publishedYes
SystemdNot publishedNot publishedYes
Desktop GUINoNoYes
BrowserNoYesYes
Computer-use APINoNoYes
SSHNoYesYes
Persistent diskYesYesYes
Pause/resumeYesYesYes
Automatic snapshotsNoNoYes
Fork/cloneYesYesYes
Live fork (no pause)NoYesYes
Memory forkYesNoNo
Custom image (Docker or snapshot)YesYesYes
≥24 h sessionsYesYesYes
Idle auto-stopNoYesNo
Wake on requestNoYesNo
HTTPS preview URLsYesYesYes
Raw TCP inboundNoNoYes
Public IPv4NoNoNo
Egress allowlistNoYesNo
Secret proxyNoYesYes
Secret proxy for any APINoYesYes
Preinstalled agentsNoYesYes
Agent harness APINoYesYes
MCP serverYesYesNo
GPUNoNoNo
WindowsNoNoNo
Arm64NoYesNo
Self-hostingNoNoNo
BYOCNoNoNo
Open sourceNoNoNo
Scoped API keysNot publishedNot publishedYes
Spend limitsYesNot publishedYes
Usage per sandbox (API)YesYesYes
Audit logsNot publishedNot publishedNo
SSOYesNoNo
SOC 2YesYesNo
HIPAANoNoNo
EU data residencyNot publishedNoYes
Zero data retentionNot publishedNot publishedYes

Performance

Together Code SandboxNot measured
Upstash BoxNot measured
boat26.69 runs/s

Neither Together Code Sandbox nor Upstash Box has a result in the hpc-sandbox-benchmarks CPU test, so there is no comparable measurement between them. boat did 26.69 runs per second on that Node.js build-and-test loop 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 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.

ScenarioTogether Code Sandbox, a monthUpstash Box, a monthboat, 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$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
$22 · Together pay-as-you-go (prepaid credits; Code Interpreter only) · 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
$264 · Together pay-as-you-go (prepaid credits; Code Interpreter only) · 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
$900 · Together pay-as-you-go (prepaid credits; Code Interpreter only) · 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 · Together pay-as-you-go (prepaid credits; Code Interpreter only) · with limits$1,822 · Pay as You Go$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 must be enabled for your organization, so the tables use Code Interpreter: $0.03 per 60-minute session from prepaid credits, with a $5 minimum.

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 for Small, Medium and Large, 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.

Upstash Box: Plans start at $20 a month, and the whole fee becomes usage credit. You pay per second while a sandbox runs, and a stopped sandbox costs nothing and keeps its disk.

Limits in those scenarios

The Together column is Code Interpreter, and it fits none of the five scenarios: sessions last 60 minutes, nothing is kept after a session, it runs only Python, and the machine size is not published. Upstash fits four of them but not 50 agents in parallel, because it does not run Docker inside a box; its egress price is not published and keep-alive boxes bill whether used or not. boat fits four too, and queues the 1,000 short jobs at once because even the $2,000 plan starts at most 600 an hour.

ScenarioTogether Code SandboxUpstash Boxboat
One coding agent, workdays
  • Together pay-as-you-go (prepaid credits; Code Interpreter only): sessions capped at 1 h
  • 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
  • Together pay-as-you-go (prepaid credits; Code Interpreter only): sessions capped at 1 h
  • 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
  • Together pay-as-you-go (prepaid credits; Code Interpreter only): sessions capped at 1 h
  • 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
  • machine size not published
  • different kind of product: code interpreter
  • machine size per session not published
  • egress price not published
  • egress price not published
None that bite
1,000 short jobs at once
  • machine size not published
  • different kind of product: code interpreter
  • machine size per session not published
  • egress price not published
  • 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 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.
  • 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.
  • Very small machines and a Python runner. Good for many light jobs: sandboxes start at a tenth of a core, and a Python interpreter API bills per session.

Use Upstash Box when

your agents mostly wait, need to wake on an incoming request, must stay inside a strict outbound allowlist, or must run in the US, and you want to sign up and start today.

  • Idle costs no CPU, and a request wakes the box. Good for agents that wait a lot: an idle box costs no CPU, and a request to its URL wakes it.
  • Self-serve, with agents built in. Sign up and run Claude Code, Codex or OpenCode in up to 1,000 boxes at once, with no access request.
  • Outbound network rules. Useful when an agent may only reach a short list of domains or IP ranges, changeable on a running box.

Where boat fits

If your agents do real work for hours, with installs, builds, Docker, emulators, a browser and servers other people reach, both of these leave gaps. Together's VMs need Together to turn them on and are headless, and Upstash boxes are containers. boat gives each agent a full VM you can start today, with the agent and its keys already set up.

A whole machine with Docker and /dev/kvm

Together's SDK runs commands as a normal user and documents neither Docker inside nor nested virtualization, and an Upstash box is itself a container. So compose stacks and Android emulators do not start, and the 50-agent scenario fits neither.

Hosting that is private by default

On Together every port is public and preview URLs are coming soon; on Upstash each URL is public until you add a token, with no raw TCP. boat token-protects HTTPS on up to 50 ports and takes raw TCP.

A desktop and keys kept outside

Together has no browser or desktop, and Upstash has only a headless Chromium, so computer-use agents have no screen. boat streams a 60fps desktop, and its credentials proxy keeps keys for any HTTPS API out of the sandbox.

Use boat when your agents need a real machine: Docker, emulators, a desktop, a big disk, private hosting and services that keep running, for as long as the work takes. Compare it one to one: boat vs Together Code Sandbox and boat vs Upstash Box.

Questions people ask

Is Together Code Sandbox cheaper than Upstash Box?

Together's only self-serve price is Code Interpreter, which fits none of this page's scenarios. Where they can be compared it costs more: $900 against $306 a month for sandboxes for your users, and $6,000 against $1,822 for 1,000 short jobs at once.

Which is faster, Together Code Sandbox or Upstash Box?

Neither has a result in the hpc-sandbox-benchmarks CPU test, so there is no fair speed comparison. boat did 26.69 runs per second on that test at 4 vCPU / 8 GB.

Can Together Code Sandbox or Upstash Box run Docker?

Together builds sandboxes from Docker images, but its new SDK does not document Docker inside a sandbox. An Upstash box is itself a Docker container and its docs do not offer Docker inside. boat runs Docker, systemd and root on every machine.

Can I sign up for Together Code Sandbox today?

The VM product must be enabled for your organization, so you ask Together for access. Code Interpreter is self-serve from prepaid credits. Upstash Box and boat are both self-serve.

Which one wakes up when a request comes in?

Upstash Box does: a paused box resumes when a request reaches its public URL. Together sandboxes have no idle detection or wake on request, and boat sandboxes are started again by API.

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