# Fly.io

Hardware-isolated VMs that boot in under a second, run close to your users, and scale out to tens of thousands.

Source: https://wheredoirunthis.com/products/fly-io · JSON: https://wheredoirunthis.com/api/products/fly-io · Read on 2026-10-14

## At a glance

- Type: PaaS
- Kind: Hosted
- Isolation: Firecracker microVM
- Free tier: No
- Starting price: $29/mo
- GPU: Not documented
- Regions: 17
- Coverage: 34 of 61 assessed capabilities supported
- Agent readiness: read 11 of 11 signals, drive 10 of 11 signals

## Links

- Homepage: https://fly.io/
- Docs: https://docs.fly.io/
- Pricing: https://docs.fly.io/about/pricing

## Pricing

- Model: Usage-based Pay As You Go; no monthly platform fee; per-second running compute with region-dependent rates; optional 40% reservation blocks and paid support.
- Unit: Machine preset and region per running second; 30-day monthly illustrations; storage GB-month and network GB.
- Free tier: No

| Tier | Price | Includes | Notes |
| --- | --- | --- | --- |
| Pay As You Go | No monthly platform fee; smallest always-on Machine $2.19 per 30 days | No included compute; shared IPv4, IPv6, inbound transfer, 10 single-host certificates, first 10GB snapshot storage free.; No free compute allowance for new organizations. |  [source](https://docs.fly.io/about/pricing) |
| Shared Machine reservation | $36/year for $5/month shared compute credit in one region | 40% discount. Monthly credit does not roll over; only CPU and additional RAM in selected region. Larger blocks $360/$3600 yearly. |  [source](https://docs.fly.io/about/pricing) |
| Performance Machine reservation | $144/year for $20/month performance compute credit in one region | 40% discount; larger yearly blocks $1440/$14400. Credit expires monthly. |  [source](https://docs.fly.io/about/pricing) |
| Standard Support (optional) | $29/month; Premium $199/month; Enterprise from $2500/month |  |  [source](https://docs.fly.io/about/pricing) |

- Overages: Regional compute; extra RAM $6/GB-month; volume $0.15/GB-month; stopped rootfs $0.15/GB-month; snapshots $0.08/GB-month (10GB free); internet egress $0.02/0.04/0.12 per GB; cross-region private $0.006/0.015/0.050 per GB; dedicated IPv4 $2/mo; static egress $0.005/hour.
- Card required: Yes
- Source: https://docs.fly.io/about/pricing

## Website design

Desktop public website · assessed 2026-10-14

Complete assessment.

Playful hand-drawn purple characters and pastel color fields pair with serif headlines; pricing and docs retain the illustrative brand within a structured three-column reference layout.

- Styles: Playful
- Landing page: captured
- Pricing: captured
- Docs: captured

## Runtime

- **GPU & accelerators**: Not currently offered in the resource pricing; deprecated GPU product has passed its stated August 1 sunset. — "Blog index says GPUs are deprecated and unavailable after August 1 (no year in that notice). Current pricing omits GPUs; /gpu redirects to historical February 2025 article. Do not retain invented August 1, 2026 year." [source](https://fly.io/blog/) (confidence: medium)
- **BYOC (Bring your own cloud)**: No — "Workloads run on servers Fly operates in its datacenters; no BYOC offering found." [source](https://docs.fly.io/reference/regions) (confidence: medium)
- **Secrets management**: Encrypted app vault; secrets injected as environment variables at boot on every app Machine; can also mount base64 secrets as files. Deploy access can exfiltrate secrets. [source](https://docs.fly.io/apps/secrets)
- **Storage options**: Local NVMe Fly Volumes $0.15/provisioned GB-month; incremental snapshots $0.08/stored GB-month, first 10GB free; third-party Tigris object storage billed separately at provider list prices plus network. [source](https://docs.fly.io/about/pricing)
- **Supported workloads**: web-apps, background-workers, globally-distributed-apps, containerized-services, stateful-applications [source](https://docs.fly.io/about/pricing)
- **Persistence**: Fly Volumes provide local persistent NVMe storage on the same physical server as a Machine. Root filesystem is ephemeral across Machine updates/restarts; use volumes for durable app data. Stopped Machine rootfs remains billable. [source](https://docs.fly.io/volumes)
- **Data jurisdiction**: ams, arn, cdg, dfw, ewr, fra, gru, iad, jnb, lax, lhr, nrt, ord, sin, sjc, syd, yyz [source](https://docs.fly.io/reference/regions)
- **Resource limits & quotas**: Organization automated scaling limits apply. Trial: 2 total VM-hours or 7 days; max 10 Machines, 20GB volumes, 2 vCPUs and 4GB RAM/Machine; trial Machines auto-stop after 5 minutes. [source](https://docs.fly.io/about/free-trial)
- **SDK languages**: Go — "fly-go: Go client for the Machines API and the Fly.io GraphQL API, the library flyctl is built on." [source](https://fly.io/llms.txt)
- **Network & egress controls**: Static egress IPs available; no general outbound deny-all/allowlist firewall established for Machines. — "How to get stable outbound IPs from your Fly apps using machine-scoped assignments or a shared proxy setup." [source](https://docs.fly.io/networking/egress-ips.md)
- **Snapshots & forks**: Yes — "Daily incremental volume snapshots; default retention 5 days, configurable 1–60 days; restore into a new volume. This does not claim live-memory checkpoints or Sprites checkpoint support. Machines suspend also saves complete memory/process state; see https://docs.fly.io/reference/suspend-resume.md (fresh artifact)." [source](https://docs.fly.io/volumes/snapshots) (confidence: high)
- **Deployment methods**: cli, api, container-image, dockerfile, mcp [source](https://docs.fly.io/machines)
- **Isolation**: Firecracker microVM — "Apps run inside Firecracker, a memory-safe KVM hypervisor; full no-shared-kernel isolation." [source](https://fly.io/compliance/) (confidence: high)

## Capabilities

### AI & agents

| Capability | Status | Evidence |
| --- | --- | --- |
| Agent skills | Supported | "Call the Fly.io Machines API to create, start, stop, and destroy VMs programmatically." [source](https://fly.io/agent-skills/fly-machines-api/SKILL.md) |
| AI app builder | Not supported | "Not found as a hosted Fly Machines/PaaS capability in the fetched documentation index; sibling Sprites capabilities are excluded." [source](https://fly.io/docs/llms.txt) |
| Autonomous QA agent | Not supported | "Not found as a hosted Fly Machines/PaaS capability in the fetched documentation index; sibling Sprites capabilities are excluded." [source](https://fly.io/docs/llms.txt) |
| Built-in coding agent | Not supported | "Not found as a hosted Fly Machines/PaaS capability in the fetched documentation index; sibling Sprites capabilities are excluded." [source](https://fly.io/docs/llms.txt) |
| BYOK for LLMs | Not applicable | "Hosted application compute, not an LLM-provider product; model keys inside user workloads do not establish a platform BYOK-LLM feature." [source](https://fly.io/index.md) |
| Credential-injection proxy | Not supported | "Not found as a hosted Fly Machines/PaaS capability in the fetched documentation index; sibling Sprites capabilities are excluded." [source](https://fly.io/docs/llms.txt) |
| LLM gateway | Not supported | "Not found as a hosted Fly Machines/PaaS capability in the fetched documentation index; sibling Sprites capabilities are excluded." [source](https://fly.io/docs/llms.txt) |
| MCP client | Supported | "[experimental] Start an MCP proxy client" [source](https://docs.fly.io/flyctl/cmd/fly_mcp_proxy.md) |
| MCP-server hosting | Supported | "Hosting a remote MCP server on Fly.io means running it on a Fly Machine, a fast-booting isolated VM that any MCP client can reach over HTTP" [source](https://docs.fly.io/blueprints/remote-mcp-servers.md) |
| MCP server | Supported | "[experimental] Start a flyctl MCP server" [source](https://docs.fly.io/flyctl/cmd/fly_mcp_server.md) |
| Model inference API (first-party) | Not supported | "Not found as a hosted Fly Machines/PaaS capability in the fetched documentation index; sibling Sprites capabilities are excluded." [source](https://fly.io/docs/llms.txt) |
| Preinstalled coding agent | Not supported | "Users deploy Nous Research’s prebuilt Hermes image and run hermes setup themselves; this is a documented workload recipe, not a platform-preinstalled coding-agent workspace." [source](https://docs.fly.io/blueprints/hermes-agent-on-fly-io.md) |

### Networking & delivery

| Capability | Status | Evidence |
| --- | --- | --- |
| Automatic HTTPS | Supported | "Add a custom domain for your app and troubleshoot certificate creation." [source](https://docs.fly.io/networking/custom-domain.md) |
| Custom domains | Supported | "Add a custom domain for your app" [source](https://docs.fly.io/networking/custom-domain.md) |
| Direct public IPv6 | Not supported | "Public services route through Fly Proxy; documented per-Machine IPv6 is the private 6PN network, not direct public per-instance IPv6." [source](https://fly.io/docs/networking/index.md) |
| Edge KV store | Not supported | "Not found as a hosted Fly Machines/PaaS capability in the fetched documentation index; sibling Sprites capabilities are excluded." [source](https://fly.io/docs/llms.txt) |
| Egress controls | Supported | "How to get stable outbound IPs from your Fly apps using machine-scoped assignments or a shared proxy setup." [source](https://docs.fly.io/networking/egress-ips.md) |
| Email send / receive | Not supported | "Not found as a hosted Fly Machines/PaaS capability in the fetched documentation index; sibling Sprites capabilities are excluded." [source](https://fly.io/docs/llms.txt) |
| Public preview URLs | Supported | "automatically generate ephemeral "review apps" on Fly.io for each pull request (PR) using GitHub Actions" [source](https://docs.fly.io/blueprints/review-apps-guide.md) |
| Private networking | Supported | "Private networking" [source](https://docs.fly.io/networking/private-networking.md) |
| Built-in reverse proxy | Supported | "Route requests to private apps through Fly Proxy to take advantage of features like load balancing and autostop/autostart based on traffic." [source](https://fly.io/docs/networking/index.md) |

### Organisation & security

| Capability | Status | Evidence |
| --- | --- | --- |
| Built-in auth | Not supported | "Not found as a hosted Fly Machines/PaaS capability in the fetched documentation index; sibling Sprites capabilities are excluded." [source](https://fly.io/docs/llms.txt) |
| BYOC | Not supported | "Not found as a hosted Fly Machines/PaaS capability in the fetched documentation index; sibling Sprites capabilities are excluded." [source](https://fly.io/docs/llms.txt) |
| Deploy into customers' VPCs | Not supported | "Not found as a hosted Fly Machines/PaaS capability in the fetched documentation index; sibling Sprites capabilities are excluded." [source](https://fly.io/docs/llms.txt) |
| Secrets management | Supported | "The secret is encrypted and stored in a vault. An app’s secrets are available as environment variables at runtime on every Machine belonging to that Fly App." [source](https://fly.io/docs/reference/secrets/index.md) |
| Self-host / OSS core | Not supported | "Not found as a hosted Fly Machines/PaaS capability in the fetched documentation index; sibling Sprites capabilities are excluded." [source](https://fly.io/docs/llms.txt) |
| Sharing | Supported | "Review apps are a great way to preview new features, changes, and bug fixes." [source](https://docs.fly.io/blueprints/review-apps-guide.md) |
| SSO / SAML | Supported | "Single sign-on for organizations" [source](https://docs.fly.io/security/sso.md) |
| Teams | Supported | "Organization Roles and Permissions" [source](https://docs.fly.io/security/org-roles-permissions.md) |
| Workload identity | Supported | "OIDC allows for every Machine to have its own credential." [source](https://docs.fly.io/security/openid-connect.md) |

### Developer access

| Capability | Status | Evidence |
| --- | --- | --- |
| CLI | Supported | "flyctl - The Fly.io CLI" [source](https://fly.io/docs/flyctl/index.md) |
| E2B-compatible API | Not supported | "Not found as a hosted Fly Machines/PaaS capability in the fetched documentation index; sibling Sprites capabilities are excluded." [source](https://fly.io/docs/llms.txt) |
| Filesystem API | Not supported | "Machines exposes command execution; no standalone list/read/write/watch filesystem API was found. Sprites filesystem APIs are a sibling SKU." [source](https://docs.fly.io/api/machines/openapi.json) |
| Git deploy | Supported | "Continuous Deployment with GitHub Actions" [source](https://docs.fly.io/launch/continuous-deployment-with-github-actions.md) |
| HTTP data API | Not supported | "Not found as a hosted Fly Machines/PaaS capability in the fetched documentation index; sibling Sprites capabilities are excluded." [source](https://fly.io/docs/llms.txt) |
| OpenAPI spec | Supported | "openapi: 3.1.0; info.title: Machines API" [source](https://docs.fly.io/api/machines/openapi.json) |
| Private container registry | Supported | "Managing Docker Images with Fly.io's Private Registry" [source](https://fly.io/docs/llms.txt) |
| Public API | Supported | "Machines API" [source](https://fly.io/docs/machines/api/index.md) |
| SDK | Supported | "fly-go: Go client for the Machines API and the Fly.io GraphQL API, the library flyctl is built on." [source](https://fly.io/llms.txt) |
| SSH access | Supported | "SSH into or manage running Fly Machines" [source](https://fly.io/docs/flyctl/ssh/index.md) |

### Compute & storage

| Capability | Status | Evidence |
| --- | --- | --- |
| Cloud-init / ignition config | Not supported | "Not found as a hosted Fly Machines/PaaS capability in the fetched documentation index; sibling Sprites capabilities are excluded." [source](https://fly.io/docs/llms.txt) |
| Desktop / computer-use sandbox | Not supported | "Not found as a hosted Fly Machines/PaaS capability in the fetched documentation index; sibling Sprites capabilities are excluded." [source](https://fly.io/docs/llms.txt) |
| GPU compute | Not supported | "Current Machines pricing lists CPU/RAM configurations; no GPU compute offering is listed." [source](https://fly.io/pricing.md) |
| Live-state (memory) snapshots | Supported | "Machine suspend lets you pause a running Fly Machine and save its complete state, including memory, to persistent storage." [source](https://docs.fly.io/reference/suspend-resume.md) |
| Multi-region | Supported | "You can host your apps in any of the following regions." [source](https://docs.fly.io/reference/regions.md) |
| Object storage | Supported | "Tigris" [source](https://docs.fly.io/tigris/index.md) |
| Persistent disk | Supported | "Fly Volumes are local persistent storage for Fly Machines." [source](https://fly.io/docs/volumes/index.md) |
| Sandbox templates / custom images | Supported | "Fly Launch can deploy your app from a Dockerfile." [source](https://docs.fly.io/languages-and-frameworks/dockerfile.md) |
| Scale to zero | Supported | "Automatically stop or suspend Machines when your app is idle, and start them again when requests arrive." [source](https://fly.io/docs/apps/autostart-stop/index.md) |
| Selectable isolation runtime | Not supported | "Not found as a hosted Fly Machines/PaaS capability in the fetched documentation index; sibling Sprites capabilities are excluded." [source](https://fly.io/docs/llms.txt) |
| Snapshots / forking | Supported | "Fly.io takes daily snapshots of your volumes." [source](https://docs.fly.io/volumes/snapshots.md) |

### Data

| Capability | Status | Evidence |
| --- | --- | --- |
| Database branching | Not supported | "Not found as a hosted Fly Machines/PaaS capability in the fetched documentation index; sibling Sprites capabilities are excluded." [source](https://fly.io/docs/llms.txt) |
| Ephemeral instant DB (no-signup) | Not supported | "Not found as a hosted Fly Machines/PaaS capability in the fetched documentation index; sibling Sprites capabilities are excluded." [source](https://fly.io/docs/llms.txt) |
| First-party database | Supported | "Managed Postgres" [source](https://fly.io/docs/mpg/index.md) |
| Vector search | Supported | "Currently only [Vector](https://github.com/pgvector/pgvector) and [PostGIS](https://postgis.net) are supported, both can be enabled from the Extensions page for your cluster." [source](https://docs.fly.io/postgres/extensions.md) |

### Platform & operations

| Capability | Status | Evidence |
| --- | --- | --- |
| Managed CI/CD runners | Not supported | "Not found as a hosted Fly Machines/PaaS capability in the fetched documentation index; sibling Sprites capabilities are excluded." [source](https://fly.io/docs/llms.txt) |
| Built-in observability | Supported | "Metrics" [source](https://docs.fly.io/monitoring/metrics.md) |
| Preview environments | Supported | "automatically generate ephemeral "review apps" on Fly.io for each pull request (PR) using GitHub Actions" [source](https://docs.fly.io/blueprints/review-apps-guide.md) |
| Scheduled tasks | Supported | "Cron Manager is our “batteries-included” solution for running scheduled jobs." [source](https://docs.fly.io/blueprints/task-scheduling.md) |
| Project template marketplace | Not supported | "Not found as a hosted Fly Machines/PaaS capability in the fetched documentation index; sibling Sprites capabilities are excluded." [source](https://fly.io/docs/llms.txt) |
| Durable workflows | Not supported | "Not found as a hosted Fly Machines/PaaS capability in the fetched documentation index; sibling Sprites capabilities are excluded." [source](https://fly.io/docs/llms.txt) |

## Agent readiness

### Read: 11 of 11 signals present

11/11 signals (11 full, 0 partial)

- Llms txt: pass — "https://fly.io/llms.txt — substantive product, pricing, docs, API, SDK and tooling links."
- Llms full txt: pass — "https://fly.io/docs/llms-full.txt — HTTP 200, 2,858,797 bytes of comprehensive documentation; capped pointer retained."
- Robots AI policy: pass — "https://fly.io/robots.txt — User-agent: *; Content-Signal: search=yes, ai-input=yes, ai-train=yes; Allow: / (dashboard excluded)."
- JSON LD: pass — "https://fly.io/ — seven JSON-LD blocks, including SoftwareApplication and Service as well as Organization/WebSite."
- Sitemap: pass — "https://fly.io/sitemap.xml is a sitemap index; https://fly.io/sitemap-landing.xml contains a substantive 83,343-byte URL set."
- Meta quality: pass — "https://fly.io/ — descriptive title Fly.io | Computers for agents, description and Open Graph metadata."
- Markdown negotiation: pass — "https://fly.io/ requested with Accept: text/markdown returned clean Markdown with YAML frontmatter; explicit index.md and docs .md variants also fetched."
- Content efficiency: pass — "https://fly.io/ — HTMLParser excludes script/style text: 6360 readable bytes / 94137 HTML bytes = 6.76%, above 5%."
- Docs discoverable: pass — "https://fly.io/ — Platform Docs and Sprites Docs in server-rendered navigation."
- Pricing machine readable: pass — "https://fly.io/pricing.md — parseable Machines CPU/RAM prices and managed Postgres plans."
- Anti bot: pass — "All fetched public homepage/docs/pricing/spec/well-known sources were accessible without a challenge; expected nonexistent paths returned 404."

### Drive: 10 of 11 signals present

10/11 signals (8 full, 2 partial)

- Public API: pass — "https://fly.io/docs/machines/api/index.md — documented Machines REST API."
- Openapi spec: pass — "https://docs.fly.io/api/machines/openapi.json — parsed JSON OpenAPI 3.1.0 with paths/components; auth/skill links also lead to https://docs.machines.dev/openapi.json (fetched)."
- MCP server: pass — "https://docs.fly.io/flyctl/cmd/fly_mcp_server.md — documented fly mcp server command; not dependent on absent /.well-known/mcp."
- SDK packages: partial — "https://fly.io/llms.txt — official fly-go for Machines/GraphQL; multi-language Sprites SDKs excluded from hosted PaaS SKU."
- Auth docs: pass — "https://fly.io/auth.md and https://docs.fly.io/security/tokens.md — Bearer authentication, scoped tokens, expiry, attenuation and revocation."
- Agent self serve creds: pass — "https://fly.io/auth.md — fly tokens create deploy/org/readonly/ssh/machine-exec with --json and --from-existing documents programmatic scoped token issuance after human-authorized bootstrap. Anonymous agent registration is explicitly unsupported."
- Webhooks: fail — "https://fly.io/docs/llms.txt — no platform outbound webhooks with signing documentation found; GitHub workflow hooks are not platform outbound webhooks."
- CLI tool: pass — "https://fly.io/docs/flyctl/index.md — official flyctl CLI."
- Error model: pass — "https://docs.fly.io/api/machines/openapi.json — ErrorResponse object with error string, status and deprecated details; https://fly.io/auth.md gives literal JSON authentication error."
- Rate limit docs: partial — "https://docs.fly.io/machines/api/working-with-machines-api.md — 1 request/sec/action/Machine, burst 3; Get Machine 5/sec burst 10; app deletions 100/min; rate-limit response headers not documented here."
- Agent config: pass — "https://fly.io/agents.md plus https://fly.io/.well-known/ard.json and https://fly.io/agent-skills/fly-machines-api/SKILL.md — multiple discoverable agent configuration/skill surfaces."

## Coding harnesses

- OpenClaw (Peter Steinberger) — "Deploy OpenClaw on Fly.io" [source](https://docs.fly.io/blueprints/deploy-openclaw.md)
- Hermes Agent (Nous Research) — "Run Hermes Agent on Fly.io" [source](https://docs.fly.io/blueprints/hermes-agent-on-fly-io.md)
- Cursor (Anysphere) — "--cursor Add flyctl MCP server to the Cursor client configuration" [source](https://docs.fly.io/flyctl/cmd/fly_mcp_server.md)
- Zed Agent (Zed) — "--zed Add flyctl MCP server to the Zed client configuration" [source](https://docs.fly.io/flyctl/cmd/fly_mcp_server.md)
- Windsurf (Codeium) — "--windsurf Add MCP server to the Windsurf client configuration" [source](https://docs.fly.io/flyctl/cmd/fly_mcp_add.md)

Plausible compatibility (derived, not stored):

- Aider
- Amp
- Antigravity
- Claude Code
- Codex CLI
- Devin
- Droid
- Gemini CLI
- Goose
- Kilo Code
- Kiro CLI
- OpenCode
- Pi
- Qwen Code

## Compliance & regions

- SOC 2 Type II: certified (scope: hosted) — "SOC2 Type2 Report — independently audited, certified." [source](https://fly.io/compliance/)
- HIPAA: self-attested (scope: hosted) — "Business Associate Agreement — pre-signed by Fly.io and active when you sign it." [source](https://fly.io/compliance/)
- GDPR: self-attested (scope: hosted) — "Data Processing Agreement — Users who need to comply with GDPR; pre-signed by Fly.io." [source](https://fly.io/compliance/)
- Regions: iad (Ashburn, US), ord (Chicago, US), ewr (Secaucus, US), lax (Los Angeles, US), sjc (San Jose, US), dfw (Dallas, US), yyz (Toronto, CA), lhr (London, UK), ams (Amsterdam, NL), cdg (Paris, FR), fra (Frankfurt, DE), arn (Stockholm, SE), nrt (Tokyo, JP), sin (Singapore), syd (Sydney, AU), gru (São Paulo, BR), jnb (Johannesburg, ZA)
- Regions note: 17 entries in current authoritative regions table; Mumbai bom no longer listed. Homepage advertises 18+, a vendor surface discrepancy; use explicit table for placement.

## Company & presence

- Founded: 2017
- Funding: Series D, $25 million, 2026-07-24
- Privacy policy: https://fly.io/legal/privacy-policy/
- Terms of service: https://fly.io/legal/terms-of-service/
- GitHub: https://github.com/superfly
- Blog: https://fly.io/blog/
- Docs: https://docs.fly.io/
- Community Forum: https://community.fly.io/
- X/Twitter: https://twitter.com/flydotio
- Status: https://status.flyio.net/

## Nearby in the atlas

- [Aptible](/products/aptible.md)
- [Canine](/products/canine.md)
- [DigitalOcean App Platform](/products/digitalocean-app-platform.md)
- [here.now](/products/here-now.md)
- [INK](/products/ink.md)
- [InstaCloud](/products/instacloud.md)

## Method

Facts come from the product's own public pages. Each claim carries its evidence: a quote and the page it came from. We count capabilities rather than grade products, and "Not assessed" means we have not checked, never that the product lacks it.
