# Daytona vs Modal: pricing, isolation and limits Daytona runs sandboxes as containers by default and Modal uses gVisor. The same job costs $2.76 on Daytona and $3.97 on Modal. **Neither rival charges less while an agent waits; Runtime does, and the same job comes out 77% below Daytona and 84% below Modal.** 1,000 one-minute runs of a 2 vCPU, 4 GiB sandbox cost $2.76 on Daytona, $3.97 on Modal and $0.64 on Runtime. Runtime's CPU charge follows the code's actual use, and each sandbox is a Firecracker microVM with a kernel of its own. Rates checked 23 September 2026. ## At a glance | | Daytona | Modal Sandboxes | Runtime | | -------------- | ------------------------------------------------------- | --------------------------------------------------------- | -------------------------------------------------------- | | Isolation | Containers by default; VM sandboxes as a separate class | gVisor, a user-space kernel that intercepts system calls | Firecracker microVM, own kernel, every sandbox | | CPU | $0.0504 per allocated vCPU-hour | $0.1419 per physical core-hour (2 vCPUs), request or use | $0.025 per vCPU-hour of measured CPU, with a small floor | | Memory | $0.0162 per GiB-hour | $0.0240 per GiB-hour, request or use | $0.0075 per reserved GiB-hour | | Plan fee | None published | Starter $0 with $30 a month of compute; Team $250 a month | None; prepaid credit from $10 | | Free start | $200 of compute | $30 of compute a month on Starter | 50 sandbox hours, no card | | Idle behaviour | Stops after 15 idle minutes by default | Up to 24 hours a session; snapshots carry state past it | Pause keeps files, memory and processes, 1 to 365 days | | GPUs | GPU sandboxes; Windows machines too | GPU sandboxes | CPUs only | | Agent sign-in | API key | API key | Browser approval; no key in the agent's config | ## Which is cheaper, Daytona or Modal? Daytona, at every load, for this size. Two allocated vCPUs on Daytona are $0.1008 an hour ($0.0504 each). Modal counts the pair as one physical core at $0.1419 an hour, charged on the request or the use, whichever is larger. On memory, Daytona asks $0.0162 per GiB-hour and Modal $0.0240. Neither discounts a sandbox that sits idle waiting on a model reply. Runtime does: it bills the CPU the code uses, at $0.025 per vCPU-hour, and only a floor of a twentieth of a vCPU while nothing runs. ## Cost for the same job 1,000 runs on 2 vCPU and 4 GiB, which is one physical core in Modal's terms. Every run is 60 seconds long and spends 20 CPU-seconds computing. ``` Daytona CPU 1,000 × 60 s / 3,600 × 2 × $0.0504 = $1.68 Memory 1,000 × 60 s / 3,600 × 4 × $0.0162 = $1.08 Total $2.76 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 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, that is $276.00 on Daytona, $396.60 on Modal and $63.89 on Runtime. If both CPUs are busy for the whole minute, the job costs $1.33 on Runtime, $2.76 on Daytona and $3.97 on Modal, because only Runtime's figure depended on load in the first place. Plan fees, disk, network and free credit are not included. ## Container, gVisor or microVM? Three different answers. Daytona's standard sandbox is a container, with a separate VM class for pausing with memory and taking memory snapshots. Modal puts every sandbox under gVisor, described by its project as an application kernel that "intercepts application system calls and acts as the guest kernel". Runtime boots every sandbox as a Firecracker microVM with its own Linux kernel, so any sandbox can pause with its memory and there is no class to select. Background: [microVM vs container](/compare/microvm-vs-container) and [Firecracker vs gVisor](/compare/firecracker-vs-gvisor). ## Which one to pick - **Daytona** if Windows machines, an EU region alongside the US, or $200 of free compute matter to you. - **Modal** if your team already builds on Modal functions, web endpoints and scheduled jobs and wants sandboxes in the same SDK. - **Runtime** if you want a microVM for every sandbox at under a quarter of Daytona's price and under a sixth of Modal's, pause and forks that keep memory and running processes, and an agent that connects with no API key. Runtime runs Linux on CPUs; both rivals offer GPU sandboxes. ## Moving to Runtime For Daytona the change is the import line: ```ts no-run import { Daytona } from "withruntime/daytona"; // was: from "@daytona/sdk" ``` ```python no-run from withruntime.daytona import Daytona # was: from daytona import Daytona ``` After that, Daytona's `stop()` pauses the sandbox with files and memory, and `start()` resumes it. Modal code is rewritten call by call, without needing an App: `modal.Sandbox.create(app=...)` to `Sandbox.create()`, `sb.exec(*args)` to `exec`, `Sandbox.from_name` to `Sandbox.getOrCreate(name)`: ```python from withruntime import Sandbox with Sandbox.create(funding="trial") as box: print(box.exec("python3 -c 'print(6 * 7)'", check=True).stdout) ``` `npx withruntime switch --from daytona` or `--from modal`, run before the first top-up, matches it with credit up to $100. The one instruction in [migration](/docs/migrate) has a coding agent do the port on a branch and test it on the free trial. Longer comparisons: [Runtime vs Daytona](/docs/daytona-alternative), [Runtime vs Modal](/docs/modal-sandbox-alternative). ## Sources Daytona and Modal pricing pages rechecked 25 September 2026; the rest checked 23 September 2026. - [Daytona pricing](https://www.daytona.io/pricing), [Daytona sandboxes](https://www.daytona.io/docs/en/sandboxes), [Daytona on microVMs, pause and fork](https://www.daytona.io/dotfiles/vms-pause-and-fork) - [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) - [gVisor documentation](https://gvisor.dev/docs/), read 25 September 2026 - Runtime [pricing](/docs/pricing) and [security](/docs/security) Facts on this page were checked on 25 September 2026.