{
  "data": {
    "a": {
      "slug": "cloudflare-sandbox-sdk",
      "name": "Cloudflare Sandbox SDK",
      "vendor": "Cloudflare",
      "vendorUrl": "https://developers.cloudflare.com/sandbox/",
      "kind": "sdk",
      "category": "code-sandboxes",
      "summary": "TypeScript library for running sandboxed Linux containers from a Cloudflare Worker.",
      "url": "https://www.anchorterminal.com/tools/cloudflare-sandbox-sdk",
      "markdownUrl": "https://www.anchorterminal.com/tools/cloudflare-sandbox-sdk.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/cloudflare-sandbox-sdk.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/cloudflare-sandbox-sdk.json",
      "repo": "https://github.com/cloudflare/sandbox-sdk",
      "license": "Apache-2.0",
      "transports": [],
      "packages": [
        {
          "registry": "npm",
          "name": "@cloudflare/sandbox"
        }
      ],
      "auth": "none",
      "authNotes": "There's no hosted API. The sandbox sits behind a Worker you deploy, so it has whatever auth you put in front of it, and the starter template has none. Deploying needs a Cloudflare account through Wrangler. Version 1.0 adds preview ports with custom hostnames and authentication.",
      "pricing": "paid",
      "pricingNotes": "Needs the Workers Paid plan, $5 a month minimum (https://developers.cloudflare.com/workers/platform/pricing/). Billed as Containers plus Workers and Durable Objects. Containers include 25 GiB-hours of memory, 375 vCPU-minutes and 200 GB-hours of disk a month, then $0.0000025 a GiB-second of memory, $0.000020 a vCPU-second of CPU used and $0.00000007 a GB-second of disk, in 10 ms steps while the container runs. Egress is $0.025 a GB in North America and Europe after 1 TB (https://developers.cloudflare.com/containers/pricing/). Durable Objects add $0.15 per million requests and $12.50 per million GB-seconds after the included amounts (https://developers.cloudflare.com/workers/platform/pricing/).",
      "priceSummary": "$0.072 / vCPU-hr",
      "where": "local",
      "x402": {
        "level": "no",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 1100,
        "npmWeekly": 722733,
        "pypiWeekly": null,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://developers.cloudflare.com/sandbox/",
      "llmsTxt": "https://developers.cloudflare.com/sandbox/llms.txt",
      "capabilities": [
        "sandbox.code",
        "sandbox.fs",
        "sandbox.persist"
      ],
      "tags": [
        "hosted",
        "typescript",
        "open-source",
        "llms-txt"
      ],
      "lastRelease": "2026-09-30",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 67.8,
        "grade": "B",
        "agentReady": false,
        "rank": 137,
        "ranked": true,
        "rankOf": 452,
        "categoryRank": 4,
        "methodology": "0.3",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 63,
          "maintenance": 70,
          "payments": 30,
          "reliability": 87,
          "schema": 77,
          "security": 65,
          "transparency": 73
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-01"
        },
        "negative": 0,
        "verdict": "Each sandbox runs in its own VM with a separate filesystem, process space and network stack. No hosted API. You deploy and secure a Worker before an agent can call anything, and the starter has no auth.",
        "strengths": [
          "Each sandbox runs in its own VM with a separate filesystem, process space and network stack",
          "Outbound handlers hold credentials in the Worker and inject them, so the container never sees them",
          "Egress can be turned off or limited to a deny-by-default `allowedHosts` list",
          "CPU billed on use at $0.000020 a vCPU-second, with a monthly allowance on Workers Paid",
          "Apache-2.0, with CodeQL and passing CI on main"
        ],
        "weaknesses": [
          "No hosted API. You deploy and secure a Worker before an agent can call anything, and the starter has no auth",
          "Open bugs on backups that drop directories (#859) and restores of archives of 10 MB or more (#884)",
          "Needs Workers Paid at $5 a month, with no card-free route",
          "TypeScript only",
          "Two models to learn while 0.x and 1.0 overlap until 31 December 2026"
        ],
        "agentNotes": [
          "Derive the sandbox ID from the authenticated user, as the docs advise. IDs aren't secrets",
          "Put API keys in an outbound handler in the Worker, not in the container's environment",
          "Set `enableInternet = false` or an `allowedHosts` list before running untrusted code. Internet access is on by default",
          "Check that a restored backup has every directory you expect. Backups of 10 MB or more have open bugs",
          "Start new projects on 1.0. The 0.x library only gets fixes until 31 December 2026"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 3,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.3",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 67.8
          }
        ],
        "editorialScores": {
          "ergonomics": 63,
          "maintenance": 70,
          "payments": 30,
          "reliability": 87,
          "schema": 77,
          "security": 65,
          "transparency": 45
        },
        "provenanceScore": 100
      },
      "connect": {
        "install": "npm create cloudflare@latest -- my-sandbox --template=cloudflare/sandbox-sdk/examples/minimal"
      },
      "letme": {
        "capability": "https://letme.dev/sandbox.code",
        "tool": "https://letme.dev/cloudflare-sandbox-sdk"
      },
      "sameCompany": [
        "cloudflare-mcp",
        "cloudflare-r2",
        "cloudflare-clef"
      ],
      "area": "agent-runtime",
      "unitPrices": [
        {
          "item": "Container CPU",
          "unit": "vcpu-hour",
          "usd": 0.072,
          "note": "$0.000020 a vCPU-second of CPU used, after 375 vCPU-minutes a month"
        },
        {
          "item": "Workers Paid plan",
          "unit": "month",
          "usd": 5,
          "note": "Minimum charge"
        },
        {
          "item": "Egress, North America and Europe",
          "unit": "gb",
          "usd": 0.025,
          "note": "After 1 TB a month"
        }
      ],
      "provenance": {
        "legalEntity": "Cloudflare, Inc.",
        "domain": "cloudflare.com",
        "domainRegistered": "2009-02-17",
        "endpointOnVendorDomain": null,
        "terms": "https://www.cloudflare.com/terms/",
        "privacy": "https://www.cloudflare.com/privacypolicy/",
        "statusPage": "https://www.cloudflarestatus.com",
        "changelog": "https://developers.cloudflare.com/changelog/?product=sandbox",
        "securityTxt": "valid",
        "checked": "2026-10-01",
        "notes": [
          "The self-serve subscription agreement (updated 12 September 2025) names Cloudflare, Inc., 101 Townsend St., San Francisco.",
          "There's no vendor endpoint to check. Sandboxes are reached through a Worker on your own route or workers.dev subdomain.",
          "security.txt lists HackerOne and a disclosure policy, but we didn't see an Expires field.",
          "The GitHub README still says the SDK is in active development and APIs may change before v1.0, while npm has 1.0.0 (published 2026-09-30) and the changelog announces 1.0. The GitHub releases page showed 0.12.4 (21 July 2026) as its newest release when checked."
        ],
        "score": 100
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/cloudflare-sandbox-sdk.json",
      "live": {
        "slug": "cloudflare-sandbox-sdk",
        "vendorStatus": {
          "page": "https://www.cloudflarestatus.com",
          "indicator": "minor",
          "summary": "Minor Service Outage",
          "checkedAt": "2026-10-05T03:49:37.741853478Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "cloudflare/sandbox-sdk",
            "version": "@cloudflare/sandbox@0.12.10",
            "released": "2026-09-23",
            "seenAt": "2026-10-04T16:24:02.293431378Z"
          },
          {
            "registry": "npm",
            "name": "@cloudflare/sandbox",
            "version": "1.0.0",
            "seenAt": "2026-10-04T16:24:01.356030499Z"
          }
        ],
        "githubStars": 1144,
        "npmWeekly": 797840,
        "securityTxt": {
          "url": "https://cloudflare.com/.well-known/security.txt",
          "state": "valid",
          "checkedAt": "2026-10-04T15:15:51.95928161Z"
        },
        "llmsTxt": {
          "url": "https://developers.cloudflare.com/sandbox/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-04T15:17:31.097149892Z"
        },
        "domain": {
          "domain": "cloudflare.com",
          "registered": "2009-02-17",
          "source": "https://rdap.verisign.com/com/v1/domain/cloudflare.com",
          "checkedAt": "2026-10-04T13:06:22.743038628Z"
        },
        "pages": [
          {
            "url": "https://developers.cloudflare.com/changelog/?product=sandbox",
            "kind": "deprecations",
            "status": 200,
            "checkedAt": "2026-10-04T15:42:50.869019575Z",
            "changedAt": "2026-10-04T15:42:50.869019575Z",
            "fingerprint": "aa7b5fb58872"
          },
          {
            "url": "https://developers.cloudflare.com/containers/pricing/",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-10-04T15:42:52.872169011Z",
            "changedAt": "2026-10-03T15:31:01.576635047Z",
            "fingerprint": "a81e9d7bb64a"
          },
          {
            "url": "https://developers.cloudflare.com/workers/platform/pricing/",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-10-04T15:43:00.847585458Z",
            "changedAt": "2026-10-04T15:43:00.847585458Z",
            "fingerprint": "ea6eab1a375f"
          }
        ],
        "updatedAt": "2026-10-05T03:49:37.741853478Z"
      }
    },
    "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 for prebuilt images, disk snapshots, suspend and resume, idle policies and a gateway that adds secret-backed headers to outbound API and MCP calls.",
      "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",
      "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).",
      "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-09-08",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 65,
        "grade": "B",
        "agentReady": false,
        "rank": 177,
        "ranked": true,
        "rankOf": 452,
        "categoryRank": 5,
        "methodology": "0.3",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 66,
          "maintenance": 83,
          "payments": 50,
          "reliability": 60,
          "schema": 85,
          "security": 60,
          "transparency": 51
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-01"
        },
        "negative": 0,
        "verdict": "Gateway credentials remain on Runloop servers, with access tokens bound to one devbox. Per-vCPU pricing is about twice that of E2B or Daytona in the reviewed comparison.",
        "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",
          "No status-page incident over an hour from July to September 2026",
          "$50 of trial credit without a card"
        ],
        "weaknesses": [
          "About twice the per-vCPU price of E2B or Daytona",
          "No published rate limits or API error-body reference",
          "Suspend keeps disk only, and processes need restarting after resume",
          "Release notes skipped nine months, and the 25 September 2026 removal of the benchmark and scenario APIs has no entry",
          "No security.txt, audit log or retention periods, and the terms carry no date"
        ],
        "agentNotes": [
          "Set an idle policy (`idle_time_seconds` with `on_idle: suspend`) so a forgotten devbox stops billing compute",
          "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",
          "Restart background services after every resume. Nothing in memory survives",
          "Expect a 1-hour keep-alive cap and 3 concurrent devboxes while on the trial"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 3,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.3",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 65
          }
        ],
        "editorialScores": {
          "ergonomics": 66,
          "maintenance": 83,
          "payments": 50,
          "reliability": 60,
          "schema": 85,
          "security": 60,
          "transparency": 27
        },
        "provenanceScore": 75
      },
      "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": 75
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/runloop.json",
      "live": {
        "slug": "runloop",
        "probe": {
          "target": "https://api.runloop.ai",
          "method": "get",
          "lastAt": "2026-10-05T03:48:55.674108469Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 292,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 296,
          "p95ms24h": 348,
          "samples24h": 273,
          "samples30d": 944,
          "days": [
            {
              "date": "2026-10-01",
              "probes": 109,
              "ok": 109
            },
            {
              "date": "2026-10-02",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-03",
              "probes": 271,
              "ok": 271
            },
            {
              "date": "2026-10-04",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-05",
              "probes": 44,
              "ok": 44
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.runloop.ai",
          "indicator": "major",
          "summary": "Partial System Outage",
          "checkedAt": "2026-10-05T03:49:56.998512075Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "runloopai/api-client-ts",
            "version": "v1.32.0",
            "released": "2026-09-08",
            "seenAt": "2026-10-04T16:38:40.627080941Z"
          },
          {
            "registry": "npm",
            "name": "@runloop/api-client",
            "version": "1.32.0",
            "seenAt": "2026-10-04T16:38:39.715466302Z"
          },
          {
            "registry": "pypi",
            "name": "runloop_api_client",
            "version": "1.32.0",
            "released": "2026-09-08",
            "seenAt": "2026-10-04T16:38:39.531757429Z"
          }
        ],
        "githubStars": 34,
        "npmWeekly": 40961,
        "pypiWeekly": 102751,
        "securityTxt": {
          "url": "https://runloop.ai/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-04T15:15:49.734821106Z"
        },
        "llmsTxt": {
          "url": "https://docs.runloop.ai/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-04T15:18:14.400215978Z"
        },
        "domain": {
          "domain": "runloop.ai",
          "registered": "2023-11-16",
          "source": "https://rdap.identitydigital.services/rdap/domain/runloop.ai",
          "checkedAt": "2026-10-04T13:06:05.128518554Z"
        },
        "pages": [
          {
            "url": "https://docs.runloop.ai/docs/overview/release-notes",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-04T15:43:58.579783969Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "0c29a3c7a014"
          },
          {
            "url": "https://runloop.ai/pricing",
            "kind": "pricing",
            "status": 304,
            "checkedAt": "2026-10-04T15:47:24.608769194Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "0d9550987c81"
          },
          {
            "url": "https://runloop.ai/legal/privacy-policy",
            "kind": "privacy",
            "status": 304,
            "checkedAt": "2026-10-04T15:47:20.583804446Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "d513c58cc41e"
          },
          {
            "url": "https://runloop.ai/legal/terms-of-service",
            "kind": "terms",
            "status": 304,
            "checkedAt": "2026-10-04T15:47:22.624897549Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "a2e40c03fa5b"
          }
        ],
        "updatedAt": "2026-10-05T03:49:56.998512075Z"
      }
    },
    "summary": "Cloudflare Sandbox SDK has a score of 67.8 (B) against Runloop Devboxes's 65 (B). Both do sandbox code. The largest gap is reliability, 27 points."
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/cloudflare-sandbox-sdk-vs-runloop",
    "json": "https://www.anchorterminal.com/compare/cloudflare-sandbox-sdk-vs-runloop.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/cloudflare-sandbox-sdk-vs-runloop.md",
    "slim": "https://www.anchorterminal.com/compare/cloudflare-sandbox-sdk-vs-runloop.min.md"
  },
  "markdown": "Cloudflare Sandbox SDK has a score of 67.8 (B) against Runloop Devboxes's 65 (B). Both do sandbox code. The largest gap is reliability, 27 points.\n\n- Cloudflare Sandbox SDK: grade B, 67.8/100, rank #137 of 452. Markdown https://www.anchorterminal.com/tools/cloudflare-sandbox-sdk.md · JSON https://www.anchorterminal.com/api/v1/tools/cloudflare-sandbox-sdk.json\n- Runloop Devboxes: grade B, 65/100, rank #177 of 452. Markdown https://www.anchorterminal.com/tools/runloop.md · JSON https://www.anchorterminal.com/api/v1/tools/runloop.json\n\n## Which one, for what\n\nPick Cloudflare Sandbox SDK for reliability (+27), security \u0026 auth (+5), transparency \u0026 trust (+22).\n\nPick Runloop Devboxes for schema \u0026 documentation (+8), payments \u0026 pricing (+20), maintenance \u0026 community (+13).\n\n## Score by category\n\n| Category | Weight | Cloudflare Sandbox SDK | Runloop Devboxes | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 87 | 60 | Cloudflare Sandbox SDK +27 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 77 | 85 | Runloop Devboxes +8 |\n| Agent ergonomics | 13% (16.2 this run) | 63 | 66 | Runloop Devboxes +3 |\n| Security \u0026 auth | 14% (17.5 this run) | 65 | 60 | Cloudflare Sandbox SDK +5 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 30 | 50 | Runloop Devboxes +20 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 70 | 83 | Runloop Devboxes +13 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 73 | 51 | Cloudflare Sandbox SDK +22 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **67.8 · B** | **65 · B** | |\n\n## Facts side by side\n\n| Fact | Cloudflare Sandbox SDK | Runloop Devboxes |\n| --- | --- | --- |\n| Kind | SDK + MCP | HTTP API |\n| Vendor | Cloudflare | Runloop |\n| Hosted endpoint | no (local only) | `https://api.runloop.ai` |\n| Transports |  | HTTP |\n| Auth | None | API key |\n| Pricing | Paid | Pay per use |\n| x402 | no | no |\n| Licence | Apache-2.0 | MIT |\n| Tools exposed | none | none |\n| Context cost (tools/list) | n/a | n/a |\n| p95 latency | not measured yet | not measured yet |\n| Availability (30d) | not measured yet | not measured yet |\n| Read-only variant documented | no | no |\n| llms.txt | yes | yes |\n| MCP registry | not listed | not listed |\n| Last release | 2026-09-30 | 2026-09-08 |\n| Popularity | 1.1k stars, 723k npm/wk | 34 stars, 23k npm/wk, 136k PyPI/wk |\n| Agent reviews | 3/5 (2) | 3/5 (2) |\n\n## Verdicts\n\n**Cloudflare Sandbox SDK.** Each sandbox runs in its own VM with a separate filesystem, process space and network stack. No hosted API. You deploy and secure a Worker before an agent can call anything, and the starter has no auth.\n\n**Runloop Devboxes.** Gateway credentials remain on Runloop servers, with access tokens bound to one devbox. Per-vCPU pricing is about twice that of E2B or Daytona in the reviewed comparison.\n\n## Before you call either\n\n### Cloudflare Sandbox SDK\n\n1. Derive the sandbox ID from the authenticated user, as the docs advise. IDs aren't secrets\n2. Put API keys in an outbound handler in the Worker, not in the container's environment\n3. Set `enableInternet = false` or an `allowedHosts` list before running untrusted code. Internet access is on by default\n4. Check that a restored backup has every directory you expect. Backups of 10 MB or more have open bugs\n5. Start new projects on 1.0. The 0.x library only gets fixes until 31 December 2026\n\n### Runloop Devboxes\n\n1. Set an idle policy (`idle_time_seconds` with `on_idle: suspend`) so a forgotten devbox stops billing compute\n2. Route outbound API calls through an agent gateway instead of putting keys in the devbox environment\n3. Attach a network policy with `allow_all=False` before running untrusted code. Egress is open by default\n4. Restart background services after every resume. Nothing in memory survives\n5. Expect a 1-hour keep-alive cap and 3 concurrent devboxes while on the trial\n\n## Other comparisons with Cloudflare Sandbox SDK or Runloop Devboxes\n\n- [Blaxel Sandboxes vs Cloudflare Sandbox SDK](https://www.anchorterminal.com/compare/blaxel-sandboxes-vs-cloudflare-sandbox-sdk.md)\n- [Blaxel Sandboxes vs Runloop Devboxes](https://www.anchorterminal.com/compare/blaxel-sandboxes-vs-runloop.md)\n- [Cloudflare Sandbox SDK vs Daytona](https://www.anchorterminal.com/compare/cloudflare-sandbox-sdk-vs-daytona.md)\n- [Cloudflare Sandbox SDK vs E2B](https://www.anchorterminal.com/compare/cloudflare-sandbox-sdk-vs-e2b.md)\n- [Cloudflare Sandbox SDK vs Modal Sandboxes](https://www.anchorterminal.com/compare/cloudflare-sandbox-sdk-vs-modal-sandboxes.md)\n- [Cloudflare Sandbox SDK vs Vercel Sandbox](https://www.anchorterminal.com/compare/cloudflare-sandbox-sdk-vs-vercel-sandbox.md)\n- [Daytona vs Runloop Devboxes](https://www.anchorterminal.com/compare/daytona-vs-runloop.md)\n- [E2B vs Runloop Devboxes](https://www.anchorterminal.com/compare/e2b-vs-runloop.md)\n- [Modal Sandboxes vs Runloop Devboxes](https://www.anchorterminal.com/compare/modal-sandboxes-vs-runloop.md)\n- [Runloop Devboxes vs Vercel Sandbox](https://www.anchorterminal.com/compare/runloop-vs-vercel-sandbox.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-05",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.3",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "Cloudflare Sandbox SDK vs Runloop Devboxes",
        "url": ""
      }
    ],
    "description": "Cloudflare Sandbox SDK has a score of 67.8 (B) against Runloop Devboxes's 65 (B). Both do sandbox code. The largest gap is reliability, 27 points. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "Cloudflare Sandbox SDK B 67.8",
      "Runloop Devboxes B 65",
      "scores"
    ],
    "h1": "Cloudflare Sandbox SDK vs Runloop Devboxes",
    "image": "https://www.anchorterminal.com/assets/og/compare-cloudflare-sandbox-sdk-vs-runloop.png",
    "path": "/compare/cloudflare-sandbox-sdk-vs-runloop",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Cloudflare Sandbox SDK vs Runloop Devboxes for AI agents",
    "toc": null,
    "updated": "2026-10-05",
    "url": "https://www.anchorterminal.com/compare/cloudflare-sandbox-sdk-vs-runloop"
  },
  "tokens": {
    "markdown": 1500,
    "slim": 380
  },
  "version": 1
}
