boat vs Tenki
Tenki and boat both give each agent a full Linux VM with root and Docker. boat builds more of the agent's workplace in: a desktop and browser, coding agents you drive from outside, and a machine you can host on, while Tenki pauses and forks sandboxes with their memory and adds CI runners.
Where boat stands out
A desktop and browser ready to use
Every boat sandbox can show a 60fps Linux desktop with Chromium, which an agent controls through computer use and you can embed in your app. On Tenki there is no managed desktop: its guide has you install Chrome, a virtual display and noVNC, then save them in a snapshot.
Agents you drive from outside
Claude Code, Codex and five other agents come preinstalled, and you prompt, steer and follow them through one API. Tenki also preinstalls Claude Code, Codex and opencode, but its SDK docs say there is no API to drive an agent once the session runs. boat can also switch a credential to another account when one runs out of credits.
A machine you can host on
A boat sandbox serves HTTPS on up to 50 ports, token-protected by default, and also takes raw TCP on its own IPv4 or IPv6 address. Tenki gives HTTPS preview URLs, 20 per workspace, and SSH through its gateway, with no public IP.
The companies and products
boat
boat.dev runs sandboxes for AI agents: each one is a full Linux VM with its own kernel.
You start a machine with one command or one API call, then SSH in, run Docker, open a desktop, or let a built-in agent (Claude Code, Codex, OpenCode and others) work in it. The disk stays between sessions, and a stopped sandbox costs nothing.
- Isolation
- Full VM per sandbox, own kernel
- Regions
- EU: Germany, Finland, France
Tenki
Tenki is a cloud for software teams and AI coding agents: GitHub Actions runners, an AI code reviewer, and Tenki Sandbox, disposable Linux VMs for agents.
A Tenki Sandbox session is a full Ubuntu 24.04 VM with its own kernel, passwordless sudo, Docker and systemd, started in under a second from a disk mounted out of Tenki's own Ceph cluster. You can pause it with memory and files kept, snapshot disk and memory to fork new sessions, and drive it from TypeScript, Python and Go SDKs, a CLI or an MCP server. It runs on hardware Tenki owns, and it is built for teams that already use Tenki for CI or want VM sandboxes for coding agents.
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. “3rd cheapest of 367” means 2 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 | boat: price rank | Tenki: price rank |
|---|---|---|
| Software factory 100 at once · 4 vCPU / 8 GB · 2,200 sessions of 8 h a month Both give the agent a real VM with Docker; boat adds a desktop, nested virtualization and URLs for up to 50 ports, so a full app with its browser tests runs in one place. | 3rd cheapest of 367 $634 a month | 306th of 367, with limits $6,058 a month |
| Always-on AI employees 50 machines 24/7 · 2 vCPU / 4 GB An assistant that lives on its machine all month runs fine on both; boat gives it a desktop, its own IP and an API to steer the agent inside. | 5th cheapest of 366 $657 a month | 298th of 366, with limits $6,254 a month |
| Code interpreter bursts 100 at once · 1 vCPU / 2 GB · 200,000 sessions of 1 min a month Tenki fits short code runs better: sessions start in under a second and pause with their memory, while boat's start limits make big bursts a compromise. | 186th of 345, with limits $2,000 a month | 38th cheapest of 345 $426 a month |
| Sandboxes for your users 300 at once · 2 vCPU / 4 GB · 30,000 sessions of 23 min a month 300 sandboxes for your users at once is more than the 100 concurrent sessions Tenki's Team plan allows, so it needs Enterprise there. | Cheapest of 361 $209 a month | 156th of 361, with limits $2,101 a month |
| RL rollouts 1,000 at once · 2 vCPU / 4 GB · 1,000,000 sessions of 3 min a month | 34th of 360, with limits $2,000 a month | 138th of 360, with limits $8,457 a month |
| Agent evals 250 at once · 4 vCPU / 8 GB · 15,000 sessions of 20 min a month | 10th cheapest of 364 $200 a month | 183rd of 364, with limits $1,814 a month |
| CI runners 40 at once · 8 vCPU / 16 GB · 6,000 sessions of 12 min a month Both fit; Tenki also sells GitHub Actions runners as their own product, while boat runs CI jobs inside a sandbox with /dev/kvm for emulators. | 4th cheapest of 377 $86 a month | 97th cheapest of 377 $955 a month |
| 24/7 dev boxes 1 machine 24/7 · 4 vCPU / 8 GB | 18th cheapest of 368 $26 a month | 105th cheapest of 368 $245 a month |
| Computer-use agents 50 at once · 4 vCPU / 8 GB · 20,000 sessions of 15 min a month boat ships a 60fps desktop with Chromium and computer use; on Tenki you install Chrome, a virtual display and noVNC yourself from a guide. | 6th cheapest of 369 $200 a month | 296th of 369, with limits $1,814 a month |
| Browser-use agents 50 at once · 2 vCPU / 4 GB · 30,000 sessions of 10 min a month boat has Chromium ready on a desktop; Tenki's docs show how to install Chrome or connect to a third-party browser service over CDP. | 7th cheapest of 367 $200 a month | 307th of 367, with limits $981 a month |
| Scraping & bots (startup scale) 50 at once · 1 vCPU / 2 GB · 100,000 sessions of 3 min a month | 6th cheapest of 346 $90 a month | 285th of 346, with limits $564 a month |
| Mass scraping & bots (undetectable) 1,000 at once · 1 vCPU / 2 GB · 3,000,000 sessions of 2 min a month | 71st of 338, with limits $1,800 a month | 219th of 338, with limits $8,430 a month |
| Parallel red teaming 200 at once · 2 vCPU / 4 GB · 5,000 sessions of 30 min a month | 2nd cheapest of 360 $200 a month | 286th of 360, with limits $572 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 |
| macOS agents 5 at once · 4 vCPU / 8 GB · 1,000 sessions of 20 min a month Only Tenki has macOS, and only as CI runners for GitHub Actions, not as interactive sandboxes. | Can't run it | 30th of 36, with limits $1,600 a month |
Key features
| Feature | boat | Tenki |
|---|---|---|
| Isolation | Full VM with its own kernel on dedicated AMD Ryzen 9 9950X hosts | Hardware-isolated VM with its own kernel, on hardware Tenki owns |
| Root, Docker and nested virtualization | Root, systemd, Docker and /dev/kvm for emulators and VMs | Passwordless sudo, Docker and systemd; nested virtualization is not documented |
| Biggest machine | Up to 16 vCPU / 32 GB on the $100 plan and above | 4 cores / 8 GB on Starter, 16 cores / 64 GB on Team |
| Session length | No cap on paid plans; you set the time to live | Sticky sessions run until you end them; others pause at a max duration you set |
| Pause and resume | Disk saved every minute and on stop; resume boots the machine again | Pause keeps memory and files; resume with processes still running |
| Fork | Fork a running sandbox with its disk | Snapshot disk and memory, then start many sessions from it; the source pauses briefly |
| Desktop and computer use | 60fps desktop with Chromium and computer use, embeddable stream | No managed desktop; a guide installs Chrome, Xvfb and noVNC yourself |
| Coding agents | Seven agents preinstalled, with a prompt, steer and events API | Claude Code, Codex and opencode preinstalled, plus images for Grok, Pi, Droid and Amp; run through exec, no API to drive them |
| Inbound access | HTTPS URLs for up to 50 ports, token-protected by default; raw TCP; dedicated IPv4 or IPv6 | HTTPS preview URLs, 20 per workspace; SSH through a gateway; no public IP or raw TCP |
| Outbound rules | Open internet, no provider-side allowlist | Allowlists by domain or IPv4 CIDR, plus HTTP rules by domain, method and path |
| Keeping API keys out of the sandbox | Credentials proxy for model providers and any HTTPS API; switch a credential to another account when credits run out | Secret policies swap a placeholder for the real key in outgoing HTTPS headers, query strings or JSON |
| Custom environments | Named snapshots (templates), shareable by code | Typed templates built from a base image, a Git repo and build steps; no Dockerfiles |
| Regions | EU only (Germany, Finland, France), with EU data residency | US |
| macOS | None | macOS runners on Apple M4 Pro, for GitHub Actions jobs only |
| Compliance and transparency | SOC 2 is in progress. We're open about where we stand: live status and data retention policy. | SOC 2 |
Every feature Battleships tracks (43)
| Feature | boat | Tenki |
|---|---|---|
| Full VM (own kernel) | Yes | Yes |
| Docker inside | Yes | Yes |
| Nested virtualization | Yes | Not published |
| Root | Yes | Yes |
| Systemd | Yes | Yes |
| Desktop GUI | Yes | No |
| Browser | Yes | No |
| Computer-use API | Yes | No |
| SSH | Yes | Yes |
| Persistent disk | Yes | Yes |
| Pause/resume | Yes | Yes |
| Automatic snapshots | Yes | Yes |
| Fork/clone | Yes | Yes |
| Live fork (no pause) | Yes | No |
| Memory fork | No | Yes |
| Custom image (Docker or snapshot) | Yes | Yes |
| ≥24 h sessions | Yes | Yes |
| Idle auto-stop | No | No |
| Wake on request | No | No |
| HTTPS preview URLs | Yes | Yes |
| Raw TCP inbound | Yes | No |
| Public IPv4 | No | No |
| Egress allowlist | No | Yes |
| Secret proxy | Yes | Yes |
| Secret proxy for any API | Yes | Yes |
| Preinstalled agents | Yes | Yes |
| Agent harness API | Yes | No |
| MCP server | No | Yes |
| GPU | No | No |
| Windows | No | No |
| Arm64 | No | Yes |
| Self-hosting | No | No |
| BYOC | No | No |
| Open source | No | No |
| Scoped API keys | Yes | Not published |
| Spend limits | Yes | Yes |
| Usage per sandbox (API) | Yes | No |
| Audit logs | No | Not published |
| SSO | No | No |
| SOC 2 | No | Yes |
| HIPAA | No | No |
| EU data residency | Yes | No |
| Zero data retention | Yes | Not published |
Performance
There is no comparable CPU measurement for Tenki: it has no result in the hpc-sandbox-benchmarks run where boat did 26.69 Node.js build-and-test runs per second at 4 vCPU / 8 GB. ComputeSDK's separate test measured Tenki's start time, a median of about 0.7 seconds to a ready sandbox, which says nothing about CPU speed.
Node.js build-and-test loop at 4 vCPU / 8 GB, higher is better. Measured with the open hpc-sandbox-benchmarks suite. Tenki has 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 | boat, a month | Tenki, 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 | $20 · $20/mo | $59 · Starter |
| One agent that never stops 4 vCPU / 8 GB, 50 GB disk, running 24/7 all month | $26 · $20/mo | $245 · Starter |
| 50 agents in parallel 50 machines of 4 vCPU / 8 GB at once, 8-hour sessions, 1,100 sessions a month, Docker inside | $317 · $20/mo × 3 seats | $3,079 · Team (monthly) |
| Sandboxes for your users 2 vCPU / 4 GB, 30,000 sessions of 10 minutes a month, up to 300 at once | $200 · $100/mo × 2 seats | $981 · Team (monthly) · with limits |
| 1,000 short jobs at once 2 vCPU / 4 GB, 1,000 at once, 3 minutes each, 200,000 jobs a month | $2,000 · $2000/mo · with limits | $1,811 · Team (monthly) · with limits |
boat: Plans start at $20 a month, and the whole fee is usage credit. You pay per second while a sandbox runs, and a stopped sandbox costs nothing and keeps its disk.
Tenki: Tenki bills per second for the vCPU and RAM you set while a session runs, idle or not, plus disk beyond 5 GiB; paused state and snapshots draw on a storage pool at $0.20 per GiB a month. Starter has no fee and up to $100 of one-time credit, and Team costs $250 a month (or $200 billed yearly) with $100 of credit.
Limits in those scenarios
Tenki counts concurrent sessions per workspace: 5 on Starter and 100 on Team, shared with its CI runner jobs. That is why 300 sandboxes for your users and 1,000 short jobs at once do not fit without Enterprise. Tenki does not pause a sandbox for being idle, so an agent left running bills until you pause it, and its egress price is not published. boat has no session cap, but at 1,000 short jobs at once the $2,000 plan queues starts and needs more starts per day than it allows.
| Scenario | boat | Tenki |
|---|---|---|
| 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 Tenki when
you want sandboxes that pause and fork with their memory, outbound rules by path, or GitHub Actions runners (including macOS) from the same account in the US.
- Pause and fork with memory. Useful for jobs that sleep between steps: a paused Tenki session comes back with its processes still running.
- Outbound rules down to the path. Useful when agents must reach only a few APIs: Tenki can allow requests by domain, method and path.
- CI runners, macOS and the US. Useful if you also want GitHub Actions runners, including macOS on Apple M4 Pro, from the same account in the US.
Use boat when
your agents do real work for hours: builds, Docker and emulators, a desktop and browser, apps served on many ports, and coding agents you steer through an API.
- A desktop and browser ready to use. A browser or computer-use agent on Tenki first needs you to build and maintain that display stack yourself, and keep it working through every Chrome and Ubuntu update.
- Agents you drive from outside. On Tenki you write and maintain the code that starts each agent with exec, feeds it prompts and parses its output. When an account runs out of credits, the agent stops until you swap the key.
- A machine you can host on. An agent building a full app needs its web server, API, database and websocket ports reachable at once. With 20 preview URLs for the whole workspace and no raw TCP, a few busy sessions use them all up.
Questions people ask
Is boat cheaper than Tenki?
In the scenarios on this page, yes. One coding agent on workdays comes to $20 a month on boat and $59 on Tenki, one agent running all month to $26 versus $245, and 50 agents in parallel to $317 versus $3,079. For 1,000 short jobs at once, neither fits without higher limits.
Are Tenki sandboxes VMs or containers?
VMs. Each Tenki session is a hardware-isolated Linux VM with its own kernel, sudo, Docker and systemd. boat sandboxes are full VMs too, on dedicated AMD Ryzen 9 9950X hosts.
Can Tenki pause a sandbox with its memory?
Yes. A paused Tenki session keeps memory and files and resumes with its processes running, though open connections close and /tmp is cleared. boat saves the disk every minute and on stop, and a resumed sandbox boots again.
Does Tenki have a desktop for computer use?
Not a managed one. Tenki's docs show how to install Chrome, a virtual display and noVNC in a session and save them in a snapshot. boat has a 60fps desktop with Chromium and computer use built in.
Where does my data run?
boat runs only in the EU (Germany, Finland and France), with EU data residency and a zero data retention option. Tenki documents only a US region.
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. Tenki operates under the SOC 2 Type II program of its parent company, Luxor Technology.
Start a sandbox
Install the CLI, then run boat new.
7-day free trial