Tensorlake vs Together Code Sandbox

Both run each sandbox in its own VM and can save its memory. Tensorlake is self-serve and can copy a running sandbox into warm clones, while Together's VM product must be enabled for your organization and saves a snapshot only when a sandbox ends.

The companies and products

Tensorlake

Tensorlake is a San Francisco company that sells infrastructure for AI agents, with sandboxes as its main product.

Tensorlake Sandboxes are microVMs, backed by Firecracker and Cloud Hypervisor, that you create through an API and that boot in a few hundred milliseconds. Named sandboxes suspend when idle and keep their memory and running processes, and you can copy a running sandbox into several warm clones. Around them Tensorlake sells versioned file systems, hosted Git, an orchestration layer and a bring-your-own-cloud option, aimed at teams running coding agents, evals and RL rollouts.

Headquarters
San Francisco

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.

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. “5th cheapest of 367” means 4 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 workloadTensorlake: price rankTogether Code Sandbox: price rankbochka: price rank
Software factory
100 at once · 4 vCPU / 8 GB · 2,200 sessions of 8 h a month
Tensorlake ranks 5th and fits a software factory, while the self-serve Together option is a Python runner that ranks 65th; bochka ranks 3rd and adds /dev/kvm.
5th cheapest of 367
$1,010 a month
65th of 367, with limits
$528 a month
3rd cheapest of 367
$634 a month
Always-on AI employees
50 machines 24/7 · 2 vCPU / 4 GB
Tensorlake keeps an agent's memory while it sleeps and wakes on request; Together sandboxes have no idle detection or wake, and bochka keeps the machine on with no session cap.
9th cheapest of 366
$1,381 a month
152nd of 366, with limits
$1,095 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
Tensorlake ranks 24th for short code runs; Together's Code Interpreter suits plain Python in 60-minute sessions but keeps nothing after a session ends.
24th cheapest of 345
$250 a month
326th of 345, with limits
$2,190 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
Tensorlake routes each user's app through an authenticated proxy, Together leaves every port public, and bochka ranks 1st with token-protected HTTPS URLs and raw TCP.
5th cheapest of 361
$471 a month
234th of 361, with limits
$900 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
Tensorlake ranks 1st for RL rollouts, with up to 1,000 sandboxes at once on Pro and warm clones from one running state.
Cheapest of 360
$5,637 a month
315th of 360, with limits
$21,900 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
24th cheapest of 364
$506 a month
258th of 364, with limits
$450 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
54th cheapest of 377
$424 a month
251st of 377, with limits
$180 a month
4th cheapest of 377
$86 a month
24/7 dev boxes
1 machine 24/7 · 4 vCPU / 8 GB
Neither is built for a box that stays on all day: Tensorlake suspends idle sandboxes and Together's self-serve Code Interpreter sessions end after an hour, while bochka ranks 18th and fits.
185th of 368, with limits
$250 a month
210th of 368, with limits
$22 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
Tensorlake has an XFCE desktop with Firefox over VNC, Together has no desktop at all, and bochka streams a 60fps desktop with Chromium.
9th cheapest of 369
$294 a month
184th of 369, with limits
$600 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
13th cheapest of 367
$250 a month
301st of 367, with limits
$900 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
22nd cheapest of 346
$250 a month
219th of 346, with limits
$180 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
121st of 338, with limits
$3,484 a month
124th of 338, with limits
$3,600 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
Tensorlake gives root in a real kernel with outbound allow and deny lists; bochka ranks 2nd and adds raw TCP inbound and nested virtualization.
4th cheapest of 360
$250 a month
167th of 360, with limits
$150 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

FeatureTensorlakeTogether Code Sandboxbochka
IsolationFirecracker and Cloud Hypervisor microVMs; GPU sandboxes use gVisorA VM per sandbox on Together's infrastructureFull VM with its own kernel on dedicated AMD Ryzen 9 9950X hosts
Getting startedSelf-serve: Free tier, prepaid credit packs from $5, or ProThe VM SDK and CLI must be enabled for your organization; only Code Interpreter is self-serveSign up and start a sandbox from the API, CLI or dashboard
Machine sizeUp to 16 vCPU, 64 GB RAM and 100 GB root disk on Pro, fixed at creation0.1 to 16 cores, 1 to 8 GB of memory per core; disk size fixed2 to 16 vCPU with 2 GB per vCPU, up to 16 vCPU / 32 GB on the $100 plan and above
Docker and /dev/kvmDocker on the tensorlake/ubuntu-systemd image; no /dev/kvmCommands run as user 1000 by default; Docker inside and nested virtualization not documentedDocker, systemd, root and /dev/kvm on every machine
Memory snapshotsSuspend or snapshot a sandbox with its memory and running processesWhen a sandbox ends, save its disk, or disk and memory, as a snapshotDisk saved every minute and on stop; resume boots the machine again
Clone a running sandboxCopy a running or suspended sandbox into many warm clones with memoryNo live fork: the parent stops, then you start many sandboxes from its snapshotFork a running sandbox (disk); the original keeps running
Idle and wakeIdle timeout, 600 s by default, then suspend or terminateTime to live counts from creation; no idle detection and no wake on requestTime to live, 1 h by default, changeable or off; a stopped sandbox costs nothing
Desktop and computer useXFCE desktop with Firefox over VNC, with screenshot, mouse and keyboard callsNone; headless command and file access onlyLinux desktop streamed at 60fps, Chromium and computer-use tools
Coding agentsYou bring and run your own agent; managed images are plain OS basesRun your own agent through execs; a Harbor guide for agent evalsClaude Code, Codex, OpenCode and more preinstalled, with a prompt, steer and events API
API keysStored secrets are injected into the sandboxNo credentials proxy documentedCredentials proxy for model providers and any HTTPS API; real keys never enter the sandbox
Inbound trafficHTTP, WebSocket and gRPC through an authenticated proxy on exposed portsAll ports public; preview URLs coming soon; an experimental inbound allowlistHTTPS URLs for up to 50 ports, token-protected by default, plus raw TCP
Outbound rulesallow_out and deny_out lists by domain, IP or CIDR, or no internet at allNo outbound allowlist documentedNo provider-side allowlist; you set your own firewall as root
GPUs and regionsGPU sandboxes by request; US and EU, or your own cloud through BYOCNo GPU sandboxes; regions not publishedNo GPUs; EU only: Germany, Finland, France
Hosted Python runnerNo separate product; run code inside a sandboxCode Interpreter API runs Python in sessions billed per 60 minutesNo separate product; run code through exec in a sandbox
Every feature Battleships tracks (43)
FeatureTensorlakeTogether Code Sandboxbochka
Full VM (own kernel)YesYesYes
Docker insideYesNot publishedYes
Nested virtualizationNoNoYes
RootYesYesYes
SystemdYesNot publishedYes
Desktop GUIYesNoYes
BrowserYesNoYes
Computer-use APIYesNoYes
SSHYesNoYes
Persistent diskYesYesYes
Pause/resumeYesYesYes
Automatic snapshotsYesNoYes
Fork/cloneYesYesYes
Live fork (no pause)YesNoYes
Memory forkYesYesNo
Custom image (Docker or snapshot)YesYesYes
≥24 h sessionsYesYesYes
Idle auto-stopYesNoNo
Wake on requestYesNoNo
HTTPS preview URLsYesYesYes
Raw TCP inboundNoNoYes
Public IPv4NoNoNo
Egress allowlistYesNoNo
Secret proxyNoNoYes
Secret proxy for any APINoNoYes
Preinstalled agentsNoNoYes
Agent harness APINoNoYes
MCP serverNoYesNo
GPUYesNoNo
WindowsNoNoNo
Arm64NoNoNo
Self-hostingNoNoNo
BYOCYesNoNo
Open sourceNoNoNo
Scoped API keysNot publishedNot publishedYes
Spend limitsNot publishedYesYes
Usage per sandbox (API)NoYesYes
Audit logsNot publishedNot publishedNo
SSOYesYesNo
SOC 2YesYesNo
HIPAAYesNoNo
EU data residencyYesNot publishedYes
Zero data retentionYesNot publishedYes

Performance

TensorlakeNot measured
Together Code SandboxNot measured
bochka26.69 runs/s

Neither Tensorlake nor Together Code Sandbox has a result on the StarSling hpc-sandbox-benchmarks CPU test, so there is no comparable CPU measurement between them. bochka did 26.69 runs per second on its 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. Tensorlake and Together Code Sandbox 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.

ScenarioTensorlake, a monthTogether Code Sandbox, 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
$250 · Pro$5 · Together pay-as-you-go (prepaid credits; Code Interpreter only) · with limits$20 · $20/mo
One agent that never stops
4 vCPU / 8 GB, 50 GB disk, running 24/7 all month
$250 · Pro$22 · Together pay-as-you-go (prepaid credits; Code Interpreter only) · 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,030 · Pro$264 · Together pay-as-you-go (prepaid credits; Code Interpreter only) · 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
$293 · Pro$900 · Together pay-as-you-go (prepaid credits; Code Interpreter only) · 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
$1,127 · Pro$6,000 · Together pay-as-you-go (prepaid credits; Code Interpreter only) · with limits$2,000 · $2000/mo · with limits

Tensorlake: Pro is $250 per billing cycle, which includes 25,000 CU of usage, then $0.01 per CU; CPU is billed only while active, RAM and disk on what you allocate. Small users can buy prepaid packs from $5 instead.

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 you, so the table prices Code Interpreter: $0.03 per 60-minute session from prepaid credits.

Together Code Sandbox: 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 its limits decide every row: sessions last 60 minutes, nothing is kept after a session, it runs only Python and the machine size is not published, so it fits none of the scenarios. Tensorlake Pro fits all five, with up to 1,000 sandboxes at once, but an ephemeral sandbox ends after 10 idle minutes by default and the prepaid plan caps sessions at 24 hours. On bochka the limit that bites is starts: 1,000 short jobs at once need more starts per hour and per day than even the $2,000 plan allows.

ScenarioTensorlakeTogether Code Sandboxbochka
One coding agent, workdaysNone that bite
  • 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
None that bite
One agent that never stopsNone that bite
  • 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
None that bite
50 agents in parallelNone that bite
  • 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
None that bite
Sandboxes for your usersNone that bite
  • machine size not published
  • different kind of product: code interpreter
  • machine size per session not published
  • egress price not published
None that bite
1,000 short jobs at onceNone that bite
  • machine size not published
  • different kind of product: code interpreter
  • machine size per session 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 Tensorlake when

you want to sign up today and fan out many rollouts from one warm, running state, or need GPUs, outbound rules or sandboxes in your own cloud.

  • Warm clones from a running sandbox. For fanning out from one prepared state: Tensorlake copies a running sandbox, memory included, without stopping it first.
  • Self-serve, with GPUs and your own cloud. You can sign up and start today, ask for GPU sandboxes, and run in the US, the EU or your own cloud account.
  • Outbound rules per sandbox. Useful for untrusted code: each sandbox can allow or deny outbound traffic by domain, IP or CIDR, or have no internet.

Use Together Code Sandbox when

you already run models on Together and want light sandboxes from a tenth of a core, or a simple Python runner billed per session.

  • 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. Good for many light jobs: a Together sandbox can be as small as a tenth of a core.
  • A simple Python runner. For plain Python, the Code Interpreter API runs code in sessions billed per 60 minutes, with no VM to manage.

Where bochka fits

If your agents do real work for hours, with builds, Docker, emulators, a browser and servers other people reach, look at bochka. Each sandbox is a full VM you can start today, with coding agents built in and keys kept outside the machine.

Run emulators and VMs inside

Tensorlake sandboxes set SANDBOX_KVM_AVAILABLE=0 and Together documents no nested virtualization, so an Android emulator or a VM does not start. bochka exposes /dev/kvm on every machine.

Agents and keys built in

On both you install and wire up the agent yourself, and keys you pass in sit inside a machine the agent controls, where one prompt injection can leak them. bochka preinstalls the agents and keeps real keys in a proxy outside.

Reach it like a server

Tensorlake's proxy carries only HTTP, WebSocket and gRPC, and on Together every port is public with preview URLs still coming soon. bochka gives each sandbox token-protected HTTPS on up to 50 ports and raw TCP.

Use bochka when your agents do real work for hours: installs, builds, Docker, emulators, a desktop and servers other people reach, with coding agents built in and keys kept outside the machine. Compare it one to one: bochka vs Tensorlake and bochka vs Together Code Sandbox.

Questions people ask

Is Tensorlake cheaper than Together Code Sandbox?

The only self-serve Together price is Code Interpreter, which fits none of our scenarios because sessions end after 60 minutes and keep no disk. It looks cheaper for small runs, but costs more at scale: $900 against $293 on Tensorlake for sandboxes for your users, and $6,000 against $1,127 for 1,000 short jobs at once.

Which is faster, Tensorlake or Together Code Sandbox?

There is no comparable CPU measurement for either one. bochka scored 26.69 runs per second on the StarSling hpc-sandbox-benchmarks Node.js test, and neither Tensorlake nor Together was part of that run.

Can Tensorlake or Together Code Sandbox run Docker and Android emulators?

Tensorlake runs Docker on its ubuntu-systemd image but has no /dev/kvm, so emulators and VMs do not start. Together's new SDK documents neither Docker inside a sandbox nor nested virtualization. bochka runs Docker, systemd and root and exposes /dev/kvm on every machine.

Can I clone a running sandbox?

On Tensorlake, yes: a running or suspended sandbox can be copied into many warm clones with its memory. Together has no live fork; the sandbox ends with a snapshot and you start copies from it. bochka forks a running sandbox's disk while the original keeps running.

Can I sign up for Together Code Sandbox right away?

Not for the VMs: the together-sandbox SDK and CLI must be enabled for your organization by Together. Code Interpreter is self-serve on prepaid credits. Tensorlake and bochka both let you sign up and start a sandbox yourself.

Which one has GPUs and US regions?

Tensorlake offers GPU sandboxes by request and runs in the US and the EU, or in your own cloud through BYOC. Together does not publish GPU sandboxes or regions for Code Sandbox. bochka has no GPUs and runs only in the EU.

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.