Deno Sandbox vs Unikraft Cloud
Both run code in Firecracker microVMs. Deno Sandbox gives you a small 2 vCPU sandbox for up to 30 minutes with tight outbound rules, while Unikraft Cloud turns a Dockerfile into a microVM that keeps running, sleeps when idle and wakes on the next request.
The companies and products
Deno Sandbox
Deno Sandbox is part of Deno Deploy, the hosting platform from the company behind the Deno runtime, and runs untrusted or AI-generated code in Linux microVMs.
Each sandbox is a Firecracker microVM with 2 vCPU, up to 4 GB of memory and a 10 GB disk that is wiped when it ends, created from a TypeScript or Python SDK. Outbound traffic goes through a proxy that can enforce a host allowlist and swap placeholder secrets for real ones. It is built for short runs of agent or user code, and a sandbox can be promoted to a Deno Deploy app.
- Isolation
- Firecracker microVM per sandbox
Unikraft Cloud
Unikraft Cloud is a microVM cloud from Unikraft Inc. that runs any Dockerfile-based workload as a minimal Linux microVM with millisecond cold starts and scale-to-zero.
Your Dockerfile becomes the VM image at build time, and each instance runs on a heavily customized Firecracker VMM, so it boots in milliseconds and can go into standby when no traffic arrives. It is a general compute platform built for dense, bursty work such as HTTP services, headless browsers and agent fleets, sold as flat self-serve plans plus Enterprise dedicated hosts, on-prem and bring your own cloud. It is not a dev machine you log into: instances are reached through services, the CLI and a sandbox plugin for commands and files.
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. “290th cheapest of 367” means 289 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 | Deno Sandbox: price rank | Unikraft Cloud: price rank | boat: price rank |
|---|---|---|---|
| Software factory 100 at once · 4 vCPU / 8 GB · 2,200 sessions of 8 h a month A software factory runs installs, builds and Docker for hours; Deno stops after 30 minutes on 2 vCPU, and Unikraft documents no container runtime inside an instance. | 290th of 367, with limits $5,665 a month | Can't run it | 3rd cheapest of 367 $634 a month |
| Always-on AI employees 50 machines 24/7 · 2 vCPU / 4 GB | 287th of 366, with limits $5,803 a month | Can't run it | 5th cheapest of 366 $657 a month |
| Code interpreter bursts 100 at once · 1 vCPU / 2 GB · 200,000 sessions of 1 min a month Both suit short code runs: Deno starts a sandbox in under 200 ms and bills CPU only while code runs, and Unikraft wakes a sleeping instance in milliseconds. | 141st of 345, with limits $329 a month | Can't run it | 186th of 345, with limits $2,000 a month |
| Sandboxes for your users 300 at once · 2 vCPU / 4 GB · 30,000 sessions of 23 min a month Deno Builder allows 20 sandboxes at once per region and Unikraft Pro 24 running instances, so hundreds of active users need a custom plan on either; boat's plans go to hundreds. | 148th of 361, with limits $1,863 a month | Can't run it | Cheapest of 361 $209 a month |
| RL rollouts 1,000 at once · 2 vCPU / 4 GB · 1,000,000 sessions of 3 min a month | 122nd of 360, with limits $7,963 a month | Can't run it | 34th of 360, with limits $2,000 a month |
| Agent evals 250 at once · 4 vCPU / 8 GB · 15,000 sessions of 20 min a month | 296th of 364, with limits $1,563 a month | Can't run it | 10th cheapest of 364 $200 a month |
| CI runners 40 at once · 8 vCPU / 16 GB · 6,000 sessions of 12 min a month CI jobs that build Docker images or run Android emulators need Docker and /dev/kvm; Deno documents neither, Unikraft keeps nested virtualization for Enterprise, and boat has both on every plan. | 304th of 377, with limits $731 a month | Can't run it | 4th cheapest of 377 $86 a month |
| 24/7 dev boxes 1 machine 24/7 · 4 vCPU / 8 GB Unikraft Cloud ranks 219th at $39 a month and Deno Sandbox ranks 179th at $200 a month, but Deno's 30-minute lifetime means a box that is rebuilt, while boat ranks 18th at $26 a month. | 179th of 368, with limits $200 a month | 219th of 368, with limits $39 a month | 18th cheapest of 368 $26 a month |
| Computer-use agents 50 at once · 4 vCPU / 8 GB · 20,000 sessions of 15 min a month Neither Deno nor Unikraft has a desktop to see and click; boat streams a Linux desktop at 60fps with Chromium for computer use. | 280th of 369, with limits $1,583 a month | Can't run it | 6th cheapest of 369 $200 a month |
| Browser-use agents 50 at once · 2 vCPU / 4 GB · 30,000 sessions of 10 min a month On Deno or Unikraft you install and run a headless browser yourself; boat gives each sandbox Chromium on a desktop out of the box. | 284th of 367, with limits $783 a month | Can't run it | 7th cheapest of 367 $200 a month |
| Scraping & bots (startup scale) 50 at once · 1 vCPU / 2 GB · 100,000 sessions of 3 min a month | 286th of 346, with limits $573 a month | Can't run it | 6th cheapest of 346 $90 a month |
| Mass scraping & bots (undetectable) 1,000 at once · 1 vCPU / 2 GB · 3,000,000 sessions of 2 min a month | 247th of 338, with limits $11,923 a month | Can't run it | 71st of 338, with limits $1,800 a month |
| Parallel red teaming 200 at once · 2 vCPU / 4 GB · 5,000 sessions of 30 min a month | 251st of 360, with limits $367 a month | Can't run it | 2nd cheapest of 360 $200 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 | 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 | Can't run it |
Key features
| Feature | Deno Sandbox | Unikraft Cloud | boat |
|---|---|---|---|
| Isolation | Firecracker microVM with its own kernel | Minimal Linux microVM on a customized Firecracker VMM | Full VM with its own kernel on dedicated AMD Ryzen 9 9950X hosts |
| Machine size | 2 vCPU fixed, 768 MB to 4 GB memory, 10 GB disk | Plan pool shared by all running instances: 2 vCPU / 4 GiB, 8 vCPU / 8 GiB or 24 vCPU / 32 GiB | 4 vCPU / 8 GB by default, up to 16 vCPU / 32 GB per sandbox on the $100 plan and above |
| Session length | Up to 30 minutes; longer work can be promoted to a Deno Deploy app | No published cap; runs until stopped or put to sleep | No cap on paid plans; you set the time to live |
| Disk that persists | Root disk wiped when the sandbox ends; opt-in volumes of 300 MB to 20 GB, Chicago only | Volumes, plus standby storage included in each plan | The whole disk is kept, saved every minute and on stop; a stopped sandbox costs nothing |
| Start, idle and wake | Starts in under 200 ms; no pause or wake on request | Cold boots in milliseconds, sleeps after a 1 second idle cooldown by default, wakes on the next request | Boots a full VM; a stopped sandbox is started again by API |
| Snapshots and fork | Read-only snapshots of a volume; no fork of a running sandbox | Checkpoint memory and volumes of a running microVM, then start new instances from it | Automatic disk snapshots every minute; fork a running sandbox with its disk |
| Docker and nested virtualization | Root access; Docker and nested virtualization not documented | The Dockerfile becomes the VM image, no container runtime inside documented; nested virtualization on Enterprise only | Docker, systemd and /dev/kvm for Android emulators and VMs on every plan |
| Shell access | SSH and a VS Code editor in the browser | No SSH yet; commands and files go through the sandbox plugin and CLI | SSH into every sandbox, or drive it through the API |
| Desktop and browser | No desktop | None built in; you can run your own headless browser from a Dockerfile | Linux desktop streamed at 60fps, Chromium and computer use built in |
| Inbound access | HTTPS URL per exposed port, public without authentication | Services on its load balancer: HTTP on 80, HTTPS on 443, TLS-wrapped TCP on other ports | HTTPS URLs for up to 50 ports, token-protected by default; raw TCP |
| Outbound rules | Host allowlist per sandbox, enforced by a proxy outside the VM | Network shield filters traffic, Enterprise only, limited access | Open internet, no provider-side allowlist |
| Keeping API keys out of the sandbox | Secrets swapped in on outbound requests to approved hosts; the sandbox only sees a placeholder | Network shield can inject secrets into traffic, Enterprise only, limited access | Credentials proxy for model providers and any HTTPS API on every plan; switch a credential to another account when credits run out |
| Coding agents | A root image with Claude Code, run through the shell command API | None preinstalled; you bring the agent in your own image | Seven agents preinstalled, with a prompt, steer and events API |
| Regions | Amsterdam and Chicago | Dallas, Frankfurt, San Francisco, Singapore and Washington DC, more on request | EU only (Germany, Finland, France) |
Every feature Battleships tracks (43)
| Feature | Deno Sandbox | Unikraft Cloud | boat |
|---|---|---|---|
| Full VM (own kernel) | Yes | Yes | Yes |
| Docker inside | Not published | No | Yes |
| Nested virtualization | No | Yes | Yes |
| Root | Yes | Yes | Yes |
| Systemd | Not published | Not published | Yes |
| Desktop GUI | No | No | Yes |
| Browser | No | No | Yes |
| Computer-use API | No | No | Yes |
| SSH | Yes | No | Yes |
| Persistent disk | Yes | Yes | Yes |
| Pause/resume | No | Yes | Yes |
| Automatic snapshots | No | Yes | Yes |
| Fork/clone | No | Yes | Yes |
| Live fork (no pause) | No | Yes | Yes |
| Memory fork | No | Yes | No |
| Custom image (Docker or snapshot) | Yes | Yes | Yes |
| ≥24 h sessions | No | Yes | Yes |
| Idle auto-stop | No | Yes | No |
| Wake on request | No | Yes | No |
| HTTPS preview URLs | Yes | Yes | Yes |
| Raw TCP inbound | No | Not published | Yes |
| Public IPv4 | No | No | No |
| Egress allowlist | Yes | Yes | No |
| Secret proxy | Yes | Yes | Yes |
| Secret proxy for any API | Yes | Yes | Yes |
| Preinstalled agents | Yes | No | Yes |
| Agent harness API | No | No | Yes |
| MCP server | No | No | No |
| GPU | No | Yes | No |
| Windows | No | No | No |
| Arm64 | No | Yes | No |
| Self-hosting | No | Yes | No |
| BYOC | No | Yes | No |
| Open source | No | No | No |
| Scoped API keys | Not published | Not published | Yes |
| Spend limits | Yes | Not published | Yes |
| Usage per sandbox (API) | No | No | Yes |
| Audit logs | Not published | Yes | No |
| SSO | No | No | No |
| SOC 2 | Yes | Yes | No |
| HIPAA | Yes | Yes | No |
| EU data residency | Yes | Yes | Yes |
| Zero data retention | Not published | Not published | Yes |
Performance
There is no comparable CPU measurement for Deno Sandbox or Unikraft Cloud: neither is in the hpc-sandbox-benchmarks run that measured boat at 26.69 runs per second at 4 vCPU / 8 GB. Deno says a sandbox starts in under 200 ms and Unikraft states cold starts under 10 ms; both are their own figures and measure start time, not CPU speed.
Node.js build-and-test loop at 4 vCPU / 8 GB, higher is better. Measured with the open hpc-sandbox-benchmarks suite. Deno Sandbox and Unikraft Cloud have 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 | Deno Sandbox, a month | Unikraft Cloud, a month | boat, 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 | $53 · Pro · with limits | $39 · Hobby | $20 · $20/mo |
| One agent that never stops 4 vCPU / 8 GB, 50 GB disk, running 24/7 all month | $200 · Builder · with limits | $39 · Hobby | $26 · $20/mo |
| 50 agents in parallel 50 machines of 4 vCPU / 8 GB at once, 8-hour sessions, 1,100 sessions a month, Docker inside | $2,779 · Builder · with limits | Can't run it | $317 · $20/mo × 3 seats |
| Sandboxes for your users 2 vCPU / 4 GB, 30,000 sessions of 10 minutes a month, up to 300 at once | $783 · Builder · with limits | Can't run it | $200 · $100/mo × 2 seats |
| 1,000 short jobs at once 2 vCPU / 4 GB, 1,000 at once, 3 minutes each, 200,000 jobs a month | $1,563 · Builder · with limits | Can't run it | $2,000 · $2000/mo · with limits |
Deno Sandbox: Sandboxes need the Pro plan at $20 a month or Builder at $200 a month; the fee is not credit but includes CPU, memory and egress allowances shared with your Deno Deploy apps. Past those, CPU costs $0.10 per hour of active CPU time and memory $0.025 per GiB-hour for the whole life of the sandbox.
Unikraft Cloud: Unikraft charges a flat monthly fee for a pool of running capacity: free for 2 vCPU / 4 GiB, $39 for 8 vCPU / 8 GiB, $199 for 24 vCPU / 32 GiB, with sleeping instances not counted. It publishes no per-hour rate, so anything bigger is an Enterprise quote.
Unikraft Cloud: 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.
Limits in those scenarios
Deno Sandbox fits none of the five scenarios as written: a sandbox lives up to 30 minutes, is fixed at 2 vCPU with up to 4 GB, and Builder allows 20 at once per region. Unikraft fits the two single-agent scenarios on its $39 Team pool, which one 4 vCPU / 8 GB agent fills, but 50 agents, sandboxes for your users and 1,000 short jobs are above every self-serve pool. boat fits four of the five; at 1,000 short jobs at once its top plan queues starts, so that one needs a custom plan on all three.
| Scenario | Deno Sandbox | Unikraft Cloud | boat |
|---|---|---|---|
| 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 Deno Sandbox when
you run short pieces of untrusted code that must start fast, reach only the hosts you allow and never see real keys, especially if you already deploy on Deno Deploy.
- Outbound rules and hidden keys on self-serve plans. For untrusted code: limit each sandbox to a list of hosts and swap in real secrets outside the VM, without an Enterprise contract.
- SSH and an editor in the browser. If you want to log in and look around, a Deno sandbox has SSH and a VS Code editor; Unikraft has no SSH yet.
- A path to Deno Deploy. Fits teams already on Deno Deploy: a sandbox can become a Deploy app, and CPU bills only while code runs.
Use Unikraft Cloud when
you run many small services or headless browsers that sleep most of the time and must wake in milliseconds, need US or Asia regions, or want GPUs or on-prem under Enterprise.
- Sleep when idle, wake in milliseconds. Best for many small services that sit idle most of the time and must answer the next request right away.
- No 30-minute lifetime. An instance runs until you stop it or it sleeps, and checkpoints let you start new instances from a running one.
- More regions and your own hardware. Runs in the US, Frankfurt and Singapore, and Enterprise adds GPUs, arm64, dedicated hosts, on-prem or your own cloud.
Where boat fits
Deno Sandbox and Unikraft Cloud are both built for small, fast microVMs: one for short locked-down runs, one for services that sleep. If what you are running is coding agents that install, build, run Docker and use a browser for hours, boat gives each one a full machine that stays, with the agents and a desktop already inside.
A full machine the agent can work in
Agents start databases with Docker and run emulators. Deno documents neither Docker nor nested virtualization and stops at 30 minutes; Unikraft bakes everything into the image up front and keeps nested virtualization for Enterprise.
Agents and a desktop built in
boat ships seven coding agents you drive from outside through one API, and a 60fps desktop with Chromium. On Deno you run Claude Code through shell commands and parse its output; on Unikraft you build the agent and any browser into your image.
Fifty full-size agents without a sales call
Fifty agents at 4 vCPU / 8 GB do not fit either: Deno is fixed at 2 vCPU with 20 sandboxes at once per region, and 200 vCPU running is above every Unikraft self-serve pool, so it means an Enterprise quote.
Use boat when your agents do real work for hours: Docker, emulators, a desktop and a browser, coding agents you drive from outside, and fleets of full-size sandboxes without a sales call. Compare it one to one: boat vs Deno Sandbox and boat vs Unikraft Cloud.
Questions people ask
Is Deno Sandbox cheaper than Unikraft Cloud?
For one agent, Unikraft is cheaper: one that never stops comes to $39 a month on its Team pool against $200 a month on Deno Builder, and Deno does not fit as written because of its 30-minute lifetime and 2 vCPU size. boat runs the same agent for $26 a month.
Which is faster, Deno Sandbox or Unikraft Cloud?
Neither has a comparable CPU measurement, so we cannot say which computes faster. For start time, Deno says under 200 ms and Unikraft says cold starts under 10 ms and wakes a sleeping instance on the next request.
Can Deno Sandbox or Unikraft Cloud run Docker?
Deno's docs do not say Docker works inside a sandbox. Unikraft uses your Dockerfile to build the VM itself and documents no container runtime inside a running instance. boat runs Docker and systemd and exposes /dev/kvm on every plan.
How long can each one run?
A Deno sandbox lives up to 30 minutes and its root disk is wiped when it ends, unless you promote it to a Deno Deploy app. Unikraft publishes no time limit, and an instance runs until you stop it or it sleeps. boat has no cap on paid plans.
Can I SSH into Deno Sandbox or Unikraft Cloud?
Deno Sandbox has SSH and a VS Code editor in the browser. Unikraft has no SSH yet, so you run commands and move files through its sandbox plugin and CLI. Every boat sandbox has SSH and an API.
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.
Try boat
Install the CLI, then run boat new.
7-day free trial