{
  "data": {
    "a": {
      "slug": "celesto",
      "name": "Celesto (formerly SmolVM)",
      "vendor": "Celesto AI, Inc.",
      "vendorUrl": "https://celesto.ai",
      "kind": "sdk",
      "category": "code-sandboxes",
      "summary": "Celesto, formerly SmolVM, is an open-source Python SDK and CLI from Celesto AI that runs disposable Firecracker or QEMU microVMs on the owner's machine for agent code, browsers and desktops, with an optional paid Celesto Cloud.",
      "url": "https://www.anchorterminal.com/tools/celesto",
      "markdownUrl": "https://www.anchorterminal.com/tools/celesto.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/celesto.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/celesto.json",
      "dns": "celesto.grade.anchorterminal.com",
      "repo": "https://github.com/CelestoAI/Celesto",
      "license": "Apache-2.0",
      "transports": [],
      "packages": [
        {
          "registry": "pypi",
          "name": "celesto"
        }
      ],
      "auth": "none",
      "authNotes": "Local use needs no account or key. The local API server and dashboard each require a bearer token, generated at start or read from CELESTO_SERVER_TOKEN and CELESTO_DASHBOARD_TOKEN. Celesto Cloud uses an organisation-bound CELESTO_API_KEY with named permissions (see, execute, delete) set in the dashboard.",
      "pricing": "freemium",
      "pricingNotes": "The local SDK and CLI are free under Apache-2.0. Celesto Cloud bills sandboxes by the running hour from $0.015 (Micro, 1 vCPU, 2 GB) to $0.16 (XL, 8 vCPU, 32 GB), prepaid from $2.01, with a one-time $5 Micro credit and no card.",
      "priceSummary": "$0.015 / session-hr",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the repository, the docs, llms.txt or the pricing page (checked 2026-11-06). Cloud runtime is prepaid by card under Settings \u003e Billing.",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 1149,
        "npmWeekly": null,
        "pypiWeekly": 699,
        "asOf": "2026-11-06"
      },
      "docsUrl": "https://celesto.ai/docs",
      "llmsTxt": "https://celesto.ai/llms.txt",
      "openapi": "https://github.com/CelestoAI/Celesto/blob/main/ts/celesto-local-server.openapi.json",
      "capabilities": [
        "sandbox.code",
        "sandbox.fs",
        "sandbox.persist",
        "sandbox.browser"
      ],
      "tags": [
        "open-source",
        "local",
        "self-hosted",
        "hosted",
        "freemium",
        "no-card",
        "free-tier",
        "apache-2.0",
        "python",
        "typescript",
        "cli",
        "microvm",
        "firecracker",
        "llms-txt",
        "openapi",
        "telemetry",
        "pre-1.0",
        "renamed"
      ],
      "lastRelease": "2026-11-05",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 68,
        "grade": "B",
        "agentReady": false,
        "rank": 298,
        "ranked": true,
        "rankOf": 1486,
        "categoryRank": 6,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 69,
          "maintenance": 81,
          "payments": 60,
          "reliability": 66,
          "schema": 85,
          "security": 52,
          "transparency": 70
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-06"
        },
        "negative": 0,
        "verdict": "Celesto runs each agent task in a local Firecracker or QEMU microVM with its own kernel, driven by a CLI with a stable JSON envelope and a Python SDK, free under Apache-2.0. It is pre-1.0, renamed from SmolVM on 19 September 2026, sends usage telemetry after a first-use notice, and leaves outbound networking open unless a mode is set.",
        "bestFor": "Local microVM sandboxes for agent code, browsers and desktops on Linux and macOS, with a path to a hosted cloud.",
        "strengths": [
          "Apache-2.0, installs from PyPI with `celesto setup` and `celesto doctor`, and runs local microVMs with no account or key",
          "Every `--json` response has the same `ok`, `command`, `exit_code`, `data` and `error` fields, with recovery commands in errors",
          "Network modes `off`, `public` (proxy that rejects private and metadata addresses) and `restricted` with CIDR or domain allowlists",
          "Dated changelog with Security sections, breaking changes marked, and 22 PyPI releases in the 90 days to 6 November 2026",
          "OpenAPI documents for the local server (24 operations) and the cloud API (171 operations) in the repository, plus llms.txt"
        ],
        "weaknesses": [
          "Version 0.1.13 and declared pre-1.0 in SECURITY.md, with the TypeScript SDK an alpha installed from a GitHub tarball",
          "Outbound network access is open by default, and Linux TAP mode does not block every private network or metadata service",
          "Usage telemetry to PostHog is on after a first-use notice, until switched off",
          "Renamed from SmolVM on 19 September 2026 in a breaking release that removed the `smolvm` command and import path",
          "No security.txt, bug bounty or certification found, and CI results could not be read"
        ],
        "agentNotes": [
          "Pass `--json` to every `celesto` command and branch on `ok` and `exit_code`, not on printed text",
          "Create computers with unique names and delete them by exact name when the job ends, including after failures",
          "Set `internet_settings={\"mode\": \"off\"}` or `restricted` for untrusted code, since the default is open",
          "Set CELESTO_NO_TELEMETRY=1 in unattended runs if usage events must not leave the machine",
          "Never paste browser or display connection URLs into model context; possession of the URL grants control"
        ],
        "metrics": {
          "kind": "local",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 68
          }
        ],
        "editorialScores": {
          "ergonomics": 69,
          "maintenance": 81,
          "payments": 60,
          "reliability": 66,
          "schema": 85,
          "security": 52,
          "transparency": 74
        },
        "provenanceScore": 66,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-06",
            "maintenance": "2026-11-06",
            "payments": "2026-11-06",
            "reliability": "2026-11-06",
            "schema": "2026-11-06",
            "security": "2026-11-06",
            "transparency": "2026-11-06"
          },
          "last": "2026-11-06",
          "oldest": "2026-11-06",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "install": "pip install celesto \u0026\u0026 celesto setup \u0026\u0026 celesto doctor",
        "headless": {
          "create": "celesto computer create --name agent-job --json",
          "delete": "celesto computer delete agent-job --json",
          "exec": "celesto computer exec agent-job --json -- python -m pytest"
        }
      },
      "letme": {
        "capability": "https://letme.dev/sandbox.code",
        "tool": "https://letme.dev/celesto"
      },
      "area": "agent-runtime",
      "unitPrices": [
        {
          "item": "Cloud Micro sandbox (1 vCPU, 2 GB)",
          "unit": "session-hour",
          "usd": 0.015,
          "note": "Billed by the running hour; local use is free"
        },
        {
          "item": "Cloud XL sandbox (8 vCPU, 32 GB)",
          "unit": "session-hour",
          "usd": 0.16,
          "note": "Largest size on the pricing page"
        }
      ],
      "provenance": {
        "legalEntity": "Celesto AI, Inc.",
        "domain": "celesto.ai",
        "domainRegistered": "2025-07-13",
        "endpointOnVendorDomain": null,
        "terms": "https://celesto.ai/legal/terms",
        "privacy": "https://celesto.ai/legal/privacy-policy",
        "statusPage": "",
        "changelog": "https://github.com/CelestoAI/Celesto/blob/main/CHANGELOG.md",
        "securityTxt": "none",
        "checked": "2026-11-06",
        "notes": [
          "The privacy policy, last updated 30 October 2026, names Celesto AI, Inc., a Delaware corporation with a Wilmington mailing address. It has no clause on automated access.",
          "celesto.ai/robots.txt allows all crawlers. docs.celesto.ai carries Content-Signal ai-train=yes, search=yes, ai-input=yes.",
          "RDAP gives celesto.ai a registration date of 13 July 2025.",
          "/.well-known/security.txt returns 404. SECURITY.md asks for private reports through GitHub's vulnerability reporting. No status page is linked from the pricing page."
        ],
        "score": 66
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/celesto.json",
      "live": {
        "slug": "celesto",
        "versions": [
          {
            "registry": "github",
            "name": "CelestoAI/Celesto",
            "version": "v0.1.13",
            "released": "2026-11-05",
            "seenAt": "2026-11-06T23:13:37.416837168Z"
          },
          {
            "registry": "pypi",
            "name": "celesto",
            "version": "0.1.13",
            "released": "2026-11-05",
            "seenAt": "2026-11-06T23:13:37.309276304Z"
          }
        ],
        "githubStars": 1149,
        "pypiWeekly": 699,
        "securityTxt": {
          "url": "https://celesto.ai/.well-known/security.txt",
          "state": "unknown",
          "checkedAt": "2026-11-07T16:01:01.176888246Z"
        },
        "llmsTxt": {
          "url": "https://celesto.ai/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-11-07T15:31:46.784166983Z"
        },
        "pages": [
          {
            "url": "https://raw.githubusercontent.com/CelestoAI/Celesto/main/CHANGELOG.md",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-11-07T14:18:00.719411253Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "8ddae4a6adbd"
          },
          {
            "url": "https://celesto.ai/legal/privacy-policy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-11-07T14:00:50.868104256Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "87ce310b1db6"
          },
          {
            "url": "https://celesto.ai/legal/terms",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-11-07T14:00:53.107282947Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "1dece6f9a42e"
          }
        ],
        "updatedAt": "2026-11-07T16:01:01.176888246Z"
      }
    },
    "answer": "Celesto (formerly SmolVM) scores 68 (B) on agent readiness against Runloop Devboxes's 60.1 (C), and leads in 4 of 7 scored categories. Runloop Devboxes leads on security \u0026 auth.",
    "b": {
      "slug": "runloop",
      "name": "Runloop Devboxes",
      "vendor": "Runloop",
      "vendorUrl": "https://runloop.ai",
      "kind": "http-api",
      "category": "code-sandboxes",
      "summary": "Devboxes, VM sandboxes for coding agents, with blueprints, disk snapshots, suspend and resume, idle policies and a credential gateway. Runloop is winding down its services, with support for existing customers through 13 November 2026.",
      "url": "https://www.anchorterminal.com/tools/runloop",
      "markdownUrl": "https://www.anchorterminal.com/tools/runloop.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/runloop.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/runloop.json",
      "dns": "runloop.grade.anchorterminal.com",
      "repo": "https://github.com/runloopai/api-client-ts",
      "license": "MIT",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://api.runloop.ai",
      "packages": [
        {
          "registry": "pypi",
          "name": "runloop_api_client"
        },
        {
          "registry": "npm",
          "name": "@runloop/api-client"
        }
      ],
      "auth": "api-key",
      "authNotes": "Bearer API key on api.runloop.ai. The SDKs read `RUNLOOP_API_KEY`.",
      "pricing": "usage",
      "pricingNotes": "Billed per second while a devbox is initialising, running, suspending or resuming. $0.108 a CPU-hour ($0.00003 a second), $0.0252 a GB-hour of memory, $0.00034236 a GB-hour of disk and $0.000072 a GB-hour of snapshot storage. Basic is free with 100 GB of storage and usage billing, Pro is $250 a month with 1 TB of storage, suspend and resume and repo connections, Enterprise adds VPC deployment. New accounts get a $50 credit without a card, limited to 3 running devboxes, 5 blueprints and 10 snapshots during the trial (https://runloop.ai/pricing). Suspended devboxes keep paying for storage (https://docs.runloop.ai/docs/devboxes/lifecycle). Runloop is winding down, with support for existing customers through 13 November 2026, and its transition page says Runloop customers can redeem $1,000 in credits plus one month of Hobby (the page doesn't say from whom; checked 2026-11-02, https://docs.runloop.ai/docs/transitions/overview).",
      "priceSummary": "$0.108 / vCPU-hr",
      "where": "hosted",
      "x402": {
        "level": "no",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 34,
        "npmWeekly": 23267,
        "pypiWeekly": 136023,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://docs.runloop.ai",
      "llmsTxt": "https://docs.runloop.ai/llms.txt",
      "openapi": "https://docs.runloop.ai/openapi-specs/stainless-processed-openapi.json",
      "capabilities": [
        "sandbox.code",
        "sandbox.fs",
        "sandbox.persist"
      ],
      "tags": [
        "hosted",
        "openapi",
        "llms-txt",
        "python",
        "typescript",
        "no-card",
        "enterprise"
      ],
      "lastRelease": "2026-10-23",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 60.1,
        "grade": "C",
        "agentReady": false,
        "rank": 666,
        "ranked": true,
        "rankOf": 1486,
        "categoryRank": 12,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 66,
          "maintenance": 83,
          "payments": 50,
          "reliability": 60,
          "schema": 85,
          "security": 60,
          "transparency": 52
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-02"
        },
        "negative": -5,
        "negativeNotes": [
          "2026-10-23. Runloop's OpenAPI file and SDK 3.0.0 (\"remove the agent API and agent mounts\", \"remove stateful shell execution from the exec stack\") dropped the Agents API and named shells, while on 2 November the docs and llms.txt still describe both with no beta label or removal notice. An endpoint removed while still advertised, the minimum, -3 (https://github.com/runloopai/api-client-python/blob/main/CHANGELOG.md; https://docs.runloop.ai/docs/devboxes/agents/using-agents-api; https://docs.runloop.ai/docs/devboxes/named-shells)",
          "2026-11-02. runloop.ai's home page invites new users to \"Get Started for Free\" with $50 in credits, and its FAQ promises volume discounts and commitment-based pricing for enterprise customers, with no mention that Runloop is winding down, while the docs banner and transition page (last modified 12 October 2026) say support for existing customers ends on 13 November 2026. A sales page that presents an ending service as open for new work, standing on one site, the minimum for a misleading listing, -2 (https://runloop.ai/; https://docs.runloop.ai/docs/transitions/overview)"
        ],
        "verdict": "Runloop is winding down, with support for existing customers ending on 13 November 2026, while runloop.ai invites free sign-ups without saying so. Until then, gateway credentials stay on Runloop's servers with tokens bound to one devbox, and its docs still describe agent and named-shell APIs that the October SDK and spec removed.",
        "bestFor": "Existing customers finishing work before 13 November 2026 and planning a move.",
        "strengths": [
          "Agent gateways keep real credentials on Runloop's servers, with gateway tokens bound to one devbox",
          "Network policies that block egress or allow listed hostnames",
          "Public OpenAPI, llms.txt and typed Python and TypeScript SDKs with cursor pagination and 429 backoff",
          "Transition guides map devboxes, blueprints and snapshots to Tensorlake, Modal and Freestyle",
          "$50 of trial credit without a card"
        ],
        "weaknesses": [
          "Runloop is winding down, and support for existing customers ends on 13 November 2026, while runloop.ai still invites free sign-ups with no notice",
          "The docs and llms.txt still describe the Agents API and named shells, which SDK 3.0.0 and the OpenAPI file removed on 23 October 2026",
          "No published rate limits or API error-body reference",
          "Release notes have no entry since 19 August 2026, and neither the wind-down nor the October removals are in them",
          "No security.txt, audit log or retention periods, and the terms carry no date"
        ],
        "agentNotes": [
          "Plan a move before 13 November 2026. Runloop is winding down, and the transition guides at https://docs.runloop.ai/docs/transitions/overview map devboxes to Tensorlake, Modal and Freestyle",
          "Use SDK 3.0.0 and the OpenAPI file as the reference. The docs still show the Agents API and named shells, which 3.0.0 removed",
          "Route outbound API calls through an agent gateway instead of putting keys in the devbox environment",
          "Attach a network policy with `allow_all=False` before running untrusted code. Egress is open by default",
          "Set an idle policy (`idle_time_seconds` with `on_idle: suspend`) so a forgotten devbox stops billing compute"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 3,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "C",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 60.1
          }
        ],
        "editorialScores": {
          "ergonomics": 66,
          "maintenance": 83,
          "payments": 50,
          "reliability": 60,
          "schema": 85,
          "security": 60,
          "transparency": 32
        },
        "provenanceScore": 71,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-02",
            "maintenance": "2026-11-02",
            "payments": "2026-11-02",
            "reliability": "2026-11-02",
            "schema": "2026-11-02",
            "security": "2026-11-02",
            "transparency": "2026-11-02"
          },
          "last": "2026-11-02",
          "lastMoved": "2026-11-02",
          "oldest": "2026-11-02",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "install": "pip install runloop_api_client  # or npm i @runloop/api-client",
        "http": "curl -X POST https://api.runloop.ai/v1/devboxes -H \"Authorization: Bearer $RUNLOOP_API_KEY\" \\\n  -H \"Content-Type: application/json\" -d '{}'"
      },
      "letme": {
        "capability": "https://letme.dev/sandbox.code",
        "tool": "https://letme.dev/runloop"
      },
      "area": "agent-runtime",
      "unitPrices": [
        {
          "item": "CPU",
          "unit": "vcpu-hour",
          "usd": 0.108,
          "note": "Memory extra at $0.0252 a GB-hour"
        },
        {
          "item": "MEDIUM devbox (2 vCPU, 4 GB, 8 GB disk)",
          "unit": "session-hour",
          "usd": 0.3195
        },
        {
          "item": "Pro plan",
          "unit": "month",
          "usd": 250,
          "note": "Usage billed on top, 1 TB storage included"
        }
      ],
      "provenance": {
        "legalEntity": "Runloop AI, Inc.",
        "domain": "runloop.ai",
        "domainRegistered": "",
        "endpointOnVendorDomain": true,
        "terms": "https://runloop.ai/legal/terms-of-service",
        "privacy": "https://runloop.ai/legal/privacy-policy",
        "statusPage": "https://status.runloop.ai",
        "changelog": "https://docs.runloop.ai/docs/overview/release-notes",
        "securityTxt": "none",
        "checked": "2026-09-30",
        "notes": [
          "Terms name Runloop AI, Inc. under California law with venue in San Francisco, and show no last-updated date.",
          "runloop.ai/.well-known/security.txt returns 404.",
          "The .ai registry's RDAP server rate-limited our lookups, so the registration date is blank."
        ],
        "score": 71
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/runloop.json",
      "live": {
        "slug": "runloop",
        "probe": {
          "target": "https://api.runloop.ai",
          "method": "get",
          "lastAt": "2026-11-07T18:20:51.711254008Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 345,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 304,
          "p95ms24h": 403,
          "samples24h": 239,
          "samples30d": 7910,
          "days": [
            {
              "date": "2026-10-07",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-08",
              "probes": 268,
              "ok": 268
            },
            {
              "date": "2026-10-09",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-10-10",
              "probes": 247,
              "ok": 247
            },
            {
              "date": "2026-10-11",
              "probes": 247,
              "ok": 247
            },
            {
              "date": "2026-10-12",
              "probes": 247,
              "ok": 247
            },
            {
              "date": "2026-10-13",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-14",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-15",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-16",
              "probes": 252,
              "ok": 252
            },
            {
              "date": "2026-10-17",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-18",
              "probes": 256,
              "ok": 256
            },
            {
              "date": "2026-10-19",
              "probes": 255,
              "ok": 255
            },
            {
              "date": "2026-10-20",
              "probes": 252,
              "ok": 252
            },
            {
              "date": "2026-10-21",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-22",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-23",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-24",
              "probes": 251,
              "ok": 251
            },
            {
              "date": "2026-10-25",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-10-26",
              "probes": 252,
              "ok": 252
            },
            {
              "date": "2026-10-27",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-28",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-10-29",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-30",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-31",
              "probes": 251,
              "ok": 251
            },
            {
              "date": "2026-11-01",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-11-02",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-11-03",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-11-04",
              "probes": 246,
              "ok": 246
            },
            {
              "date": "2026-11-05",
              "probes": 185,
              "ok": 185
            },
            {
              "date": "2026-11-06",
              "probes": 241,
              "ok": 241
            },
            {
              "date": "2026-11-07",
              "probes": 187,
              "ok": 187
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.runloop.ai",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-11-07T18:21:59.324005975Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "runloopai/api-client-ts",
            "version": "v3.0.0",
            "released": "2026-10-23",
            "seenAt": "2026-11-07T00:02:31.367028112Z"
          },
          {
            "registry": "npm",
            "name": "@runloop/api-client",
            "version": "3.0.0",
            "seenAt": "2026-11-07T00:02:30.44720468Z"
          },
          {
            "registry": "pypi",
            "name": "runloop_api_client",
            "version": "3.0.0",
            "released": "2026-10-23",
            "seenAt": "2026-11-07T00:02:30.227343484Z"
          }
        ],
        "githubStars": 34,
        "npmWeekly": 42614,
        "pypiWeekly": 193127,
        "securityTxt": {
          "url": "https://runloop.ai/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-11-07T16:00:01.782095775Z"
        },
        "llmsTxt": {
          "url": "https://docs.runloop.ai/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-11-07T15:33:51.460068775Z"
        },
        "domain": {
          "domain": "runloop.ai",
          "registered": "2023-11-16",
          "source": "https://rdap.identitydigital.services/rdap/domain/runloop.ai",
          "checkedAt": "2026-11-01T14:21:39.269538581Z"
        },
        "pages": [
          {
            "url": "https://docs.runloop.ai/docs/overview/release-notes",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-11-07T14:07:45.095860518Z",
            "changedAt": "2026-10-27T03:45:16.226304682Z",
            "fingerprint": "1b29df5fbc8d"
          },
          {
            "url": "https://docs.runloop.ai/docs/transitions/overview",
            "kind": "deprecations",
            "status": 200,
            "checkedAt": "2026-11-07T14:07:47.291321446Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "147ae984fc53"
          },
          {
            "url": "https://raw.githubusercontent.com/runloopai/api-client-python/main/CHANGELOG.md",
            "kind": "deprecations",
            "status": 304,
            "checkedAt": "2026-11-07T14:23:21.235983597Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "0de31c86972f"
          },
          {
            "url": "https://runloop.ai/pricing",
            "kind": "pricing",
            "status": 304,
            "checkedAt": "2026-11-07T14:18:53.133355349Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "0d9550987c81"
          },
          {
            "url": "https://runloop.ai/legal/privacy-policy",
            "kind": "privacy",
            "status": 304,
            "checkedAt": "2026-11-07T14:18:49.088063324Z",
            "changedAt": "2026-10-06T16:11:57.464296794Z",
            "fingerprint": "f910a7f6a842"
          },
          {
            "url": "https://runloop.ai/legal/terms-of-service",
            "kind": "terms",
            "status": 304,
            "checkedAt": "2026-11-07T14:18:51.171618201Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "a2e40c03fa5b"
          }
        ],
        "github": {
          "repo": "runloopai/api-client-ts",
          "checkedAt": "2026-11-02T09:22:55.799661797Z",
          "stars": 34,
          "archived": false,
          "issuesEnabled": true,
          "pushedAt": "2026-10-24T21:07:10Z",
          "openIssues": 2,
          "openPRs": 14,
          "issuesOpened90d": 2,
          "issuesClosed90d": 0,
          "prsMerged90d": 17,
          "ci": {
            "branch": "main",
            "runs": 50,
            "success": 30,
            "failure": 0,
            "other": 20,
            "latest": "skipped",
            "latestAt": "2026-10-24T21:06:46Z"
          },
          "replies": {
            "sampled": 2,
            "unanswered": 2
          }
        },
        "updatedAt": "2026-11-07T18:21:59.324005975Z"
      }
    },
    "edges": [
      {
        "by": 18,
        "category": "transparency",
        "leads": "celesto",
        "name": "Transparency \u0026 trust",
        "reasons": {
          "a": "Apache-2.0 in LICENSE and on PyPI (30). The privacy policy of 30 October 2026 links a subprocessor registry and describes the CLI telemetry in the same terms as the docs, but gives no retention periods beyond as long as necessary. Stopped cloud disks are kept 30 days per the pricing page (18 of 30). The changelog marks removals and the breaking rename, and the glossary lists older names still accepted, with no written deprecation policy (10 of 20). Telemetry is disclosed in the README, CLI reference and privacy policy, with three opt-outs, but it is on by default after the notice (16 of 20). Total 74.",
          "b": "SDKs are MIT. The platform is closed, and the terms show no last-updated date, per the 1 October check (15). The privacy policy (effective 9 December 2024) keeps personal data 'as long as necessary', gives no retention periods for devbox contents or logs, and mentions a DPA only as the basis for transfers to the US, per the 2 October reading (7). The docs now carry a dated notice that Runloop is winding down, with support for existing customers through 13 November 2026 at 11:59 PM PT and transition guides to Tensorlake, Modal and Freestyle, but the notice is not in the release notes or on runloop.ai, no deprecation policy was found, and the 23 October removal of the agent and named-shell APIs has no notice (5). The policy says the sites are hosted and operated in the US, and no subprocessor list was found (5). 15+7+5+5 = 32."
        },
        "scores": {
          "a": 70,
          "b": 52
        }
      },
      {
        "by": 10,
        "category": "payments",
        "leads": "celesto",
        "name": "Payments \u0026 pricing",
        "reasons": {
          "a": "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.",
          "b": "No x402, MPP or L402 (0). Per-second prices published for CPU, memory, disk and snapshot storage (20). $50 of trial credit and the trial page still says \"no credit card is required to sign up\" on 2 November, while the service winds down (20). Stripe Projects lists Runloop, so an agent can create the account through the operator's Stripe login, per the 1 October check (10)."
        },
        "scores": {
          "a": 60,
          "b": 50
        }
      },
      {
        "by": 8,
        "category": "security",
        "leads": "runloop",
        "name": "Security \u0026 auth",
        "reasons": {
          "a": "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.",
          "b": "Bearer API key on api.runloop.ai. We found no scopes or rotation guidance (20). Runloop's security page lists microVM isolation (10). Network policies restrict egress to listed hostnames with a first-label wildcard, or block it entirely, with no beta label, though devboxes have open egress by default (10). Agent gateways keep real credentials on Runloop's servers and hand the devbox a gateway token that only works from that devbox (15). No audit log, and no API-key or permissions page in the docs index (0). SOC 2 Type II, with the report on request. No security.txt, disclosure policy or bug bounty found (5)."
        },
        "scores": {
          "a": 52,
          "b": 60
        }
      },
      {
        "by": 6,
        "category": "reliability",
        "leads": "celesto",
        "name": "Reliability",
        "reasons": {
          "a": "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.",
          "b": "Status page at status.runloop.ai, now on incident.io, with component history (20). Its feed (feed.rss) and incident pages hold three incidents in the 90 days from 4 August to 2 November 2026, each marked partial outage and under an hour (a Devbox Lifecycle outage of under a minute on 3 September, Devbox Lifecycle for 29 minutes on 2 October, the Blueprint component for 40 to 44 minutes on 5 October). Minor only (20). The 28 July terminations have left the window. No published rate limits, and the docs index has no rate-limit page (0). The official SDK READMEs document 429 as RateLimitError and retry it five times with exponential backoff, retrying POSTs only on 429 and GETs also on 408, 409 and 5xx. No Retry-After or API-level retry guidance found (10). No SLA found (0). GA (10). Runloop is winding down its services, with support for existing customers through 13 November 2026, and the score reads the service as it runs until then. 20+20+0+10+0+10 = 60."
        },
        "scores": {
          "a": 66,
          "b": 60
        }
      }
    ],
    "facts": [
      {
        "a": "SDK + MCP",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Celesto AI, Inc.",
        "b": "Runloop",
        "name": "Vendor"
      },
      {
        "a": "no (local only)",
        "b": "https://api.runloop.ai",
        "name": "Hosted endpoint"
      },
      {
        "a": "",
        "b": "HTTP",
        "name": "Transports"
      },
      {
        "a": "None",
        "b": "API key",
        "name": "Auth"
      },
      {
        "a": "Freemium",
        "b": "Pay per use",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Apache-2.0",
        "b": "MIT",
        "name": "Licence"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-11-05",
        "b": "2026-10-23",
        "name": "Last release"
      },
      {
        "a": "2026-10-30",
        "b": "no date given",
        "name": "Terms last updated"
      },
      {
        "a": "2026-10-30",
        "b": "no date given",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Customer content may train models"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Terms restrict automated access"
      },
      {
        "a": "not found in the text",
        "b": "yes",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "1.1k stars, 699 PyPI/wk",
        "b": "34 stars, 23k npm/wk, 136k PyPI/wk",
        "name": "Popularity"
      },
      {
        "a": "none",
        "b": "3/5 (2)",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "Celesto (formerly SmolVM) scores 68 (B) on agent readiness against Runloop Devboxes's 60.1 (C), and leads in 4 of 7 scored categories. Runloop Devboxes leads on security \u0026 auth.",
        "question": "Which is better for AI agents, Celesto (formerly SmolVM) or Runloop Devboxes?"
      },
      {
        "answer": "No hosted endpoint is listed for Celesto (formerly SmolVM). Runloop Devboxes has a hosted endpoint at https://api.runloop.ai.",
        "question": "Can an agent call Celesto (formerly SmolVM) and Runloop Devboxes without installing anything?"
      },
      {
        "answer": "Celesto (formerly SmolVM) is open source (Apache-2.0). No open-source release is listed for Runloop Devboxes.",
        "question": "Are Celesto (formerly SmolVM) and Runloop Devboxes open source?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 66 against 60",
          "Payments \u0026 pricing, 60 against 50",
          "Transparency \u0026 trust, 70 against 52"
        ],
        "also": [
          "No key needed to call it",
          "Open source",
          "No incidents deducted, where Runloop Devboxes loses 5 points for them"
        ],
        "goodFor": "Local microVM sandboxes for agent code, browsers and desktops on Linux and macOS, with a path to a hosted cloud.",
        "slug": "celesto",
        "watchFor": "Version 0.1.13 and declared pre-1.0 in SECURITY.md, with the TypeScript SDK an alpha installed from a GitHub tarball"
      },
      {
        "aheadOn": [
          "Security \u0026 auth, 60 against 52"
        ],
        "also": [
          "A hosted endpoint, with nothing to install"
        ],
        "goodFor": "Existing customers finishing work before 13 November 2026 and planning a move.",
        "slug": "runloop",
        "watchFor": "Runloop is winding down, and support for existing customers ends on 13 November 2026, while runloop.ai still invites free sign-ups with no notice"
      }
    ],
    "history": {
      "celesto": null,
      "runloop": [
        {
          "causes": [
            "company",
            "event"
          ],
          "date": "2026-11-02",
          "delta": -4.7,
          "from": 64.8,
          "fromGrade": "B",
          "to": 60.1,
          "toGrade": "C"
        },
        {
          "causes": [
            "method"
          ],
          "date": "2026-10-08",
          "delta": -0.2,
          "from": 65,
          "fromGrade": "B",
          "to": 64.8,
          "toGrade": "B"
        }
      ]
    },
    "job": {
      "capability": "sandbox.code",
      "name": "Code sandboxes"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/agentcore-code-interpreter-vs-celesto.json",
        "title": "Amazon Bedrock AgentCore Code Interpreter vs Celesto (formerly SmolVM)",
        "url": "https://www.anchorterminal.com/compare/agentcore-code-interpreter-vs-celesto"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agentcore-code-interpreter-vs-runloop.json",
        "title": "Amazon Bedrock AgentCore Code Interpreter vs Runloop Devboxes",
        "url": "https://www.anchorterminal.com/compare/agentcore-code-interpreter-vs-runloop"
      },
      {
        "json": "https://www.anchorterminal.com/compare/blaxel-sandboxes-vs-celesto.json",
        "title": "Blaxel Sandboxes vs Celesto (formerly SmolVM)",
        "url": "https://www.anchorterminal.com/compare/blaxel-sandboxes-vs-celesto"
      },
      {
        "json": "https://www.anchorterminal.com/compare/blaxel-sandboxes-vs-runloop.json",
        "title": "Blaxel Sandboxes vs Runloop Devboxes",
        "url": "https://www.anchorterminal.com/compare/blaxel-sandboxes-vs-runloop"
      },
      {
        "json": "https://www.anchorterminal.com/compare/celesto-vs-cloudflare-sandbox-sdk.json",
        "title": "Celesto (formerly SmolVM) vs Cloudflare Sandbox SDK",
        "url": "https://www.anchorterminal.com/compare/celesto-vs-cloudflare-sandbox-sdk"
      },
      {
        "json": "https://www.anchorterminal.com/compare/celesto-vs-daytona.json",
        "title": "Celesto (formerly SmolVM) vs Daytona",
        "url": "https://www.anchorterminal.com/compare/celesto-vs-daytona"
      },
      {
        "json": "https://www.anchorterminal.com/compare/celesto-vs-deltabox-lite.json",
        "title": "Celesto (formerly SmolVM) vs DeltaBox Lite",
        "url": "https://www.anchorterminal.com/compare/celesto-vs-deltabox-lite"
      },
      {
        "json": "https://www.anchorterminal.com/compare/celesto-vs-deno-sandbox.json",
        "title": "Celesto (formerly SmolVM) vs Deno Sandbox",
        "url": "https://www.anchorterminal.com/compare/celesto-vs-deno-sandbox"
      },
      {
        "json": "https://www.anchorterminal.com/compare/celesto-vs-e2b.json",
        "title": "Celesto (formerly SmolVM) vs E2B",
        "url": "https://www.anchorterminal.com/compare/celesto-vs-e2b"
      },
      {
        "json": "https://www.anchorterminal.com/compare/celesto-vs-freestyle.json",
        "title": "Celesto (formerly SmolVM) vs Freestyle",
        "url": "https://www.anchorterminal.com/compare/celesto-vs-freestyle"
      },
      {
        "json": "https://www.anchorterminal.com/compare/celesto-vs-instavm.json",
        "title": "Celesto (formerly SmolVM) vs InstaVM",
        "url": "https://www.anchorterminal.com/compare/celesto-vs-instavm"
      },
      {
        "json": "https://www.anchorterminal.com/compare/celesto-vs-maritime.json",
        "title": "Celesto (formerly SmolVM) vs Maritime",
        "url": "https://www.anchorterminal.com/compare/celesto-vs-maritime"
      },
      {
        "json": "https://www.anchorterminal.com/compare/celesto-vs-microsoft-execution-containers.json",
        "title": "Celesto (formerly SmolVM) vs Microsoft Execution Containers",
        "url": "https://www.anchorterminal.com/compare/celesto-vs-microsoft-execution-containers"
      },
      {
        "json": "https://www.anchorterminal.com/compare/celesto-vs-modal-sandboxes.json",
        "title": "Celesto (formerly SmolVM) vs Modal Sandboxes",
        "url": "https://www.anchorterminal.com/compare/celesto-vs-modal-sandboxes"
      },
      {
        "json": "https://www.anchorterminal.com/compare/celesto-vs-morph-cloud.json",
        "title": "Celesto (formerly SmolVM) vs Morph Cloud",
        "url": "https://www.anchorterminal.com/compare/celesto-vs-morph-cloud"
      },
      {
        "json": "https://www.anchorterminal.com/compare/celesto-vs-offscreen.json",
        "title": "Celesto (formerly SmolVM) vs Offscreen",
        "url": "https://www.anchorterminal.com/compare/celesto-vs-offscreen"
      },
      {
        "json": "https://www.anchorterminal.com/compare/celesto-vs-perplexity-space.json",
        "title": "Celesto (formerly SmolVM) vs SPACE",
        "url": "https://www.anchorterminal.com/compare/celesto-vs-perplexity-space"
      },
      {
        "json": "https://www.anchorterminal.com/compare/celesto-vs-sandbox0.json",
        "title": "Celesto (formerly SmolVM) vs Sandbox0",
        "url": "https://www.anchorterminal.com/compare/celesto-vs-sandbox0"
      },
      {
        "json": "https://www.anchorterminal.com/compare/celesto-vs-sprites.json",
        "title": "Celesto (formerly SmolVM) vs Sprites",
        "url": "https://www.anchorterminal.com/compare/celesto-vs-sprites"
      },
      {
        "json": "https://www.anchorterminal.com/compare/celesto-vs-together-code-sandbox.json",
        "title": "Celesto (formerly SmolVM) vs Together Code Sandbox",
        "url": "https://www.anchorterminal.com/compare/celesto-vs-together-code-sandbox"
      },
      {
        "json": "https://www.anchorterminal.com/compare/celesto-vs-vercel-sandbox.json",
        "title": "Celesto (formerly SmolVM) vs Vercel Sandbox",
        "url": "https://www.anchorterminal.com/compare/celesto-vs-vercel-sandbox"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cloudflare-sandbox-sdk-vs-runloop.json",
        "title": "Cloudflare Sandbox SDK vs Runloop Devboxes",
        "url": "https://www.anchorterminal.com/compare/cloudflare-sandbox-sdk-vs-runloop"
      },
      {
        "json": "https://www.anchorterminal.com/compare/daytona-vs-runloop.json",
        "title": "Daytona vs Runloop Devboxes",
        "url": "https://www.anchorterminal.com/compare/daytona-vs-runloop"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deno-sandbox-vs-runloop.json",
        "title": "Deno Sandbox vs Runloop Devboxes",
        "url": "https://www.anchorterminal.com/compare/deno-sandbox-vs-runloop"
      },
      {
        "json": "https://www.anchorterminal.com/compare/e2b-vs-runloop.json",
        "title": "E2B vs Runloop Devboxes",
        "url": "https://www.anchorterminal.com/compare/e2b-vs-runloop"
      },
      {
        "json": "https://www.anchorterminal.com/compare/freestyle-vs-runloop.json",
        "title": "Freestyle vs Runloop Devboxes",
        "url": "https://www.anchorterminal.com/compare/freestyle-vs-runloop"
      },
      {
        "json": "https://www.anchorterminal.com/compare/instavm-vs-runloop.json",
        "title": "InstaVM vs Runloop Devboxes",
        "url": "https://www.anchorterminal.com/compare/instavm-vs-runloop"
      },
      {
        "json": "https://www.anchorterminal.com/compare/maritime-vs-runloop.json",
        "title": "Maritime vs Runloop Devboxes",
        "url": "https://www.anchorterminal.com/compare/maritime-vs-runloop"
      },
      {
        "json": "https://www.anchorterminal.com/compare/microsoft-execution-containers-vs-runloop.json",
        "title": "Microsoft Execution Containers vs Runloop Devboxes",
        "url": "https://www.anchorterminal.com/compare/microsoft-execution-containers-vs-runloop"
      },
      {
        "json": "https://www.anchorterminal.com/compare/modal-sandboxes-vs-runloop.json",
        "title": "Modal Sandboxes vs Runloop Devboxes",
        "url": "https://www.anchorterminal.com/compare/modal-sandboxes-vs-runloop"
      },
      {
        "json": "https://www.anchorterminal.com/compare/morph-cloud-vs-runloop.json",
        "title": "Morph Cloud vs Runloop Devboxes",
        "url": "https://www.anchorterminal.com/compare/morph-cloud-vs-runloop"
      },
      {
        "json": "https://www.anchorterminal.com/compare/offscreen-vs-runloop.json",
        "title": "Offscreen vs Runloop Devboxes",
        "url": "https://www.anchorterminal.com/compare/offscreen-vs-runloop"
      },
      {
        "json": "https://www.anchorterminal.com/compare/perplexity-space-vs-runloop.json",
        "title": "SPACE vs Runloop Devboxes",
        "url": "https://www.anchorterminal.com/compare/perplexity-space-vs-runloop"
      },
      {
        "json": "https://www.anchorterminal.com/compare/runloop-vs-sandbox0.json",
        "title": "Runloop Devboxes vs Sandbox0",
        "url": "https://www.anchorterminal.com/compare/runloop-vs-sandbox0"
      },
      {
        "json": "https://www.anchorterminal.com/compare/runloop-vs-sprites.json",
        "title": "Runloop Devboxes vs Sprites",
        "url": "https://www.anchorterminal.com/compare/runloop-vs-sprites"
      },
      {
        "json": "https://www.anchorterminal.com/compare/runloop-vs-together-code-sandbox.json",
        "title": "Runloop Devboxes vs Together Code Sandbox",
        "url": "https://www.anchorterminal.com/compare/runloop-vs-together-code-sandbox"
      },
      {
        "json": "https://www.anchorterminal.com/compare/runloop-vs-vercel-sandbox.json",
        "title": "Runloop Devboxes vs Vercel Sandbox",
        "url": "https://www.anchorterminal.com/compare/runloop-vs-vercel-sandbox"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agent37-vs-celesto.json",
        "title": "Agent 37 Cloud vs Celesto (formerly SmolVM)",
        "url": "https://www.anchorterminal.com/compare/agent37-vs-celesto"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agent37-vs-runloop.json",
        "title": "Agent 37 Cloud vs Runloop Devboxes",
        "url": "https://www.anchorterminal.com/compare/agent37-vs-runloop"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deltabox-lite-vs-runloop.json",
        "title": "DeltaBox Lite vs Runloop Devboxes",
        "url": "https://www.anchorterminal.com/compare/deltabox-lite-vs-runloop"
      }
    ],
    "panel": null,
    "scores": [
      {
        "by": 6,
        "celesto": 66,
        "edge": "celesto",
        "key": "reliability",
        "name": "Reliability",
        "runloop": 60,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 0,
        "celesto": 85,
        "edge": "",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "runloop": 85,
        "weight": 13
      },
      {
        "by": 3,
        "celesto": 69,
        "edge": "celesto",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "runloop": 66,
        "weight": 13
      },
      {
        "by": 8,
        "celesto": 52,
        "edge": "runloop",
        "key": "security",
        "name": "Security \u0026 auth",
        "runloop": 60,
        "weight": 14
      },
      {
        "by": 10,
        "celesto": 60,
        "edge": "celesto",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "runloop": 50,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 2,
        "celesto": 81,
        "edge": "runloop",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "runloop": 83,
        "weight": 7
      },
      {
        "by": 18,
        "celesto": 70,
        "edge": "celesto",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "runloop": 52,
        "weight": 7
      }
    ],
    "summary": "Celesto (formerly SmolVM) scores 68 (B) on agent readiness against Runloop Devboxes's 60.1 (C), and leads in 4 of 7 scored categories. Runloop Devboxes leads on security \u0026 auth. Both do code sandboxes.",
    "tasks": null,
    "tutorials": [],
    "verdicts": {
      "celesto": "Celesto runs each agent task in a local Firecracker or QEMU microVM with its own kernel, driven by a CLI with a stable JSON envelope and a Python SDK, free under Apache-2.0. It is pre-1.0, renamed from SmolVM on 19 September 2026, sends usage telemetry after a first-use notice, and leaves outbound networking open unless a mode is set.",
      "runloop": "Runloop is winding down, with support for existing customers ending on 13 November 2026, while runloop.ai invites free sign-ups without saying so. Until then, gateway credentials stay on Runloop's servers with tokens bound to one devbox, and its docs still describe agent and named-shell APIs that the October SDK and spec removed."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/celesto-vs-runloop",
    "json": "https://www.anchorterminal.com/compare/celesto-vs-runloop.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/celesto-vs-runloop.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/celesto-vs-runloop.min.md"
  },
  "markdown": "Celesto (formerly SmolVM) scores 68 (B) on agent readiness against Runloop Devboxes's 60.1 (C), and leads in 4 of 7 scored categories. Runloop Devboxes leads on security \u0026 auth. Both do code sandboxes.\n\n- Celesto (formerly SmolVM): grade B, 68/100, rank #298 of 1486. Markdown https://www.anchorterminal.com/tools/celesto.md · JSON https://www.anchorterminal.com/api/v1/tools/celesto.json\n- Runloop Devboxes: grade C, 60.1/100, rank #666 of 1486. Markdown https://www.anchorterminal.com/tools/runloop.md · JSON https://www.anchorterminal.com/api/v1/tools/runloop.json\n- Best code execution sandboxes for AI agents: https://www.anchorterminal.com/best/code-sandboxes/index.md\n- All 231 sandboxes comparisons: https://www.anchorterminal.com/compare/code-sandboxes/index.md\n\n## Which one, for what\n\n### Celesto (formerly SmolVM) (B)\n\nGood for: Local microVM sandboxes for agent code, browsers and desktops on Linux and macOS, with a path to a hosted cloud.\n\nAhead on:\n- Reliability, 66 against 60\n- Payments \u0026 pricing, 60 against 50\n- Transparency \u0026 trust, 70 against 52\n\nAlso in its favour:\n- No key needed to call it\n- Open source\n- No incidents deducted, where Runloop Devboxes loses 5 points for them\n\nWatch for: Version 0.1.13 and declared pre-1.0 in SECURITY.md, with the TypeScript SDK an alpha installed from a GitHub tarball\n\n### Runloop Devboxes (C)\n\nGood for: Existing customers finishing work before 13 November 2026 and planning a move.\n\nAhead on:\n- Security \u0026 auth, 60 against 52\n\nAlso in its favour:\n- A hosted endpoint, with nothing to install\n\nWatch for: Runloop is winding down, and support for existing customers ends on 13 November 2026, while runloop.ai still invites free sign-ups with no notice\n\n\n## Why the edge\n\n### Transparency \u0026 trust: Celesto (formerly SmolVM) +18\n\n- Celesto (formerly SmolVM) (70): Apache-2.0 in LICENSE and on PyPI (30). The privacy policy of 30 October 2026 links a subprocessor registry and describes the CLI telemetry in the same terms as the docs, but gives no retention periods beyond as long as necessary. Stopped cloud disks are kept 30 days per the pricing page (18 of 30). The changelog marks removals and the breaking rename, and the glossary lists older names still accepted, with no written deprecation policy (10 of 20). Telemetry is disclosed in the README, CLI reference and privacy policy, with three opt-outs, but it is on by default after the notice (16 of 20). Total 74.\n- Runloop Devboxes (52): SDKs are MIT. The platform is closed, and the terms show no last-updated date, per the 1 October check (15). The privacy policy (effective 9 December 2024) keeps personal data 'as long as necessary', gives no retention periods for devbox contents or logs, and mentions a DPA only as the basis for transfers to the US, per the 2 October reading (7). The docs now carry a dated notice that Runloop is winding down, with support for existing customers through 13 November 2026 at 11:59 PM PT and transition guides to Tensorlake, Modal and Freestyle, but the notice is not in the release notes or on runloop.ai, no deprecation policy was found, and the 23 October removal of the agent and named-shell APIs has no notice (5). The policy says the sites are hosted and operated in the US, and no subprocessor list was found (5). 15+7+5+5 = 32.\n\n### Payments \u0026 pricing: Celesto (formerly SmolVM) +10\n\n- 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.\n- Runloop Devboxes (50): No x402, MPP or L402 (0). Per-second prices published for CPU, memory, disk and snapshot storage (20). $50 of trial credit and the trial page still says \"no credit card is required to sign up\" on 2 November, while the service winds down (20). Stripe Projects lists Runloop, so an agent can create the account through the operator's Stripe login, per the 1 October check (10).\n\n### Security \u0026 auth: Runloop Devboxes +8\n\n- 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.\n- Runloop Devboxes (60): Bearer API key on api.runloop.ai. We found no scopes or rotation guidance (20). Runloop's security page lists microVM isolation (10). Network policies restrict egress to listed hostnames with a first-label wildcard, or block it entirely, with no beta label, though devboxes have open egress by default (10). Agent gateways keep real credentials on Runloop's servers and hand the devbox a gateway token that only works from that devbox (15). No audit log, and no API-key or permissions page in the docs index (0). SOC 2 Type II, with the report on request. No security.txt, disclosure policy or bug bounty found (5).\n\n### Reliability: Celesto (formerly SmolVM) +6\n\n- 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.\n- Runloop Devboxes (60): Status page at status.runloop.ai, now on incident.io, with component history (20). Its feed (feed.rss) and incident pages hold three incidents in the 90 days from 4 August to 2 November 2026, each marked partial outage and under an hour (a Devbox Lifecycle outage of under a minute on 3 September, Devbox Lifecycle for 29 minutes on 2 October, the Blueprint component for 40 to 44 minutes on 5 October). Minor only (20). The 28 July terminations have left the window. No published rate limits, and the docs index has no rate-limit page (0). The official SDK READMEs document 429 as RateLimitError and retry it five times with exponential backoff, retrying POSTs only on 429 and GETs also on 408, 409 and 5xx. No Retry-After or API-level retry guidance found (10). No SLA found (0). GA (10). Runloop is winding down its services, with support for existing customers through 13 November 2026, and the score reads the service as it runs until then. 20+20+0+10+0+10 = 60.\n\n## Score by category\n\n| Category | Weight | Celesto (formerly SmolVM) | Runloop Devboxes | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 66 | 60 | Celesto (formerly SmolVM) +6 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 85 | 85 | even |\n| Agent ergonomics | 13% (16.2 this run) | 69 | 66 | Celesto (formerly SmolVM) +3 |\n| Security \u0026 auth | 14% (17.5 this run) | 52 | 60 | Runloop Devboxes +8 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 60 | 50 | Celesto (formerly SmolVM) +10 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 81 | 83 | Runloop Devboxes +2 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 70 | 52 | Celesto (formerly SmolVM) +18 |\n| Negative events | ≤15 | 0 | -5 | |\n| **Total** | | **68 · B** | **60.1 · C** | |\n\n## Facts side by side\n\n| Fact | Celesto (formerly SmolVM) | Runloop Devboxes |\n| --- | --- | --- |\n| Kind | SDK + MCP | HTTP API |\n| Vendor | Celesto AI, Inc. | Runloop |\n| Hosted endpoint | no (local only) | `https://api.runloop.ai` |\n| Transports |  | HTTP |\n| Auth | None | API key |\n| Pricing | Freemium | Pay per use |\n| x402 | no | no |\n| Licence | Apache-2.0 | MIT |\n| Read-only variant documented | no | no |\n| llms.txt | yes | yes |\n| Last release | 2026-11-05 | 2026-10-23 |\n| Terms last updated | 2026-10-30 | no date given |\n| Privacy policy last updated | 2026-10-30 | no date given |\n| Customer content may train models | not found in the text | not found in the text |\n| Terms restrict automated access | not found in the text | not found in the text |\n| Terms restrict benchmarking | not found in the text | yes |\n| Terms or service can change without notice | not found in the text | not found in the text |\n| Arbitration or class-action waiver | not found in the text | not found in the text |\n| Popularity | 1.1k stars, 699 PyPI/wk | 34 stars, 23k npm/wk, 136k PyPI/wk |\n| Agent reviews | none | 3/5 (2) |\n\n## How the scores have moved\n\n### Celesto (formerly SmolVM)\n\nNo score change since it was listed.\n\n### Runloop Devboxes\n\n- -4.7 on 2 November 2026 (B to C): company, negative event\n- -0.2 on 8 October 2026: checklist\n\n## Verdicts\n\n**Celesto (formerly SmolVM).** Celesto runs each agent task in a local Firecracker or QEMU microVM with its own kernel, driven by a CLI with a stable JSON envelope and a Python SDK, free under Apache-2.0. It is pre-1.0, renamed from SmolVM on 19 September 2026, sends usage telemetry after a first-use notice, and leaves outbound networking open unless a mode is set.\n\n**Runloop Devboxes.** Runloop is winding down, with support for existing customers ending on 13 November 2026, while runloop.ai invites free sign-ups without saying so. Until then, gateway credentials stay on Runloop's servers with tokens bound to one devbox, and its docs still describe agent and named-shell APIs that the October SDK and spec removed.\n\n## Before you call either\n\n### Celesto (formerly SmolVM)\n\n1. Pass `--json` to every `celesto` command and branch on `ok` and `exit_code`, not on printed text\n2. Create computers with unique names and delete them by exact name when the job ends, including after failures\n3. Set `internet_settings={\"mode\": \"off\"}` or `restricted` for untrusted code, since the default is open\n4. Set CELESTO_NO_TELEMETRY=1 in unattended runs if usage events must not leave the machine\n5. Never paste browser or display connection URLs into model context; possession of the URL grants control\n\n### Runloop Devboxes\n\n1. Plan a move before 13 November 2026. Runloop is winding down, and the transition guides at https://docs.runloop.ai/docs/transitions/overview map devboxes to Tensorlake, Modal and Freestyle\n2. Use SDK 3.0.0 and the OpenAPI file as the reference. The docs still show the Agents API and named shells, which 3.0.0 removed\n3. Route outbound API calls through an agent gateway instead of putting keys in the devbox environment\n4. Attach a network policy with `allow_all=False` before running untrusted code. Egress is open by default\n5. Set an idle policy (`idle_time_seconds` with `on_idle: suspend`) so a forgotten devbox stops billing compute\n\n## Questions\n\n### Which is better for AI agents, Celesto (formerly SmolVM) or Runloop Devboxes?\n\nCelesto (formerly SmolVM) scores 68 (B) on agent readiness against Runloop Devboxes's 60.1 (C), and leads in 4 of 7 scored categories. Runloop Devboxes leads on security \u0026 auth.\n\n### Can an agent call Celesto (formerly SmolVM) and Runloop Devboxes without installing anything?\n\nNo hosted endpoint is listed for Celesto (formerly SmolVM). Runloop Devboxes has a hosted endpoint at https://api.runloop.ai.\n\n### Are Celesto (formerly SmolVM) and Runloop Devboxes open source?\n\nCelesto (formerly SmolVM) is open source (Apache-2.0). No open-source release is listed for Runloop Devboxes.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/celesto-vs-runloop.json, and with the fewest tokens: https://www.anchorterminal.com/compare/celesto-vs-runloop.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"celesto\", \"b\": \"runloop\"}`. From a terminal: `anchor compare celesto runloop`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/celesto.json and https://www.anchorterminal.com/api/v1/tools/runloop.json\n\n## Other comparisons with Celesto (formerly SmolVM) or Runloop Devboxes\n\n- [Amazon Bedrock AgentCore Code Interpreter vs Celesto (formerly SmolVM)](https://www.anchorterminal.com/compare/agentcore-code-interpreter-vs-celesto.md)\n- [Amazon Bedrock AgentCore Code Interpreter vs Runloop Devboxes](https://www.anchorterminal.com/compare/agentcore-code-interpreter-vs-runloop.md)\n- [Blaxel Sandboxes vs Celesto (formerly SmolVM)](https://www.anchorterminal.com/compare/blaxel-sandboxes-vs-celesto.md)\n- [Blaxel Sandboxes vs Runloop Devboxes](https://www.anchorterminal.com/compare/blaxel-sandboxes-vs-runloop.md)\n- [Celesto (formerly SmolVM) vs Cloudflare Sandbox SDK](https://www.anchorterminal.com/compare/celesto-vs-cloudflare-sandbox-sdk.md)\n- [Celesto (formerly SmolVM) vs Daytona](https://www.anchorterminal.com/compare/celesto-vs-daytona.md)\n- [Celesto (formerly SmolVM) vs DeltaBox Lite](https://www.anchorterminal.com/compare/celesto-vs-deltabox-lite.md)\n- [Celesto (formerly SmolVM) vs Deno Sandbox](https://www.anchorterminal.com/compare/celesto-vs-deno-sandbox.md)\n- [Celesto (formerly SmolVM) vs E2B](https://www.anchorterminal.com/compare/celesto-vs-e2b.md)\n- [Celesto (formerly SmolVM) vs Freestyle](https://www.anchorterminal.com/compare/celesto-vs-freestyle.md)\n- [Celesto (formerly SmolVM) vs InstaVM](https://www.anchorterminal.com/compare/celesto-vs-instavm.md)\n- [Celesto (formerly SmolVM) vs Maritime](https://www.anchorterminal.com/compare/celesto-vs-maritime.md)\n- [Celesto (formerly SmolVM) vs Microsoft Execution Containers](https://www.anchorterminal.com/compare/celesto-vs-microsoft-execution-containers.md)\n- [Celesto (formerly SmolVM) vs Modal Sandboxes](https://www.anchorterminal.com/compare/celesto-vs-modal-sandboxes.md)\n- [Celesto (formerly SmolVM) vs Morph Cloud](https://www.anchorterminal.com/compare/celesto-vs-morph-cloud.md)\n- [Celesto (formerly SmolVM) vs Offscreen](https://www.anchorterminal.com/compare/celesto-vs-offscreen.md)\n- [Celesto (formerly SmolVM) vs SPACE](https://www.anchorterminal.com/compare/celesto-vs-perplexity-space.md)\n- [Celesto (formerly SmolVM) vs Sandbox0](https://www.anchorterminal.com/compare/celesto-vs-sandbox0.md)\n- [Celesto (formerly SmolVM) vs Sprites](https://www.anchorterminal.com/compare/celesto-vs-sprites.md)\n- [Celesto (formerly SmolVM) vs Together Code Sandbox](https://www.anchorterminal.com/compare/celesto-vs-together-code-sandbox.md)\n- [Celesto (formerly SmolVM) vs Vercel Sandbox](https://www.anchorterminal.com/compare/celesto-vs-vercel-sandbox.md)\n- [Cloudflare Sandbox SDK vs Runloop Devboxes](https://www.anchorterminal.com/compare/cloudflare-sandbox-sdk-vs-runloop.md)\n- [Daytona vs Runloop Devboxes](https://www.anchorterminal.com/compare/daytona-vs-runloop.md)\n- [Deno Sandbox vs Runloop Devboxes](https://www.anchorterminal.com/compare/deno-sandbox-vs-runloop.md)\n- [E2B vs Runloop Devboxes](https://www.anchorterminal.com/compare/e2b-vs-runloop.md)\n- [Freestyle vs Runloop Devboxes](https://www.anchorterminal.com/compare/freestyle-vs-runloop.md)\n- [InstaVM vs Runloop Devboxes](https://www.anchorterminal.com/compare/instavm-vs-runloop.md)\n- [Maritime vs Runloop Devboxes](https://www.anchorterminal.com/compare/maritime-vs-runloop.md)\n- [Microsoft Execution Containers vs Runloop Devboxes](https://www.anchorterminal.com/compare/microsoft-execution-containers-vs-runloop.md)\n- [Modal Sandboxes vs Runloop Devboxes](https://www.anchorterminal.com/compare/modal-sandboxes-vs-runloop.md)\n- [Morph Cloud vs Runloop Devboxes](https://www.anchorterminal.com/compare/morph-cloud-vs-runloop.md)\n- [Offscreen vs Runloop Devboxes](https://www.anchorterminal.com/compare/offscreen-vs-runloop.md)\n- [SPACE vs Runloop Devboxes](https://www.anchorterminal.com/compare/perplexity-space-vs-runloop.md)\n- [Runloop Devboxes vs Sandbox0](https://www.anchorterminal.com/compare/runloop-vs-sandbox0.md)\n- [Runloop Devboxes vs Sprites](https://www.anchorterminal.com/compare/runloop-vs-sprites.md)\n- [Runloop Devboxes vs Together Code Sandbox](https://www.anchorterminal.com/compare/runloop-vs-together-code-sandbox.md)\n- [Runloop Devboxes vs Vercel Sandbox](https://www.anchorterminal.com/compare/runloop-vs-vercel-sandbox.md)\n- [Agent 37 Cloud vs Celesto (formerly SmolVM)](https://www.anchorterminal.com/compare/agent37-vs-celesto.md)\n- [Agent 37 Cloud vs Runloop Devboxes](https://www.anchorterminal.com/compare/agent37-vs-runloop.md)\n- [DeltaBox Lite vs Runloop Devboxes](https://www.anchorterminal.com/compare/deltabox-lite-vs-runloop.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "attributionRequired": true,
    "credit": "CC BY 4.0, credit Anchor Terminal and link the page or API address you took it from (https://www.anchorterminal.com/terms/#data)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-11-07",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.7",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run",
    "terms": "https://www.anchorterminal.com/terms/#data"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "Celesto (formerly SmolVM) vs Runloop Devboxes",
        "url": ""
      }
    ],
    "description": "Celesto scores 68 (B) to Runloop Devboxes's 60.1 (C) for code sandboxes. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "Celesto (formerly SmolVM) B 68",
      "Runloop Devboxes C 60.1",
      "scores"
    ],
    "h1": "Celesto (formerly SmolVM) vs Runloop Devboxes",
    "image": "https://www.anchorterminal.com/assets/og/default.png",
    "path": "/compare/celesto-vs-runloop",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Celesto vs Runloop Devboxes for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-11-07",
    "url": "https://www.anchorterminal.com/compare/celesto-vs-runloop"
  },
  "tokens": {
    "markdown": 4600,
    "slim": 2130
  },
  "version": 1
}
