Northflank vs Unikraft Cloud
Northflank runs each sandbox as a Kata microVM inside a broad developer platform with GPUs, many regions and your own cloud. Unikraft Cloud turns a Dockerfile into a tiny Firecracker microVM that sleeps when idle and wakes in milliseconds, sold as flat plans with a shared pool of running capacity.
The companies and products
Northflank
Northflank is a London developer platform for running services, jobs and databases on Kubernetes, and Sandboxes is its product for running untrusted code.
A Northflank sandbox is a container image deployed as a service: CPU sandboxes run in Kata microVMs with their own kernel, and GPU sandboxes run under gVisor. You create and drive them from the JavaScript or Python SDK, the CLI or the dashboard, on Northflank's cloud or inside your own. It suits teams that already want one platform for apps, databases, GPUs and sandboxes.
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. “38th cheapest of 377” means 37 of the other 376 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 | Northflank: 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 Docker and installs packages all over the machine; Northflank keeps only attached volumes across a pause, Unikraft documents no container runtime inside, and boat keeps the whole disk. | 159th of 367, with limits $1,477 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 | 173rd of 366, with limits $1,365 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 Short code runs that sleep between calls suit both: Northflank has per-second plans from a tenth of a vCPU, and Unikraft sleeps after one idle second but caps self-serve at 24 running instances. | 84th of 345, with limits $115 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 Northflank does not publish how many sandboxes can run at once, and Unikraft Pro runs only 24 at a time, so hundreds of active users need sales on both; boat runs them self-serve. | 89th of 361, with limits $815 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 | 342nd of 360, with limits $1,762 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 | 134th of 364, with limits $689 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 Both run Docker-style builds in some form, but /dev/kvm for Android emulators is not documented on Northflank and is Enterprise only on Unikraft; boat has it on every plan. | 38th cheapest of 377 $352 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 Northflank has SSH but resets everything outside volumes on a pause; Unikraft has no SSH yet; boat gives SSH and keeps the whole disk. | 151st of 368, with limits $59 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 ships a desktop, so a computer-use agent means building and streaming one yourself; boat streams a 60fps Linux desktop with Chromium. | 151st of 369, with limits $371 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 Both can run a headless browser you put in your image; boat has Chromium on a desktop in every sandbox. | 200th of 367, with limits $194 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 | 196th of 346, with limits $117 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 | 83rd of 338, with limits $2,049 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 | 141st of 360, with limits $99 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 Northflank has self-serve GPU sandboxes from L4 to H100 and up; Unikraft offers GPUs only on Enterprise, and boat is CPU only. | 4th cheapest of 98 $693 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 | Can't run it |
Key features
| Feature | Northflank | Unikraft Cloud | boat |
|---|---|---|---|
| Isolation | Kata microVM with its own kernel for CPU; gVisor for GPU | Minimal Linux microVM on a customized Firecracker VMM | Full VM with its own kernel on dedicated AMD Ryzen 9 9950X hosts |
| Machine size | Plans from 0.1 vCPU up to 20 vCPU / 40 GB, more on request | 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 |
| What survives a stop | Only attached volumes, which bill while paused; the rest of the disk and all processes reset | Standby after 1 idle second; stateful mode snapshots memory and resumes with warm caches | The whole disk, saved every minute and on stop; stopped sandboxes cost nothing |
| Wake on request | No; there is no idle auto-pause, you pause and resume yourself | Yes; incoming traffic wakes a sleeping instance in milliseconds | No; a stopped sandbox is started by API |
| Snapshots and fork | Filesystem snapshots of a running sandbox, opt-in; restore into a new one | Checkpoint memory and volumes of a running microVM, then start new instances from it | Automatic disk snapshots every minute; fork a running sandbox |
| Docker inside | Yes, each sandbox has its own kernel | The Dockerfile becomes the VM image; no container runtime inside documented | Yes, Docker, systemd and root, like any Ubuntu machine |
| Nested virtualization | Not documented inside a sandbox | Yes, with a per-instance flag, Enterprise only | Yes, /dev/kvm for Android emulators and VMs on every plan |
| SSH | Yes, plus a browser terminal | Not yet; commands and files go through the sandbox plugin and CLI | Yes, into every sandbox |
| Desktop and browser | Headless; none built in | None built in; you can run your own headless browser from a Dockerfile | 60fps Linux desktop, Chromium and computer use built in |
| Coding agents | Harnesses with Claude Code, Codex, Cursor, OpenCode or Pi, reached through a terminal or SSH | None preinstalled; you bring the agent in your own image | Seven agents preinstalled, with a prompt, steer and events API |
| Keeping API keys out of the sandbox | Header injection for listed hosts in the network policy API | Network shield can inject secrets, Enterprise only, limited access | Credentials proxy for model providers and any HTTPS API on every plan; switch to another account when credits run out |
| Inbound access | HTTPS ports on a code.run domain; public TCP and UDP through a separate load balancer | HTTP on 80, HTTPS on 443 and TLS-wrapped TCP on its load balancer; no public IP per instance | HTTPS URLs for up to 50 ports, token-protected by default; raw TCP; dedicated IPv4 or IPv6 |
| GPUs | L4, A100, H100, RTX PRO 6000 and more, self-serve | NVIDIA GPUs and vGPUs on Enterprise only | No |
| Regions | US, Canada, Brazil, UK, EU, Switzerland, Asia, Australia and South Africa | Dallas, Frankfurt, San Francisco, Singapore and Washington DC; more on request | EU only (Germany, Finland, France) |
Every feature Battleships tracks (43)
| Feature | Northflank | Unikraft Cloud | boat |
|---|---|---|---|
| Full VM (own kernel) | Yes | Yes | Yes |
| Docker inside | Yes | No | Yes |
| Nested virtualization | No | Yes | Yes |
| Root | Not published | 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 | Yes | Yes | Yes |
| Automatic snapshots | Yes | Yes | Yes |
| Fork/clone | Yes | Yes | Yes |
| Live fork (no pause) | Yes | Yes | Yes |
| Memory fork | No | Yes | No |
| Custom image (Docker or snapshot) | Yes | Yes | Yes |
| ≥24 h sessions | Yes | Yes | Yes |
| Idle auto-stop | No | Yes | No |
| Wake on request | No | Yes | No |
| HTTPS preview URLs | Yes | Yes | Yes |
| Raw TCP inbound | Yes | 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 | Yes | Yes | No |
| Windows | No | No | No |
| Arm64 | Yes | Yes | No |
| Self-hosting | Yes | Yes | No |
| BYOC | Yes | Yes | No |
| Open source | No | No | No |
| Scoped API keys | Not published | Not published | Yes |
| Spend limits | Not published | Not published | Yes |
| Usage per sandbox (API) | Yes | No | Yes |
| Audit logs | Yes | Yes | No |
| SSO | Yes | 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
Neither Northflank nor Unikraft Cloud has a comparable CPU measurement: neither is in the hpc-sandbox-benchmarks run. boat did 26.69 runs per second on that Node.js build-and-test loop at 4 vCPU / 8 GB, on dedicated AMD Ryzen 9 9950X hosts. Unikraft states cold starts under 10 ms, which is its own figure and measures 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. Northflank 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 | Northflank, 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 | $32 · Developer Sandbox (free tier) · with limits | $39 · Hobby | $20 · $20/mo |
| One agent that never stops 4 vCPU / 8 GB, 50 GB disk, running 24/7 all month | $108 · Developer Sandbox (free tier) · 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 | $1,322 · Developer Sandbox (free tier) · 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 | $361 · Developer Sandbox (free tier) · 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 | $688 · Developer Sandbox (free tier) · with limits | Can't run it | $2,000 · $2000/mo · with limits |
Northflank: Northflank bills per second for the plan size you pick, with no monthly fee, until you pause the sandbox; there is no idle auto-pause. Volumes cost $0.15 per GB a month even while paused, and outbound traffic costs $0.06 per GB.
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 or egress 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 whole disk.
Limits in those scenarios
On Northflank the limit that bites is what survives a stop: only attached volumes keep their files, and it does not publish how many sandboxes can run at once, so 300 or 1,000 at a time is not confirmed. On Unikraft the limit is the shared pool: one 4 vCPU / 8 GB agent fills the Team plan, and 50 agents, sandboxes for your users or 1,000 short jobs fit no self-serve plan. boat fits all but the burst scenario, where even the $2,000 plan queues starts above 90 a minute.
| Scenario | Northflank | 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 Northflank when
you need GPUs next to the agent, regions outside the US and Europe, large single machines, or sandboxes in your own cloud next to the rest of your apps.
- GPUs without a contract. For agents that train or run models: Northflank sells GPU sandboxes from L4 to H100 per hour, while Unikraft keeps GPUs for Enterprise.
- Bigger single machines. For heavy builds: one Northflank sandbox can have 20 vCPU / 40 GB, more than Unikraft's whole largest self-serve pool.
- One platform, many regions. For teams that also run services and databases, or need regions in South America, Australia or Africa next to their users.
Use Unikraft Cloud when
you run many small services or headless browsers that sleep most of the time and must wake in milliseconds, on a flat monthly bill.
- Millisecond wake and scale-to-zero. For many small services that sleep most of the time and must answer the next request in milliseconds.
- Memory checkpoints. For fast cloning: Unikraft checkpoints a running microVM's memory and starts new instances from it with warm caches.
- A flat, predictable bill. For small teams: a flat monthly fee covers the running pool, and sleeping instances do not count against it.
Where boat fits
If what you are really running is coding or computer-use agents, look at boat. Northflank resets the disk outside volumes on every pause, and Unikraft is built for small instances that sleep, with no Docker inside documented and no SSH. boat gives each agent a whole machine that comes back as it was left, with the agent, a desktop and a browser already inside.
The whole machine comes back
Agents install packages everywhere. On Northflank a pause wipes all but attached volumes, which bill while paused; on Unikraft you bake tools into the image. boat saves the whole disk every minute and a stopped sandbox costs nothing.
Docker, /dev/kvm and a desktop inside
Neither ships a desktop, Northflank does not document /dev/kvm, and Unikraft keeps it for Enterprise. boat has Docker, systemd, /dev/kvm and a 60fps desktop with Chromium on every plan.
Agents and keys driven from outside
Northflank Harnesses are reached by terminal or SSH, and Unikraft has no agents and puts secret injection behind Enterprise. boat preinstalls seven agents with a prompt and steer API, and keeps real keys in a credentials proxy.
Use boat when your agents work on one machine for hours or days and should find it as they left it: Docker, emulators, a desktop and a browser, with the agent driven from your code. Compare it one to one: boat vs Northflank and boat vs Unikraft Cloud.
Questions people ask
Is Northflank cheaper than Unikraft Cloud?
For one agent that never stops, no: it is $108 a month on Northflank against $39 on Unikraft's Team plan, and $26 on boat. For one agent on workdays, Northflank is $32 against $39 on Unikraft, though Northflank resets files outside volumes. For 50 agents or hundreds of user sandboxes, Unikraft needs an Enterprise quote.
Which is faster?
Neither has a comparable CPU measurement, so there is no fair speed ratio. Unikraft wakes sleeping instances in milliseconds, which is its main design goal. boat did 26.69 runs per second on the hpc-sandbox-benchmarks Node.js test at 4 vCPU / 8 GB.
Can Northflank or Unikraft Cloud run Docker inside?
Northflank sandboxes have their own kernel, so Docker can run inside. Unikraft uses your Dockerfile to build the VM image and does not document a container runtime inside a running instance. boat is a full Ubuntu VM with Docker, systemd and /dev/kvm.
Can I SSH into each?
Northflank, yes, through SSH or a browser terminal. Unikraft has no SSH yet; you run commands and move files through its sandbox plugin and CLI. Every boat sandbox has SSH and an API.
Which one has GPUs?
Northflank sells GPU sandboxes from L4 to H100 and up per hour. Unikraft offers NVIDIA GPUs only on Enterprise. boat runs on CPUs only.
Does either keep files when a sandbox stops?
Northflank keeps only attached volumes, and the rest of the disk resets on a pause. Unikraft's stateful mode snapshots memory into standby and resumes with warm caches. boat saves the whole disk every minute and on stop.
Try boat
Install the CLI, then run boat new.
7-day free trial