Northflank vs Koyeb
Both run each sandbox in its own microVM and both sell GPUs. Northflank is a wide platform whose sandboxes run until you pause them, in many regions or your own cloud, while Koyeb sandboxes can fall asleep when idle and wake on the next request.
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.
Koyeb
Koyeb is a serverless cloud for apps, inference and sandboxes, and in February 2026 it agreed to join Mistral AI.
A Koyeb sandbox is a Koyeb service: a microVM started from any Docker image and driven from Python or JavaScript SDKs that run commands, read files and expose a port. It can scale to zero when idle and wake on the next request, and it can run on CPU or GPU instance types. It is built for teams that run AI agents or untrusted code next to apps they already host on Koyeb.
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 | Koyeb: price rank | boat: price rank |
|---|---|---|---|
| Software factory 100 at once · 4 vCPU / 8 GB · 2,200 sessions of 8 h a month A coding agent installs packages all over the disk; Northflank keeps only attached volumes on a pause, Koyeb loses its local disk on redeploy, and boat keeps the whole disk. | 159th of 367, with limits $1,477 a month | 54th of 367, with limits $366 a month | 3rd cheapest of 367 $634 a month |
| Always-on AI employees 50 machines 24/7 · 2 vCPU / 4 GB An assistant that lives on one machine all month needs its files to stay put; neither Northflank nor Koyeb keeps the full disk by default, while boat does. | 173rd of 366, with limits $1,365 a month | 135th of 366, with limits $923 a month | 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 suit Koyeb best: Koyeb ranks 4th here thanks to small instances and scale to zero, ahead of Northflank's small per-second plans. | 84th of 345, with limits $115 a month | 4th cheapest of 345 $66 a month | 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 Koyeb ranks 6th and boat ranks 1st; Koyeb wakes a sleeping sandbox on request, while Northflank does not publish how many sandboxes can run at once. | 89th of 361, with limits $815 a month | 6th cheapest of 361 $495 a month | 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 | 237th of 360, with limits $1,631 a month | 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 | 19th cheapest of 364 $429 a month | 10th cheapest of 364 $200 a month |
| CI runners 40 at once · 8 vCPU / 16 GB · 6,000 sessions of 12 min a month Northflank fits CI better than Koyeb here, and boat adds /dev/kvm for Android emulators and VM builds, which neither documents. | 38th cheapest of 377 $352 a month | 142nd of 377, with limits $88 a month | 4th cheapest of 377 $86 a month |
| 24/7 dev boxes 1 machine 24/7 · 4 vCPU / 8 GB | 151st of 368, with limits $59 a month | 217th of 368, with limits $37 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 Computer-use agents need a desktop; neither Northflank nor Koyeb has one in the sandbox, while boat streams a 60fps Linux desktop with Chromium. | 151st of 369, with limits $371 a month | 81st of 369, with limits $123 a month | 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 both Northflank and Koyeb you install and run a browser in your own image; boat has Chromium ready in every sandbox. | 200th of 367, with limits $194 a month | 172nd of 367, with limits $123 a month | 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 | 172nd of 346, with limits $89 a month | 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 | 65th of 338, with limits $1,683 a month | 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 | 233rd of 360, with limits $299 a month | 2nd cheapest of 360 $200 a month |
| GPU eval jobs 10 at once · 8 vCPU / 32 GB · 500 sessions of 30 min a month Both fit GPU evals well: Koyeb ranks 3rd and Northflank ranks 4th, and boat has no GPUs. | 4th cheapest of 98 $693 a month | 3rd cheapest of 98 $628 a month | 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 | Koyeb | boat |
|---|---|---|---|
| Isolation | Kata microVM with its own kernel for CPU; gVisor for GPU | MicroVM per instance | Full VM with its own kernel on dedicated AMD Ryzen 9 9950X hosts |
| What survives a stop | Only attached volumes, which bill while paused; the rest of the disk and all processes reset | Local disk is lost on redeploy and a deep sleep discards the VM; volumes (preview, 1 to 10 GB, two regions) persist | The whole disk, saved every minute and on stop; stopped sandboxes cost nothing |
| Sleep and wake | No idle auto-pause; a sandbox bills until you pause it | Scales to zero after an idle period (5 minutes minimum) and wakes on the next request; Light Sleep wakes in about 200 ms | Stop and start by API; a stopped sandbox costs nothing and keeps its disk |
| Snapshots and fork | Filesystem snapshots of a running or stopping sandbox, opt-in; restore into a new one | SDK snapshots of the filesystem, or with running processes, then new sandboxes from a snapshot (experimental) | Automatic disk snapshots; fork a running sandbox |
| Nested virtualization | Not documented inside a sandbox | Not documented | Yes, /dev/kvm for Android emulators and VMs |
| Desktop and browser | Headless; access by SDK, browser terminal or SSH | No desktop or browser in the sandbox SDK | 60fps Linux desktop, Chromium and computer use built in |
| Coding agents | Harnesses with Claude Code, Codex, Cursor, OpenCode or Pi; you reach the agent through a terminal or SSH | Tutorials that run agents through the command API; an MCP server lets agents manage Koyeb | 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; otherwise env vars or files | Secrets are set as environment variables inside the service | Credentials proxy for model providers and any HTTPS API; switch a credential to another account when credits run out |
| Inbound access | HTTPS ports on a code.run domain, private by default; public TCP and UDP need a separate load balancer | One exposed HTTPS port at a time, plus an optional TCP proxy to one port; no dedicated IP | HTTPS URLs for up to 50 ports, token-protected by default; raw TCP; dedicated IPv4 or IPv6 |
| Outbound rules | Allow lists by IP, CIDR or domain | Block all outbound traffic, or allow only listed IPs and CIDRs | Open internet, no provider-side allowlist |
| Biggest machine | Plans up to 20 vCPU / 40 GB, more on request | Instance types up to 40 vCPU / 128 GB | Up to 16 vCPU / 32 GB on the $100 plan and above |
| GPUs | L4, A100, H100, RTX PRO 6000 and more | RTX 4000 SFF Ada up to H100, H200 and multi-GPU | No |
| Regions | US, Canada, Brazil, UK, EU, Switzerland, Asia, Australia and South Africa | Frankfurt, Paris, Washington D.C., AWS US East, Singapore, Tokyo, San Francisco in preview | EU only (Germany, Finland, France) |
| Your own cloud | Run on AWS, GCP, Azure, Oracle, CoreWeave and others, or the control plane in your VPC on Enterprise | Edge and on-premise deployments for Enterprise, on request | No |
Every feature Battleships tracks (43)
| Feature | Northflank | Koyeb | boat |
|---|---|---|---|
| Full VM (own kernel) | Yes | Yes | Yes |
| Docker inside | Yes | Yes | Yes |
| Nested virtualization | No | No | Yes |
| Root | Not published | Not published | 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 | Not published | 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 | Yes | Yes |
| Public IPv4 | No | No | No |
| Egress allowlist | Yes | Yes | No |
| Secret proxy | Yes | No | Yes |
| Secret proxy for any API | Yes | No | Yes |
| Preinstalled agents | Yes | Yes | Yes |
| Agent harness API | No | No | Yes |
| MCP server | No | Yes | No |
| GPU | Yes | Yes | No |
| Windows | No | No | No |
| Arm64 | Yes | No | 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 | No | Yes |
| Usage per sandbox (API) | Yes | No | Yes |
| Audit logs | Yes | Yes | No |
| SSO | Yes | Yes | No |
| SOC 2 | Yes | Yes | No |
| HIPAA | Yes | No | No |
| EU data residency | Yes | Yes | Yes |
| Zero data retention | Not published | Not published | Yes |
Performance
There is no comparable CPU measurement for Northflank or Koyeb: neither has a result on the hpc-sandbox-benchmarks test. 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. Koyeb publishes a CPU share of at least 0.25 dedicated vCPU per GB of memory, bursting to all cores.
Node.js build-and-test loop at 4 vCPU / 8 GB, higher is better. Measured with the open hpc-sandbox-benchmarks suite. Northflank and Koyeb 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 | Koyeb, 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 | $29 · Pro | $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 | $57 · Pro | $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 | $475 · Pro | $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 | $329 · Scale | $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 | $485 · Scale · with limits | $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. Volumes cost $0.15 per GB a month even while paused, and outbound traffic costs $0.06 per GB.
Koyeb: Koyeb bills each instance per second at a fixed price per type, and Deep Sleep costs nothing. Pro costs $29 a month with $10 of usage included and Scale $299 a month with $100 included.
Koyeb: 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 together is not confirmed. Koyeb's priced shape, eco-xlarge, has a 20 GiB disk with no published price for more, and eco instances guarantee only half of each vCPU. At 1,000 short jobs at once none of the three fits as priced: Koyeb's burstable CPU throttles under load, and boat's $2,000 plan queues starts above 90 a minute.
| Scenario | Northflank | Koyeb | boat |
|---|---|---|---|
| One coding agent, workdays |
|
| None that bite |
| One agent that never stops |
|
| None that bite |
| 50 agents in parallel |
| None that bite | None that bite |
| Sandboxes for your users |
| None that bite | None that bite |
| 1,000 short jobs at once |
|
|
|
Which one should you use?
Use Northflank when
you want sandboxes inside your own cloud account or next to your other apps on one platform, regions outside the US, EU and Asia, or outbound rules by domain.
- Your own cloud, and one platform. For teams that must run sandboxes in their own AWS, GCP or Azure account, next to their apps and databases.
- Regions on every continent. For users in Australia, South America or Africa: Northflank runs there too, and Koyeb does not.
- Domain allow lists and a ready agent harness. For teams that want outbound rules by domain, or Claude Code and Codex started for them in a sandbox.
Use Koyeb when
your sandboxes sleep most of the time and must wake on a request, when you run many short code jobs, or when one job needs up to 40 vCPU.
- Sleep when idle, wake on request. For sandboxes that sit idle between requests: Koyeb scales them to zero and wakes them on the next call.
- Bigger CPU machines. For heavy jobs on one machine: Koyeb instance types go up to 40 vCPU and 128 GB of memory.
- Strong at short code runs. For bursts of small code-interpreter jobs, Koyeb's small instances and scale to zero fit well.
Where boat fits
Northflank and Koyeb are both cloud platforms that run sandboxes next to apps and GPUs. If what you are really running is coding or computer-use agents that work for hours on one machine, boat gives each one a full VM that keeps its whole disk, with the agent, a desktop and hosting built in.
The whole disk comes back
On Northflank a pause keeps only attached volumes, and on Koyeb a deep sleep discards the VM. Either way the agent reinstalls its tools unless you plan volumes or snapshots, which on Northflank bill while paused.
Desktop, browser and /dev/kvm inside
Neither Northflank nor Koyeb has a desktop or documents nested virtualization, so a computer-use agent or an Android emulator means building and streaming your own image, or running that part elsewhere.
Agents and keys driven from outside
Northflank reaches its harness agents through a terminal or SSH, and Koyeb leaves the harness to you on top of exec. boat gives a prompt, steer and events API, and a credentials proxy keeps real keys out.
Use boat when your agents work for hours on one machine and should find it as they left it: installs, 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 Koyeb.
Questions people ask
Is Northflank cheaper than Koyeb?
Not in these scenarios. One agent that never stops is $108 a month on Northflank against $57 on Koyeb, and 50 agents in parallel are $1,322 against $475. boat is $26 and $317 a month for the same two.
Which is faster, Northflank or Koyeb?
Neither has a comparable CPU measurement, so there is no fair speed ratio. boat did 26.69 runs per second on the hpc-sandbox-benchmarks Node.js test at 4 vCPU / 8 GB.
Do Northflank and Koyeb sandboxes keep their files?
Only partly. Northflank keeps files on attached volumes when paused, and Koyeb loses its local disk on redeploy unless you add a volume, which is in preview. boat keeps the whole disk across stops and saves it every minute.
Can Northflank and Koyeb run Docker and Android emulators?
Both start from container images and give each sandbox its own kernel in a microVM. Neither documents /dev/kvm, so Android emulators and nested VMs are not covered; boat exposes /dev/kvm for them.
Do Northflank and Koyeb have GPUs?
Yes, both. Northflank has GPU sandboxes from L4 to H100 under gVisor, and Koyeb has instances from an RTX 4000 SFF Ada up to H100 and H200. boat is CPU only.
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