boat vs Runpod

Runpod is a GPU cloud: you rent containers with Nvidia or AMD cards, or CPU-only pods, and pay by the second. boat is a sandbox for agents, where every machine is a full VM with Docker, a whole disk that survives stops, and coding agents built in.

Where boat stands out

A full VM with Docker inside

Every boat sandbox is a VM with its own kernel, root, systemd, Docker and /dev/kvm. A Runpod pod is itself a container: Runpod's docs say you cannot start your own Docker or use Docker Compose on a pod, and containers share the host kernel.

The whole disk survives, saved every minute

boat keeps the full disk of a stopped sandbox, snapshots it every minute and on stop, and can fork a running sandbox. On Runpod a stop keeps only /workspace and clears the rest of the container disk, and there is no snapshot or fork for pods.

Coding agents and a keys proxy built in

boat ships Claude Code, Codex, OpenCode and other agents inside each sandbox, and you drive them from outside with a prompt, steer and events API. Its credentials proxy keeps real AI keys out of the sandbox. Runpod passes secrets into a pod as environment variables, and its agent tools manage Runpod from your own laptop.

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.

Runpod

Runpod is a GPU cloud for AI work: you rent GPU or CPU pods by the second, run serverless endpoints, or book multi-node GPU clusters.

A Runpod Pod is a container started from a Docker image, with a GPU or CPU-only, SSH, a web terminal and Jupyter. Serverless endpoints run your handler in workers that scale to zero and start on a request, and Instant Clusters join 2 to 8 nodes of 8 GPUs each. It is built for teams that train, fine-tune and serve models, not as a sandbox API for agents, so this page compares the parts that overlap: CPU pods as machines for agent work.

Founded
2022

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 workloadboat: price rankRunpod: price rank
Software factory
100 at once · 4 vCPU / 8 GB · 2,200 sessions of 8 h a month
A Runpod pod cannot run Docker or Docker Compose inside, and only /workspace survives a stop, so a coding agent that builds and tests full apps is a compromise there.
3rd cheapest of 367
$634 a month
203rd of 367, with limits
$2,362 a month
Always-on AI employees
50 machines 24/7 · 2 vCPU / 4 GB
5th cheapest of 366
$657 a month
211th of 366, with limits
$2,290 a month
Code interpreter bursts
100 at once · 1 vCPU / 2 GB · 200,000 sessions of 1 min a month
Runpod is the cheaper fit for short code runs, because Serverless workers scale to zero and start on a request, while boat's start limits make big bursts a compromise.
186th of 345, with limits
$2,000 a month
227th of 345, with limits
$135 a month
Sandboxes for your users
300 at once · 2 vCPU / 4 GB · 30,000 sessions of 23 min a month
Runpod has no sandbox API for your users and does not publish how many pods can run at once, so 300 sandboxes at once is not confirmed there.
Cheapest of 361
$209 a month
83rd of 361, with limits
$733 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
53rd of 360, with limits
$3,068 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
127th of 364, with limits
$614 a month
CI runners
40 at once · 8 vCPU / 16 GB · 6,000 sessions of 12 min a month
Both fit for plain build and test jobs; jobs that start Docker containers need boat, since Runpod pods cannot run Docker inside.
4th cheapest of 377
$86 a month
32nd cheapest of 377
$301 a month
24/7 dev boxes
1 machine 24/7 · 4 vCPU / 8 GB
On a Runpod pod, anything you install outside /workspace is gone after a stop; boat keeps the whole disk and snapshots it every minute.
18th cheapest of 368
$26 a month
161st of 368, with limits
$93 a month
Computer-use agents
50 at once · 4 vCPU / 8 GB · 20,000 sessions of 15 min a month
Runpod pods have a terminal, SSH and Jupyter but no desktop; boat streams a 60fps desktop with Chromium and computer use.
6th cheapest of 369
$200 a month
189th of 369, with limits
$614 a month
Browser-use agents
50 at once · 2 vCPU / 4 GB · 30,000 sessions of 10 min a month
Browser agents need a desktop or a browser product; Runpod offers neither, so you would install and run your own headless browser in a container.
7th cheapest of 367
$200 a month
224th of 367, with limits
$307 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
225th of 346, with limits
$202 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
138th of 338, with limits
$4,035 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
180th of 360, with limits
$161 a month
GPU eval jobs
10 at once · 8 vCPU / 32 GB · 500 sessions of 30 min a month
Only Runpod fits: it rents GPUs from RTX cards to B300 by the second, and boat has no GPUs.
Can't run it13th cheapest of 98
$1,001 a month
macOS agents
5 at once · 4 vCPU / 8 GB · 1,000 sessions of 20 min a month
Can't run itCan't run it

Key features

FeatureboatRunpod
IsolationEvery sandbox is a full VM with its own kernelContainers that share the host kernel
Docker insideDocker, Docker Compose, root and systemd on every machineRoot in the container; no Docker or Docker Compose inside a pod
Nested virtualization/dev/kvm on every machine, so emulators and VMs run insideNone documented; pods are containers
Files after a stopThe whole disk is kept, with snapshots every minute and on stop; a stopped sandbox costs nothingOnly /workspace (volume disk) is kept and billed while stopped; the container disk is cleared
ForkFork a running sandbox into a new one with the same diskNo pod fork or snapshot; templates save the image and settings only
Desktop and computer use60fps desktop and Chromium, computer use and browser control, embeddable streamWeb terminal, SSH, JupyterLab and remote VS Code or Cursor; no desktop
Reaching the machineHTTPS URLs for up to 50 ports, token-protected; raw TCP; dedicated IPv6 or IPv4Up to 10 HTTP ports on a public proxy URL with no built-in auth; TCP ports on a public IP; no UDP
Keeping keys out of the sandboxAI credentials proxy for model providers and any HTTPS API you register; switch a credential to another account when credits run outSecrets are stored encrypted and passed into the pod as environment variables
Coding agentsClaude Code, Codex, OpenCode and more preinstalled, with a prompt, steer and events APIAn MCP server and skills let your own local agent manage Runpod; nothing runs an agent inside a pod for you
GPUsNoneDozens of Nvidia and AMD GPU types, from RTX A4000 to B300 and MI300X, plus multi-node clusters
Scale to zeroSandboxes stop and resume by API; no start on an incoming requestServerless workers scale to zero and start when a request arrives
Shared storageEach sandbox has its own disk; share files by fork or your own storageNetwork volumes that several pods can mount at once, plus an S3-compatible API
RegionsEU only: Germany, Finland, France24 documented data centers in the US, Canada, Europe and Australia; says 30+ regions
Compliance and transparencySOC 2 is in progress. We're open about where we stand: live status and data retention policy.SOC 2
Every feature Battleships tracks (43)
FeatureboatRunpod
Full VM (own kernel)YesNo
Docker insideYesNo
Nested virtualizationYesNo
RootYesYes
SystemdYesNo
Desktop GUIYesNo
BrowserYesNo
Computer-use APIYesNo
SSHYesYes
Persistent diskYesYes
Pause/resumeYesYes
Automatic snapshotsYesNo
Fork/cloneYesNo
Live fork (no pause)YesNo
Memory forkNoNo
Custom image (Docker or snapshot)YesYes
≥24 h sessionsYesYes
Idle auto-stopNoNo
Wake on requestNoYes
HTTPS preview URLsYesYes
Raw TCP inboundYesYes
Public IPv4NoYes
Egress allowlistNoNo
Secret proxyYesNo
Secret proxy for any APIYesNo
Preinstalled agentsYesNo
Agent harness APIYesNo
MCP serverNoYes
GPUNoYes
WindowsNoNo
Arm64NoNo
Self-hostingNoNo
BYOCNoNo
Open sourceNoNo
Scoped API keysYesYes
Spend limitsYesYes
Usage per sandbox (API)YesNo
Audit logsNoYes
SSONoYes
SOC 2NoYes
HIPAANoYes
EU data residencyYesYes
Zero data retentionYesNot published

Performance

boat26.69 runs/s
RunpodNot measured

There is no comparable measurement for Runpod: it is not in the public sandbox benchmark runs we use. boat did 26.69 Node.js build-and-test runs per second at 4 vCPU / 8 GB in StarSling's run of 2026-09-29, on dedicated AMD Ryzen 9 9950X (Zen 5) hosts.

Node.js build-and-test loop at 4 vCPU / 8 GB, higher is better. Measured with the open hpc-sandbox-benchmarks suite. Runpod 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.

Scenarioboat, a monthRunpod, 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$26 · Pay-as-you-go (prepaid credits) · with limits
One agent that never stops
4 vCPU / 8 GB, 50 GB disk, running 24/7 all month
$26 · $20/mo$93 · Pay-as-you-go (prepaid credits) · 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$1,156 · Pay-as-you-go (prepaid credits) · 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$307 · Pay-as-you-go (prepaid credits) · 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$614 · Pay-as-you-go (prepaid credits) · 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 whole disk.

Runpod: Runpod bills a running pod per second from a prepaid balance, with disk on top; a stopped pod keeps billing its /workspace volume at double the running rate. CPU pods are not on the pricing page; the rates here come from Runpod's public CPU catalogue, and a new pod needs at least one hour of credit to start.

Limits in those scenarios

Runpod does not publish how many pods can run at once; it limits spend instead, at $80 an hour by default, growing with account history. So 50 agents, 300 user sandboxes and 1,000 short jobs at once are not confirmed there, and pods never stop on their own when idle. On boat the limit is a sandbox count (100 to 2,000 by plan) plus starts per minute, so the 1,000-job burst gets queued and needs more starts per day than the $2,000 plan allows. Every Runpod scenario also hits the /workspace rule: packages installed anywhere else are gone after a stop.

ScenarioboatRunpod
One coding agent, workdaysNone that bite
  • files survive a stop only in /workspace: packages installed elsewhere reset
One agent that never stopsNone that bite
  • files survive a stop only in /workspace: packages installed elsewhere reset
50 agents in parallelNone that bite
  • missing Docker inside
  • files survive a stop only in /workspace: packages installed elsewhere reset
  • how many machines can run at once: limit not published, probably fine at 50 (the typical published limit is 50)
Sandboxes for your usersNone that bite
  • not confirmed: how many machines can run at once (you need 300; the typical published limit is 50)
1,000 short jobs at once
  • 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)
  • not confirmed: how many machines can run at once (you need 1,000; the typical published limit is 50)

Which one should you use?

Use Runpod when

the work needs GPUs, multi-node clusters, or serverless workers that start on a request.

  • GPUs, from one card to a cluster. Useful if your agents train, fine-tune or serve models: Runpod rents dozens of GPU types by the second, up to multi-node clusters.
  • Serverless that starts on a request. Useful for spiky work: Runpod Serverless workers scale to zero and start when a request comes in, billed per second.
  • Regions outside the EU and shared volumes. Useful if your data must stay in the US, Canada or Australia, or many machines need to read one shared volume.

Use boat when

your agents write and run code for hours: installs, Docker, builds, tests and emulators on a full VM whose whole disk survives, with a desktop and coding agents built in.

  • A full VM with Docker inside. Coding agents run docker compose up, test containers and Android emulators all the time. On a Runpod pod those steps fail, so the agent needs a second machine or the task changes.
  • The whole disk survives, saved every minute. An agent that installed packages with apt or set up a database outside /workspace finds them gone after a Runpod stop. You can bake everything into an image, but then every change means a rebuild.
  • Coding agents and a keys proxy built in. Code an agent runs can read any environment variable and send it away. On Runpod you also write and maintain the code that starts, prompts and watches each agent yourself.

Questions people ask

Is boat cheaper than Runpod?

For CPU agent work in our scenarios, yes: one coding agent on workdays comes to $20 a month on boat and $26 on Runpod, one agent running all month to $26 versus $93, and 50 agents in parallel to $317 versus $1,156. For 1,000 short jobs at once, Runpod comes to $614 against $2,000 on boat, and neither is confirmed to fit.

Can I run Docker inside a Runpod pod?

No. Runpod's docs say it runs Docker for you, so you cannot start your own Docker instance or use Docker Compose on a pod. On boat every sandbox is a VM with Docker, Docker Compose and /dev/kvm ready.

Does boat have GPUs like Runpod?

No. boat runs Linux VMs on dedicated AMD Ryzen 9 9950X hosts and has no GPUs. If your agents need to train, fine-tune or serve models, Runpod is the right place for that part of the work.

What happens to my files when a Runpod pod stops?

Files in /workspace are kept, and you keep paying for that volume while the pod is stopped. Everything else on the container disk is cleared, and a restarted pod may get zero GPUs if the host is full. On boat the whole disk is kept, snapshotted every minute, and a stopped sandbox costs nothing.

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. Runpod has data centers in the US, Canada, Europe and Australia and says it runs in 30+ regions.

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. Runpod says it has completed SOC 2 Type II and SOC 3 examinations and is ISO/IEC 27001:2022 certified.

Start a sandbox

Install the CLI, then run boat new.

7-day free trial

More comparisons