# Celesto (formerly SmolVM) vs Sprites (slim)

> Celesto scores 68 (B) to Sprites's 65.5 (B) for code sandboxes. Prices, MCP, x402, uptime and agent notes side by side.

- Full: https://www.anchorterminal.com/compare/celesto-vs-sprites.md (~4,950 tokens) · this version ~2,380 tokens · JSON https://www.anchorterminal.com/compare/celesto-vs-sprites.json · canonical https://www.anchorterminal.com/compare/celesto-vs-sprites
- Index: https://www.anchorterminal.com/llms.txt · API: https://www.anchorterminal.com/api/v1/index.json · MCP: https://www.anchorterminal.com/mcp · Updated: 2026-11-07
- Licence: CC BY 4.0, credit Anchor Terminal and link this page (https://www.anchorterminal.com/terms/#data)

Celesto (formerly SmolVM) scores 68 (B) on agent readiness against Sprites's 65.5 (B), and leads in 5 of 7 scored categories. Sprites leads on reliability and security & auth. Both do code sandboxes.

- Celesto (formerly SmolVM): B 68, rank #298 of 1486 · https://www.anchorterminal.com/tools/celesto.min.md
- Sprites: B 65.5, rank #419 of 1486 · https://www.anchorterminal.com/tools/sprites.min.md
- Celesto (formerly SmolVM), good for Local microVM sandboxes for agent code, browsers and desktops on Linux and macOS, with a path to a hosted cloud. Ahead on Schema & documentation, 85 against 74; Payments & pricing, 60 against 40. Also No key needed to call it; Free to start without a card; Open source.
- Sprites, good for Agents that need a long-lived machine with installed tools and files kept between sessions, and rollback by checkpoint. Ahead on Reliability, 80 against 66; Security & auth, 61 against 52.

| Category | Celesto (formerly SmolVM) | Sprites |
| --- | --- | --- |
| Reliability (16%) | 66 | 80 |
| Performance (10%) | pending | pending |
| Schema & documentation (13%) | 85 | 74 |
| Agent ergonomics (13%) | 69 | 68 |
| Security & auth (14%) | 52 | 61 |
| Payments & pricing (10%) | 60 | 40 |
| Task success (10%) | pending | pending |
| Maintenance & community (7%) | 81 | 80 |
| Transparency & trust (7%) | 70 | 66 |

| Fact (where they differ) | Celesto (formerly SmolVM) | Sprites |
| --- | --- | --- |
| Kind | SDK + MCP | HTTP API |
| Vendor | Celesto AI, Inc. | Fly.io |
| Transports |  | HTTP |
| Auth | None | API key |
| Pricing | Freemium | Pay per use |
| Licence | Apache-2.0 | Proprietary service under the Fly.io Terms of Service. The JavaScript, Go, Python and Elixir SDKs are MIT |
| Read-only variant documented | no | yes |
| Last release | 2026-11-05 | 2026-10-20 |
| Terms last updated | 2026-10-30 | 2026-04-29 |
| Privacy policy last updated | 2026-10-30 | 2026-09-24 |
| Popularity | 1.1k stars, 699 PyPI/wk | 158k npm/wk, 59k PyPI/wk |

Why the edge:
- Payments & pricing, Celesto (formerly SmolVM) +20: Celesto (formerly SmolVM) 60 (Read with the self-hosted rule, scoring the hosted option for the price lines. No x402, MPP or L402 (0 of 40). Celesto Cloud publishes hourly prices for six sizes without a login (20). A one-time $5 Micro credit needs no card, and the local SDK is free (20). The graded local SDK installs from PyPI and runs with no account, so an agent needs no signup (20). Cloud use needs a browser signup and a card top-up. Total 60.); Sprites 40 (No x402, MPP or L402 (0). Unit prices are public without a login, $0.0385 a CPU-hour, $0.021875 a GB-hour of memory, $0.000683 a GB-hour of hot storage and $0.000027 a GB-hour of cold storage (20). The product page and the pricing page now say every new user gets a $1 free trial with no credit card, invoices under $5 are waived, and new organisations get a $30 trial credit (20; was 10). A person signs up with a Fly.io account in a browser and creates the token (0). 0 + 20 + 20 + 0 = 40.)
- Reliability, Sprites +14: Celesto (formerly SmolVM) 66 (Read with the local-software lines, because the graded surface runs on the owner's machine. Installs from PyPI as `celesto` with Python 3.11 or newer on Linux and macOS stated, plus an install script (20). The repository has pytest, e2e, lint, TypeScript and smoke-test workflows and 38 test packages, but GitHub's API answered with a rate limit, so no run result was read (15 of 25, unchecked). 22 open issues and pull requests against about 188 commits in 90 days. The open bugs include a snapshot restore that can lose a VM's disk if interrupted and a thread-safety issue with five replies (18 of 25). A dated changelog with Security, Fixed, Added and Removed sections, and the rename to Celesto marked as a breaking release, though versions stay below 1.0 (13 of 15). Pre-1.0 per SECURITY.md (0). Total 66.); Sprites 80 (Hosted lines. status.flyio.net runs on incident.io with history and a Sprites component (20). Five Sprites incidents since 6 August, each partial in its own text, so minor under this run's reading. Deletion jobs failed for 47 minutes on 30 August, "a subset of Sprites users" had API errors for 1 hour 38 minutes on 2 September, intermittent API failures starting near SJC ran 7 hours 28 minutes on 23 September, creates failed in regions outside Europe for 28 minutes on 8 October, and "some or all" Sprite URLs on sprites.app were unavailable for about 75 minutes on 11 October after a certificate error (20; was 5, which isn't a checklist value). The product page gives creation limits of 10 a minute on pay-as-you-go and 60 to 240 on plans, and 100 running Sprites on the Hero plan. No general request limits were found in the docs (10). The docs and the OpenAPI document list no 429 response and no idempotency keys; the Go SDK reads `Retry-After` and `X-RateLimit` headers on a 429 and names a `sprite_creation_rate_limited` code, so Retry-After handling alone (10; was 7). Fly.io's published Service Level Agreement applies to the Services for customers on an Enterprise plan, with 99.9 per cent monthly availability and service credits of 10 to 30 per cent, and excludes no product, so it is read as covering Sprites (10; was 5, which isn't a checklist value). No beta or preview label was found on Sprites, so the surface is read as generally available, though the API document is version 0.1.12 and the SDKs are 0.x (10; was 8, which isn't a checklist value). 20 + 20 + 10 + 10 + 10 + 10 = 80.)
- Schema & documentation, Celesto (formerly SmolVM) +11: Celesto (formerly SmolVM) 85 (Read as an SDK and CLI. The repository ships an OpenAPI document for the local server (24 operations) and the cloud API (171 operations), from which the TypeScript client is generated (25). llms.txt at celesto.ai, plus Markdown docs in the repository (10). The README's runtime table says when to use each runtime, and the automation section says to prefer `exec` and keep `shell`, `ssh` and `desktop` for interactive work (14 of 20). Network modes are closed values (`open`, `off`, `public`, `restricted`) and the SDK takes typed keyword arguments, though `internet_settings` is a plain dict (11 of 15). Examples directory, a JSON envelope for every command and documented cloud error fields such as `required_scope`, without a full error catalogue (12 of 15). Dated changelog and tags, pre-1.0 (13 of 15). Total 85.); Sprites 74 (A public OpenAPI 3.1 document with 44 operations and 59 schemas, plus an AsyncAPI file for the WebSocket calls (25). llms.txt and a Markdown copy of every docs page (10). Concept pages say when to use Services, Tasks and checkpoints and when not to, while operation descriptions are one line each (15). Request bodies have required fields and examples, but the document has 6 enums and no schema for error bodies (10). 116 examples in the OpenAPI document. Error responses are a status code and a short phrase, and the product page's create and exec examples disagree with the OpenAPI document (8). Paths are versioned under `/v1`. No API changelog was found, and only the Python SDK keeps a changelog file (6).)
- Security & auth, Sprites +9: Celesto (formerly SmolVM) 52 (Framework reading for local software. No credential is needed for local use, and the local API server and dashboard each require a bearer token, and cloud keys carry named permissions (22 of 30). Each computer has its own guest kernel, browser and display access uses capability URLs with a read-only option, and raw VNC is off. Against that, outbound networking is open by default and the restricting modes are opt-in (12 of 20). The security doc warns against giving connection URLs to a model as page content, but there is no guidance on treating command or page output as untrusted (5 of 15). `computer logs` shows startup output, with no audit log of commands (5 of 15). SECURITY.md with GitHub private vulnerability reporting and a supported-versions table, Security sections in the changelog, no security.txt, bug bounty or certification (8 of 20). Total 52.); Sprites 61 (Bearer tokens are created and removed at sprites.dev/account per organisation, with no scopes found. The MCP connector uses OAuth, and its default token can only create a capped number of Sprites under a name prefix (22). Sprite URLs are private by default, Connectors deny by default and can limit provider paths, and a privileges policy can drop capabilities. The network allowlist is opt-in, so egress is open by default (15). Connectors keep provider credentials out of the Sprite and the MCP page describes what its tools can destroy. No prompt-injection guidance was found (9). No audit log of API calls was found in the reviewed documentation (0). fly.io now publishes a security.txt (Contact security@fly.io, Expires 2027-10-22, Policy docs.fly.io/security), and the policy says reports are acknowledged within 3 business days. SOC 2 Type 2 and named third-party penetration testers. No bug bounty, which the policy confirms, and no advisories for the Sprites SDKs in OSV (15; was 13). 22 + 15 + 9 + 0 + 15 = 61.)
