# Freestyle alternatives: agent sandboxes ranked by cost Runtime is the cheapest Freestyle alternative for agents that wait on a model: 72% less per job, with no plan fee. **Runtime costs 72% less than Freestyle when an agent spends its time waiting on a model.** 1,000 one-minute runs of a 2 vCPU, 4 GiB sandbox cost $0.64 on Runtime and $2.25 on Freestyle, which comes to $161 a month saved at 100,000 runs, before Freestyle's $50 or $500 plan. Freestyle rates checked 25 September 2026; the other rivals' checked 23 September 2026. ## What sends a Freestyle user looking? Freestyle sells full Linux VMs for long-running agent work: fast provisioning, hibernation with memory in place, and live forks. The reasons to compare are mostly about the bill: - **Allocation, not use.** Freestyle charges every vCPU, GiB of memory and GiB of disk a VM holds, for as long as it holds them. An agent waiting on a model keeps paying for idle cores. - **Plans gate concurrency.** Ten VMs at once on the free plan, 40 on Hobby at $50 a month, 400 on Pro at $500. A fleet of agents lands on Pro quickly. - **Plans gate size too.** Hobby tops out at 8 vCPUs and 16 GiB per VM, and 64 GiB of memory takes Pro. - **TypeScript first.** Freestyle's VM documentation shows TypeScript; teams on Python want an SDK of their own. ## Which alternatives are cheapest? One workload for all: 1,000 runs of 60 seconds on 2 vCPU and 4 GiB, each keeping the CPU busy for 20 CPU-seconds. Freestyle sits in the middle of the table, eighth of sixteen. The sums behind each row are in [pricing](/docs/pricing#published-rate-comparison), without plan fees, storage beyond a running disk, network or credits. | # | Provider | Isolation | CPU billed on | 1,000 runs | | --- | --------------------------------------------------- | ------------------------------------------ | --------------------------------------- | ---------: | | 1 | **Runtime** | Firecracker microVM, own kernel | Measured CPU, with a small floor | **$0.64** | | 2 | Northflank | microVMs for CPU work, gVisor for GPU work | Allocated vCPUs | $1.11 | | 3 | Cloudflare Sandbox (2 vCPU, 6 GiB, 12 GB disk) | A container in its own VM | Active CPU | $1.35 | | 4 | Fly Machines, `performance-2x` with 4 GB | Firecracker microVM | The machine's size while started | $1.44 | | 5 | Prime Sandboxes (5 GiB disk) | microVM, own guest kernel | Allocated vCPUs while running | $1.52 | | 6 | Morph, 2 MCUs | Full virtual machines | The machine's size in MCUs | $1.67 | | 7 | Vercel Sandbox, `iad1` (4 GB) | Firecracker microVM, own kernel | Active CPU | $2.12 | | 8 | Freestyle (32 GiB disk) (the one you are replacing) | Full Linux virtual machines | Allocated vCPUs | $2.25 | | 9 | CodeSandbox SDK, a Nano VM | Firecracker microVM | The VM's size, by the minute rounded up | $2.48 | | 10 | E2B | Firecracker microVM, own kernel | Allocated vCPUs | $2.76 | | 11 | Daytona | Containers by default; VM class separate | Allocated vCPUs | $2.76 | | 12 | Blaxel (4 GB) | Lightweight virtual machines | Included with memory, active time | $2.76 | | 13 | Fly Sprites (4 GB in use) | Firecracker microVM | Measured CPU | $3.31 | | 14 | Modal Sandboxes (1 physical core) | gVisor, a user-space kernel | Requested or used, whichever is higher | $3.97 | | 15 | AWS Lambda MicroVMs, Arm | Firecracker microVM | Baseline vCPUs while running | $4.20 | | 16 | Runloop, a `MEDIUM` devbox | microVM, with a container inside | Allocated CPUs while running | $5.33 | ## Cost for the same job Runtime, Freestyle, Prime Sandboxes (the cheapest other allocated microVM) and E2B (the best-known agent sandbox) side by side: ``` 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 Freestyle CPU 1,000 × 60 s / 3,600 × 2 × $0.04032 = $1.34 Memory 1,000 × 60 s / 3,600 × 4 × $0.0129 = $0.86 Disk 1,000 × 60 s / 3,600 × 32 × $0.000086 = $0.05 Total $2.25 Prime CPU 1,000 × 60 s / 3,600 × 2 × $0.02 = $0.67 Memory 1,000 × 60 s / 3,600 × 4 × $0.0125 = $0.83 Disk 1,000 × 60 s / 3,600 × 5 × $0.0002 = $0.02 Total $1.52 E2B 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 ``` With both CPUs busy for the whole minute, the job is $1.33 on Runtime, $2.25 on Freestyle, $1.52 on Prime and $2.76 on E2B. The three allocated providers cost the same busy or idle; Runtime's figure rises with use and still stays lowest, because both of its rates are below Freestyle's. ## The alternatives, for a Freestyle user ### 1. Runtime: pay for the CPU that works A Firecracker microVM with its own kernel per sandbox, $0.025 per vCPU-hour of measured CPU with a floor of a twentieth of a vCPU, and $0.0075 per reserved GiB-hour. No plan: a paid account runs 100 sandboxes at once, 50 in its first week, and a sandbox can have up to 16 vCPUs and 64 GiB. Pause keeps memory and processes for 1 to 365 days, forks copy a running sandbox, and there are SDKs for Python and JavaScript, a CLI and an MCP server. ### 2. Prime Sandboxes: low rates, RL scale $0.02 per vCPU-hour and $0.0125 per GiB-hour while running, and 1,024 sandboxes at once from the start. The rates are published through 22 December 2026, and snapshots and forks are listed as coming soon. ### 3. Morph: forks as the product 2 MCUs at $0.05 each cover this shape. Infinibranch branches a running VM, memory included, into many replicas. ### 4. E2B: hibernation without expiry Firecracker at $0.0504 per allocated vCPU-hour; a paused sandbox keeps its memory and is kept with no expiry. Long sessions need the $150-a-month Pro plan. ### 5. Fly Machines: a machine by the second $0.0861 an hour for `performance-2x` with 4 GB in `iad`, in 18 regions, billed while started. ## Moving from Freestyle A Freestyle snapshot you start VMs from becomes a Runtime snapshot, and a VM you keep for weeks becomes a sandbox that pauses when idle and wakes on the next request: ```ts check import { Sandbox } from "withruntime"; const base = await Sandbox.create({ funding: "paid" }); await base.exec("git clone --depth 1 https://github.com/pallets/flask /workspace/app"); const snapshot = await base.snapshot({ name: "app-ready", retentionDays: 30 }); await base.stop(); await using worker = await Sandbox.create({ snapshot: snapshot.id, idlePauseSeconds: 600 }); console.log((await worker.exec("ls /workspace/app")).stdout); ``` The one instruction in [migration](/docs/migrate) has your coding agent port the calls on a branch and test them on the free trial. For the detail, read [Runtime vs Freestyle](/docs/freestyle-alternative) or price your own shape in the [Freestyle pricing calculator](/calculators/freestyle-pricing-calculator). ## Sources Freestyle checked 25 September 2026, and Prime Sandboxes the same day; E2B, Morph and Fly.io rates checked 23 September 2026. - [Freestyle pricing](https://www.freestyle.sh/pricing), [Freestyle VM pricing and limits](https://www.freestyle.sh/docs/vms/pricing-and-limits) - [Prime Sandboxes overview](https://docs.primeintellect.ai/sandboxes/overview) - [E2B pricing](https://e2b.dev/pricing) - [Morph Cloud pricing](https://cloud.morph.so/web/pricing), [Fly.io pricing](https://fly.io/pricing/) - Runtime [pricing](/docs/pricing)