{
 "features_resolved": {
  "snapshot_any": true,
  "snapshot_mem": true,
  "fork": true,
  "pause_resume": true,
  "persistent_disk": true,
  "whole_disk": true,
  "persist_scope": null,
  "volumes": true,
  "auto_stop_idle": true,
  "long_sessions": true,
  "custom_image": true,
  "image_snapshot": true,
  "image_oci": true,
  "vm_isolation": true,
  "docker_inside": true,
  "nested_virt": false,
  "root": true,
  "systemd": false,
  "browser": false,
  "desktop": false,
  "computer_use": false,
  "code_interpreter": false,
  "browser_control": null,
  "desktop_control": null,
  "browser_and_desktop": false,
  "anti_bot": false,
  "captcha_solving": false,
  "residential_ip": false,
  "agent_harnesses": false,
  "ssh": true,
  "public_ipv4": true,
  "inbound_https": true,
  "custom_domain": true,
  "raw_tcp_inbound": true,
  "egress_allowlist": true,
  "open_internet": true,
  "static_egress_ip": true,
  "private_network": true,
  "self_host": false,
  "byoc": false,
  "open_source": true,
  "soc2": true,
  "hipaa": true,
  "sso": false,
  "gpu": false,
  "arm64": false,
  "windows": false,
  "macos": false,
  "lang_python": true,
  "lang_node": true,
  "lang_go": null,
  "lang_rust": null,
  "lang_java": null,
  "gpu_desktop": false,
  "credential_injection": null,
  "egress_http_rules": false,
  "wake_on_request": true,
  "live_resize": false,
  "fork_running": true,
  "memory_snapshot_fork": false,
  "webhooks": false,
  "scheduled_wakeups": null,
  "audit_logs": null,
  "eu_data_residency": true,
  "zero_data_retention": null,
  "scoped_api_keys": null,
  "spend_limits": false,
  "mcp_server": true,
  "usage_api": false,
  "snapshot_auto": true,
  "snapshot_on_demand": true,
  "harness_api": false,
  "own_agent_api": false,
  "fast_boot": null,
  "strong_isolation": true,
  "ingress_rules": true,
  "guest_firewall": true,
  "secret_proxy": false,
  "secret_proxy_any": false,
  "volume_attach": true,
  "volume_shared": false,
  "sidecar": true,
  "fuse": true,
  "kernel_features": true,
  "burst": null
 },
 "company": {
  "id": "fly-machines",
  "checked": "2026-09-30",
  "company": "Fly.io, Inc.",
  "ownership": {
   "value": "independent",
   "parent": null,
   "source": "https://fly.io/news/fly-io-launches-computers-for-agents/",
   "quote": "Founder Kurt Mackey will remain on Fly.io's board and transition to an advisory role, continuing to help shape the company's long-term technical vision."
  },
  "stage": {
   "value": "series-d+",
   "source": "https://fly.io/news/fly-io-launches-computers-for-agents/",
   "quote": "Fly.io also announced $25 million in Series D funding co-led by Dell Technologies Capital and Intel Capital, with participation from Andreessen Horowitz, EQT, Geodesic, and YC.",
   "confidence": "high",
   "note": "Last priced round is the July 2026 Series D ($25M)."
  },
  "accelerators": [
   {
    "name": "Y Combinator",
    "batch": "Winter 2020",
    "source": "https://www.ycombinator.com/companies/fly-io",
    "quote": "Fly.io WINTER 2020 ACTIVE INFRASTRUCTURE",
    "confidence": "high",
    "via": "research"
   }
  ],
  "total_funding_usd": {
   "value": 135500000,
   "status": "estimated",
   "basis": "toflow.ai round-history aggregator: 'Fly.io has raised approximately $135.5 million across five rounds'; consistent with SiliconANGLE/Bloomberg reporting total funding at ~$115M after the June 2023 $70M Series C, plus the $25M July 2026 Series D",
   "source": "https://www.google.com/search?q=Fly.io+total+funding+raised+Crunchbase",
   "quote": "Fly.io has raised approximately $135.5 million across five rounds: a $3.5 million seed round..."
  },
  "last_round": {
   "type": "series-d",
   "amount_usd": 25000000,
   "date": "2026-07",
   "leads": [
    "Dell Technologies Capital",
    "Intel Capital"
   ],
   "status": "confirmed",
   "source": "https://fly.io/news/fly-io-launches-computers-for-agents/",
   "quote": "Fly.io also announced $25 million in Series D funding co-led by Dell Technologies Capital and Intel Capital, with participation from Andreessen Horowitz, EQT, Geodesic, and YC."
  },
  "investors": [
   "Dell Technologies Capital",
   "Intel Capital",
   "Andreessen Horowitz",
   "EQT Ventures",
   "Geodesic",
   "Y Combinator",
   "Initialized Capital"
  ],
  "portfolio_listings": [
   {
    "source": "Initialized Capital",
    "company": "Fly.io",
    "batch": null,
    "how": "domain"
   }
  ],
  "revenue": {
   "value_usd": 11200000,
   "kind": "ARR",
   "as_of": "2024",
   "status": "estimated",
   "basis": "GetLatka aggregator estimate",
   "source": "https://www.google.com/search?q=%22Fly.io%22+ARR+revenue+million",
   "quote": "fly.io 2024 estimated revenue: $11.2M ARR (up from $7.6M in 2023)."
  },
  "employees": {
   "value": null,
   "source": "https://www.google.com/search?q=Fly.io+total+funding+raised+Crunchbase"
  },
  "note": "Series C (June 2023, $70M led by EQT Ventures) valued the company at $467M and brought total funding to ~$115M (Bloomberg/SiliconANGLE). In July 2026 Fly.io pivoted its messaging toward 'computers for agents' for AI workloads, raised a $25M Series D (Dell Technologies Capital + Intel Capital co-lead; a16z, EQT, Geodesic, YC participating), and brought on former Docker CEO Scott Johnston as CEO, with founder Kurt Mackey moving to an advisory board role. Fly reports >37,000 customers, >8,000 agent-native, with agent-native customers now ~two-thirds of revenue among its largest accounts. No confirmed current ARR/revenue figure has been publicly disclosed by the company itself."
 },
 "id": "fly-machines",
 "name": "Fly.io Machines",
 "url": "https://fly.io/pricing",
 "category": "paas",
 "isolation": "firecracker",
 "modes": [
  {
   "key": "performance-us",
   "label": "Performance CPU (dedicated), cheapest us region",
   "flags": [],
   "regions": [
    "us"
   ],
   "active_floor": 0,
   "ram_fixed_per_vcpu": null,
   "min_vcpu": 1,
   "sizes": null,
   "pool_tiers": null,
   "requires_always_on": false,
   "always_on_month_per_instance": null,
   "commit_note": null,
   "min_billed_seconds": 0,
   "granularity_s": 1,
   "start_fee": 0,
   "boot_overhead_s": null,
   "windows_vcpu_h": null,
   "gpu": null,
   "gpu_only": false,
   "os": [
    "linux"
   ],
   "features": {
    "isolation": "firecracker"
   },
   "pricing": "resource",
   "cpu_basis": "alloc",
   "ram_basis": "alloc",
   "vcpu_h": 0.02916,
   "ram_gib_h": 0.0083376,
   "ram_per_vcpu": [
    2,
    8
   ],
   "vcpu_options": [
    1,
    2,
    4,
    6,
    8,
    10,
    12,
    14,
    16
   ],
   "max_vcpu": 16,
   "max_ram_gib": 128,
   "multiplier": 1,
   "note": "vcpu_h is the performance vCPU price ($0.043056/h incl. 2 GB) minus 2 x $0.006948, so vcpu_h*N + ram_gib_h*RAM reproduces every preset (performance-4x/8GB = $0.172224/h) and extra RAM at $5/GB-month; ram_per_vcpu min 2 enforces the included 2 GB/vCPU. Region multiplier: iad/ewr base 1.0x (yyz 1.1154, sjc 1.1923, lax 1.1995, ord/dfw 1.25). Billed per second only while started; allocation-based."
  },
  {
   "key": "performance-eu",
   "label": "Performance CPU (dedicated), cheapest eu region",
   "flags": [],
   "regions": [
    "eu"
   ],
   "active_floor": 0,
   "ram_fixed_per_vcpu": null,
   "min_vcpu": 1,
   "sizes": null,
   "pool_tiers": null,
   "requires_always_on": false,
   "always_on_month_per_instance": null,
   "commit_note": null,
   "min_billed_seconds": 0,
   "granularity_s": 1,
   "start_fee": 0,
   "boot_overhead_s": null,
   "windows_vcpu_h": null,
   "gpu": null,
   "gpu_only": false,
   "os": [
    "linux"
   ],
   "features": {
    "isolation": "firecracker"
   },
   "pricing": "resource",
   "cpu_basis": "alloc",
   "ram_basis": "alloc",
   "vcpu_h": 0.02916,
   "ram_gib_h": 0.0083376,
   "ram_per_vcpu": [
    2,
    8
   ],
   "vcpu_options": [
    1,
    2,
    4,
    6,
    8,
    10,
    12,
    14,
    16
   ],
   "max_vcpu": 16,
   "max_ram_gib": 128,
   "multiplier": 1.0385,
   "note": "vcpu_h is the performance vCPU price ($0.043056/h incl. 2 GB) minus 2 x $0.006948, so vcpu_h*N + ram_gib_h*RAM reproduces every preset (performance-4x/8GB = $0.172224/h) and extra RAM at $5/GB-month; ram_per_vcpu min 2 enforces the included 2 GB/vCPU. Region multiplier: ams/arn 1.0385 (lhr/cdg 1.1346, fra 1.1538). Billed per second only while started; allocation-based."
  },
  {
   "key": "performance-asia",
   "label": "Performance CPU (dedicated), cheapest asia region",
   "flags": [],
   "regions": [
    "asia"
   ],
   "active_floor": 0,
   "ram_fixed_per_vcpu": null,
   "min_vcpu": 1,
   "sizes": null,
   "pool_tiers": null,
   "requires_always_on": false,
   "always_on_month_per_instance": null,
   "commit_note": null,
   "min_billed_seconds": 0,
   "granularity_s": 1,
   "start_fee": 0,
   "boot_overhead_s": null,
   "windows_vcpu_h": null,
   "gpu": null,
   "gpu_only": false,
   "os": [
    "linux"
   ],
   "features": {
    "isolation": "firecracker"
   },
   "pricing": "resource",
   "cpu_basis": "alloc",
   "ram_basis": "alloc",
   "vcpu_h": 0.02916,
   "ram_gib_h": 0.0083376,
   "ram_per_vcpu": [
    2,
    8
   ],
   "vcpu_options": [
    1,
    2,
    4,
    6,
    8,
    10,
    12,
    14,
    16
   ],
   "max_vcpu": 16,
   "max_ram_gib": 128,
   "multiplier": 1.2692,
   "note": "vcpu_h is the performance vCPU price ($0.043056/h incl. 2 GB) minus 2 x $0.006948, so vcpu_h*N + ram_gib_h*RAM reproduces every preset (performance-4x/8GB = $0.172224/h) and extra RAM at $5/GB-month; ram_per_vcpu min 2 enforces the included 2 GB/vCPU. Region multiplier: sin/syd 1.2692 (nrt 1.3077). Billed per second only while started; allocation-based."
  },
  {
   "key": "performance-other",
   "label": "Performance CPU (dedicated), cheapest other region",
   "flags": [],
   "regions": [
    "other"
   ],
   "active_floor": 0,
   "ram_fixed_per_vcpu": null,
   "min_vcpu": 1,
   "sizes": null,
   "pool_tiers": null,
   "requires_always_on": false,
   "always_on_month_per_instance": null,
   "commit_note": null,
   "min_billed_seconds": 0,
   "granularity_s": 1,
   "start_fee": 0,
   "boot_overhead_s": null,
   "windows_vcpu_h": null,
   "gpu": null,
   "gpu_only": false,
   "os": [
    "linux"
   ],
   "features": {
    "isolation": "firecracker"
   },
   "pricing": "resource",
   "cpu_basis": "alloc",
   "ram_basis": "alloc",
   "vcpu_h": 0.02916,
   "ram_gib_h": 0.0083376,
   "ram_per_vcpu": [
    2,
    8
   ],
   "vcpu_options": [
    1,
    2,
    4,
    6,
    8,
    10,
    12,
    14,
    16
   ],
   "max_vcpu": 16,
   "max_ram_gib": 128,
   "multiplier": 1.3029,
   "note": "vcpu_h is the performance vCPU price ($0.043056/h incl. 2 GB) minus 2 x $0.006948, so vcpu_h*N + ram_gib_h*RAM reproduces every preset (performance-4x/8GB = $0.172224/h) and extra RAM at $5/GB-month; ram_per_vcpu min 2 enforces the included 2 GB/vCPU. Region multiplier: jnb 1.3029 (gru 1.6154). Billed per second only while started; allocation-based."
  },
  {
   "key": "shared-us",
   "label": "Shared CPU (burstable, 6.25% baseline), cheapest us region",
   "flags": [
    "burstable"
   ],
   "regions": [
    "us"
   ],
   "active_floor": 0,
   "ram_fixed_per_vcpu": null,
   "min_vcpu": 1,
   "sizes": null,
   "pool_tiers": null,
   "requires_always_on": false,
   "always_on_month_per_instance": null,
   "commit_note": null,
   "min_billed_seconds": 0,
   "granularity_s": 1,
   "start_fee": 0,
   "boot_overhead_s": null,
   "windows_vcpu_h": null,
   "gpu": null,
   "gpu_only": false,
   "os": [
    "linux"
   ],
   "features": {
    "isolation": "firecracker"
   },
   "pricing": "resource",
   "cpu_basis": "alloc",
   "ram_basis": "alloc",
   "vcpu_h": 0.000963,
   "ram_gib_h": 0.0083376,
   "ram_per_vcpu": [
    0.25,
    2
   ],
   "vcpu_options": [
    1,
    2,
    4,
    6,
    8
   ],
   "max_vcpu": 8,
   "max_ram_gib": 16,
   "multiplier": 1,
   "note": "vcpu_h is the shared vCPU price ($0.0027/h incl. 256 MB) minus 0.25 x $0.006948. Shared vCPUs guarantee only 5 ms/80 ms (6.25%) with a 500 s max burst balance, then throttle: only valid for workloads averaging <= ~6% CPU per vCPU. Flagged burstable (baseline_pct 6.25) instead of alt (2026-09-28).",
   "baseline_pct": 6.25
  },
  {
   "key": "shared-eu",
   "label": "Shared CPU (burstable, 6.25% baseline), cheapest eu region",
   "flags": [
    "burstable"
   ],
   "regions": [
    "eu"
   ],
   "active_floor": 0,
   "ram_fixed_per_vcpu": null,
   "min_vcpu": 1,
   "sizes": null,
   "pool_tiers": null,
   "requires_always_on": false,
   "always_on_month_per_instance": null,
   "commit_note": null,
   "min_billed_seconds": 0,
   "granularity_s": 1,
   "start_fee": 0,
   "boot_overhead_s": null,
   "windows_vcpu_h": null,
   "gpu": null,
   "gpu_only": false,
   "os": [
    "linux"
   ],
   "features": {
    "isolation": "firecracker"
   },
   "pricing": "resource",
   "cpu_basis": "alloc",
   "ram_basis": "alloc",
   "vcpu_h": 0.000963,
   "ram_gib_h": 0.0083376,
   "ram_per_vcpu": [
    0.25,
    2
   ],
   "vcpu_options": [
    1,
    2,
    4,
    6,
    8
   ],
   "max_vcpu": 8,
   "max_ram_gib": 16,
   "multiplier": 1.0385,
   "note": "vcpu_h is the shared vCPU price ($0.0027/h incl. 256 MB) minus 0.25 x $0.006948. Shared vCPUs guarantee only 5 ms/80 ms (6.25%) with a 500 s max burst balance, then throttle: only valid for workloads averaging <= ~6% CPU per vCPU. Flagged burstable (baseline_pct 6.25) instead of alt (2026-09-28).",
   "baseline_pct": 6.25
  },
  {
   "key": "shared-asia",
   "label": "Shared CPU (burstable, 6.25% baseline), cheapest asia region",
   "flags": [
    "burstable"
   ],
   "regions": [
    "asia"
   ],
   "active_floor": 0,
   "ram_fixed_per_vcpu": null,
   "min_vcpu": 1,
   "sizes": null,
   "pool_tiers": null,
   "requires_always_on": false,
   "always_on_month_per_instance": null,
   "commit_note": null,
   "min_billed_seconds": 0,
   "granularity_s": 1,
   "start_fee": 0,
   "boot_overhead_s": null,
   "windows_vcpu_h": null,
   "gpu": null,
   "gpu_only": false,
   "os": [
    "linux"
   ],
   "features": {
    "isolation": "firecracker"
   },
   "pricing": "resource",
   "cpu_basis": "alloc",
   "ram_basis": "alloc",
   "vcpu_h": 0.000963,
   "ram_gib_h": 0.0083376,
   "ram_per_vcpu": [
    0.25,
    2
   ],
   "vcpu_options": [
    1,
    2,
    4,
    6,
    8
   ],
   "max_vcpu": 8,
   "max_ram_gib": 16,
   "multiplier": 1.2692,
   "note": "vcpu_h is the shared vCPU price ($0.0027/h incl. 256 MB) minus 0.25 x $0.006948. Shared vCPUs guarantee only 5 ms/80 ms (6.25%) with a 500 s max burst balance, then throttle: only valid for workloads averaging <= ~6% CPU per vCPU. Flagged burstable (baseline_pct 6.25) instead of alt (2026-09-28).",
   "baseline_pct": 6.25
  },
  {
   "key": "shared-other",
   "label": "Shared CPU (burstable, 6.25% baseline), cheapest other region",
   "flags": [
    "burstable"
   ],
   "regions": [
    "other"
   ],
   "active_floor": 0,
   "ram_fixed_per_vcpu": null,
   "min_vcpu": 1,
   "sizes": null,
   "pool_tiers": null,
   "requires_always_on": false,
   "always_on_month_per_instance": null,
   "commit_note": null,
   "min_billed_seconds": 0,
   "granularity_s": 1,
   "start_fee": 0,
   "boot_overhead_s": null,
   "windows_vcpu_h": null,
   "gpu": null,
   "gpu_only": false,
   "os": [
    "linux"
   ],
   "features": {
    "isolation": "firecracker"
   },
   "pricing": "resource",
   "cpu_basis": "alloc",
   "ram_basis": "alloc",
   "vcpu_h": 0.000963,
   "ram_gib_h": 0.0083376,
   "ram_per_vcpu": [
    0.25,
    2
   ],
   "vcpu_options": [
    1,
    2,
    4,
    6,
    8
   ],
   "max_vcpu": 8,
   "max_ram_gib": 16,
   "multiplier": 1.3029,
   "note": "vcpu_h is the shared vCPU price ($0.0027/h incl. 256 MB) minus 0.25 x $0.006948. Shared vCPUs guarantee only 5 ms/80 ms (6.25%) with a 500 s max burst balance, then throttle: only valid for workloads averaging <= ~6% CPU per vCPU. Flagged burstable (baseline_pct 6.25) instead of alt (2026-09-28).",
   "baseline_pct": 6.25
  },
  {
   "key": "reserved-1y-performance-us",
   "label": "Performance CPU with 1-year reservation blocks (40% off), iad/ewr",
   "flags": [
    "commit"
   ],
   "regions": [
    "us"
   ],
   "active_floor": 0,
   "ram_fixed_per_vcpu": null,
   "min_vcpu": 1,
   "sizes": null,
   "pool_tiers": null,
   "requires_always_on": false,
   "always_on_month_per_instance": null,
   "commit_note": "Annual prepaid blocks per region + CPU class: $144/yr -> $20/mo, $1,440/yr -> $200/mo, $14,400/yr -> $2,000/mo of CPU+extra-RAM credit. Credit is monthly, no rollover; storage/egress not covered. Rates here = on-demand x 0.6 (assumes blocks sized to usage).",
   "min_billed_seconds": 0,
   "granularity_s": 1,
   "start_fee": 0,
   "boot_overhead_s": null,
   "windows_vcpu_h": null,
   "gpu": null,
   "gpu_only": false,
   "os": [
    "linux"
   ],
   "features": {
    "isolation": "firecracker"
   },
   "pricing": "resource",
   "cpu_basis": "alloc",
   "ram_basis": "alloc",
   "vcpu_h": 0.017496,
   "ram_gib_h": 0.00500256,
   "ram_per_vcpu": [
    2,
    8
   ],
   "vcpu_options": [
    1,
    2,
    4,
    6,
    8,
    10,
    12,
    14,
    16
   ],
   "max_vcpu": 16,
   "max_ram_gib": 128,
   "multiplier": 1,
   "note": "Self-serve but a 1-year commitment (flagged commit, 1-year term). Other regions: reservation is bought per region, apply that region's multiplier.",
   "commit_term": "1-year"
  },
  {
   "key": "reserved-1y-shared-us",
   "label": "Shared CPU with 1-year reservation blocks (40% off), iad/ewr",
   "flags": [
    "burstable",
    "commit"
   ],
   "regions": [
    "us"
   ],
   "active_floor": 0,
   "ram_fixed_per_vcpu": null,
   "min_vcpu": 1,
   "sizes": null,
   "pool_tiers": null,
   "requires_always_on": false,
   "always_on_month_per_instance": null,
   "commit_note": "Shared blocks: $36/yr -> $5/mo, $360/yr -> $50/mo, $3,600/yr -> $500/mo credit; monthly, no rollover.",
   "min_billed_seconds": 0,
   "granularity_s": 1,
   "start_fee": 0,
   "boot_overhead_s": null,
   "windows_vcpu_h": null,
   "gpu": null,
   "gpu_only": false,
   "os": [
    "linux"
   ],
   "features": {
    "isolation": "firecracker"
   },
   "pricing": "resource",
   "cpu_basis": "alloc",
   "ram_basis": "alloc",
   "vcpu_h": 0.0005778,
   "ram_gib_h": 0.00500256,
   "ram_per_vcpu": [
    0.25,
    2
   ],
   "vcpu_options": [
    1,
    2,
    4,
    6,
    8
   ],
   "max_vcpu": 8,
   "max_ram_gib": 16,
   "multiplier": 1,
   "note": "Same throttling caveat as shared modes.",
   "baseline_pct": 6.25,
   "commit_term": "1-year"
  }
 ],
 "storage": {
  "included_disk_gib": null,
  "disk_gib_month": 0.15,
  "disk_billed_when_stopped": true,
  "snapshot_gib_month": 0.08,
  "snapshot_free_gib_account": 10,
  "paused_ram_billed": false
 },
 "network": {
  "egress_free_gib": 0,
  "egress_gib": 0.02,
  "ipv4_month": 2,
  "ipv4_available": true,
  "internet": {
   "default": "full"
  }
 },
 "plans": [
  {
   "name": "Pay As You Go",
   "fee": 0,
   "flags": [],
   "fee_is_credit": false,
   "included_usd": 0,
   "per_seat": 0,
   "concurrency": null,
   "max_session_h": null,
   "max_vcpu": 16,
   "max_ram_gib": 128,
   "sizes_allowed": null,
   "note": "Default for all orgs since 2024-10-07. No platform fee, no free allowance. Card or prepaid credits (min $25) required after the trial."
  },
  {
   "name": "Legacy Hobby",
   "fee": 5,
   "flags": [
    "legacy"
   ],
   "fee_is_credit": true,
   "included_usd": 0,
   "per_seat": 0,
   "concurrency": null,
   "max_session_h": null,
   "max_vcpu": 16,
   "max_ram_gib": 128,
   "sizes_allowed": null,
   "note": "Pre-2024-10-07 orgs only. $5/mo = $5 usage, plus legacy free allowances: 3 shared-cpu-1x 256 MB VMs, 3 GB volumes, 100 GB NA/EU + 30 GB APAC/SA + 30 GB Africa/India egress."
  },
  {
   "name": "Legacy Scale",
   "fee": 29,
   "flags": [
    "legacy"
   ],
   "fee_is_credit": true,
   "included_usd": 0,
   "per_seat": 0,
   "concurrency": null,
   "max_session_h": null,
   "max_vcpu": 16,
   "max_ram_gib": 128,
   "sizes_allowed": null,
   "note": "Grandfathered. $29/mo returned as included usage (docs example). Plus legacy allowances."
  },
  {
   "name": "Legacy Launch",
   "fee": null,
   "flags": [
    "legacy"
   ],
   "fee_is_credit": true,
   "included_usd": null,
   "per_seat": 0,
   "concurrency": null,
   "max_session_h": null,
   "max_vcpu": 16,
   "max_ram_gib": 128,
   "sizes_allowed": null,
   "note": "Grandfathered; fee not shown on current docs."
  },
  {
   "name": "Custom plan",
   "fee": null,
   "flags": [
    "sales"
   ],
   "fee_is_credit": null,
   "included_usd": null,
   "per_seat": 0,
   "concurrency": null,
   "max_session_h": null,
   "max_vcpu": null,
   "max_ram_gib": null,
   "sizes_allowed": null,
   "note": "Committed spend, volume discounts, invoicing, dedicated capacity. Unpublished."
  }
 ],
 "extras": [
  {
   "item": "Support Standard",
   "price": "$29/month"
  },
  {
   "item": "Support Premium",
   "price": "$199/month"
  },
  {
   "item": "Support Enterprise (99.9% SLA)",
   "price": "from $2,500/month"
  },
  {
   "item": "HIPAA package (BAA pre-signed)",
   "price": "$99/month"
  },
  {
   "item": "Static egress IP",
   "price": "$0.005/h (~$3.60/month) per region, up to 64 Machines"
  },
  {
   "item": "Egress APAC/Oceania/South America",
   "price": "$0.04/GB"
  },
  {
   "item": "Egress Africa/India",
   "price": "$0.12/GB"
  },
  {
   "item": "Private cross-region transfer",
   "price": "$0.006/GB NA/EU, $0.015/GB APAC/SA, $0.05/GB Africa/India"
  },
  {
   "item": "TLS certificates",
   "price": "$0.10/month per hostname (first 10 free), $1/month wildcard"
  },
  {
   "item": "Fly Kubernetes cluster",
   "price": "$75/month"
  }
 ],
 "free": {
  "monthly_credit": 0,
  "one_time_credit": 0
 },
 "features": {
  "linux": true,
  "windows": false,
  "macos": false,
  "arm64": false,
  "gpu": false,
  "gpu_types": [],
  "snapshot": "mem",
  "pause_resume": true,
  "fork": true,
  "persistent_disk": true,
  "volumes": true,
  "auto_stop_idle": true,
  "max_session_h": null,
  "custom_image": true,
  "docker_inside": true,
  "nested_virt": false,
  "root": true,
  "systemd": false,
  "browser": false,
  "desktop": false,
  "computer_use": false,
  "code_interpreter": false,
  "agent_harnesses": false,
  "ssh": true,
  "public_ipv4": true,
  "inbound_https": true,
  "custom_domain": true,
  "raw_tcp_inbound": true,
  "egress_allowlist": true,
  "static_egress_ip": true,
  "private_network": true,
  "self_host": false,
  "byoc": false,
  "open_source": true,
  "regions": [
   "us",
   "other",
   "eu",
   "asia"
  ],
  "soc2": true,
  "hipaa": true,
  "sso": false,
  "lang_python": true,
  "lang_node": true,
  "lang_go": null,
  "lang_rust": null,
  "lang_java": null,
  "gpu_desktop": false,
  "credential_injection": null,
  "egress_http_rules": false,
  "wake_on_request": true,
  "live_resize": false,
  "fork_running": true,
  "memory_snapshot_fork": false,
  "webhooks": false,
  "scheduled_wakeups": null,
  "audit_logs": null,
  "eu_data_residency": true,
  "zero_data_retention": null,
  "scoped_api_keys": null,
  "spend_limits": false,
  "mcp_server": true,
  "isolation": "firecracker",
  "image_oci": true,
  "snapshot_auto": true,
  "snapshot_on_demand": true,
  "egress_allowlist_level": "ip",
  "ingress_rules": true,
  "guest_firewall": true,
  "secret_proxy": false,
  "volume_attach": true,
  "volume_shared": false,
  "anti_bot": false,
  "captcha_solving": false,
  "egress_ip_type": "datacenter",
  "harness_api": false,
  "own_agent_api": false,
  "max_session_unlimited": true,
  "open_internet": true,
  "usage_api": false,
  "sidecar": true
 },
 "perf": {
  "cpu_runs_s": null,
  "cold_start_ms": null,
  "burst_tti_ms": null,
  "dax_s": null
 },
 "perf_source": "No benchmark row: provider is not in ComputeSDK results or the HPC run (as of 2026-09-28). See research/perf-map.json.",
 "knobs": [
  {
   "id": "city_us",
   "label": "US city (vs iad/ewr)",
   "kind": "select",
   "min": null,
   "max": null,
   "step": null,
   "default": 1,
   "unit": null,
   "options": [
    {
     "value": 1,
     "label": "iad / ewr (x1)"
    },
    {
     "value": 1.1154,
     "label": "yyz (x1.1154)"
    },
    {
     "value": 1.1923,
     "label": "sjc (x1.1923)"
    },
    {
     "value": 1.1995,
     "label": "lax (x1.1995)"
    },
    {
     "value": 1.25,
     "label": "ord / dfw (x1.25)"
    }
   ],
   "effect": "rate_factor",
   "modes": [
    "performance-us",
    "shared-us",
    "reserved-1y-performance-us",
    "reserved-1y-shared-us"
   ],
   "why": "Fly compute prices vary by region; the us modes bake the cheapest (iad/ewr, 1.0x). Other US cities cost more: yyz 1.1154, sjc 1.1923, lax 1.1995, ord/dfw 1.25 (compute only). Reservations are bought per region at that region's multiplier.",
   "source": "https://fly.io/docs/about/pricing/"
  },
  {
   "id": "city_eu",
   "label": "EU city (vs ams/arn)",
   "kind": "select",
   "min": null,
   "max": null,
   "step": null,
   "default": 1,
   "unit": null,
   "options": [
    {
     "value": 1,
     "label": "ams / arn (x1.0385, baked in)"
    },
    {
     "value": 1.0925,
     "label": "lhr / cdg (x1.1346)"
    },
    {
     "value": 1.111,
     "label": "fra (x1.1538)"
    }
   ],
   "effect": "rate_factor",
   "modes": [
    "performance-eu",
    "shared-eu"
   ],
   "why": "The eu modes bake ams/arn (1.0385x). lhr/cdg are 1.1346x and fra 1.1538x of base, i.e. 1.0925 / 1.111 relative to the baked multiplier (compute only).",
   "source": "https://fly.io/docs/about/pricing/"
  },
  {
   "id": "city_asia",
   "label": "Asia city (vs sin/syd)",
   "kind": "select",
   "min": null,
   "max": null,
   "step": null,
   "default": 1,
   "unit": null,
   "options": [
    {
     "value": 1,
     "label": "sin / syd (x1.2692, baked in)"
    },
    {
     "value": 1.0303,
     "label": "nrt (x1.3077)"
    }
   ],
   "effect": "rate_factor",
   "modes": [
    "performance-asia",
    "shared-asia"
   ],
   "why": "The asia modes bake sin/syd (1.2692x); nrt is 1.3077x, i.e. 1.0303 relative (compute only).",
   "source": "https://fly.io/docs/about/pricing/"
  },
  {
   "id": "city_other",
   "label": "Other-region city (vs jnb)",
   "kind": "select",
   "min": null,
   "max": null,
   "step": null,
   "default": 1,
   "unit": null,
   "options": [
    {
     "value": 1,
     "label": "jnb (x1.3029, baked in)"
    },
    {
     "value": 1.2398,
     "label": "gru (x1.6154)"
    }
   ],
   "effect": "rate_factor",
   "modes": [
    "performance-other",
    "shared-other"
   ],
   "why": "The other modes bake jnb (1.3029x); gru is 1.6154x, i.e. 1.2398 relative (compute only).",
   "source": "https://fly.io/docs/about/pricing/"
  }
 ],
 "caveats": [
  "Region multipliers apply to compute only; each region mode uses the cheapest region of that group. Pricier cities in the same group: us up to 1.25 (ord/dfw), eu up to 1.1538 (fra), asia 1.3077 (nrt), other 1.6154 (gru).",
  "Shared CPU modes are flagged burstable (baseline_pct 6.25): 6.25% baseline per vCPU with a 500 s burst bank; sustained load is throttled. The engine cannot model throttling.",
  "Resource rates are a decomposition of the preset prices (preset includes 2 GB/vCPU performance, 256 MB/vCPU shared). Reproduces every published preset exactly.",
  "Running rootfs is included in the preset (size not published, so included_disk_gib null). disk_gib_month 0.15 is the stopped-rootfs and Volume rate; stopped/suspended Machines bill rootfs, Volumes bill provisioned size 24/7.",
  "Suspend (memory snapshot, snapshot:mem) only for Machines with <= 2 GB RAM, no swap/schedule; discarded on deploy/migration. Suspended = storage only.",
  "Snapshots: volume snapshots $0.08/GB-month, first 10 GB free per month (extra key snapshot_free_gib_account). Billable since Jan 2026.",
  "Egress $0.02/GB is NA/EU; APAC/SA $0.04, Africa/India $0.12. No free allowance for new orgs (legacy plans keep 160 GB).",
  "Reservation modes: annual prepaid monthly credits, region + class locked, no rollover; rates assume blocks sized to usage (smallest block $20/mo performance, $5/mo shared).",
  "Free trial is 2 VM-hours or 7 days (no $ credit), no performance CPUs; one_time_credit 0.",
  "GPU Machines discontinued (unavailable from 2026-08-01).",
  "SSO is Google/GitHub org login only (no SAML), so sso=false.",
  "No benchmark data in benchmarks.json (perf null).",
  "Effective 2026-10-01 Machine RAM is $6/GB per 30 days (was $5); CPU unchanged. On-demand and reservation modes use the new RAM rate. https://fly.io/pricing-update/",
  "Shared CPU (docs.fly.io/machines/cpu-performance, 2026-09-28): baseline \"5ms (6.25%)\" per 80 ms per vCPU, burst balance starts at 5 s, max 500 s, then throttled to baseline. Shared regimes now carry flags burstable + baseline_pct 6.25 (was alt). Reservation blocks are flagged commit (1-year) instead of sales: they are self-serve.",
  "Create Machine is rate-limited to ~1/s (burst 3) per app, i.e. ~60 creates/min per app; bursty sandbox fleets must pre-create (skip_launch) and start, or shard across apps. Organizations may also hit unpublished 'automated scaling limits' (raise by email).",
  "Ephemeral rootfs is capped at 2000 IOPS and 8 MiB/s regardless of Machine size; disk-heavy sandboxes need a Volume ($0.15/GB-month provisioned, billed 24/7).",
  "Individual Machines no longer get a public IPv6 (outbound IPv6 is NATed); apps keep public Anycast IPv6. Predictable outbound IP needs a static egress IP ($3.60/mo per app per region, max 64 Machines each)."
 ],
 "sources": [
  "https://fly.io/pricing",
  "https://docs.fly.io/about/pricing/",
  "https://docs.fly.io/about/billing/",
  "https://docs.fly.io/about/discontinued-plans/",
  "https://docs.fly.io/about/free-trial/",
  "https://docs.fly.io/about/cost-management/",
  "https://docs.fly.io/reference/suspend-resume/",
  "https://docs.fly.io/machines/cpu-performance/",
  "https://community.fly.io/t/reservation-blocks-40-discount-on-machines-when-youre-ready-to-commit/20858",
  "https://community.fly.io/t/gpu-migration-fly-io-gpus-will-be-deprecated-as-of-july-31-2026/27110",
  "https://fly.io/pricing-update/"
 ],
 "fleet": {
  "default_max_instances": 10,
  "default_max_vcpu": null,
  "default_max_gpus": null,
  "raise": "self-serve",
  "raise_time_days": null,
  "verification": "Add payment method to exit trial; paid organization limits can require support.",
  "tiers": "Trial: 10 Machines, 2 total VM-hours, 7 days and 5-minute auto-stop. Paid limits organization-specific; support for larger quotas.",
  "notes": "10 is the official no-payment trial ceiling, not a guaranteed persistent fleet. Official paid pricing notes automated scaling limits. Historical community report of 50 total Machines across all states is not a universal paid-account default. Trial shapes are limited to 2 vCPU/4 GB each, so even ten trial machines cannot satisfy a 4-vCPU-per-machine fleet.",
  "sources": [
   "https://fly.io/docs/about/free-trial/",
   "https://fly.io/docs/about/pricing/",
   "https://community.fly.io/t/is-the-maximum-of-50-machines-correct/26432"
  ],
  "researched": "2026-09-28",
  "create_rate_limit": "Machines API: 1 request/s per action per identifier (Machine ID or App ID), short burst 3 req/s; Get Machine 5 req/s (burst 10); app deletions 100/min"
 },
 "audit_2026_09_29": {
  "applied": 13,
  "source": "checked against the provider's live pricing and docs pages",
  "reviewed": 4
 },
 "feature_evidence": {
  "snapshot_auto": {
   "value": true,
   "source": "https://docs.fly.io/reference/suspend-resume",
   "quote": "The proxy will automatically suspend machines during low traffic, checking for idle periods every few minutes, and resume them when requests arrive.",
   "note": "Opt-in via fly.toml auto_stop_machines = \"suspend\" (Fly Proxy idle autostop; needs a service). Memory included: \"Suspend uses Firecracker snapshots to capture the entire VM state: CPU registers, memory contents, open file handles.\" Only Machines <= 2 GB RAM, no swap, no schedule; snapshot not guaranteed (discarded on deploy, host migration, maintenance -> cold start). Unlike stop, suspend does not reset rootfs. Separately, Volumes get automatic daily block snapshots (retention 1-60 days, default 5) - that is a scheduled backup, not this.",
   "checked": "2026-09-29"
  },
  "snapshot_on_demand": {
   "value": true,
   "source": "https://docs.fly.io/volumes/snapshots",
   "quote": "We automatically take daily snapshots of your volume and keep them for 5 days by default. You can also create a snapshot of a volume on demand",
   "note": "Two partial mechanisms: (1) Volume snapshots (fly volumes snapshots create / POST .../volumes/{id}/snapshots): disk only, volume data only (not rootfs, not memory); restore = create a NEW volume from the snapshot (\"fly volumes create <volume name> --snapshot-id <snapshot id>\") which a new Machine can mount; also `fly volumes fork`. $0.08/GB-month, first 10 GB free. (2) Machine suspend (fly machine suspend / POST .../suspend) is an on-demand memory+CPU snapshot but only resumes the same Machine; cannot fork or boot new Machines, not guaranteed to persist.",
   "checked": "2026-09-29"
  },
  "egress_allowlist": {
   "value": true,
   "source": "https://docs.fly.io/machines/guides-examples/network-policies",
   "quote": "Network policies let you control traffic to and from your Machines. You can use policies to allow or restrict ingress and egress on specific ports and protocols. This is useful when you're running untrusted code or want to lock down what traffic is allowed.",
   "note": "Machines API /v1/apps/<app>/network_policies; selector by all/machine IDs/metadata; rules are allow-only port+protocol; \"Once a rule is defined, all other traffic in that direction is denied by default.\" Documented rule fields are ports/protocols only (no hostnames; destination IP/CIDR fields not documented). Requires restart/redeploy to take effect; does not apply to traffic through Fly Proxy. Domain-level allowlists exist only on Sprites.",
   "checked": "2026-09-29",
   "level": "ip"
  },
  "ingress_rules": {
   "value": true,
   "source": "https://docs.fly.io/networking/flycast",
   "quote": "Flycast provides network addressing and routing for private apps on Fly.io private networks.",
   "note": "Services/ports are exposed only if declared in fly.toml [services]/[http_service] and only public if the app has public IPs (`fly deploy --no-public-ips`); private-only via 6PN .internal or Flycast; network policies also support ingress direction (\"allow or restrict ingress and egress on specific ports and protocols\"). No tokenized preview URLs or IP allowlists found for Machines.",
   "checked": "2026-09-29"
  },
  "guest_firewall": {
   "value": true,
   "source": null,
   "quote": null,
   "note": "Firecracker microVM with its own kernel and root; iptables/nftables inside should work (not explicitly documented).",
   "checked": "2026-09-29",
   "derived": true
  },
  "secret_proxy": {
   "value": false,
   "source": "https://github.com/superfly/tokenizer",
   "quote": "Tokenizer is an HTTP proxy that injects third party authentication credentials into requests. Clients encrypt third party secrets using the proxy's public key.",
   "note": "First-party open-source (superfly/tokenizer) but SELF-DEPLOYED, not a managed Machines feature: README \"Production deployment — fly.io ... Tokenizer is now deployed and accessible to other apps in your org at `<name of app>.flycast`\"; blog: \"check out the tokenizer and ssokenizer repositories for instructions on deploying and using these services yourself\". Fly's own hosted tokenizer (tokenizer.fly.dev) is internal. Any HTTP host (header/query injection, HMAC, AWS SigV4, OAuth via ssokenizer), per-secret allowed_hosts; HTTP only (client speaks plain HTTP to proxy over private network), no DB/SSH. Built-in Fly secrets are env vars: \"An app's secrets are available as environment variables at runtime on every Machine\". Treat as false if only managed features count.",
   "checked": "2026-09-29"
  },
  "volume_attach": {
   "value": true,
   "source": "https://docs.fly.io/volumes/overview",
   "quote": "Fly Volumes are local persistent storage for Fly Machines. You can access and write to a volume on a Machine just like a regular directory.",
   "note": "Local NVMe slice on the Machine's host, up to 500 GB, extendable, $0.15/GB-month provisioned; one volume per Machine.",
   "checked": "2026-09-29"
  },
  "volume_shared": {
   "value": false,
   "source": "https://docs.fly.io/volumes/overview",
   "quote": "A Machine can only mount one volume at a time and a volume can be attached to only one Machine.",
   "note": "Not network storage (\"It is not network storage.\"); no shared FS product for Machines (use Tigris object storage separately).",
   "checked": "2026-09-29"
  },
  "docker_inside": {
   "value": true,
   "source": "https://docs.fly.io/blueprints/working-with-docker.md",
   "quote": "Fly.io doesn't run Docker containers. It uses Docker images as a packaging format. Once deployed, your app runs inside a lightweight VM booted from an unpacked image.",
   "note": "derived: Fly Machines are full Firecracker microVMs with their own real Linux kernel and root access (not shared-kernel containers), so a user-installed Docker/containerd daemon can run inside using normal cgroups/namespaces (no /dev/kvm needed for plain containers). Fly itself doesn't run a Docker daemon on your behalf; this is about running one yourself inside the guest.",
   "checked": "2026-09-30"
  },
  "nested_virt": {
   "value": false,
   "source": "https://docs.fly.io/reference/architecture.md",
   "quote": "Apps running on Fly.io run inside Firecracker, a Rust-based, memory-safe KVM hypervisor... Firecracker VMs run as userland processes on our hosts.",
   "note": "derived: Machines are themselves Firecracker guests; Fly's docs never mention exposing /dev/kvm or nested-virtualization support inside a Machine, and Firecracker microVMs do not pass through KVM to their guests by default. Not documented as available.",
   "checked": "2026-09-30"
  },
  "anti_bot": {
   "value": false,
   "source": "https://fly.io/pricing",
   "quote": "Fly.io Machines run your Docker container or app as a lightweight VM in one of 30+ regions.",
   "note": "not offered: outside the product's scope. Fly Machines is a general-purpose VM/container hosting platform, not a browser automation or scraping product; no stealth/anti-fingerprinting feature is documented.",
   "checked": "2026-09-30"
  },
  "captcha_solving": {
   "value": false,
   "source": "https://fly.io/pricing",
   "quote": "Fly.io Machines run your Docker container or app as a lightweight VM in one of 30+ regions.",
   "note": "not offered: outside the product's scope. No CAPTCHA-solving feature is documented for Fly Machines; that is not what this VM/container platform does.",
   "checked": "2026-09-30"
  },
  "egress_ip_type": {
   "value": "datacenter",
   "source": "https://docs.fly.io/networking/egress-ips.md",
   "quote": "By default, outbound (egress) IPs from Fly Machines are unstable and may change. You can allocate static egress IPs for an app (both IPv4 and IPv6) via `fly ips allocate-egress`.",
   "note": "Fly's IPs (both dynamic and static egress) are datacenter/cloud-provider IP ranges, not residential or mobile.",
   "checked": "2026-09-30"
  },
  "fork_running": {
   "value": true,
   "source": "https://docs.fly.io/flyctl/cmd/fly_machine_clone.md",
   "quote": "Clone a Fly Machine. The new Machine will be a copy of the specified Machine. If the original Machine has a volume, then a new empty volume will be created and attached to the new Machine.",
   "note": "`fly machine clone` copies a Machine's config (not a live memory snapshot) and boots a fresh new Machine; nothing in the docs requires stopping the source Machine first, so a running source Machine can be cloned without interrupting it. Distinct from memory_snapshot_fork (false): the clone is a fresh boot, not a running-state fork.",
   "checked": "2026-09-30"
  },
  "live_resize": {
   "value": false,
   "source": "https://docs.fly.io/machines/flyctl/fly-machine-update.md",
   "quote": "Compares the Machine's existing configuration and confirms the changes you've asked for... Recreates the Machine with the new config, and, by default, starts it.",
   "note": "Changing CPU/RAM via `fly machine update` (or the Machines API update endpoint) recreates/restarts the Machine with the new config rather than resizing a running instance in place.",
   "checked": "2026-09-30"
  },
  "harness_api": {
   "value": false,
   "source": "https://fly.io/pricing",
   "quote": "Fly.io Machines run your Docker container or app as a lightweight VM in one of 30+ regions.",
   "note": "not offered: outside the product's scope. Fly Machines is a general VM/container runtime; there is no first-party API to drive a coding agent harness (Claude Code, Codex, etc.) inside a Machine. Fly's separate 'Sprites' product (own card) offers agent-oriented sandbox APIs.",
   "checked": "2026-09-30"
  },
  "own_agent_api": {
   "value": false,
   "source": "https://fly.io/pricing",
   "quote": "Fly.io Machines run your Docker container or app as a lightweight VM in one of 30+ regions.",
   "note": "not offered: outside the product's scope. Fly Machines has no first-party browser/computer-use/research agent of its own; it's an infrastructure primitive, not a task-agent product.",
   "checked": "2026-09-30"
  },
  "lang_python": {
   "value": true,
   "source": "https://docs.fly.io/python/index.md",
   "quote": "Fly.io is a great place to launch your Python applications, especially if you plan on running them on multiple servers around the world so your users have a fast, snappy, low-latency experience.",
   "note": "Python runs via your own Dockerfile/buildpack image; Fly provides first-party Python docs, framework guides (FastAPI, Flask, Streamlit) and base images.",
   "checked": "2026-09-30"
  },
  "lang_node": {
   "value": true,
   "source": "https://docs.fly.io/js/index.md",
   "quote": "Fly is a great place to run JavaScript applications, especially if you plan on running them on multiple servers around the world so your users have a fast, snappy, low-latency experience.",
   "note": "Node.js runs via your own Dockerfile/buildpack image; Fly provides first-party Node.js/JavaScript docs and getting-started guides.",
   "checked": "2026-09-30"
  },
  "egress_http_rules": {
   "value": false,
   "source": "https://docs.fly.io/machines/guides-examples/network-policies.md",
   "quote": "Each rule has: `action`: Only `allow` is supported. `direction`: Either `ingress` or `egress`. `ports`: A list of port and protocol objects.",
   "note": "Fly's Network Policies (Machines API network_policies) are allow-list rules scoped to port + protocol only; there is no HTTP method/path-level egress rule capability documented.",
   "checked": "2026-09-30"
  },
  "max_session_h": {
   "value": "none",
   "source": "https://docs.fly.io/reference/architecture.md",
   "quote": "Application code runs in Firecracker microVMs... Your workloads are safely isolated no matter where they're running on our infrastructure.",
   "note": "No documented maximum runtime for a Machine; a started Machine runs until you (or autostop/health checks) stop it, or until it is destroyed/migrated. The only time cap found is the free-trial-specific 2 VM-hour/7-day allowance, which is a plan restriction, not a per-session ceiling on paid Machines.",
   "checked": "2026-09-30"
  },
  "memory_snapshot_fork": {
   "value": false,
   "source": "https://docs.fly.io/reference/suspend-resume",
   "quote": "Machine suspend ... only resumes the same Machine; cannot fork or boot new Machines, not guaranteed to persist.",
   "note": "Fly's only memory-inclusive snapshot mechanism is Machine suspend (Firecracker snapshot of CPU/memory/file handles for machines <=2GB RAM), and it is documented to resume only that same Machine, not to fork a new Machine from the snapshot. Volume snapshots (the other snapshot feature) are disk-only, not memory, so they don't count as memory_snapshot_fork either.",
   "checked": "2026-09-30"
  },
  "desktop": {
   "value": false,
   "source": "https://docs.fly.io/machines/overview",
   "quote": "Fly Machines are fast-launching VMs with a simple REST API. They're the compute behind the Fly.io platform.",
   "note": "Machines is a generic Firecracker VM/REST-API compute product: you boot your own OCI image and get a shell/SSH into a Linux VM. There is no first-party managed remote desktop (VNC/RDP/noVNC) offered as part of Machines itself; a full desktop environment (Xfce) is only offered by Fly's separate 'Sprites' product (docs.fly.io/sprites), not Machines.",
   "checked": "2026-09-30"
  },
  "browser": {
   "value": false,
   "source": "https://docs.fly.io/machines/overview",
   "quote": "Fly Machines are fast-launching VMs with a simple REST API. They're the compute behind the Fly.io platform.",
   "note": "No managed/pre-installed browser or browser-automation endpoint ships with Machines; a Chrome browser is only installed as part of Fly's separate Sprites product's optional 'computer use' setup, not as a Machines feature.",
   "checked": "2026-09-30"
  },
  "computer_use": {
   "value": false,
   "source": "https://docs.fly.io/machines/overview",
   "quote": "Fly Machines are fast-launching VMs with a simple REST API. They're the compute behind the Fly.io platform.",
   "note": "Machines has no built-in computer-use (click/type/screenshot) capability; that exists only as an opt-in feature of Fly's separate Sprites product (Xfce desktop + Chrome + Cursor computer-use support installed on a Sprite), a different product/card in this dataset, not on raw Machines.",
   "checked": "2026-09-30"
  },
  "agent_harnesses": {
   "value": false,
   "source": "https://docs.fly.io/machines/overview",
   "quote": "Fly Machines are fast-launching VMs with a simple REST API. They're the compute behind the Fly.io platform.",
   "note": "Machines ships no pre-integrated agent harness/runner; the agent-harness-style integrations (Claude Managed Agents self-hosted sandboxes, Cursor self-hosted machines) documented on Fly's docs are all built on the separate Sprites product, not on the bare Machines API this card describes.",
   "checked": "2026-09-30"
  },
  "gpu": {
   "value": false,
   "source": "https://community.fly.io/t/gpu-migration-fly-io-gpus-will-be-deprecated-as-of-july-31-2026/27110",
   "quote": "Fly.io GPUs will be fully deprecated as of July 31, 2026",
   "note": "Confirms the card's own caveat ('GPU Machines discontinued, unavailable from 2026-08-01'); as of the check date (2026-09-30) Fly no longer offers GPU Machines at all, so gpu=false is correct (was previously true/L40S-A100 era).",
   "checked": "2026-09-30"
  },
  "windows": {
   "value": false,
   "source": "https://docs.fly.io/reference/architecture",
   "quote": "Application code runs in Firecracker microVMs.",
   "note": "Firecracker (the KVM-based microVM tech Fly Machines runs on) only supports Linux guest kernels; Fly's own docs example VM shell shows 'Linux ... x86_64 x86_64 x86_64 GNU/Linux' (docs.fly.io/machines/overview). No Windows guest OS option exists on Fly Machines.",
   "checked": "2026-09-30"
  },
  "macos": {
   "value": false,
   "source": "https://docs.fly.io/reference/architecture",
   "quote": "Application code runs in Firecracker microVMs.",
   "note": "Firecracker microVMs on Fly's own x86 hardware only run Linux guests (see 'Linux ... x86_64' shell example on docs.fly.io/machines/overview); there is no macOS guest offering, consistent with macos=false for a Linux-container/VM PaaS.",
   "checked": "2026-09-30"
  },
  "arm64": {
   "value": false,
   "source": "https://docs.fly.io/machines/overview",
   "quote": "root@d8d9510a295118:/# uname -a\nLinux d8d9510a295118 5.15.98-fly #gf0950f1d7c SMP Sun Sep 17 02:33:12 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux",
   "note": "Fly's own quick-start example of a launched Machine reports x86_64 in every uname field. Searched docs/llms-full.txt for arm64/aarch64 Machine guest architecture and found only unrelated hits (LiteFS binaries, Fly CLI/Sprites client binaries for macOS/Windows/Linux ARM64 -- these are client tooling, not the Machine guest CPU architecture). No published arm64 Machine size/region option exists; Fly Machines are x86_64 only.",
   "checked": "2026-09-30"
  },
  "self_host": {
   "value": false,
   "source": "https://docs.fly.io/about/extensions",
   "quote": "Fly.io is a global cloud service for running full stack apps close to users. We run on our own hardware in datacenters all over the world.",
   "note": "Fly Machines is a managed hosted service running on Fly's own hardware in Fly's datacenters; there is no distributable Fly Machines server/agent for customers to run on their own infrastructure, so self_host=false is correct.",
   "checked": "2026-09-30"
  },
  "byoc": {
   "value": false,
   "source": "https://docs.fly.io/security/",
   "quote": "We run on our own hardware deployed in secure data centers like Equinix.",
   "note": "Fly explicitly runs on its own owned hardware (not customer cloud accounts / not reselling AWS-GCP-Azure capacity into a customer's own cloud account), so there is no bring-your-own-cloud deployment mode; byoc=false is correct.",
   "checked": "2026-09-30"
  },
  "sso": {
   "value": false,
   "source": "https://docs.fly.io/security/sso",
   "quote": "Fly.io supports Google and GitHub as Identity Providers, and you can use one or both.",
   "note": "Org-level 'SSO' on Fly is limited to requiring a Google Workspace domain or a GitHub org for login -- there is no SAML/OIDC enterprise SSO integration (no generic IdP like Okta/Azure AD/OneLogin documented), matching the card's own caveat ('SSO is Google/GitHub org login only (no SAML)'). Treated as false consistent with that definition.",
   "checked": "2026-09-30"
  },
  "usage_api": {
   "value": false,
   "source": "https://docs.fly.io/about/billing",
   "quote": "You can view and download invoices from the Billing section of your dashboard for each organization... To download a past invoice, click View for the relevant cycle. You'll be sent to the Stripe billing portal where you'll have the option to download the invoice.",
   "note": "granularity: account-only; cost: no; Fly.io provides cost/usage data only via monthly invoices (manual download from Stripe billing portal) and dashboard views. The Machines API does not expose billable usage or cost endpoints. Prometheus metrics API (/api/v1/query) provides operational metrics (CPU, memory, HTTP requests) for monitoring, not billable usage. Cost retrieval is account-level only; no per-sandbox API exists.",
   "confidence": "high",
   "checked": "2026-10-01"
  },
  "sidecar": {
   "value": true,
   "source": "https://docs.fly.io/machines/guides-examples/multi-container-machines",
   "quote": "Fly Machines support running multiple containers per virtual machine using the `containers` array.",
   "note": "Same VM and kernel, \"isolated at the process and filesystem level\", sharing the network namespace (localhost). Machines API only, with Pilot as the init system.",
   "checked": "2026-10-02"
  }
 },
 "locations": [
  {
   "country": "US",
   "state": "VA",
   "city": "Ashburn",
   "provider_region": "iad",
   "self_serve": true,
   "choosable": true
  },
  {
   "country": "US",
   "state": "NJ",
   "city": "Secaucus",
   "provider_region": "ewr",
   "self_serve": true,
   "choosable": true
  },
  {
   "country": "US",
   "state": "IL",
   "city": "Chicago",
   "provider_region": "ord",
   "self_serve": true,
   "choosable": true
  },
  {
   "country": "US",
   "state": "TX",
   "city": "Dallas",
   "provider_region": "dfw",
   "self_serve": true,
   "choosable": true
  },
  {
   "country": "US",
   "state": "CA",
   "city": "Los Angeles",
   "provider_region": "lax",
   "self_serve": true,
   "choosable": true
  },
  {
   "country": "US",
   "state": "CA",
   "city": "San Jose",
   "provider_region": "sjc",
   "self_serve": true,
   "choosable": true
  },
  {
   "country": "CA",
   "state": "ON",
   "city": "Toronto",
   "provider_region": "yyz",
   "self_serve": true,
   "choosable": true
  },
  {
   "country": "NL",
   "state": null,
   "city": "Amsterdam",
   "provider_region": "ams",
   "self_serve": true,
   "choosable": true
  },
  {
   "country": "SE",
   "state": null,
   "city": "Stockholm",
   "provider_region": "arn",
   "self_serve": true,
   "choosable": true
  },
  {
   "country": "FR",
   "state": null,
   "city": "Paris",
   "provider_region": "cdg",
   "self_serve": true,
   "choosable": true
  },
  {
   "country": "DE",
   "state": null,
   "city": "Frankfurt",
   "provider_region": "fra",
   "self_serve": true,
   "choosable": true
  },
  {
   "country": "GB",
   "state": null,
   "city": "London",
   "provider_region": "lhr",
   "self_serve": true,
   "choosable": true
  },
  {
   "country": "JP",
   "state": null,
   "city": "Tokyo",
   "provider_region": "nrt",
   "self_serve": true,
   "choosable": true
  },
  {
   "country": "SG",
   "state": null,
   "city": "Singapore",
   "provider_region": "sin",
   "self_serve": true,
   "choosable": true
  },
  {
   "country": "AU",
   "state": null,
   "city": "Sydney",
   "provider_region": "syd",
   "self_serve": true,
   "choosable": true
  },
  {
   "country": "BR",
   "state": null,
   "city": "São Paulo",
   "provider_region": "gru",
   "self_serve": true,
   "choosable": true
  },
  {
   "country": "ZA",
   "state": null,
   "city": "Johannesburg",
   "provider_region": "jnb",
   "self_serve": true,
   "choosable": true
  }
 ],
 "locations_source": "https://docs.fly.io/reference/regions/",
 "locations_quote": "Region ID Region Location Gateway MPG ams Amsterdam, Netherlands ✓ ✓ arn Stockholm, Sweden ✓ cdg Paris, France ✓ dfw Dallas, Texas (US) ✓ ✓ ewr Secaucus, NJ (US) ✓ fra Frankfurt, Germany ✓ ✓ gru Sao Paulo, Brazil ✓ iad Ashburn, Virginia (US) ✓ ✓ jnb Johannesburg, South Africa lax Los Angeles, Califo",
 "locations_checked": "2026-10-01"
}