boat vs Mastra
Mastra is a framework for building AI agents in TypeScript, plus a platform that hosts them and hands out sandboxes that are destroyed when idle. boat is the machine itself: a full VM per agent with Docker, a desktop, open ports and coding agents you drive from outside.
Where boat stands out
A machine that stays
A boat sandbox stops instead of disappearing. Its disk is saved every minute and on stop, it costs nothing while stopped, and you can SSH back in later. A Mastra sandbox is destroyed after its idle timeout, and a new one boots from the last filesystem checkpoint only if you gave it a stable id.
Docker, a desktop and open ports
Every boat sandbox has root, systemd, Docker and /dev/kvm, a 60fps desktop with Chromium and computer use, and HTTPS URLs on up to 50 ports plus raw TCP. Mastra's own sandbox is headless, its docs do not mention Docker or root, and it exposes no ports.
Coding agents you drive from outside
boat ships Claude Code, Codex, OpenCode and other agents in each sandbox, and your app can prompt them, steer them mid-task and stream their events. Its credentials proxy keeps real AI keys outside the VM and can switch to another account when one runs out of credits.
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
Mastra
Mastra is an open-source TypeScript framework for building AI agents, with a hosted platform to deploy and run them.
You write agents, tools, workflows and memory with the Mastra framework, then deploy them to Mastra platform, which runs your Mastra server in a container and adds Studio, observability, hosted databases and a model gateway. For running commands, each environment gets a workspace with a file bucket and on-demand sandboxes, which are Debian Linux VMs on Railway by default or E2B. It is an app platform for agent builders, so it overlaps with boat only where your agent needs a machine to work in.
- Sandbox isolation
- Platform sandboxes are isolated Debian Linux VMs on Railway by default, or E2B; server deploys run as containers
- Sandbox lifetime
- Destroyed after an idle timeout you set; with a stable id, a new one boots from the last filesystem checkpoint
- Regions
- us (Portland, Ashburn, San Francisco) and eu (Amsterdam), fixed when the environment is created
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 | Mastra: price rank |
|---|---|---|
| Software factory 100 at once · 4 vCPU / 8 GB · 2,200 sessions of 8 h a month A software factory needs machines that keep their work and run Docker; Mastra sandboxes are destroyed when idle and its docs do not mention Docker or root. | 3rd cheapest of 367 $634 a month | 240th of 367, with limits $3,284 a month |
| Always-on AI employees 50 machines 24/7 · 2 vCPU / 4 GB Mastra is good at the agent logic itself, but an always-on assistant on its platform means the Persistent Server add-on per project, and its sandboxes still time out when idle. | 5th cheapest of 366 $657 a month | 321st of 366, with limits $8,098 a month |
| Code interpreter bursts 100 at once · 1 vCPU / 2 GB · 200,000 sessions of 1 min a month Short code runs are what Mastra sandboxes are made for: start, run a command over the exec API, and let the idle timeout clean up. | 186th of 345, with limits $2,000 a month | 305th of 345, with limits $1,069 a month |
| Sandboxes for your users 300 at once · 2 vCPU / 4 GB · 30,000 sessions of 23 min a month Mastra does not publish how many sandboxes can run at once, so 300 sandboxes for your users is unconfirmed there. | Cheapest of 361 $209 a month | 307th of 361, with limits $2,843 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 | 300th of 360, with limits $12,681 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 | 288th of 364, with limits $1,250 a month |
| CI runners 40 at once · 8 vCPU / 16 GB · 6,000 sessions of 12 min a month | 4th cheapest of 377 $86 a month | 277th of 377, with limits $439 a month |
| 24/7 dev boxes 1 machine 24/7 · 4 vCPU / 8 GB A dev box needs SSH and a disk that stays; Mastra sandboxes are reached only through an exec WebSocket and are destroyed after the idle timeout. | 18th cheapest of 368 $26 a month | 305th of 368, with limits $224 a month |
| Computer-use agents 50 at once · 4 vCPU / 8 GB · 20,000 sessions of 15 min a month Mastra's own sandbox has no desktop; computer-use tools work only through Daytona or E2B Desktop with your own account there. | 6th cheapest of 369 $200 a month | 249th of 369, with limits $1,170 a month |
| Browser-use agents 50 at once · 2 vCPU / 4 GB · 30,000 sessions of 10 min a month No browser comes with Mastra's own sandbox, so a browser agent needs another provider plugged into the framework. | 7th cheapest of 367 $200 a month | 316th of 367, with limits $1,170 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 | 322nd of 346, with limits $1,509 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 | 298th of 338, with limits $25,115 a month |
| Parallel red teaming 200 at once · 2 vCPU / 4 GB · 5,000 sessions of 30 min a month Red teaming often needs open ports and raw TCP; Mastra's sandbox docs describe no exposed ports at all. | 2nd cheapest of 360 $200 a month | 305th of 360, with limits $840 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 | Can't run it | Can't run it |
Key features
Every feature Battleships tracks (43)
| Feature | boat | Mastra |
|---|---|---|
| Full VM (own kernel) | Yes | Yes |
| Docker inside | Yes | Not published |
| Nested virtualization | Yes | Not published |
| Root | Yes | Not published |
| Systemd | Yes | Not published |
| Desktop GUI | Yes | No |
| Browser | Yes | No |
| Computer-use API | Yes | No |
| SSH | Yes | No |
| Persistent disk | Yes | Yes |
| Pause/resume | Yes | No |
| Automatic snapshots | Yes | Yes |
| Fork/clone | Yes | Yes |
| Live fork (no pause) | Yes | Yes |
| Memory fork | No | No |
| Custom image (Docker or snapshot) | Yes | Yes |
| ≥24 h sessions | Yes | Yes |
| Idle auto-stop | No | Yes |
| Wake on request | No | Yes |
| HTTPS preview URLs | Yes | Yes |
| Raw TCP inbound | Yes | Not published |
| Public IPv4 | No | No |
| Egress allowlist | No | No |
| Secret proxy | Yes | No |
| Secret proxy for any API | Yes | No |
| Preinstalled agents | Yes | No |
| Agent harness API | Yes | No |
| MCP server | No | No |
| GPU | No | No |
| Windows | No | No |
| Arm64 | No | No |
| Self-hosting | No | Yes |
| BYOC | No | Yes |
| Open source | No | Yes |
| Scoped API keys | Yes | Not published |
| Spend limits | Yes | Not published |
| Usage per sandbox (API) | Yes | No |
| Audit logs | No | Yes |
| SSO | No | Yes |
| SOC 2 | No | Yes |
| HIPAA | No | No |
| EU data residency | Yes | Yes |
| Zero data retention | Yes | Not published |
Performance
There is no comparable measurement. boat did 26.69 Node.js build-and-test runs per second at 4 vCPU / 8 GB in StarSling's public benchmark, but Mastra has no result there, and it does not publish what hardware one of its CPU hours buys.
Node.js build-and-test loop at 4 vCPU / 8 GB, higher is better. Measured with the open hpc-sandbox-benchmarks suite. Mastra 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 | Mastra, 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 | $290 · Teams · with limits |
| One agent that never stops 4 vCPU / 8 GB, 50 GB disk, running 24/7 all month | $26 · $20/mo | $414 · Teams · with limits |
| 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 | $2,230 · Teams · with limits |
| 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 | $1,395 · Teams · 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 | $2,736 · Teams · with limits |
boat: You pick a monthly plan from $20, and all of it becomes usage credit spent per second on running sandboxes. A stopped sandbox costs nothing and keeps its disk.
Mastra: Mastra bills CPU hours: Starter is free with 24 hours, then $0.35 an hour, and Teams has a $250 plan fee with 250 hours, then $0.25 an hour. It does not say how many vCPUs or how much memory a CPU hour is, so our bills count one CPU hour per sandbox hour; a 24/7 server is a $100 add-on per project, and egress, traces, memory tokens, databases and model tokens bill on top.
Limits in those scenarios
Mastra is marked as not a clean fit in every scenario because it is an app platform first and does not publish machine sizes, so its bills rest on a CPU hour of unknown size. It also publishes no limit on how many sandboxes run at once, so 300 sandboxes for your users or 1,000 jobs at once are unconfirmed there. Its sandboxes are destroyed at the idle timeout, which matters for any agent that waits. On boat, the 1,000-job burst is queued above 90 starts a minute and needs more starts per day than the $2,000 plan allows.
| Scenario | boat | Mastra |
|---|---|---|
| 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 Mastra when
you are building your own agent in TypeScript and want the framework, memory, tracing and hosting in one place, short-lived sandboxes next to it, US regions or a self-hosted setup.
- A whole framework for building agents. Useful if you are writing your own agent: Mastra gives you agents, workflows, memory, tracing and hosting in one TypeScript framework.
- Open source and self-hosted. Useful if you must run everything yourself: the framework is Apache 2.0, and Enterprise runs the platform on-prem or in your cloud.
- US regions. Useful if your users or data are in the US: Mastra runs in Portland, Ashburn and San Francisco as well as Amsterdam.
Use boat when
your agents need a real machine for hours or days: a full VM that keeps its disk, with Docker, a desktop, open ports, and coding agents you drive by API while their keys stay outside.
- A machine that stays. An agent that waits on a review past the idle timeout loses its running processes and anything written since the last checkpoint. Keeping it alive means a long timeout or the Persistent Server add-on, which covers your server, not the sandbox.
- Docker, a desktop and open ports. An agent that runs docker compose, tests a web app in a real browser or shows a preview link needs those pieces. On Mastra you get them by plugging in another provider, such as Daytona or E2B Desktop, and paying it too.
- Coding agents you drive from outside. Mastra's agent API drives agents you write in its framework. To run Claude Code or Codex you install it yourself and wire it up over ACP, and its keys sit in the sandbox as environment variables that agent code can read.
Questions people ask
Is boat cheaper than Mastra?
In the scenarios we priced, yes, but Mastra's numbers rest on a CPU hour of unpublished size. One coding agent on workdays comes to $20 on boat and $290 on Mastra Teams, one agent running all month to $26 versus $414, and 50 agents in parallel to $317 versus $2,230. For 1,000 short jobs at once it is $2,000 against $2,736, and neither fits cleanly.
Is Mastra a sandbox?
Not mainly. Mastra is a TypeScript framework for building agents, and its platform hosts them. Each environment also gets a workspace with on-demand sandboxes, which are Debian Linux VMs on Railway by default, destroyed when idle.
Can a Mastra agent use another sandbox?
Yes. The framework supports many sandbox backends, including Daytona, E2B, Modal, Vercel and Docker, and you can add one by implementing its sandbox provider interface. Each backend has its own persistence, networking and limits.
Do Mastra sandboxes keep their files?
Only through checkpoints. If you pass a stable id, a new sandbox boots from the last filesystem checkpoint of the old one, but running processes and writes after that checkpoint are lost. A boat sandbox stops instead, keeps its disk and costs nothing while stopped.
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. Mastra has a us zone (Portland, Ashburn, San Francisco) and an eu zone (Amsterdam), and new environments default to the US.
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. Mastra's trust center says it received its SOC 2 Type II report in October 2025.
Start a sandbox
Install the CLI, then run boat new.
7-day free trial