Northflank vs Modal VM Sandboxes
Both give each sandbox its own Linux kernel. Northflank sandboxes run until you pause them, inside a broad platform with GPUs, many regions and your own cloud, while Modal VM Sandboxes are short-lived VMs that end within 24 hours, built for huge bursts next to Modal's AI platform.
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.
Modal VM Sandboxes
Modal is a serverless cloud for AI work, and VM Sandboxes are the version of its sandboxes that run in a virtual machine with their own Linux kernel.
You create a VM Sandbox from Python, TypeScript or Go code with runtime="vm", run commands in it, and terminate it when the job is done. Modal built the runtime on the Rust-based Cloud Hypervisor, so Docker, FUSE, systemd and nested cgroups work, with the same API, images and prices as its gVisor sandboxes. It became generally available on 1 October 2026 and suits teams that want many short-lived agent machines next to Modal's inference and training.
- Funding
- Over $466M raised
- Generally available
- 1 October 2026; early customers launched over 20 million VMs before that
- Session length
- Default 5 minutes, maximum 24 hours
- Compliance
- SOC 2 on every plan; HIPAA on Enterprise
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 | Modal VM Sandboxes: 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 machine: Northflank keeps only attached volumes across a pause, Modal ends the VM within 24 hours, and boat keeps the whole disk. | 159th of 367, with limits $1,477 a month | 84th of 367, with limits $759 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 its machine all month needs no session cap, which rules out Modal's 24-hour VMs; Northflank has no cap but resets everything outside volumes on a pause. | 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 fit both: Northflank has small per-second plans from a tenth of a vCPU, and Modal starts thousands of short sandboxes at once on Team. | 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 run at once, Modal allows 5,000 containers on Team, and boat keeps each user's disk while a stopped sandbox costs nothing. | 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 Huge bursts of short rollouts are what Modal is built for; Northflank's concurrency limit is not published, and boat's plans queue large bursts. | 342nd of 360, with limits $1,762 a month | 171st of 360, with limits $16,322 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 | 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 All three run Docker builds with their own kernel; boat adds /dev/kvm on every plan, Modal offers it on Team and Enterprise on request, and Northflank does not document it. | 38th cheapest of 377 $352 a month | 188th of 377, with limits $1,064 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 | Can't run it | 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 Northflank nor Modal ships a desktop, so you build and stream one yourself; boat has a 60fps desktop, Chromium and a computer-use API inside. | 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 | 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 | 294th of 360, with limits $642 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 Northflank has GPU sandboxes from L4 to H100 and up under gVisor; Modal VM Sandboxes have no GPUs, 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 | Modal VM Sandboxes | boat |
|---|---|---|---|
| Isolation | Kata microVM with its own kernel for CPU sandboxes; gVisor for GPU | VM with its own Linux kernel on Cloud Hypervisor | Full VM with its own kernel on dedicated AMD Ryzen 9 9950X hosts |
| Longest session | No maximum documented; runs until you pause or delete it | 24 hours (default 5 minutes); continue from a filesystem snapshot | No cap on paid plans; you set the time to live |
| What survives a stop | Only attached volumes, billed while paused; the rest of the disk and all processes reset | No paused state; a finished sandbox is gone, only Volumes and snapshots keep files | The whole disk, saved every minute and on stop; stopped sandboxes cost nothing |
| Snapshots and fork | Filesystem snapshots of a running or stopping sandbox, opt-in; restore into a new one | Filesystem snapshots boot any number of new sandboxes; memory snapshots in alpha end the sandbox and expire after 7 days | Automatic disk snapshots; fork a running sandbox with its disk |
| Docker and systemd | Docker runs inside, with its own kernel | Docker, FUSE and systemd; start dockerd yourself as the entrypoint | Docker and systemd in every sandbox |
| Nested virtualization | Not documented inside a sandbox | Team and Enterprise plans only, on request | Yes, /dev/kvm on every plan for Android emulators and VMs |
| CPU benchmark (4 vCPU / 8 GB) | No result on this benchmark | 15.54 runs/s | 26.69 runs/s |
| Desktop and browser | Headless; access by SDK, browser terminal or SSH | Not offered; an example shows how to set up Xvfb and VNC yourself | 60fps Linux desktop, Chromium and computer-use API built in |
| Coding agents | Harnesses start Claude Code, Codex, Cursor, OpenCode or Pi; you reach them by terminal or SSH | Examples only; you install the agent yourself | 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 environment variables, or you run your own proxy in a sidecar | Credentials proxy for model providers and any HTTPS API |
| Outbound rules | Network policies with allow lists by IP, CIDR or domain, documented for your own cluster | Block all, IP-range allowlist, domain allowlist (beta) | Open internet, no provider-side allowlist |
| GPUs | L4, A100, H100, RTX PRO 6000 and more, under gVisor | None on the VM runtime; GPU sandboxes need gVisor | No |
| Regions | US, Canada, Brazil, UK, EU, Switzerland, Asia, Australia and South Africa | US, EU and Asia-Pacific; pinning a region costs 1.15x to 1.75x | EU only (Germany, Finland, France) |
| Your own cloud | Run in your AWS, GCP, Azure or other account, or the control plane in your VPC on Enterprise | No | No |
Every feature Battleships tracks (43)
| Feature | Northflank | Modal VM Sandboxes | boat |
|---|---|---|---|
| Full VM (own kernel) | Yes | Yes | Yes |
| Docker inside | Yes | Yes | Yes |
| Nested virtualization | No | Yes | Yes |
| Root | Not published | Yes | Yes |
| Systemd | Not published | Yes | Yes |
| Desktop GUI | No | No | Yes |
| Browser | No | No | Yes |
| Computer-use API | No | No | Yes |
| SSH | Yes | Yes | Yes |
| Persistent disk | Yes | Yes | Yes |
| Pause/resume | Yes | No | Yes |
| Automatic snapshots | Yes | No | 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 | No | 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 | No | Yes |
| Agent harness API | No | No | Yes |
| MCP server | No | No | No |
| GPU | Yes | No | No |
| Windows | No | No | No |
| Arm64 | Yes | No | No |
| Self-hosting | Yes | No | No |
| BYOC | Yes | No | 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 | Not published | Yes |
| Audit logs | Yes | Yes | No |
| SSO | Yes | Yes | 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
On the hpc-sandbox-benchmarks Node.js build-and-test loop at 4 vCPU / 8 GB, run on 29 September 2026, Modal's VM runtime did 15.54 runs per second and boat did 26.69, about 1.7 times the CPU work. Northflank Sandboxes have no result on that benchmark, so there is no comparable CPU number for them. This test measures CPU speed only, not start time.
Node.js build-and-test loop at 4 vCPU / 8 GB, higher is better. Measured with the open hpc-sandbox-benchmarks suite. Modal VM Sandboxes measured on: VM Sandbox, request = size. Northflank 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.
| Scenario | Northflank, a month | Modal VM Sandboxes, 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 | $15 · Starter · with limits | $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 | $178 · Starter · with limits | $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 | $2,229 · Starter · with limits | $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 | $792 · Team | $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 | $3,193 · Team · 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; 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.
Modal VM Sandboxes: Modal bills by the second for the higher of the CPU and memory you request or what you use, until the sandbox ends. Starter is free with $30 of monthly credit, Team is $250 a month with $100 of credit, and egress above the free allowance costs $0.04 per GiB.
Modal VM Sandboxes: 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 whole disk.
Limits in those scenarios
On Northflank the limit that bites in the first three scenarios is what survives a pause: only attached volumes keep their files. Northflank also does not publish how many sandboxes run at once, so 300 or 1,000 at a time is not confirmed. On Modal the VM lives at most 24 hours and its root disk goes with it, so the workday, always-on and fleet scenarios keep only what is in a Volume or snapshot, and the 1,000-job burst relies on shared CPU above the request. On boat the limit is start speed: even the $2,000 plan queues starts above 90 a minute.
| Scenario | Northflank | Modal VM Sandboxes | 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 | 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 Europe, sandboxes in your own cloud account, or sessions that run longer than a day.
- Sandboxes that run as long as you need. For work longer than a day: a Northflank sandbox has no documented time limit and runs until you pause it.
- GPU sandboxes. For agents that train or run models: Northflank has GPU sandboxes from L4 to H100 and up, which Modal's VM runtime lacks.
- Regions and your own cloud. For teams far from Europe or bound to their own AWS, GCP or Azure account, next to their apps and databases.
Use Modal VM Sandboxes when
you run huge bursts of short jobs that finish within a day, need strict outbound rules, or already run your models on Modal.
- Very large bursts. For huge bursts of short jobs: Modal runs 5,000 containers at once on Team and more on Enterprise.
- Outbound rules and memory snapshots. For locked-down agents: block all outbound traffic or allow chosen domains, and clone running memory in alpha.
- One platform with inference and training. For teams that already serve or train models on Modal: sandboxes and models sit on one account and one bill.
Where boat fits
Northflank and Modal both give each sandbox its own kernel, but neither keeps the whole machine between runs or ships the desktop and agent tools inside it. If your agents work for hours or days on one machine and should find it as they left it, boat is the third option to look at. It keeps its whole disk across free stops, has no session cap on paid plans, and runs faster in the one CPU test that measured it.
The whole machine comes back
On Northflank a pause wipes everything outside attached volumes, and a Modal VM ends within 24 hours with its root disk. The workaround on both is planning volumes or snapshot code for every path the agent touches. boat saves the whole disk every minute.
A desktop and agents you drive from outside
Both are headless: on Modal you install Xvfb, VNC and the agent yourself, and Northflank Harnesses are reached by terminal or SSH. boat ships a 60fps desktop, Chromium and seven agents with a prompt, steer and events API.
Faster CPU and /dev/kvm
boat did 26.69 runs per second against 15.54 for Modal's VM runtime, about 1.7 times the CPU work; Northflank has no result. Modal gives /dev/kvm only on Team or Enterprise on request, Northflank does not document it, and boat has it on every plan.
Use boat when your agents work for hours or days on a machine they come back to, with installs, Docker, emulators, a desktop and a browser, on a faster VM that keeps its whole disk. Compare it one to one: boat vs Northflank and boat vs Modal VM Sandboxes.
Questions people ask
Is Northflank cheaper than Modal VM Sandboxes?
For long or large work, yes in our scenarios: one agent that never stops is $108 a month on Northflank against $178 on Modal, and 50 parallel agents are $1,322 against $2,229. For one agent on workdays Modal is cheaper ($15 against $32). boat runs the always-on agent for $26 a month.
Which is faster, Northflank or Modal VM Sandboxes?
Modal's VM runtime did 15.54 runs per second on the hpc-sandbox-benchmarks CPU test at 4 vCPU / 8 GB. Northflank has no result on that test, so there is no fair comparison. boat did 26.69 on the same run.
How long can a sandbox run on each?
A Modal VM Sandbox defaults to 5 minutes and stops at 24 hours at most. Northflank documents no maximum, so a sandbox runs until you pause or delete it. boat has no session cap on paid plans.
Can Northflank and Modal VM Sandboxes run Docker?
Yes, both give each sandbox its own kernel, so Docker runs inside; on Modal you start dockerd yourself. For Android emulators, Modal offers nested virtualization on Team and Enterprise on request, Northflank does not document it, and boat has /dev/kvm on every plan.
Do Northflank or Modal VM Sandboxes have GPUs?
Northflank has GPU sandboxes under gVisor, from L4 to H100 and up. Modal VM Sandboxes have none; only Modal's gVisor sandboxes can use GPUs. boat runs on CPUs only.
Try boat
Install the CLI, then run boat new.
7-day free trial