# Vercel Sandbox vs Fly Sprites: pricing, memory and idle time Runtime Cloud (withruntime.com) costs 70% less than either. Vercel bills memory held, and Sprites bill memory used. ## Which is better, Vercel Sandbox or Fly Sprites? It depends on how long your agents live between tasks. For agents that mostly wait on a model, Runtime costs $0.64 for the job below, against $2.40 on Sprites and $2.12 on Vercel. Runtime also sizes memory to the job and keeps it through a pause. Pick Vercel Sandbox for an app on Vercel, a region you choose from 19, or up to 10,000 sandboxes on Pro. Pick Sprites for agent computers that sleep at $0.02 per GB-month, or for SDKs in Go and Elixir. ## At a glance Vercel's figures are at the rates of its default `iad1` region. | | Vercel Sandbox | Fly Sprites | Runtime | | ------------ | ---------------------------------------------------------------------------------------- | ------------------------------------------------------------ | ------------------------------------------------------------------------------- | | Isolation | Firecracker microVM, own kernel | Firecracker microVM | Firecracker microVM, own kernel | | CPU | $0.128 per active CPU-hour | $0.0385 per CPU-hour of measured CPU | $0.025 per vCPU-hour of measured CPU, with a small floor | | Memory | $0.0212 per provisioned GB-hour; 2 GB per vCPU | $0.021875 per GB-hour of memory in use | $0.0075 per reserved GiB-hour | | Size | Up to 8 vCPUs and 16 GB on Pro | Memory managed by Fly, 100 GB disk | Up to 16 vCPUs and 64 GiB paid, chosen apart | | Plan fee | Hobby allowance free; usage beyond it needs Pro | None required; optional monthly plans | None; prepaid credit from $10 | | Free start | 5 active CPU-hours and 420 GB-hours a month on Hobby | $30 of trial credit | 100 free hours of a 1 GB machine in the first 30 days, no card | | When idle | Runs until its timeout or `stop()`; stop keeps the filesystem | Pauses itself; memory kept at first, the disk kept always | Pauses after the idle time you set, memory and processes kept | | Stored state | Snapshots $0.08 per GB-month, expire 30 days after last use by default | Sleeping disk $0.02 per GB-month | Paused storage $0.08 per GB-month, kept while you have credit | | Interfaces | JavaScript and Python SDKs | API, CLI, MCP server; JavaScript, Python, Go, Elixir SDKs | API, CLI, MCP server, JavaScript and Python SDKs | ## Which is cheaper, Vercel Sandbox or Sprites? Vercel, for the one-minute job below: $2.12 against $2.40 on Sprites. A Sprite stays awake, and billed, for about 30 seconds after each run. Memory costs about the same on both. Sprites charge $0.021875 per GB-hour of memory in use, about the same Vercel's $0.0212 per provisioned GB-hour. Sprites' CPU is cheaper, at $0.0385 an hour against $0.128, so busy code favours Sprites. With both CPUs busy the whole minute, the job costs $3.47 on Sprites and $5.68 on Vercel. Two things move the Sprite figure down. It bills the memory it actually uses, so a job that uses 1 GB for the minute pays $0.76 for these runs instead of $2.40. And it pauses by itself, so a Sprite you forget costs little. The figures include the 30 seconds or so a Sprite stays awake, and billed, after each run. ## What happens between tasks? This decides the cost of an agent that works in bursts. A Sprite pauses itself when idle and keeps its disk. Its memory is kept at first, then dropped when it goes cold, at a time you do not choose. A Vercel sandbox runs until its timeout or a `stop()`, which keeps its filesystem. Processes start again next session. A Runtime sandbox pauses after the idle time you set, keeps its memory and running processes while you have credit, and wakes on the next request: ```python check from withruntime import Sandbox dev = Sandbox.get_or_create("agent-dev", idle_pause_seconds=300) dev.exec("git --version", check=True) # Five quiet minutes later it pauses; the next call wakes it where it stopped. print(Sandbox.get_or_create("agent-dev").exec("uptime").stdout) ``` See [how to pause and resume a sandbox](/how-to/pause-and-resume-a-sandbox). ## Cost for the same job 1,000 runs of a 2 vCPU sandbox with 4 GiB, or 4 GB on Vercel. The Sprite is assumed to use all 4 GB for the whole minute. Each run lasts 60 seconds and keeps the CPU busy for 20 CPU-seconds: an agent that mostly waits for a model. ``` Vercel CPU 1,000 × 20 s / 3,600 × $0.128 = $0.71 Memory 1,000 × 60 s / 3,600 × 4 × $0.0212 = $1.41 Total $2.12 Sprites CPU 1,000 × 20 s / 3,600 × $0.0385 = $0.21 Memory 1,000 × 90 s / 3,600 × 4 × $0.021875 = $2.19 Total $2.40 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 $212.44 on Vercel, $240.14 on Sprites and $63.89 on Runtime. With both CPUs busy for the whole minute, it is $1.33 on Runtime, against $5.68 on Vercel and $3.47 on Sprites. Runtime is cheaper however busy the sandbox is. Plan fees, creations, storage, network and free allowances are left out. ## Which one to pick - **Pick Vercel Sandbox** if your app is on Vercel, or you need sandboxes in a region you choose, from 19, with up to 10,000 running at the same time on Pro. - **Pick Sprites** for long-lived agent computers that sleep cheaply. A sleeping Sprite's disk costs $0.02 per GB-month, with SDKs for Go and Elixir as well as JavaScript and Python. - **Pick Runtime** for measured CPU at 80% below Vercel's rate and 35% below Sprites', memory sized to the job, and a pause that keeps memory for as long as you choose. ## Switch from either one From Vercel Sandbox, change the import and keep the code, with no Vercel project or token: ```ts no-run import { Sandbox } from "withruntime/vercel"; // was: from "@vercel/sandbox" ``` From Sprites, `client.createSprite(name)` becomes `Sandbox.getOrCreate(name)` (or `Sandbox.create()` for a one-off). `sprite.execFile(cmd, args)` becomes `exec([cmd, ...args])`, and `sprite.delete()` becomes `stop()`: ```ts import { Sandbox } from "withruntime"; const box = await Sandbox.create(); try { await box.files.write("/workspace/invoice.py", "print(sum([125, 250, 375]))\n"); console.log((await box.exec(["python3", "/workspace/invoice.py"], { check: true })).stdout); } finally { await box.stop(); } ``` Or give your coding agent the one instruction in [migration](/docs/migrate). It switches the project on a branch, tests it on the free usage and reports the monthly saving. 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 Vercel Sandbox](/docs/vercel-sandbox-alternative) and [Runtime vs Fly.io](/docs/fly-alternative). ## Runtime Cloud Runtime runs the same job for 70% less than Vercel and 73% less than Sprites. 1,000 one-minute runs of a 2 vCPU, 4 GiB sandbox cost $2.12 on Vercel, $2.40 on Sprites and $0.64 on Runtime. All three bill CPU as it is used. Runtime's memory rate, $0.0075 per GiB-hour, is 65% below Vercel's and 66% below Sprites'. Rates checked 25 October 2026. You can try it on the free usage after `npx withruntime login`. Moving from Vercel Sandbox or Sprites is covered in the [migration guide](/docs/migrate). ## Sources Fly.io prices checked 25 October 2026. Vercel Sandbox pricing rechecked 25 October 2026; the rest checked 25 October 2026. - [Vercel Sandbox pricing](https://vercel.com/docs/sandbox/pricing), [Understanding Vercel Sandboxes](https://vercel.com/docs/sandbox/concepts) - [Fly.io pricing](https://fly.io/pricing/), [Sprites](https://fly.io/sprites/), [Sprites documentation](https://docs.sprites.dev/), [Sprites lifecycle and persistence](https://docs.sprites.dev/concepts/lifecycle/) - Runtime [pricing](/docs/pricing) Facts on this page were checked on 26 October 2026.