Fly Machines
Fly.io's low-level API for Firecracker VMs that start and stop in under a second and can be suspended to disk; the primitive underneath Fly.io's Sprites product. A fast, well-priced Firecracker VM primitive for teams that want to assemble their own sandbox layer; for an agent-ready product on the same infrastructure look at Fly.io Sprites.
Overview
Fly Machines are the compute primitive of Fly.io: "fast-launching VMs" created from any OCI image and controlled through the Machines REST API or the flyctl CLI. Each Machine is a Firecracker microVM with a lifecycle you own — created, started, stopped, suspended, destroyed — and the docs describe starting a created Machine in "well under a second". The official Go client (fly-go) backs flyctl; other languages generate clients from the OpenAPI spec. Fly.io also has a separate, higher-level product for agents, Sprites, which has its own API and SDKs (JavaScript/TypeScript, Python, Go, Elixir, MCP) — that is covered as fly-sprites; this record is the lower-level Machines API.
You pick a region, a CPU kind (shared or performance) and memory (2 GB per shared CPU or 8 GB per performance CPU at most), optionally attach a Fly Volume, and are billed by the second while running; a stopped Machine costs only its rootfs storage. Machines can be stopped or suspended automatically by Fly Proxy when idle, and fly machine run --shell gives a throwaway interactive shell. There is no documented maximum lifetime, no built-in exec/file SDK for agents, and no managed network allow-listing — you build those yourself on top of the VM. Fly.io holds SOC 2 Type 2.
Notable
- Fly.io states its compute is virtualised with Firecracker, "the virtualization engine AWS developed for Lambda and Fargate".
- Docs give concrete timing: started-from-stopped "about 2 seconds or more for common apps", resume-from-suspend "a few hundred milliseconds".
- Fly.io's agent-focused product, Sprites, is billed and documented separately from Machines (Sprites rate card: $0.0385/CPU-hour, $0.021875/GB-hour memory).
Fly Machines specifications
| Attribute | Details |
|---|---|
| Isolation | Firecracker microVM per Machine ("Compute jobs at Fly.io are virtualized using Firecracker"); runs on Fly.io's own hardware in 17 regions |
| Deployment | Hosted platform |
| Open source | No |
| SDKs and interfaces | Go, CLI, REST API |
| Cold start (vendor claim) | Docs: starting a created Machine "usually takes well under a second"; creating one (image fetch, rootfs build) "maybe low double digit seconds"; resuming a suspended Machine "takes a few hundred milliseconds"; marketing claims "sub-second starts and stops" |
| Max session length | Not documented |
| Persistence | Stopped Machines keep their rootfs assembled on the host for fast restart (ephemeral storage is a clean slate on each start); suspended Machines "preserve memory and disk state" and resume faster than stopped; attach a Fly Volume for persistent storage; volume snapshots |
| GPU | Uncertain — GPU Machines (L40S and A100 historically) were offered; the GPU docs URL now redirects to a blog post that says Fly is "scaling back our GPU ambitions" but "we're not getting rid of them"; no GPU rates appear on the pricing page |
| Networking | Private IPv6 network per organisation (WireGuard access); public IPv4/IPv6 and Fly Proxy routing on request; static egress IPs available (fly ips allocate-egress); inbound services optional |
| Pricing | Billed by the second while running; stopped Machines pay only rootfs at $0.15/GB-month. Monthly equivalents in the cheapest regions: shared-cpu-1x 256 MB $2.19, 512 MB $3.69, 1 GB $6.70; shared-cpu-2x 2 GB $13.39; performance-1x 2 GB $33.00; performance-2x 4 GB $66.00; extra RAM $6/GB-month; volumes $0.15/GB-month; snapshots $0.08/GB-month after 10 GB free; 40% off reserved compute blocks; prices vary by region |
| Free tier | $1 trial credit for 7 days (no card required); personal organisations with monthly bills under $5 are waived; no ongoing free tier |
| Compliance | SOC 2 Type 2; BAA and SOC 2 report available in the Compliance Package via the dashboard Trust Center; DPAs on request |
| Regions | 17 regions: Amsterdam, Stockholm, Paris, Dallas, Secaucus, Frankfurt, São Paulo, Ashburn, Johannesburg, Los Angeles, London, Tokyo, Chicago, Singapore, San Jose, Sydney, Toronto |
Facts from Fly Machines’s public documentation, verified November 9, 2026. Performance numbers are vendor claims.
Strengths and trade-offs
Strengths
- You want per-second-billed Firecracker VMs with full control of lifecycle, region placement and networking
- You need suspend-to-disk and sub-second restarts for bursty or idle-heavy workloads
- You are already on Fly.io and want sandboxes on the same private network as your app
- You run long-lived or persistent workloads (volumes, no documented session cap)
Trade-offs
- No sandbox SDK: no exec, file or snapshot-fork API for agents — you bring your own control plane inside the VM
- Only an official Go client; other languages must be generated from the OpenAPI spec
- Machine placement can fail when a region is out of capacity, per the docs
- GPU availability is unclear after Fly scaled back its GPU plans; pricing page lists no GPU rates
Good fit for: Teams that want raw, per-second-billed Firecracker VMs they orchestrate themselves rather than a sandbox SDK.
How Fly Machines compares
| Sandbox | Isolation | Open source | Self-host / BYOC | Cold start (vendor) | Max session | Snapshots / pause | GPU | SDKs |
|---|---|---|---|---|---|---|---|---|
| Fly Machines | Firecracker microVM | No | No / No | <1 s start (claimed) | Not documented | Yes / Yes | Not documented | Go, CLI, REST API |
| Fly.io Sprites | MicroVM | No | No / No | 0.1–2 s wake | Unlimited | Yes / Yes | No | JavaScript/TypeScript, Go, Python, Elixir |
| E2B | Firecracker microVM | Yes | Yes / Yes | Not documented | 1 h / 24 h (Pro) | Yes / Yes | No | Python, JavaScript/TypeScript |
| Unikraft Cloud | microVM (modified Firecracker) | No | Yes / Yes | <10 ms (claimed) | Not documented | Yes / Yes | Yes | JavaScript/TypeScript, Python, Go, CLI, REST API |
| AWS Lambda MicroVMs | Firecracker microVM | No | No / No | sub-second to seconds (claimed) | 8 h | Yes / Yes | No | Python, JavaScript/TypeScript, PHP, CLI, REST API |
| Koyeb Sandboxes | MicroVM | No | No / Not documented | Not documented | Up to 24 h | Not documented / Not documented | Yes | Python, JavaScript/TypeScript |
| Railway Sandboxes | Linux VM | No | No / No | Not documented | No cap (idle 30 min default) | Yes / No | Not documented | JavaScript/TypeScript, CLI, GraphQL API |
Frequently asked questions
What is Fly Machines?
How does Fly Machines isolate code?
Is Fly Machines open source?
How much does Fly Machines cost?
What are the alternatives to Fly Machines?
Sources
- fly.io/machines.md
- docs.fly.io/machines
- docs.fly.io/machines/overview
- docs.fly.io/machines/api
- docs.fly.io/machines/machine-states
- docs.fly.io/machines/guides-examples/machine-sizing
- docs.fly.io/launch/autostop-autostart
- docs.fly.io/about/pricing
- docs.fly.io/security/security-at-fly-io
- docs.fly.io/reference/regions
- fly.io/blog/wrong-about-gpu/
- fly.io/sprites/
Cite this page
Agent Sandboxes. (2026). Fly Machines. agentsandboxes.org. Last reviewed November 9, 2026. https://agentsandboxes.org/sandboxes/fly-machines/
Found an error or a missing sandbox? Submit a correction — every entry links to the sources it relies on.