boxd vs Modal

Modal sandboxes are short-lived, end after 24 hours at most, and can't be stopped and started again. A boxd machine stays until you delete it and sleeps with your app running.

Checked Oct 30, 2026Every claim sourced
At a glance: boxd compared with Modal
At a glanceboxdModal
Where boxd is ahead
Session limitNone24 h maximum
Sleeps with processes keptYes, standby and hibernateNo; no stop and start
Built-in integrations100+, credentials kept outSecrets only
Private network between machinesOrg network, split by tagsFunctions only
SSHNative, own port per machine`modal shell` only
Coding agents installedClaude Code, Codex, OpenCodeNot published
Where Modal is ahead
GPUsNoYes, T4 to B300
RegionsFrankfurt (US waitlist)~20 incl. US, EU, Asia
SOC 2SOC 2 in progressSOC 2 Type II

Use boxd when

  • Your work runs past 24 hours or should pick up where it stopped
  • You want to SSH in and keep the machine
  • You want agents installed without building an image

Use Modal when

  • You need GPUs
  • You fan out thousands of short Python jobs
  • You need US or Asia-Pacific regions

Sources for every Modal cell are in the full table below · This page as Markdown, for agents

On this page · 2 min

Where boxd stands out

No session limit

A boxd machine runs until you delete it. It sleeps when it's idle and wakes on the next request, so a long agent run, a bot or a dev server never hits a cutoff.

Composable: the sandbox is one part of the kit

Modal schedules Functions, not sandboxes, has no built-in integrations, and documents no private network between sandboxes. Put together, boxd's parts ran the CI of 10 open-source projects 6× faster than one GitHub-hosted job.

Composable: the sandbox is one part of the kit: boxd compared with Modal
FeatureboxdModal
Composable
Ready machine described in codeMachine specs, built on one anotherImage builder, chainable
Machines create machinesYes, signed in as the machineNot published
Built-in integrations100+, credentials kept outSecrets only
Schedules and event triggersCron and events; sleeps between runsThrough Modal Functions
Standalone disksYes, outlive the machineVolumes, shared read-write
Private network between machinesOrg network, split by tagsFunctions only
Tailscale or NetBirdBoth, built inStatic-IP proxies (beta)
Agent skills or MCPAgent skills; no MCP serverAgent skills; no MCP server

Your app answers in 156 ms from sleep

A sleeping boxd machine keeps its memory, so the server you left running is still running. An HTTPS request wakes it and gets an answer: 156 ms median across ten runs, measured on our production cluster.

A new machine, app already up, in 1.19 s

Snapshot a machine with your stack running and every machine you create from it starts with that stack running: 1.19 s median from the create command to the app's first response. No boot script, no warm-up.

Claude Code, Codex and OpenCode are already there

Every machine boots with all three installed, plus headless Chrome, a desktop you can open in the browser, Docker and the boxd CLI. Your API keys stay outside the machine: the guest holds a placeholder and our proxy swaps in the real value.

Timings are medians of ten runs on our production cluster, from a client in the same datacenter. How we measured

Side by side

Checked Oct 30, 2026. Each ↗ goes to where Modal says it. boxd's column is from our code and our own measurements.

boxd compared with Modal
FeatureboxdModal
The machine
Full VM, own kernelYes, every machinegVisor by default; VM runtime option↗
Default size2 vCPU · 8 GiB · 100 GB0.25 vCPU · 128 MiB, bursts↗
Largest, self-serve8 vCPU · 32 GiBNot published↗
Root, systemd, DockerYes, plus nested virtualizationDocker on VM runtime; root not documented↗
CPU test (runs/s)12.6 (our run)15.48 (VM) · 12.6 (gVisor)↗
Composable
Ready machine described in codeMachine specs, built on one anotherImage builder, chainable↗
Machines create machinesYes, signed in as the machineNot published↗
Built-in integrations100+, credentials kept outSecrets only↗
Schedules and event triggersCron and events; sleeps between runsThrough Modal Functions↗
Standalone disksYes, outlive the machineVolumes, shared read-write↗
Private network between machinesOrg network, split by tagsFunctions only↗
Tailscale or NetBirdBoth, built inStatic-IP proxies (beta)↗
Agent skills or MCPAgent skills; no MCP serverAgent skills; no MCP server↗
Ready when you are
Sleeps with processes keptYes, standby and hibernateNo; no stop and start↗
Wakes on a requestYes, HTTPS or SSH · app answers in 156 msNot published↗
Starts from a snapshot, app runningYes · app answers in 1.19 sMemory snapshots in alpha↗
Session limitNone24 h maximum↗
Built for agents
Coding agents installedClaude Code, Codex, OpenCodeNot published
SSHNative, own port per machine`modal shell` only↗
HTTPS URL per portYes, plus custom domainsYes, tunnels↗
Raw TCP inboundYes, 3 ports per machineYes, TCP↗
Secrets kept outYes, swapped in at the proxyBeta↗
Price
vCPU-hour$0.047, CPU used≈$0.071, ×1.15–1.75 pinned↗
RAM GiB-hour$0.014, memory in use≈$0.024↗
While asleepHibernated: disk onlyNo paused state↗
Also worth knowing
GPUsNoYes, T4 to B300↗
RegionsFrankfurt (US waitlist)~20 incl. US, EU, Asia↗
SOC 2SOC 2 in progressSOC 2 Type II↗
SAML SSONoEnterprise↗
Egress allowlistYesYes↗
Self-hostYes, free to 16 vCPUsNo

Where Modal is stronger

GPUs. Modal rents GPUs from T4 to B300 by the second. boxd has none.

Bursts. Modal says it creates more than 10,000 sandboxes a second. For huge numbers of short jobs it's built for that.

Regions. Around 20 regions across the US, EU and Asia-Pacific.

Compliance. SOC 2 Type II, HIPAA on Enterprise, and SAML SSO.

Questions

How long can a Modal sandbox run?
Five minutes by default and 24 hours at most, and there is no stop and start: state survives only through snapshots or volumes. A boxd machine has no limit and keeps its memory and processes while it sleeps.
Is Modal faster on CPU?
On StarSling's open Node.js test, Modal's VM runtime scored 15.48 and its gVisor runtime 12.6; boxd scored 12.6 in our run. If raw CPU throughput is the deciding factor, Modal's VM runtime is ahead.