Together Code Sandbox vs smol machines
Together Code Sandbox runs VMs from Docker-image snapshots on Together's AI cloud, but Together has to enable it for your organization. smol machines runs open-source microVMs you can sign up for today, on its hosted cloud, your laptop or your own servers.
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.
smol machines
smol machines makes fast, isolated Linux microVMs that run the same way on your laptop, in their hosted cloud, or on your own servers.
The core is smolvm, an open-source microVM engine built on libkrun, where each machine has its own guest kernel. smol cloud is the paid hosted service that runs fleets of those machines behind a REST API and Node, Python and Rust SDKs. It is built for developers who want one VM model from local development to production, with live branching of running machines.
- Uptime SLA
- 99.95% on Pro, Startup and Enterprise
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 | smol machines: price rank | boat: price rank |
|---|---|---|---|
| Software factory 100 at once · 4 vCPU / 8 GB · 2,200 sessions of 8 h a month smol machines runs Docker inside its VMs and Together does not document it; boat adds root, systemd, /dev/kvm and SSH on every machine. | 65th of 367, with limits $528 a month | 73rd of 367, with limits $604 a month | 3rd cheapest of 367 $634 a month |
| Always-on AI employees 50 machines 24/7 · 2 vCPU / 4 GB Neither has a desktop, a browser or a way to keep keys out of the VM for an assistant that lives on its machine; boat has all three built in. | 152nd of 366, with limits $1,095 a month | 148th of 366, with limits $1,038 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 smol machines fits short code runs well with a one-minute minimum and a /code endpoint, while Together's self-serve Code Interpreter bills each 60-minute session. | 326th of 345, with limits $2,190 a month | 12th cheapest of 345 $140 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 smol machines wakes a stopped machine on the next command and serves up to 16 ports; on Together every port is public and preview URLs are listed as coming soon. | 234th of 361, with limits $900 a month | 7th cheapest of 361 $531 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 Both can start many runs from a saved memory state, but smol branches a running machine live, while Together saves the snapshot only when the sandbox ends. | 315th of 360, with limits $21,900 a month | 111th of 360, with limits $6,978 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 Both document a Harbor setup for agent evals; boat ships the coding agents themselves, with an API to prompt, steer and follow each run. | 258th of 364, with limits $450 a month | 36th cheapest of 364 $670 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 Android apps or boot VMs need nested virtualization, which boat has and neither Together nor smol cloud exposes. | 251st of 377, with limits $180 a month | 66th cheapest of 377 $514 a month | 4th cheapest of 377 $86 a month |
| 24/7 dev boxes 1 machine 24/7 · 4 vCPU / 8 GB | 210th of 368, with limits $22 a month | 216th of 368, with limits $29 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 Neither Together nor smol cloud offers a hosted desktop, so you build your own; boat streams a Linux desktop at 60fps with computer use. | 184th of 369, with limits $600 a month | 90th of 369, with limits $156 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 | 176th of 367, with limits $136 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 | 241st of 346, with limits $242 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 | 148th of 338, with limits $4,344 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 | 252nd of 360, with limits $377 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 | smol machines | boat |
|---|---|---|---|
| Isolation | A VM per sandbox on Together's infrastructure | libkrun microVM with its own guest kernel | Full VM with its own kernel on dedicated AMD Ryzen 9 9950X hosts |
| Getting started | The SDK and CLI must be enabled for your organization by Together | Sign up for smol cloud, or run the open-source engine yourself | Sign up and start a sandbox from the API, CLI or dashboard |
| Machine size | 0.1 to 16 cores, 1 to 8 GB of memory per core; disk size fixed | Up to 32 vCPU / 32 GB on Startup, 16 vCPU / 24 GB on Pro | 2 to 16 vCPU with 2 GB per vCPU, up to 16 vCPU / 32 GB on the $100 plan and above |
| Docker, root and systemd | Commands run as user 1000 by default, root on request; Docker inside not documented | Docker runs inside the machine, with its data on the ext4 disk | Docker, systemd and root on every machine |
| Nested virtualization | Not documented | Not exposed in the cloud create API; a local smolvm flag only | Yes, /dev/kvm for Android emulators and VMs |
| Shell access | Commands, interactive shells and files through the SDK and CLI; no SSH | Command API, sessions and a WebSocket terminal capped at one hour per connection; 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 | Filesystem survives a stop; stopped disk keeps billing; checkpoints capture RAM to a file | Disk saved every minute and on stop; a stopped sandbox costs nothing |
| Fork | No live fork: the parent stops, then you start many sandboxes from its snapshot | Branch a running machine with its memory and processes | Fork a running sandbox with its disk; the original keeps running |
| Idle and wake | Time to live counts from creation; no idle detection and no wake on request | A command or terminal starts a stopped machine; idle apps wake on the next request | Runs until you stop it or its time to live ends; started again by API |
| Reaching the sandbox | All ports public; preview URLs coming soon; an experimental inbound allowlist | Up to 16 published ports through a returned URL or an authenticated connect route | HTTPS URLs for up to 50 ports, token-protected by default; raw TCP; dedicated IPv4 or IPv6 |
| Desktop and browser | None; headless command and file access only | No hosted desktop; a guide shows running your own Chromium inside a machine | Linux desktop streamed at 60fps, Chromium and computer use built in |
| Coding agents | Run your own agent through execs; a Harbor guide for agent evals | Registry images with the Codex CLI and the Harbor eval harness, run through the command API | Claude Code, Codex and more preinstalled, with a prompt, steer and events API |
| Keeping API keys out of the sandbox | No credentials proxy documented | Cloud secrets are environment variables the guest can read | Credentials proxy for model providers and any HTTPS API; switch a credential to another account when credits run out |
| Self-hosting | No; the SDKs and CLI are open source, the platform is not | Open-source smolvm runs on your laptop or your own servers | No; hosted in the EU (Germany, Finland, France) with EU data residency |
Every feature Battleships tracks (43)
| Feature | Together Code Sandbox | smol machines | boat |
|---|---|---|---|
| Full VM (own kernel) | Yes | Yes | Yes |
| Docker inside | Not published | Yes | Yes |
| Nested virtualization | No | No | Yes |
| Root | Yes | Not published | Yes |
| Systemd | Not published | Not published | Yes |
| Desktop GUI | No | No | Yes |
| Browser | No | No | Yes |
| Computer-use API | No | No | Yes |
| SSH | No | No | Yes |
| Persistent disk | Yes | Yes | Yes |
| Pause/resume | Yes | Yes | Yes |
| Automatic snapshots | No | No | Yes |
| Fork/clone | Yes | Yes | Yes |
| Live fork (no pause) | No | Yes | Yes |
| Memory fork | Yes | Yes | No |
| Custom image (Docker or snapshot) | Yes | Yes | Yes |
| ≥24 h sessions | Yes | Yes | Yes |
| Idle auto-stop | No | Yes | No |
| Wake on request | No | Yes | No |
| HTTPS preview URLs | Yes | Yes | Yes |
| Raw TCP inbound | No | Not published | Yes |
| Public IPv4 | No | No | No |
| Egress allowlist | No | Yes | No |
| Secret proxy | No | No | Yes |
| Secret proxy for any API | No | No | Yes |
| Preinstalled agents | No | Yes | Yes |
| Agent harness API | No | No | Yes |
| MCP server | Yes | Yes | No |
| GPU | No | No | No |
| Windows | No | No | No |
| Arm64 | No | Yes | No |
| Self-hosting | No | Yes | No |
| BYOC | No | Yes | No |
| Open source | No | Yes | No |
| Scoped API keys | Not published | Not published | Yes |
| Spend limits | Yes | Yes | Yes |
| Usage per sandbox (API) | Yes | Yes | Yes |
| Audit logs | Not published | Not published | No |
| SSO | Yes | Yes | No |
| SOC 2 | Yes | No | No |
| HIPAA | No | No | No |
| EU data residency | Not published | No | Yes |
| Zero data retention | Not published | Not published | Yes |
Performance
There is no comparable CPU measurement for Together Code Sandbox or smol machines: neither was part of the StarSling hpc-sandbox-benchmarks run. boat did 26.69 runs per second on that Node.js test at 4 vCPU / 8 GB, on dedicated AMD Ryzen 9 9950X hosts. smol machines publishes a boot time under 200ms for smolvm, which is a start-time figure, not CPU speed.
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 smol machines 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 | smol machines, 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 | $25 · Standard | $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 | $93 · Standard | $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 | $1,139 · Pro | $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 | $465 · Startup | $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,389 · Startup | $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 price Code Interpreter: $0.03 per 60-minute session from prepaid credits, with a $5 minimum purchase. Code Interpreter runs only Python and keeps no disk, so it does not fit these scenarios.
smol machines: smol cloud charges a base fee for every hour a machine runs, plus the CPU and memory the guest actually uses, with a one-minute minimum and disk billed even while stopped. Pro ($20 a month) and Startup ($150 a month) are fees added on top of usage, not credit.
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, and the machine size is not published, so it fits none of the scenarios. smol machines fits all five, but caps how many machines you hold by plan: 20 on Standard, 100 on Pro and 1,000 on Startup, with stopped machines still holding a slot. On boat the limit that bites is starts: 1,000 short jobs at once need more starts per hour and per day than the $2,000 plan allows, so starts are queued.
| Scenario | Together Code Sandbox | smol machines | boat |
|---|---|---|---|
| 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 | None that bite |
| 1,000 short jobs at once |
| None that bite |
|
Which one should you use?
Use Together Code Sandbox when
you already run models on Together and want very light sandboxes you can save with their memory, 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 sandbox can be as small as a tenth of a core, with 1 to 8 GB per 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.
Use smol machines when
you want one open-source VM engine from your laptop to your own servers, live branches of a running machine, or a hosted cloud that starts large bursts of short jobs.
- Open source, from laptop to your own servers. Teams that want the same VM locally, in a hosted cloud and on their own servers get it from one open-source engine.
- Live branches with memory. Useful for RL and test fan-out: branch a running machine with its memory and processes, and pay the minimum once.
- Outbound allowlists and arm64. Teams that must limit which hosts a machine reaches, or need arm64 images, get both on smol cloud.
Where boat fits
Both Together and smol give you a VM boundary and a command API, then leave the rest to you. If your agents do real work for hours, with Docker, emulators, a browser and servers other people reach, boat gives each one a whole machine with the agent and its keys already set up.
A whole machine with /dev/kvm and SSH
Neither Together nor smol cloud exposes nested virtualization or SSH, so Android emulators and VM-based tests do not start, and SSH tools must be rewired to an exec API. boat has /dev/kvm, Docker, systemd and SSH on every machine.
A desktop and private hosting
Neither has a hosted desktop, so a computer-use agent waits until you build one. Together makes every port public, and smol caps you at 16 ports. boat streams a 60fps desktop and serves 50 token-protected HTTPS ports plus raw TCP.
Agents and keys built in
On both, keys you pass in sit inside a machine the agent controls, and you write the agent harness on exec calls yourself. boat preinstalls coding agents you drive from outside and keeps real keys in a credentials proxy for any HTTPS API.
Use boat when your agents need a whole machine for real work: Docker, emulators, SSH, a desktop and a browser, with coding agents you drive from outside and keys that never enter the sandbox. Compare it one to one: boat vs Together Code Sandbox and boat vs smol machines.
Questions people ask
Is Together Code Sandbox cheaper than smol machines?
Together's only self-serve price is Code Interpreter, and it fits none of these scenarios because sessions end after 60 minutes and keep no disk. Where it looks cheaper, like $264 against $1,139 a month for 50 agents, it is not doing the same job, and at scale it costs more: $6,000 against $1,389 for 1,000 short jobs at once.
Which is faster, Together Code Sandbox or smol machines?
Neither has a comparable CPU measurement, so this page cannot say. smol machines publishes a boot time under 200ms for smolvm, which is about start time, not CPU speed. boat did 26.69 runs per second on the StarSling Node.js test at 4 vCPU / 8 GB.
Can Together Code Sandbox or smol machines run Docker?
smol machines runs Docker inside a machine, and its guide says Docker data must live on the machine's ext4 disk. Together builds sandboxes from Docker images, but its new SDK does not document Docker inside a sandbox. boat runs Docker, systemd and root on every machine.
Can either fork a running sandbox?
smol machines branches a running machine into children that keep its memory and processes. Together has no live fork: a sandbox ends with a snapshot of its disk and memory, and you start many sandboxes from it. boat forks a running sandbox with its disk while the original keeps running.
Can I sign up for Together Code Sandbox today?
The together-sandbox SDK and CLI must be enabled for your organization, so you ask Together for access. Code Interpreter is self-serve with prepaid credits. smol cloud and boat are both open to sign up.
Is smol machines open source?
The engine, smolvm, and the smol SDK are open source and run on your own computer or servers; smol cloud, the hosted service, is paid. Together open-sources its SDKs and CLI but not the platform. boat is a hosted service only.
Try boat
Install the CLI, then run boat new.
7-day free trial
More comparisons
- boat vs Together Code Sandbox
- boat vs smol machines
- 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