Runtime

Modal vs Northflank: sandbox pricing, isolation and limits

Modal isolates with gVisor and bills requested CPU; Northflank runs Kata or gVisor microVMs and bills allocated CPU at a lower rate.

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, and creates a sandbox in one call with no App or service. Rates checked 23 September 2026.

Estimated compute cost

84% less than Modal42% less than Northflank

2 vCPUs · 4 GiB · 60 s a run · 20 CPU-seconds busy

1,000

Compute only, at list rates checked 23 September 2026 (Modal pricing, Northflank pricing). Plan fees, network, taxes and free credits are left out. The worked example below shows the arithmetic.

At a glance

Modal Sandboxes Northflank Runtime
Isolation gVisor, a user-space kernel that intercepts system calls A microVM per workload, with Kata Containers or gVisor 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 free services and 1 free database 50 sandbox hours, no card
Session length Up to 24 hours; snapshots carry state beyond that No forced time limit, seconds to weeks Leases of up to an hour, extended as often as needed
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, and 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, 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, so 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 all-in for an H100, and 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 forced time limit.
  • Your own cloud: Northflank runs sandboxes in its own regions or inside your VPC on AWS, GCP, Azure or Oracle.

A Runtime lease lasts up to an hour and can be extended as often as needed, or a paid sandbox can be made persistent. A sandbox that goes quiet can pause itself and wake on the next request, with its memory and processes intact:

TypeScriptimport { 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.

TextModal       CPU    1,000 × 60 s × 1 core × $0.00003942 = $2.37            Memory 1,000 × 60 s × 4 × $0.00000667      = $1.60            Total                                         $3.97Northflank  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.11Runtime     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 that is $396.60 on Modal, $111.10 on Northflank and $63.89 on Runtime. With both CPUs busy for the whole minute, it is $1.33 on Runtime against $3.97 on Modal and $1.11 on Northflank, so 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, sandboxes in your own cloud account, or sessions that run for weeks.
  • Pick Runtime for agents that spend most of their time waiting: measured CPU makes it 42% cheaper than Northflank and 84% cheaper than Modal, and pause keeps memory and running processes for 1 to 365 days.

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.

Or give your coding agent the one instruction in migration: it switches the project on a branch, tests it on the free trial and reports the monthly saving. From Modal, npx withruntime switch --from modal before your first top-up matches that top-up with credit, up to $100. The full side-by-sides are Runtime vs Modal and Runtime vs Northflank; for the isolation question, see Firecracker vs gVisor.

Sources

Northflank's sandboxes page rechecked 25 September 2026; the rest checked 23 September 2026.

Facts on this page were checked on 25 September 2026.