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.
Estimated compute cost
72% less than Freestyle58% less than Prime Sandboxes77% less than E2B
2 vCPUs · 4 GiB · 60 s a run · 20 CPU-seconds busy
Compute only, at list rates checked 25 September 2026 and 23 September 2026 (Freestyle pricing, Prime Sandboxes overview, E2B pricing). Plan fees, network, taxes and free credits are left out. The worked example below shows the arithmetic.
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, 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:
TextRuntime 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.64Freestyle 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.25Prime 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.52E2B 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.76With 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:
TypeScriptimport { 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 has your coding agent port the calls on a branch and test them on the free trial. For the detail, read Runtime vs Freestyle or price your own shape in the 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.