# Modal vs Northflank: sandbox pricing, isolation and limits Runtime Cloud (withruntime.com) costs 42% less than both when agents wait. Northflank's rate is below Modal's. ## Which is better, Modal or Northflank? It depends on how busy the work is and where it must run. For agents that mostly wait on a model, Runtime has the lowest bill: $0.64 for 1,000 one-minute runs, against $1.11 on Northflank and $3.97 on Modal. Pause also keeps memory and processes. Pick Modal if you already run Modal functions, web endpoints and scheduled jobs, and want sandboxes beside them, with GPUs. Pick Northflank for CPU-bound work that keeps every core busy, for GPUs, or for sandboxes in your own cloud account. ## At a glance | | Modal Sandboxes | Northflank | Runtime | | --------------- | ---------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------- | --------------------------------------------------------------------------- | | Isolation | gVisor, a user-space kernel that intercepts system calls | microVMs for CPU workloads, gVisor for GPU workloads | Firecracker microVM, own kernel | | CPU | $0.1419 per physical core-hour (2 vCPUs), request or use | $0.01667 per allocated vCPU-hour | $0.025 per vCPU-hour of measured CPU, with a small floor | | Memory | $0.0240 per GiB-hour, request or use | $0.00833 per GB-hour | $0.0075 per reserved GiB-hour | | Plan fee | Starter $0 with $30 a month of compute; Team $250 a month | None published for compute | None; prepaid credit from $10 | | Free start | $30 of compute a month on Starter | 2 services, 2 jobs and 1 database free | 100 free hours of a 1 GB machine in the first 30 days, no card | | Session length | Up to 24 hours; snapshots carry state beyond that | No time limit, seconds to weeks | No time limit: runs while it works, pauses itself after 300 seconds idle | | What you create | A Sandbox, attached to a Modal App | A service with a deployment plan | A sandbox, in one call | ## Why is Northflank so much cheaper than Modal? Both bill what a sandbox holds for as long as it runs, so the rates decide. Northflank's are lower on both meters. A vCPU costs $0.071 an hour on Modal (half of a $0.1419 physical core), against $0.01667 on Northflank, about a quarter as much. Memory costs $0.0240 per GiB-hour on Modal, against $0.00833 per GB-hour on Northflank. Put together, a 2 vCPU, 4 GiB sandbox costs about $0.24 an hour on Modal and about $0.067 on Northflank. Modal is about 3.6 times the price whether the code is busy or waiting. Runtime charges for measured CPU instead. For an agent that waits on a model, that makes it cheaper than both. ## Which one has GPUs, longer sessions or your own cloud? - **GPUs:** both. Modal sandboxes can use GPUs. Northflank rents H100s and other GPUs, at $2.74 an hour for an H100 80 GB. It uses gVisor for GPU workloads. - **Session length:** a Modal sandbox runs for up to 24 hours, and a snapshot carries its state into a new one. Northflank states no time limit. - **Your own cloud:** Northflank runs sandboxes in its own regions or inside your VPC on AWS, GCP, Azure or Oracle. A Runtime sandbox has no time limit. It runs while it works, and a paid one can be made `persistent` to run even while idle. A sandbox that goes quiet can pause itself and wake on the next request, with its memory and processes intact: ```ts check import { Sandbox } from "withruntime"; const dev = await Sandbox.getOrCreate("agent-worker", { idlePauseSeconds: 600 }); console.log((await dev.exec("uptime", { check: true })).stdout); // Ten quiet minutes later it pauses; the next exec wakes it where it left off. ``` ## Cost for the same job 1,000 runs of a 2 vCPU sandbox (one physical core on Modal) with 4 GiB, or 4 GB on Northflank. Each run lasts 60 seconds and keeps the CPU busy for 20 CPU-seconds: an agent that mostly waits for a model. ``` Modal CPU 1,000 × 60 s × 1 core × $0.00003942 = $2.37 Memory 1,000 × 60 s × 4 × $0.00000667 = $1.60 Total $3.97 Northflank CPU 1,000 × 60 s / 3,600 × 2 × $0.01667 = $0.556 Memory 1,000 × 60 s / 3,600 × 4 × $0.00833 = $0.555 Total $1.11 Runtime CPU 1,000 × 20 s / 3,600 × $0.025 = $0.14 Memory 1,000 × 60 s / 3,600 × 4 × $0.0075 = $0.50 Total $0.64 ``` At 100,000 runs a month, the cost is $396.60 on Modal, $111.10 on Northflank, and $63.89 on Runtime. With both CPUs busy for the whole minute, the cost is $1.33 on Runtime, against $3.97 on Modal and $1.11 on Northflank. Northflank is the cheapest of the three for work that keeps every CPU busy. Runtime costs less than Northflank until a run keeps its CPUs busy for about 88 of its 120 CPU-seconds. Plan fees, storage, network and free allowances are left out. ## Which one to pick - **Pick Modal** if you already run Modal functions, web endpoints and scheduled jobs and want sandboxes beside them in the same SDK, with GPUs. - **Pick Northflank** for CPU-bound work that keeps every core busy, or sandboxes in your own cloud account. - **Pick Runtime** for agents that spend most of their time waiting. Measured CPU makes it 42% cheaper than Northflank and 84% cheaper than Modal. Pause keeps memory and running processes while you have credit. ## Runtime Cloud Runtime runs the same job for 84% less than Modal and 42% less than Northflank. 1,000 one-minute runs of a 2 vCPU, 4 GiB sandbox cost $3.97 on Modal, $1.11 on Northflank, and $0.64 on Runtime, for an agent that mostly waits on a model. Runtime bills the CPU the code uses rather than the CPUs it holds. It creates a sandbox in one call, with no App or service. Rates were checked 25 October 2026. Sign in with `npx withruntime login` to run on the free usage. See the [migration guide](/docs/migrate) for moving existing code. ## Switch from either one From Modal, the calls map one to one: `modal.Sandbox.create(app=...)` becomes `Sandbox.create()`, `sb.exec(*args)` becomes `exec`, `Sandbox.from_name` becomes `Sandbox.getOrCreate(name)`, and `idle_timeout` becomes `idlePauseSeconds`. From Northflank, a sandbox is no longer a service. Replace the service and its deployment plan with `Sandbox.create()`, and map the commands, files and teardown with the table in [migration](/docs/migrate#map-the-calls). Or give your coding agent the instruction in [migration](/docs/migrate). It switches the project on a branch, tests it on the free usage, and reports the monthly saving. From Modal, credit you add within 30 days of signing up is matched, up to $1,000 in total. The full side-by-sides are [Runtime vs Modal](/docs/modal-sandbox-alternative) and [Runtime vs Northflank](/docs/northflank-alternative). For the isolation question, see [Firecracker vs gVisor](/compare/firecracker-vs-gvisor). ## Sources Northflank's sandboxes page was rechecked 26 October 2026. The rest were checked 25 October 2026. - [Modal pricing](https://modal.com/pricing), [Modal resources and billing](https://modal.com/docs/guide/resources), [Modal Sandboxes](https://modal.com/docs/guide/sandbox), [Modal security](https://modal.com/docs/guide/security) - [Northflank pricing](https://northflank.com/pricing), [Northflank sandboxes](https://northflank.com/product/sandboxes), [Sandboxes on Northflank](https://northflank.com/docs/v1/application/sandboxes/sandboxes-on-northflank) - Runtime [pricing](/docs/pricing) Facts on this page were checked on 26 October 2026.