boat vs Omnara

Omnara is an open-source platform that runs agents you configure and sends their commands to machines from Blaxel and eight other providers. boat is the machine itself: a full VM with Docker, a desktop, public ports and Claude Code or Codex ready to drive from outside.

Where boat stands out

A full VM with a real disk

On boat every sandbox has its own kernel, with root, systemd, Docker and /dev/kvm ready, and a disk that persists with snapshots every minute. Omnara's default machines are Blaxel microVMs whose files live in memory, and Docker inside them is not documented. A pool machine is deleted after its idle period and comes back from the base image.

Ports you can open

boat gives each sandbox HTTPS URLs on up to 50 ports, raw TCP, SSH and its own IP. Omnara's machines only connect out to its control plane, which is good for safety, but nothing can reach a server running on them. You see results only through the agent's tool calls.

Claude Code and Codex built in

boat ships Claude Code, Codex, pi, OpenCode and other agents inside each sandbox, and you drive them from outside with a prompt, steer and events API. Omnara runs its own agent loop, so you write the instructions and tools for each agent yourself. boat's credentials proxy also keeps real API keys out of the sandbox 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.

Omnara

Omnara is an open-source managed agent platform, a self-hostable alternative to Claude Managed Agents and OpenAI's Agents API.

You write an agent as a small YAML config: a model, tools, approvals and machine sources. Omnara runs the agent loop in its control plane and sends tool calls like run_command to machines, which are either computers you connect with its omnarad daemon or sandboxes it creates from a pool on Blaxel, Daytona, Modal, Unikraft Cloud or five other providers. It is built for teams shipping Slack bots, code review agents and agents inside their own product, and it is a different kind of product from boat: the two overlap where an agent needs a machine to work on.

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 rankOmnara: price rank
Software factory
100 at once · 4 vCPU / 8 GB · 2,200 sessions of 8 h a month
On Omnara's default pool, files live in memory and Docker inside the machine is not documented; boat gives each agent a full VM with a disk, Docker and public ports for the app it builds.
3rd cheapest of 367
$634 a month
262nd of 367, with limits
$4,044 a month
Always-on AI employees
50 machines 24/7 · 2 vCPU / 4 GB
Omnara is strong at the agent side (Slack, Discord, approvals, cron triggers), but each always-on machine is billed for its memory every hour it is online.
5th cheapest of 366
$657 a month
20th cheapest of 366
$5,198 a month
Code interpreter bursts
100 at once · 1 vCPU / 2 GB · 200,000 sessions of 1 min a month
Omnara fits short bursts better: its machines sleep when idle and wake in milliseconds on Blaxel, while boat's start limits make big bursts a compromise.
186th of 345, with limits
$2,000 a month
129th of 345, with limits
$271 a month
Sandboxes for your users
300 at once · 2 vCPU / 4 GB · 30,000 sessions of 23 min a month
Omnara does not publish how many hosted machines an organization can run at once, so 300 sandboxes for your users is not confirmed there.
Cheapest of 361
$209 a month
142nd of 361, with limits
$1,725 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
126th of 360, with limits
$8,234 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
162nd of 364, with limits
$1,325 a month
CI runners
40 at once · 8 vCPU / 16 GB · 6,000 sessions of 12 min a month
Both fit; Omnara needs you to bring a pool with the CPU and image your build wants, while boat runs Docker and 8 vCPU from the $20 plan.
4th cheapest of 377
$86 a month
85th cheapest of 377
$795 a month
24/7 dev boxes
1 machine 24/7 · 4 vCPU / 8 GB
A dev box needs a way in; Omnara machines only dial out to the control plane, with no SSH or open ports, while boat gives you SSH and HTTPS URLs.
18th cheapest of 368
$26 a month
300th of 368, with limits
$208 a month
Computer-use agents
50 at once · 4 vCPU / 8 GB · 20,000 sessions of 15 min a month
Omnara has no desktop or live screen; boat streams a 60fps desktop with Chromium and computer use.
6th cheapest of 369
$200 a month
254th of 369, with limits
$1,192 a month
Browser-use agents
50 at once · 2 vCPU / 4 GB · 30,000 sessions of 10 min a month
Omnara's default machines include Playwright with headless Chromium, so browser agents work, but there is no live view of the browser.
7th cheapest of 367
$200 a month
92nd of 367, with limits
$596 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
39th cheapest of 346
$404 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
203rd of 338, with limits
$8,073 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
35th of 360, with limits
$397 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
Can't run itCan't run it

Key features

FeatureboatOmnara
What you getA machine for your agent: a full VM you control by API, SSH or a coding agentAn agent platform: model, tools, approvals and history, plus machines borrowed from sandbox providers
IsolationEvery sandbox is a full VM with its own kernelDefault pool: Blaxel microVM with its own kernel; other pools range from containers (Daytona, Modal) to full VMs
Docker and nested virtualizationDocker, root, systemd and /dev/kvm on every machineRoot on Ubuntu 24.04 in the default pool; Docker and /dev/kvm are not documented there (Freestyle pools offer nested virtualization)
DiskA real disk that persists, with snapshots every minute and on stopDefault Blaxel machines keep files in memory; a pool machine is deleted after its idle period and replaced from the base image
Sleep and wakeStop and resume from disk; a stopped sandbox costs nothingIdle machines sleep and wake on the next tool call with memory and running processes kept (about 25 ms on Blaxel)
ForkFork a running sandbox into new onescreate_machine starts a fresh machine from the pool image; no clone of a running one
Reaching the machineHTTPS URLs for up to 50 ports, token-protected; raw TCP; SSH; dedicated IPNo inbound path: the daemon only connects out to the control plane, no SSH or open ports
Desktop and browser60fps desktop and Chromium, computer use and browser control, embeddable streamPlaywright with headless Chromium preinstalled; no desktop or live view
Coding agentsClaude Code, Codex, OpenCode and more preinstalled, with a prompt, steer and events APIIts own agent loop on any model you configure, with a REST API, SDK, CLI, event stream and approvals
Keeping keys out of the machineAI credentials proxy for model providers and any HTTPS API you register; switch a credential to another account when credits run outModel keys stay in the control plane; secrets the machine needs are injected as environment variables
Chat apps, schedules and approvalsNot built in; you wire them up to the agent API yourselfSlack, Discord and GitHub triggers, cron triggers, webhooks and tool approvals built in
Self-hosting and your own machinesHosted onlyApache 2.0 control plane you can self-host; connect laptops, VPC servers or GPU boxes with the omnarad daemon
RegionsEU only: Germany, Finland, FranceDefault pool region not published; Blaxel pools offer Oregon, Virginia, London and Frankfurt
Compliance and transparencySOC 2 is in progress. We're open about where we stand: live status and data retention policy.No SOC 2 report published
Every feature Battleships tracks (43)
FeatureboatOmnara
Full VM (own kernel)YesYes
Docker insideYesNot published
Nested virtualizationYesNot published
RootYesYes
SystemdYesNot published
Desktop GUIYesNo
BrowserYesYes
Computer-use APIYesNo
SSHYesNo
Persistent diskYesYes
Pause/resumeYesYes
Automatic snapshotsYesYes
Fork/cloneYesNo
Live fork (no pause)YesNo
Memory forkNoNo
Custom image (Docker or snapshot)YesYes
≥24 h sessionsYesYes
Idle auto-stopNoYes
Wake on requestNoYes
HTTPS preview URLsYesNo
Raw TCP inboundYesNot published
Public IPv4NoNo
Egress allowlistNoNo
Secret proxyYesNo
Secret proxy for any APIYesNo
Preinstalled agentsYesNo
Agent harness APIYesNo
MCP serverNoYes
GPUNoNo
WindowsNoNo
Arm64NoYes
Self-hostingNoYes
BYOCNoYes
Open sourceNoYes
Scoped API keysYesNot published
Spend limitsYesNot published
Usage per sandbox (API)YesNo
Audit logsNoYes
SSONoYes
SOC 2NoNo
HIPAANoNo
EU data residencyYesNo
Zero data retentionYesNot published

Performance

boat26.69 runs/s
OmnaraNot measured

There is no comparable measurement. Omnara does not run machines itself: its default pool is on Blaxel, and it does not publish how much CPU a managed machine gets, since Blaxel pools size by memory only. boat did 26.69 Node.js build-and-test runs per second at 4 vCPU / 8 GB in StarSling's public 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. Omnara 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 monthOmnara, 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$52 · Self-serve
One agent that never stops
4 vCPU / 8 GB, 50 GB disk, running 24/7 all month
$26 · $20/mo$218 · Self-serve
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,623 · Self-serve
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$745 · Self-serve · 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,647 · Self-serve · 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.

Omnara: The platform is free. Omnara-managed machines cost $0.0414 per GiB of memory per hour while online, with no separate CPU charge, plus $0.20016 per GiB of memory for every 30 days a machine is kept; idle machines sleep and stop runtime charges. Your own machines and model keys cost nothing on Omnara, but you still pay their providers.

Limits in those scenarios

Omnara does not publish how many managed machines an organization can run at once, so 50 agents in parallel, 300 sandboxes for your users and 1,000 jobs at once are all unconfirmed there; it also does not confirm Docker inside the default machines. By default each agent gets one machine, and every pool sets a max_total_machines cap you raise yourself. Disk is not priced separately because the default machines keep files in memory. 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.

ScenarioboatOmnara
One coding agent, workdaysNone that bite
  • disk beyond 0 GiB: price unknown
  • egress price not published
One agent that never stopsNone that bite
  • disk beyond 0 GiB: price unknown
  • egress price not published
50 agents in parallelNone that bite
  • disk beyond 0 GiB: price unknown
  • 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
  • not confirmed: how many machines can run at once (you need 300; the typical published limit is 50)
  • disk beyond 0 GiB: price unknown
  • 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)
  • not confirmed: how many machines can run at once (you need 1,000; the typical published limit is 50)
  • disk beyond 0 GiB: price unknown
  • egress price not published

Which one should you use?

Use Omnara when

you want a ready agent platform (any model, approvals, Slack and cron triggers) that you can self-host or point at your own machines.

  • A whole agent platform. Useful if you are building agents for Slack, Discord or your product: Omnara gives you approvals, schedules, event history and any model out of the box.
  • Open source and your own machines. Useful if you must self-host or run agents on your own servers, laptops or GPU boxes: Omnara is Apache 2.0 and connects any computer.
  • Sleep with memory kept, many providers. Useful if your agents mostly wait: idle machines sleep and wake in milliseconds with memory kept, on US or EU providers you choose.

Use boat when

your agent needs a real computer to work on: a full VM with Docker, a disk, open ports, a desktop and Claude Code or Codex built in. You can also point an agent platform at it as the machine.

  • A full VM with a real disk. An agent that runs docker compose, a database and a test suite needs Docker and room on disk. On Omnara's default pool, files count against memory, which is billed every hour, so you pick another provider or size up.
  • Ports you can open. When an agent builds a web app, someone has to open the preview, and a webhook needs somewhere to land. On Omnara you would need your own tunnel or your own machine to do that.
  • Claude Code and Codex built in. Teams that already trust Claude Code or Codex want those exact agents, not a new loop to tune. On Omnara, any secret a command needs sits in the machine as an environment variable the agent's code can read.

Questions people ask

Is Omnara a sandbox?

Not by itself. Omnara is a control plane that runs agents and sends their commands to machines, which come from sandbox providers like Blaxel, Daytona and Modal or from computers you connect. boat is the sandbox: each one is a full VM.

Is boat cheaper than Omnara?

In most of the scenarios we priced, yes: one coding agent on workdays comes to $20 a month on boat and $52 on Omnara, and one agent running all month comes to $26 versus $218. 50 agents in parallel come to $317 versus $2,623, and 300 sandboxes for your users to $200 versus $745. For 1,000 short jobs at once Omnara comes to $1,647 versus $2,000, though neither is confirmed to fit.

Can I run Claude Code on Omnara?

Omnara runs its own agent loop and lets you pick the model, including Claude models, but it does not ship Claude Code or Codex as harnesses. On boat, Claude Code, Codex and OpenCode are preinstalled in every sandbox, and you drive them with a prompt, steer and events API.

Can I self-host Omnara or boat?

Omnara's control plane is open source under Apache 2.0 and free to self-host, and it can use machines you own. boat is a hosted service that runs on dedicated AMD Ryzen 9 9950X hosts in the EU.

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. Omnara's Trust Center scopes its program to North American operations, and its machines run wherever the chosen provider runs them.

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. Omnara's Trust Center lists security controls monitored with Vanta.

Start a sandbox

Install the CLI, then run boat new.

7-day free trial

More comparisons