# Sprites

> Persistent Fly.io microVMs that suspend after about 30 seconds idle and bill measured CPU and memory.

Website: https://fly.io/sprites  
Guide page: https://botperch.com/providers/sprites/  
Checked: 2026-10-28

**Short answer:** One always-on personal agent (2 vCPU / 4 GiB / 20 GiB) costs about $77.61 a month here, the 8th cheapest of the 11 providers that run it as described. The AI model adds about $14.70 a month on top (GLM 5.3, 30 requests a day at 40k tokens each, median zero-retention price; from $6.84 at the cheapest host). Fits well: An agent that pauses constantly: a warm pause after about 30 seconds resumes in 100–500 ms.

Sprites are persistent Linux environments on Fly.io for agents, development and user-submitted code. Each is a dedicated microVM with a whole filesystem that survives between sessions.
The design assumes a computer that sleeps: a short idle window suspends it with memory frozen, and a longer idle period stops it and drops memory, keeping the disk.

**Who it is for:** Developers who want a long-lived Linux computer for an agent, with automatic sleep and usage-based billing rather than a reserved size.

**Isolation:** Dedicated microVM with hardware-level isolation. Root is available and Docker is reported to work, but Sprites do not run systemd: a built-in service manager starts services on wake.

**Sizes and regions:** One fixed shape: 8 vCPUs and 100 GB of storage, with memory assigned and autoscaled per Sprite. No published region selection, GPU or ARM option.

## How it charges

- model: Measured usage, with optional monthly plans that bundle allowances.
- meter: Actual CPU at $0.0385 per CPU-hour and actual memory at $0.021875 per GB-hour while awake; hot storage at $0.000683 per GB-hour and cold storage at $0.000027 per GB-hour.
- stopped: No compute charge in warm or cold state, but cold storage is billed for as long as data is kept.
- planFee: The pricing page says there are no plans; the product FAQ describes plans including Hero at $100 a month. Both are current.
- minimum: No published minimum. A one-time $30 trial credit per user and per organisation, which cannot pay a subscription fee.

Measured CPU and memory while awake, hot storage while awake and cold storage for as long as data is kept.
- Memory is billed on actual use; the calculator uses the memory you entered.
- A one-time $30 trial credit is not subtracted.
- The pricing page says there are no plans; the FAQ sells Hero ($100) and Mythic ($2,000). Pay as you go is used here.

## Monthly cost for each preset workload

- A personal agent that stays on (Hermes, OpenClaw): $77.61
- A coding agent for one developer: $34.15
- A code interpreter inside your product: $35.90
- A browser agent for a small team: $485.03
- Self-hosted n8n for a small team: $77.50
- A Discord or Slack bot for one server: $38.88
- Claude Code for a team of five: $169.99
- A scraper that runs four times a day: $1.33
- Your own remote MCP server: $22.91
- A: 1,000 short tasks: $22.18
- B: one always-on box: $164.91
- C: three hours a day: $10.19

## Fits well

- An agent that pauses constantly: a warm pause after about 30 seconds resumes in 100–500 ms.
- A long-lived filesystem with no volume to manage, capped at 100 GB and billed on bytes written.
- Secrets that never reach the Sprite, through connectors and a gateway.

## Fits badly

- systemd: Sprites do not run it, and services start through a built-in manager on wake.
- A live fork or create-from-checkpoint: neither is documented.
- A client-facing link: the URL is private to the organisation and needs an org token.

## Features

- **Isolation** (partly): microVM; no systemd. A hardware-isolated microVM with root and Docker reported, but it does not run systemd: a built-in service manager starts services on wake. [source](https://docs.fly.io/sprites/concepts/services) [docs](https://docs.fly.io/sprites/index.md)
- **Sizes and regions** (partly): 8 vCPU; no choice. One shape: 8 vCPUs and 100 GB of storage, with memory assigned and autoscaled. GPU is explicitly not offered; region selection is unavailable and placement is automatic; CPU architecture is not published. [source](https://docs.fly.io/sprites/concepts/lifecycle.md) [docs](https://docs.fly.io/sprites/concepts/lifecycle.md)
- **Lifecycle** (yes): Warm pause; 100–500 ms. A warm pause freezes memory and processes and resumes in 100–500 ms; a longer idle period stops the VM, drops memory and starts processes fresh. Open TCP connections do not survive either. [source](https://docs.fly.io/sprites/concepts/lifecycle) [docs](https://docs.fly.io/sprites/concepts/lifecycle.md)
- **Snapshots and forks** (partly): Filesystem only. Checkpoints snapshot the writable filesystem, copy-on-write and without interrupting work; they restore in place and overwrite current files. A live fork or create-from-checkpoint is not documented. [source](https://docs.fly.io/sprites/concepts/checkpoints) [docs](https://docs.fly.io/sprites/concepts/checkpoints.md)
- **Storage** (yes): 100 GB cap; bytes written. The whole filesystem persists on durable local storage, capped at 100 GB, and checkpoints keep filesystem blocks that bill while retained. No attachable or shared volumes are documented. [source](https://docs.fly.io/sprites/concepts/lifecycle.md) [docs](https://docs.fly.io/sprites/concepts/lifecycle.md)
- **Idle and waking** (yes): 30 s warm pause. A warm pause after about 30 seconds idle, a cold stop after a longer unpublished period, and wake on request. Four things reset the timer, including an open TCP connection. [source](https://docs.fly.io/sprites/concepts/lifecycle) [docs](https://docs.fly.io/sprites/working-with-sprites.md)
- **Reaching it** (partly): Org token. Every Sprite has an HTTPS URL that is private to the organisation by default, reachable with an org token. SSH requires installing a server and proxying it. [source](https://docs.fly.io/sprites/concepts/networking) [docs](https://docs.fly.io/sprites/concepts/networking.md)
- **Custom domains** (not-published): Not published. No native custom-domain support is documented. A community report from April 2026 says Sprites lack custom domains and certificates the way regular Fly VMs do; current support was not confirmed, so treat a proxy as the only known path. [source](https://community.fly.io/t/cloudflare-to-sprite-ssl-tls-is-broken-preventing-custom-domains-therefore-prod-use-cases/27512)
- **Outbound network** (yes): Not metered. Outbound is unrestricted by default, with an opt-in DNS allowlist applied from outside the Sprite. Bandwidth is not metered. [source](https://docs.fly.io/sprites/concepts/networking) [docs](https://docs.fly.io/sprites/concepts/networking.md)
- **Keys and secrets** (yes): No, gateway. Connectors store the credential in the organisation and route API calls through the Sprites gateway, so the Sprite never sees the token. A connector with no policy refuses every Sprite. [source](https://docs.fly.io/sprites/concepts/connectors) [docs](https://docs.fly.io/sprites/concepts/connectors.md)
- **Ways to drive it** (partly): No; CLI. A CLI and interactive console, SDKs and agent integrations, and SSH only after installing a server and proxying it. No managed desktop or browser-control product. [source](https://docs.fly.io/sprites/quickstart) [docs](https://docs.fly.io/sprites/cli/commands.md)
- **Built-in agents** (no): None; plugins only. Plugins for coding agents and SDK integrations, but no preinstalled agent or provider-managed agent API is documented. [source](https://fly.io/sprites/)
- **Teams and accounts** (partly): Not published. Fly.io organisations and connector management in a dashboard. SSO is claimed by a third party; spend caps, key scopes, audit retention and residency are not published. [source](https://docs.fly.io/sprites/quickstart) [docs](https://docs.fly.io/sprites/cli/authentication.md)
- **Billing models** (partly): $0.0385/CPU-hour. Actual CPU at $0.0385 per CPU-hour and actual memory at $0.021875 per GB-hour, plus hot and cold storage. The pricing page says there are no plans; the product FAQ describes plans. [source](https://fly.io/pricing/) [docs](https://fly.io/pricing/)
- **Trials and free tiers** (partly): $30 one-off. A one-time $30 trial credit per user and per organisation. Credits cannot pay a subscription fee. Card requirement and expiry are not published. [source](https://fly.io/sprites/) [docs](https://fly.io/sprites/)
- **The company** (partly): Fly.io, Inc.; 99.9% Enterprise. Fly.io, Inc., Delaware; CEO Scott Johnston, founder Kurt Mackey advisory; platform since 2017, Sprites launched January 2026; $25M Series D in July 2026. Status page lists Sprites as a component but shows no numeric uptime; it covers global incidents only and recorded a certificate outage on 11–12 October. The 99.9% SLA is Enterprise-only and credits must be claimed; Sprites coverage is not confirmed. SOC 2 is platform-level and does not name Sprites; the BAA is a $99/month add-on. The customer is responsible for backups; data deleted within 30 days, backups within 90. [source](https://fly.io/legal/sla-uptime/)

## Capabilities

- Its own virtual machine: yes (microVM) [source](https://docs.fly.io/sprites/index)
- Root access: yes (sudo) [source](https://docs.fly.io/sprites/working-with-sprites)
- Docker inside: partly (Docker, with limits). Docker runs, but some containers fail and the usual service manager is missing, so services need the provider's own manager instead. [source](https://community.fly.io/t/27956)
- Nested virtualisation: not-published [source](https://docs.fly.io/sprites/)
- Your own image: no (fixed base image). There is no documented way to start a Sprite from your own image. [source](https://docs.fly.io/sprites/concepts/checkpoints)
- Any size you like: no (one shape). There is one shape: 8 cores, memory assigned automatically, and no choice. [source](https://docs.fly.io/sprites/concepts/lifecycle)
- Large machines: no (8 cores / 16 GB). The machine is fixed at 8 cores and up to 16 GB of memory, below the 32 GB mark. [source](https://fly.io/sprites/checkpoint-restore/)
- Resize while running: no (one fixed shape). The shape is fixed, so there is nothing to resize. [source](https://docs.fly.io/sprites/concepts/lifecycle)
- GPUs: no (no GPU). Sprites are not a graphics environment; Fly sells graphics machines as a separate product. [source](https://fly.io/learn/fly-vs-modal/)
- Choose the region: no (placement automatic). You cannot choose where a Sprite runs; placement is decided for you. [source](https://community.fly.io/t/where-do-sprites-dev-sprites-live-as-in-which-fly-io-region-is-it/26775)
- Runs in the EU: partly (EU possible, not chosen). A Sprite may run in Europe because placement follows you, but you cannot require it to. [source](https://community.fly.io/t/where-do-sprites-dev-sprites-live-as-in-which-fly-io-region-is-it/26775)
- Pause keeps memory: yes (100–500 ms). After a longer idle spell it is stopped and memory is dropped, and you are not told which happened. [source](https://docs.fly.io/sprites/concepts/lifecycle.md)
- Pre-started pools: no [source](https://docs.fly.io/sprites/concepts/lifecycle.md)
- Starts in under a second: yes (100–500 ms) [source](https://docs.fly.io/sprites/concepts/lifecycle.md)
- Snapshots of files: yes [source](https://docs.fly.io/sprites/concepts/checkpoints.md)
- Snapshots with memory: no [source](https://docs.fly.io/sprites/concepts/checkpoints.md)
- Copy a running machine: no [source](https://docs.fly.io/sprites/concepts/checkpoints.md)
- Pick an older snapshot: yes (v0, v1, v2…) [source](https://docs.fly.io/sprites/concepts/checkpoints.md)
- Reusable templates: no [source](https://docs.fly.io/sprites/concepts/checkpoints.md)
- Automatic backups: no [source](https://docs.fly.io/sprites/concepts/checkpoints.md)
- Files survive a stop: yes (100 GB) [source](https://docs.fly.io/sprites/concepts/lifecycle.md)
- Separate volumes: no [source](https://docs.fly.io/sprites/concepts/lifecycle.md)
- One volume, several machines: no [source](https://docs.fly.io/sprites/concepts/lifecycle.md)
- Mount outside storage: no [source](https://docs.fly.io/sprites/concepts/lifecycle.md)
- Large disk: yes (100 GB) [source](https://docs.fly.io/sprites/concepts/lifecycle.md)
- Can stay on indefinitely: partly (30 s idle). A Sprite pauses about 30 seconds after its last activity; a task can hold it awake, but you cannot switch the pause off. [source](https://docs.fly.io/sprites/concepts/lifecycle.md)
- Choose the idle timeout: no [source](https://docs.fly.io/sprites/concepts/lifecycle.md)
- Wakes on a request: yes [source](https://docs.fly.io/sprites/concepts/lifecycle.md)
- Scheduled runs: no [source](https://docs.fly.io/sprites/concepts/lifecycle.md)
- Public link to a port: yes (public or org-only) [source](https://docs.fly.io/sprites/concepts/networking)
- Private link: yes (Org token) [source](https://docs.fly.io/sprites/concepts/networking)
- Real SSH: partly (Install a server). You must install an SSH server inside the machine and reach it through the provider's proxy. [source](https://docs.fly.io/sprites/working-with-sprites.md)
- Terminal in the browser: not-published [source](https://docs.fly.io/sprites/quickstart.md)
- Tunnel to your computer: yes (sprite proxy) [source](https://docs.fly.io/sprites/concepts/networking)
- Non-web ports: partly (Through your computer). You can map a database port onto your own computer, but there is no public address for non-web traffic. [source](https://docs.fly.io/sprites/concepts/networking)
- Your own domain: not-published [source](https://docs.fly.io/sprites/concepts/networking)
- Automatic HTTPS: not-published [source](https://docs.fly.io/sprites/concepts/networking)
- Outbound data included: yes (Not metered) [source](https://fly.io/sprites/)
- Allow only some sites: yes (Domain list) [source](https://docs.fly.io/sprites/concepts/networking)
- Turn the internet off: partly (Deny every domain). You can deny every domain by policy, but the machine keeps its network and the rule works by refusing name lookups. [source](https://docs.fly.io/sprites/concepts/networking)
- Fixed outgoing IP: not-published [source](https://docs.fly.io/sprites/concepts/networking)
- Stored secrets: not-published [source](https://docs.fly.io/sprites/concepts/connectors)
- Secrets the agent cannot read: partly (Catalogue only). Only the services in its catalogue are covered; any other key has to go into the machine. [source](https://docs.fly.io/sprites/concepts/connectors)
- Limited API keys: not-published [source](https://docs.fly.io/sprites/cli/authentication.md)
- Create from the website: no [source](https://docs.fly.io/sprites/cli/commands.md)
- Command-line tool: yes [source](https://docs.fly.io/sprites/cli/commands.md)
- Python SDK: no [source](https://docs.fly.io/sprites/quickstart.md)
- TypeScript SDK: yes [source](https://docs.fly.io/sprites/quickstart.md)
- Documented HTTP API: yes [source](https://fly.io/sprites/)
- MCP server: no [source](https://fly.io/sprites/)
- Interactive terminal over the API: yes [source](https://docs.fly.io/sprites/cli/commands.md)
- Files over the API: yes [source](https://docs.fly.io/sprites/cli/commands.md)
- Coding agents preinstalled: no. Sprites provide plugins and integrations for agents, but no agent is in the image. [source](https://fly.io/sprites/)
- Send it a prompt: no. Sprites host an agent you install; there is no prompt endpoint. [source](https://fly.io/sprites/)
- One-click Hermes: no. Hermes is named on the marketing page, but there is no template or guided route. [source](https://fly.io/sprites/)
- One-click OpenClaw: no. OpenClaw is named on the marketing page, but there is no template or guided route. [source](https://fly.io/sprites/)
- Browser built in: no. No browser is installed or offered; a browser is something you run and reach through a proxy. [source](https://docs.fly.io/sprites/cli/commands.md)
- Desktop for computer use: no. No desktop is documented; interactive access is a terminal console. [source](https://docs.fly.io/sprites/cli/commands.md)
- Runs other platforms' agents: no. Its ecosystem lists coding tools, not another platform's cloud agents. [source](https://fly.io/sprites/)
- Team workspace: yes [source](https://docs.fly.io/sprites/cli/authentication.md)
- Roles and permissions: yes [source](https://docs.fly.io/sprites/cli/authentication.md)
- Single sign-on: not-published [source](https://docs.fly.io/sprites/cli/authentication.md)
- Hard spending cap: not-published [source](https://fly.io/sprites/)
- Usage alerts: not-published [source](https://fly.io/sprites/)
- Audit log: no. Fly states plainly that there is no customer-facing audit log of organisation activity or staff access. [source](https://fly.io/legal/security-questionnaire/)
- Billed per second: yes (per second) [source](https://fly.io/pricing/)
- CPU billed only while working: yes (actual CPU) [source](https://fly.io/pricing/)
- Paused costs only storage: yes (compute stops) [source](https://fly.io/sprites/)
- No monthly fee: yes (none) [source](https://fly.io/pricing/)
- Flat monthly price: no (actual use). The bill follows the processor and memory actually used, so it varies with the work. [source](https://fly.io/pricing/)
- Ongoing free tier: no (one-off $30). Free usage is a one-time $30 credit, not a monthly allowance. [source](https://fly.io/sprites/)
- Free starting credit: yes ($30) [source](https://fly.io/sprites/)
- Try without a card: not-published [source](https://fly.io/sprites/)
- Public status page: yes [source](https://fly.io/sprites/)
- Uptime promise (SLA): partly. Fly's 99.9% promise is for Enterprise plans and credits must be claimed; Sprites coverage is not named. [source](https://fly.io/legal/sla-uptime/)
- SOC 2 report: partly. Fly's SOC 2 report describes the platform and does not name Sprites. [source](https://fly.io/legal/security-questionnaire/)
- Data processing agreement: yes [source](https://fly.io/legal/security-questionnaire/)
- Open source or self-hostable: no. Sprites is a hosted Fly product; no self-hosted edition is published. [source](https://docs.fly.io/sprites/cli/authentication.md)

## Usability

- Dashboard: A dashboard exists for connector setup and a Gateway Playground that can fire a request without code.
- Without code: Limited. The documented start path installs a CLI and opens a console; the no-code surface is connector testing, not running an agent.
- Signup: Uses a Fly.io account. Card requirement, waitlist and trial duration are not published.
- Docs: Fly documentation covers lifecycle, checkpoints, networking and connectors. Support is community on lower plans and varies by plan.
- Trips people up: Warm and cold are different states, and the transition is not user-selected.
- Trips people up: Open TCP connections do not survive a pause, warm or cold.
- Trips people up: Checkpoints are filesystem snapshots, not memory snapshots.
- Trips people up: Cold storage bills while the Sprite is kept.

## Company

- Legal entity: Fly.io, Inc., a Delaware corporation. Sprites is a product on Fly's platform, not a separate company. [source](https://fly.io/legal/security-questionnaire/)
- Leadership: Scott Johnston is CEO; founder Kurt Mackey moved to an advisory role and remains on the board. [source](https://fly.io/news/fly-io-launches-computers-for-agents/)
- History and funding: Fly has run the platform since 2017 and launched Sprites on 9 January 2026. A $25M Series D in July 2026, co-led by Dell Technologies Capital and Intel Capital. [source](https://fly.io/news/fly-io-launches-computers-for-agents/)
- Status and SLA: Sprites is a component on Fly's status page with no numeric uptime figure. Fly's 99.9% SLA is Enterprise-only and credits must be claimed. [source](https://fly.io/legal/sla-uptime/)
- Certification: SOC 2 Type 2 covers the Fly platform and does not name Sprites; the report and BAA sit behind a $99-a-month compliance package. [source](https://fly.io/legal/security-questionnaire/)
- Headcount: Not published. Fly lists team members but no headcount figure.

## Caveats

- **The pricing page and product FAQ disagree on plans** (contradiction): Pricing says there are no plans and nothing charged per Sprite; the FAQ describes plans including Hero at $100 a month with CPU, RAM and storage allowances.
- **Warm-to-cold timing is not published** (open): The idle window before warm suspension is about 30 seconds; how long before a Sprite drops to cold is not stated.
- **Storage charges while idle are ambiguous** (contradiction): The FAQ says warm and cold are not billed, while the pricing page bills cold storage for as long as data is kept.
- **No fork or create-from-checkpoint is documented** (open): Checkpoints restore in place and overwrite current files; a live fork or clone is not established.
- **Region selection and architecture are unpublished** (open): No provider-confirmed region list, GPU option or CPU architecture statement was found.

## Sources

- [Overview](https://docs.fly.io/sprites/index)
- [Lifecycle](https://docs.fly.io/sprites/concepts/lifecycle)
- [Checkpoints](https://docs.fly.io/sprites/concepts/checkpoints)
- [Networking](https://docs.fly.io/sprites/concepts/networking)
- [Connectors](https://docs.fly.io/sprites/concepts/connectors)
- [Pricing](https://fly.io/pricing/)
