boat vs Blacksmith

Blacksmith is a fast, drop-in replacement for GitHub Actions runners, where each job gets a fresh machine that is destroyed when it ends. boat gives each agent its own full VM that you start by API, keep for as long as you like and reach from outside.

Where boat stands out

A machine that stays

A boat sandbox runs until you stop it, with no session cap on paid plans. Its whole disk is saved every minute and on stop, a stopped sandbox costs nothing, and you can fork a running one. On Blacksmith the microVM is destroyed when the job ends, and only sticky disk folders carry over.

Reach in: hosting and a desktop

boat gives each sandbox HTTPS URLs on up to 50 ports, raw TCP and a dedicated IP, so an agent can run an app and you can open it. It also streams a 60fps Linux desktop with Chromium for computer use.

Agents you drive from outside, keys kept out

Claude Code, Codex and five other agents come preinstalled, and you prompt, steer and follow them through one API from your own backend. Real API keys stay outside the sandbox in a credentials proxy, and a credential can switch to another account when it 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.

Blacksmith

Blacksmith is a CI service: it runs your GitHub Actions jobs on its own faster, cheaper runners instead of GitHub's.

You change the runner label in your workflow file, and each job runs in a fresh Firecracker microVM that boots in under 3 seconds and is destroyed when the job ends. It adds Docker layer caching and sticky disks that carry chosen folders from one run to the next, plus a Testbox CLI in early beta that lets a local coding agent run commands inside a CI job. It is built for teams that want quicker, cheaper GitHub Actions, not as a general sandbox you drive by API; a separate Sandboxes product is marked coming soon.

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 rankBlacksmith: price rank
Software factory
100 at once · 4 vCPU / 8 GB · 2,200 sessions of 8 h a month
Agents that build and run whole apps need hosting, a kept disk and forks, which boat has; Blacksmith only runs the CI part of that loop.
3rd cheapest of 367
$634 a month
248th of 367, with limits
$3,607 a month
Always-on AI employees
50 machines 24/7 · 2 vCPU / 4 GB
An assistant that lives on its machine all month needs a disk that survives and a way to reach it, which boat gives and a CI job does not.
5th cheapest of 366
$657 a month
78th of 366, with limits
$5,463 a month
Code interpreter bursts
100 at once · 1 vCPU / 2 GB · 200,000 sessions of 1 min a month
186th of 345, with limits
$2,000 a month
281st of 345, with limits
$488 a month
Sandboxes for your users
300 at once · 2 vCPU / 4 GB · 30,000 sessions of 23 min a month
Giving each of your users a sandbox means starting machines from your own backend, which boat does by API and Blacksmith does only through GitHub workflows.
Cheapest of 361
$209 a month
268th of 361, with limits
$1,563 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
276th of 360, with limits
$7,488 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
354th of 364, with limits
$1,188 a month
CI runners
40 at once · 8 vCPU / 16 GB · 6,000 sessions of 12 min a month
Both fit; Blacksmith is the easy pick if you already use GitHub Actions and want faster jobs by changing one label, while boat fits CI you drive by API or that needs a machine to stay up.
4th cheapest of 377
$86 a month
78th cheapest of 377
$708 a month
24/7 dev boxes
1 machine 24/7 · 4 vCPU / 8 GB
A dev box has to keep its files and stay reachable, but a Blacksmith machine is destroyed when its job ends and keeps only sticky disk folders.
18th cheapest of 368
$26 a month
180th of 368, with limits
$207 a month
Computer-use agents
50 at once · 4 vCPU / 8 GB · 20,000 sessions of 15 min a month
Computer-use agents need a screen to look at; boat streams a 60fps Linux desktop, and Blacksmith runners are headless.
6th cheapest of 369
$200 a month
243rd of 369, with limits
$1,088 a month
Browser-use agents
50 at once · 2 vCPU / 4 GB · 30,000 sessions of 10 min a month
7th cheapest of 367
$200 a month
131st of 367, with limits
$588 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
130th of 346, with limits
$719 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
262nd of 338, with limits
$14,613 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
64th of 360, with limits
$350 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 it
macOS agents
5 at once · 4 vCPU / 8 GB · 1,000 sessions of 20 min a month
Blacksmith has macOS runners on Apple Silicon, and boat runs Linux only.
Can't run it28th of 36, with limits
$1,508 a month

Key features

FeatureboatBlacksmith
What it isA full VM per agent that you create, stop and start by APIGitHub Actions runners; each machine lives for one workflow job
IsolationFull VM with its own kernel on dedicated AMD Ryzen 9 9950X hostsFirecracker microVM with its own kernel on gaming CPUs
How a machine startsOne API call, SDK or CLI, from anywhereA GitHub Actions job; Testbox warmup dispatches a workflow
How long it livesUntil you stop it; no session cap on paid plansUntil the job ends, then the microVM is destroyed; Testbox stops after 30 idle minutes by default
What survives a stopThe whole disk, saved every minute and on stop; a stopped sandbox costs nothingOnly sticky disk folders, up to 5 per job, evicted after 7 days unused
ForkFork a running sandbox with its diskNo; every machine starts fresh from a job
Nested virtualizationYes, /dev/kvm for Android emulators and VMsYes on x64 Linux runners, not on ARM
Operating systemsLinux (x64)Ubuntu x64 and ARM, Windows Server 2025 (beta), macOS on Apple Silicon
Biggest machineUp to 16 vCPU / 32 GB on the $100 plan and aboveUp to 32 vCPU / 128 GB on Ubuntu x64
Inbound accessHTTPS URLs for up to 50 ports, token-protected by default; raw TCP; dedicated IPOpt-in debug SSH, only for the user who triggered the job; no ports or URLs
Desktop and computer use60fps Linux desktop with Chromium and computer useHeadless runners
Coding agentsSeven agents preinstalled, with a prompt, steer and events APIIts own [code]smith agent, used from Slack, GitHub or a web UI; Testbox CLI for local agents
Keeping API keys out of the machineCredentials proxy for model providers and any HTTPS API; switch a credential to another account when credits run outGitHub Actions secrets and OIDC tokens available inside the job
RegionsEU only (Germany, Finland, France)US east, US west, Amsterdam and Frankfurt
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)
FeatureboatBlacksmith
Full VM (own kernel)YesYes
Docker insideYesYes
Nested virtualizationYesYes
RootYesYes
SystemdYesNo
Desktop GUIYesNo
BrowserYesYes
Computer-use APIYesNo
SSHYesYes
Persistent diskYesYes
Pause/resumeYesNo
Automatic snapshotsYesNo
Fork/cloneYesNo
Live fork (no pause)YesNo
Memory forkNoNo
Custom image (Docker or snapshot)YesNo
≥24 h sessionsYesYes
Idle auto-stopNoYes
Wake on requestNoNo
HTTPS preview URLsYesNo
Raw TCP inboundYesNo
Public IPv4NoNo
Egress allowlistNoNo
Secret proxyYesNo
Secret proxy for any APIYesNo
Preinstalled agentsYesNo
Agent harness APIYesNo
MCP serverNoNo
GPUNoNo
WindowsNoYes
Arm64NoYes
Self-hostingNoNo
BYOCNoNo
Open sourceNoNo
Scoped API keysYesNot published
Spend limitsYesNot published
Usage per sandbox (API)YesYes
Audit logsNoNot published
SSONoNo
SOC 2NoYes
HIPAANoNo
EU data residencyYesYes
Zero data retentionYesNot published

Performance

boat26.69 runs/s
BlacksmithNot measured

There is no comparable measurement for Blacksmith: it was not part of the same CPU benchmark run. boat did 26.69 runs per second on the StarSling hpc-sandbox-benchmarks Node.js loop at 4 vCPU / 8 GB, on dedicated AMD Ryzen 9 9950X hosts. Blacksmith says its runners use fast gaming CPUs, but we have no number measured the same way to set beside it.

Node.js build-and-test loop at 4 vCPU / 8 GB, higher is better. Measured with the open hpc-sandbox-benchmarks suite. Blacksmith 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 monthBlacksmith, 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$36 · Pay-as-you-go · with limits
One agent that never stops
4 vCPU / 8 GB, 50 GB disk, running 24/7 all month
$26 · $20/mo$207 · Pay-as-you-go · 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,364 · Pay-as-you-go · 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$663 · Pay-as-you-go · 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,488 · Pay-as-you-go · 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.

Blacksmith: Blacksmith bills per minute of job time, scaled by vCPU and OS: Ubuntu x64 is $0.004 a minute for 2 vCPU, ARM $0.0025, Windows $0.008 and macOS $0.08 for 6 vCPU, with 3,000 free minutes a month. Sticky disks cost $0.50 per GB a month and a static IP $100 a month.

Limits in those scenarios

None of these scenarios fit Blacksmith cleanly, because it is a CI runner: a machine only exists while a GitHub Actions job runs, and only sticky disk folders survive between runs, so packages installed anywhere else are gone. Its prices here use the cheapest shape, ARM runners. For the 1,000 short jobs at once, boat's $2,000 plan queues starts above 90 per minute; Blacksmith's docs say it has no concurrency limit, but each start still has to be a workflow job.

ScenarioboatBlacksmith
One coding agent, workdaysNone that bite
  • different kind of product: CI runner
  • files survive a stop only in sticky disk paths: packages installed elsewhere reset
  • egress price not published
One agent that never stopsNone that bite
  • different kind of product: CI runner
  • files survive a stop only in sticky disk paths: packages installed elsewhere reset
  • egress price not published
50 agents in parallelNone that bite
  • different kind of product: CI runner
  • files survive a stop only in sticky disk paths: packages installed elsewhere reset
  • egress price not published
  • 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
  • different kind of product: CI runner
  • not confirmed: how many machines can run at once (you need 300; the typical published limit is 50)
  • egress price not published
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)
  • different kind of product: CI runner
  • not confirmed: how many machines can run at once (you need 1,000; the typical published limit is 50)
  • egress price not published

Which one should you use?

Use Blacksmith when

you want your GitHub Actions jobs to run faster and cheaper by changing one label, or need macOS or Windows runners.

  • macOS and Windows runners. Teams that build or test iOS, macOS or Windows apps can run those jobs on Apple Silicon and Windows Server runners.
  • A drop-in for GitHub Actions. If your CI already lives in GitHub Actions, you switch by changing a runner label and get caching and unlimited concurrency.
  • US regions and bigger machines. It runs in the US as well as the EU, with Linux runners up to 32 vCPU and 128 GB.

Use boat when

your agents need their own machine outside CI: one you start by API, that keeps its disk, hosts what it builds, shows a desktop and runs coding agents you drive from outside.

  • A machine that stays. An agent that installs tools, clones repos and builds up state loses all of it outside sticky disk folders when a Blacksmith job ends, so every run starts by setting the machine up again.
  • Reach in: hosting and a desktop. A Blacksmith runner has no ports or URLs, only opt-in SSH for the person who started the job, so you cannot preview what an agent built or let a computer-use agent see a screen.
  • Agents you drive from outside, keys kept out. Blacksmith machines start from GitHub workflows and its own agent is used from Slack or a web UI, so you would build the start, prompt and stream loop yourself, with real keys sitting inside the job.

Questions people ask

Is boat cheaper than Blacksmith?

For agent work, yes in four of the five scenarios on this page, for example $26 against $207 a month for one always-on machine and $317 against $2,364 a month for a fleet of 50. For 1,000 short jobs at once neither fits cleanly, and Blacksmith's estimate is lower. For plain GitHub Actions CI, Blacksmith is built for it and priced per minute of job time.

Can I run an AI agent on Blacksmith?

Partly. Its Testbox CLI, in early beta, lets a coding agent on your laptop run commands inside a CI job, and its own [code]smith agent works from Slack, GitHub or a web UI. Its Sandboxes product for coding agents is marked coming soon and has no published price.

Does Blacksmith keep files between runs?

Only in sticky disks: up to 5 folders per job, saved when the job ends and evicted after 7 days unused. The rest of the machine is destroyed after each job. boat saves a sandbox's whole disk every minute and when it stops.

Can boat run my GitHub Actions jobs?

A boat sandbox is a full Linux VM with root, so you can install the GitHub Actions self-hosted runner on it and keep caches on its disk. Blacksmith does that work for you as a managed drop-in, and also offers macOS and Windows runners.

Do both support Docker and nested virtualization?

Yes on Linux x64. Both run Docker, and both expose KVM for emulators and VMs; Blacksmith supports nested virtualization on x64 Linux runners but not on ARM, and its Windows runners cannot run Linux containers.

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.

Start a sandbox

Install the CLI, then run boat new.

7-day free trial

More comparisons