{
  "data": {
    "a": {
      "slug": "e2b",
      "name": "E2B",
      "vendor": "E2B",
      "vendorUrl": "https://e2b.dev",
      "kind": "http-api",
      "category": "code-sandboxes",
      "summary": "Firecracker microVM sandboxes for agent code, driven from Python and JavaScript SDKs, a CLI or a REST API.",
      "url": "https://www.anchorterminal.com/tools/e2b",
      "markdownUrl": "https://www.anchorterminal.com/tools/e2b.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/e2b.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/e2b.json",
      "repo": "https://github.com/e2b-dev/E2B",
      "license": "Apache-2.0",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://api.e2b.app",
      "packages": [
        {
          "registry": "npm",
          "name": "e2b"
        },
        {
          "registry": "pypi",
          "name": "e2b"
        },
        {
          "registry": "npm",
          "name": "@e2b/code-interpreter"
        },
        {
          "registry": "pypi",
          "name": "e2b-code-interpreter"
        }
      ],
      "auth": "api-key",
      "authNotes": "API key in the `X-API-Key` header on api.e2b.app. The SDKs and CLI read `E2B_API_KEY`. SDKs from 2.46.0 leave key validation to the server. `E2B_ACCESS_TOKEN` was switched off on 1 August 2026. Code inside a sandbox can get short-lived workload identity tokens instead of long-lived secrets, and stored secrets can be filled into outbound HTTPS headers by the egress proxy without entering the sandbox.",
      "pricing": "freemium",
      "pricingNotes": "Hobby is free with a one-time $100 usage credit and no card, sandboxes up to 1 hour and 20 running at once. Pro is $150 a month plus usage, sandboxes up to 24 hours and 100 concurrent (up to 1,100 with add-ons). Enterprise starts at $3,000 a month and adds BYOC. Compute is billed per second while a sandbox runs, $0.000014 a vCPU-second and $0.0000045 a GiB-second of RAM, so the default 2 vCPU, 4 GiB sandbox costs $0.1656 an hour. 10 GiB of storage free on Hobby, 20 GiB on Pro (https://e2b.dev/pricing). Paused sandboxes aren't billed, and when the credit runs out the account is blocked until a card is added (https://docs.e2b.dev/billing.md).",
      "priceSummary": "$0.0504 / vCPU-hr",
      "where": "hosted",
      "x402": {
        "level": "no",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 13400,
        "npmWeekly": 2217920,
        "pypiWeekly": 1408079,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://docs.e2b.dev",
      "llmsTxt": "https://docs.e2b.dev/llms.txt",
      "openapi": "https://docs.e2b.dev/openapi-public.yaml",
      "capabilities": [
        "sandbox.code",
        "sandbox.fs",
        "sandbox.persist",
        "sandbox.browser"
      ],
      "tags": [
        "hosted",
        "freemium",
        "free-tier",
        "no-card",
        "open-source",
        "self-hosted",
        "llms-txt",
        "python",
        "typescript",
        "enterprise"
      ],
      "lastRelease": "2026-10-01",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 68.3,
        "grade": "B",
        "agentReady": false,
        "rank": 241,
        "ranked": true,
        "rankOf": 1133,
        "categoryRank": 4,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 65,
          "maintenance": 88,
          "payments": 50,
          "reliability": 60,
          "schema": 92,
          "security": 62,
          "transparency": 68
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-01"
        },
        "negative": 0,
        "verdict": "Firecracker microVM with its own kernel per sandbox. Two major incidents over an hour in September 2026, on sandbox creation and on creating from snapshots.",
        "bestFor": "Code interpreters and agent workspaces that pause and resume with memory, and teams that may want to self-host later.",
        "strengths": [
          "Firecracker microVM with its own kernel per sandbox",
          "Egress allow and deny lists by domain, IP or CIDR, and secrets filled in outside the sandbox",
          "Apache-2.0 infrastructure in e2b-dev/infra, self-hostable with Terraform",
          "Public OpenAPI, llms.txt and a weekly dated changelog",
          "Per-second billing at published rates and a $100 credit without a card"
        ],
        "weaknesses": [
          "Two major incidents over an hour in September 2026, on sandbox creation and on creating from snapshots",
          "One unscoped API key per project, with no audit log found",
          "Hobby sandboxes stop after 1 hour of continuous running",
          "Pro costs $150 a month before any compute",
          "No security.txt or bug bounty, and no published subprocessor list"
        ],
        "agentNotes": [
          "Set a timeout when you create a sandbox. The default is 5 minutes",
          "Pause rather than kill when you'll come back. Resume takes about a second and nothing is billed while paused",
          "Use `Secret.fill` in network transforms instead of passing API keys into the sandbox environment",
          "Pace sandbox creation. Hobby allows 1 a second and 20 running at once",
          "Move to the v2 sandbox endpoints. SDK 2.51.0 and later use them by default"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 3,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 68.3
          }
        ],
        "editorialScores": {
          "ergonomics": 65,
          "maintenance": 88,
          "payments": 50,
          "reliability": 60,
          "schema": 92,
          "security": 62,
          "transparency": 75
        },
        "provenanceScore": 61
      },
      "connect": {
        "install": "pip install e2b-code-interpreter  # or npm i @e2b/code-interpreter",
        "http": "curl https://api.e2b.app/v2/sandboxes -H \"X-API-Key: $E2B_API_KEY\""
      },
      "letme": {
        "capability": "https://letme.dev/sandbox.code",
        "tool": "https://letme.dev/e2b"
      },
      "area": "agent-runtime",
      "unitPrices": [
        {
          "item": "vCPU",
          "unit": "vcpu-hour",
          "usd": 0.0504,
          "note": "$0.000014 a vCPU-second, RAM extra at $0.0000045 a GiB-second"
        },
        {
          "item": "Default sandbox (2 vCPU, 4 GiB)",
          "unit": "session-hour",
          "usd": 0.1656,
          "note": "Billed per second while running"
        },
        {
          "item": "Pro plan",
          "unit": "month",
          "usd": 150,
          "note": "Usage billed on top"
        },
        {
          "item": "Enterprise minimum",
          "unit": "month",
          "usd": 3000
        }
      ],
      "provenance": {
        "legalEntity": "FoundryLabs, Inc.",
        "domain": "e2b.dev",
        "domainRegistered": "2023-04-03",
        "endpointOnVendorDomain": false,
        "terms": "https://e2b.dev/terms",
        "privacy": "https://e2b.dev/privacy",
        "statusPage": "https://status.e2b.dev",
        "changelog": "https://docs.e2b.dev/changelog",
        "securityTxt": "none",
        "checked": "2026-09-30",
        "notes": [
          "Terms (updated 4 December 2024) and privacy policy (8 April 2024) name FoundryLabs, Inc., a Delaware corporation, with arbitration in San Francisco.",
          "The API runs on api.e2b.app, a separate registrable domain from e2b.dev.",
          "e2b.dev/.well-known/security.txt returns 404."
        ],
        "score": 61
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/e2b.json",
      "live": {
        "slug": "e2b",
        "probe": {
          "target": "https://api.e2b.app",
          "method": "get",
          "lastAt": "2026-10-18T00:14:37.237090443Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 648,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 214,
          "p95ms24h": 695,
          "samples24h": 253,
          "samples30d": 4233,
          "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": 272,
              "ok": 272
            },
            {
              "date": "2026-10-06",
              "probes": 272,
              "ok": 272
            },
            {
              "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": 3,
              "ok": 3
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.e2b.dev",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-10-18T00:08:33.732209903Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "e2b-dev/E2B",
            "version": "@e2b/code-interpreter-python@2.11.0",
            "released": "2026-10-13",
            "seenAt": "2026-10-17T01:46:02.934586914Z"
          },
          {
            "registry": "npm",
            "name": "@e2b/code-interpreter",
            "version": "2.9.0",
            "seenAt": "2026-10-17T01:46:01.036078009Z"
          },
          {
            "registry": "npm",
            "name": "e2b",
            "version": "2.56.0",
            "seenAt": "2026-10-17T01:46:00.477113916Z"
          },
          {
            "registry": "pypi",
            "name": "e2b",
            "version": "2.56.0",
            "released": "2026-10-13",
            "seenAt": "2026-10-17T01:46:00.84866397Z"
          },
          {
            "registry": "pypi",
            "name": "e2b-code-interpreter",
            "version": "2.11.0",
            "released": "2026-10-13",
            "seenAt": "2026-10-17T01:46:02.704099812Z"
          }
        ],
        "githubStars": 14399,
        "npmWeekly": 2140885,
        "pypiWeekly": 1903978,
        "securityTxt": {
          "url": "https://e2b.dev/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-17T15:51:29.239727216Z"
        },
        "llmsTxt": {
          "url": "https://docs.e2b.dev/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-17T14:22:01.363932997Z"
        },
        "domain": {
          "domain": "e2b.dev",
          "registered": "2023-04-03",
          "source": "https://pubapi.registry.google/rdap/domain/e2b.dev",
          "checkedAt": "2026-10-11T13:25:30.607854171Z"
        },
        "pages": [
          {
            "url": "https://docs.e2b.dev/changelog",
            "kind": "changelog",
            "status": 304,
            "checkedAt": "2026-10-17T23:00:59.119249201Z",
            "changedAt": "2026-10-12T19:50:01.476788824Z",
            "fingerprint": "f577464e1d96"
          },
          {
            "url": "https://e2b.dev/pricing",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-10-17T23:02:44.11860314Z",
            "changedAt": "2026-10-16T22:23:51.700394554Z",
            "fingerprint": "e336c198efd0"
          },
          {
            "url": "https://e2b.dev/privacy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-17T23:02:46.346858735Z",
            "changedAt": "2026-10-16T22:23:53.883855471Z",
            "fingerprint": "951372757644"
          },
          {
            "url": "https://e2b.dev/terms",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-17T23:02:48.278807072Z",
            "changedAt": "2026-10-16T22:23:55.988573479Z",
            "fingerprint": "2edfb4e37c08"
          }
        ],
        "updatedAt": "2026-10-18T00:14:37.237090443Z"
      }
    },
    "answer": "E2B scores 68.3 (B) on agent readiness against Offscreen's 62.9 (B), and leads in 4 of 7 scored categories. Offscreen leads on agent ergonomics and payments \u0026 pricing.",
    "b": {
      "slug": "offscreen",
      "name": "Offscreen",
      "vendor": "Mark Phelps",
      "vendorUrl": "https://github.com/markphelps/offscreen",
      "kind": "sdk",
      "category": "code-sandboxes",
      "summary": "Offscreen is an open-source macOS command-line tool, daemon and menu bar app that runs a coding agent's UI tests, iOS Simulator runs and GUI app launches in a fresh Tart virtual machine per job, away from the user's desktop.",
      "url": "https://www.anchorterminal.com/tools/offscreen",
      "markdownUrl": "https://www.anchorterminal.com/tools/offscreen.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/offscreen.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/offscreen.json",
      "repo": "https://github.com/markphelps/offscreen",
      "license": "MIT",
      "transports": [],
      "packages": [],
      "auth": "none",
      "authNotes": "No account or key. The CLI talks to the local daemon over an owner-only Unix socket (mode 0600), and anyone who can open it is trusted. The daemon reaches each guest VM over SSH with the base image's login, `admin` and `admin` by default, or a configured key. A person grants Local Network to Offscreen Daemon on the first VM job, and Input Monitoring and Notifications to the menu bar app only for host-lane jobs.",
      "pricing": "free",
      "pricingNotes": "Free under MIT with nothing to buy. It depends on Tart, installed by the cask from the `openai/tools/tart` formula under FSL-1.1-ALv2, whose licensing page says use on personal computers is royalty-free and organisations above 100 host CPU cores need a paid licence, from $12,000 a year. Needs an Apple silicon Mac with macOS 14 or later and full Xcode.",
      "priceSummary": "Free · OSS",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the source, the docs or the skill (checked 2026-10-17). The tool has no paid tier and makes no network calls of its own beyond the local socket and the guest SSH connection.",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-10-17"
      },
      "docsUrl": "https://github.com/markphelps/offscreen#readme",
      "capabilities": [
        "sandbox.code",
        "sandbox.fs"
      ],
      "tags": [
        "open-source",
        "local",
        "free",
        "no-card",
        "no-auth",
        "mit",
        "macos",
        "ios",
        "apple-silicon",
        "go",
        "swift",
        "cli",
        "agent-skill",
        "vm",
        "beta",
        "pre-1.0",
        "new"
      ],
      "lastRelease": "2026-10-16",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 62.9,
        "grade": "B",
        "agentReady": false,
        "rank": 456,
        "ranked": true,
        "rankOf": 1133,
        "categoryRank": 9,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 74,
          "maintenance": 66,
          "payments": 60,
          "reliability": 55,
          "schema": 67,
          "security": 62,
          "transparency": 56
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-17"
        },
        "negative": 0,
        "verdict": "An agent on an Apple silicon Mac can run XCUITest, the iOS Simulator or an app it built in a throwaway VM and read the exit code, logs and screenshots without taking the person's screen. The project is six days old at v0.0.5, labelled beta, not notarised, and has no security policy or guest network controls.",
        "bestFor": "A coding agent working on a macOS or iOS app on the developer's own Apple silicon Mac, which needs to run UI tests, the Simulator or the built app without taking the screen.",
        "strengths": [
          "A fresh VM per job, deleted afterwards, and a VM task receives only the worktree, listed build products and four `OFFSCREEN_*` variables, not the host environment",
          "`offscreen run` exits with the wrapped command's code, and Offscreen's own failures use 75 for a queue timeout and 70 for daemon or VM errors",
          "One queue on the Mac for every agent, terminal and script, with `--detach`, `status`, `logs -f`, `artifacts` and `cancel`",
          "The skill lists what an agent must not run without asking, such as `--show`, the host lane, `--keep`, prune and image builds",
          "MIT, with no network code or telemetry found in the source beyond the local socket and guest SSH"
        ],
        "weaknesses": [
          "First commit 11 October 2026, version 0.0.5 and labelled beta, with JSON field names that may change before 1.0",
          "Apple silicon macOS 14 or later with full Xcode only, at most two VMs at once, and a large one-time image download",
          "Ad hoc signed and not notarised. The cask strips the quarantine attribute, and there is no SECURITY.md or security.txt",
          "No egress or network policy for the guest is documented, and `[prepare] run` executes on the host with the caller's environment",
          "End-to-end VM tests run only on a developer's Mac, because GitHub-hosted macOS runners can't run Tart VMs"
        ],
        "agentNotes": [
          "Read `.offscreen.toml` before running anything and use its `project` key and task names. Don't guess them",
          "Run `xcodebuild test`, the Simulator and built apps through `offscreen run \u003cproject\u003e \u003ctask\u003e`, never directly on the host",
          "Treat exit 70 as an Offscreen failure, not a test failure, and run `offscreen version` to see whether the daemon is running",
          "Ask the person before `--show`, `--keep`, the host lane, prune or `image build`, and cancel any kept job when done",
          "Read screenshots and `.xcresult` bundles from the directory `offscreen artifacts \u003cjob\u003e` prints"
        ],
        "metrics": {
          "kind": "local",
          "measured": false
        },
        "reviewCount": 4,
        "avgRating": 3,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 62.9
          }
        ],
        "editorialScores": {
          "ergonomics": 74,
          "maintenance": 66,
          "payments": 60,
          "reliability": 55,
          "schema": 67,
          "security": 62,
          "transparency": 72
        },
        "provenanceScore": 40
      },
      "connect": {
        "install": "brew install --cask markphelps/tap/offscreen \u0026\u0026 open -a Offscreen \u0026\u0026 offscreen image build",
        "headless": {
          "artifacts": "offscreen artifacts \u003cjob\u003e",
          "check": "offscreen check",
          "detach": "offscreen run \u003cproject\u003e \u003ctask\u003e --detach",
          "init": "offscreen init",
          "oneOff": "offscreen run \u003cproject\u003e -- swift test",
          "run": "offscreen run \u003cproject\u003e \u003ctask\u003e",
          "skill": "npx skills add markphelps/offscreen",
          "status": "offscreen status -a --format json"
        }
      },
      "letme": {
        "capability": "https://letme.dev/sandbox.code",
        "tool": "https://letme.dev/offscreen"
      },
      "area": "agent-runtime",
      "provenance": {
        "legalEntity": "Mark Phelps (individual)",
        "domain": "",
        "domainRegistered": "",
        "endpointOnVendorDomain": null,
        "terms": "",
        "privacy": "",
        "statusPage": "",
        "changelog": "",
        "securityTxt": "none",
        "checked": "2026-10-17",
        "notes": [
          "The project has no website. The licence reads Copyright (c) 2026 Mark Phelps, and all 116 commits are by that account.",
          "The app and daemon use the bundle identifiers io.latentsignal.offscreen and io.latentsignal.offscreend. latentsignal.io belongs to Latent Signal Labs, LLC, a solo studio whose page links x.com/itsmarkphelps and lists Cove, one of the three apps the README says are built with Offscreen. The page does not name Offscreen.",
          "No terms, privacy policy, changelog file, SECURITY.md or security.txt. GitHub release notes could not be read.",
          "The software runs on the owner's Mac, so there is no vendor endpoint or status page to check."
        ],
        "score": 40
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/offscreen.json"
    },
    "facts": [
      {
        "a": "HTTP API",
        "b": "SDK + MCP",
        "name": "Kind"
      },
      {
        "a": "E2B",
        "b": "Mark Phelps",
        "name": "Vendor"
      },
      {
        "a": "https://api.e2b.app",
        "b": "no (local only)",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP",
        "b": "",
        "name": "Transports"
      },
      {
        "a": "API key",
        "b": "None",
        "name": "Auth"
      },
      {
        "a": "Freemium",
        "b": "Free",
        "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": "no",
        "name": "llms.txt"
      },
      {
        "a": "2026-10-01",
        "b": "2026-10-16",
        "name": "Last release"
      },
      {
        "a": "2024-12-04",
        "b": "no document linked",
        "name": "Terms last updated"
      },
      {
        "a": "2024-04-08",
        "b": "no document linked",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not found in the text",
        "b": "",
        "name": "Customer content may train models"
      },
      {
        "a": "not found in the text",
        "b": "",
        "name": "Terms restrict automated access"
      },
      {
        "a": "yes",
        "b": "",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "yes",
        "b": "",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "yes",
        "b": "",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "13k stars, 2.2M npm/wk, 1.4M PyPI/wk",
        "b": "none",
        "name": "Popularity"
      },
      {
        "a": "3/5 (2)",
        "b": "3/5 (4)",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "E2B scores 68.3 (B) on agent readiness against Offscreen's 62.9 (B), and leads in 4 of 7 scored categories. Offscreen leads on agent ergonomics and payments \u0026 pricing.",
        "question": "Which is better for AI agents, E2B or Offscreen?"
      },
      {
        "answer": "E2B has a hosted endpoint at https://api.e2b.app. No hosted endpoint is listed for Offscreen.",
        "question": "Can an agent call E2B and Offscreen without installing anything?"
      },
      {
        "answer": "Yes. E2B is open source (Apache-2.0). Offscreen is open source (MIT).",
        "question": "Are E2B and Offscreen open source?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 60 against 55",
          "Schema \u0026 documentation, 92 against 67",
          "Maintenance \u0026 community, 88 against 66",
          "Transparency \u0026 trust, 68 against 56"
        ],
        "also": [
          "A hosted endpoint, with nothing to install"
        ],
        "goodFor": "Code interpreters and agent workspaces that pause and resume with memory, and teams that may want to self-host later.",
        "slug": "e2b",
        "watchFor": "Two major incidents over an hour in September 2026, on sandbox creation and on creating from snapshots"
      },
      {
        "aheadOn": [
          "Agent ergonomics, 74 against 65",
          "Payments \u0026 pricing, 60 against 50"
        ],
        "also": [
          "No key needed to call it"
        ],
        "goodFor": "A coding agent working on a macOS or iOS app on the developer's own Apple silicon Mac, which needs to run UI tests, the Simulator or the built app without taking the screen.",
        "slug": "offscreen",
        "watchFor": "First commit 11 October 2026, version 0.0.5 and labelled beta, with JSON field names that may change before 1.0"
      }
    ],
    "job": {
      "capability": "sandbox.code",
      "name": "Code sandboxes"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/agent37-vs-offscreen.json",
        "title": "Agent 37 Cloud vs Offscreen",
        "url": "https://www.anchorterminal.com/compare/agent37-vs-offscreen"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agentcore-code-interpreter-vs-e2b.json",
        "title": "Amazon Bedrock AgentCore Code Interpreter vs E2B",
        "url": "https://www.anchorterminal.com/compare/agentcore-code-interpreter-vs-e2b"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agentcore-code-interpreter-vs-offscreen.json",
        "title": "Amazon Bedrock AgentCore Code Interpreter vs Offscreen",
        "url": "https://www.anchorterminal.com/compare/agentcore-code-interpreter-vs-offscreen"
      },
      {
        "json": "https://www.anchorterminal.com/compare/blaxel-sandboxes-vs-e2b.json",
        "title": "Blaxel Sandboxes vs E2B",
        "url": "https://www.anchorterminal.com/compare/blaxel-sandboxes-vs-e2b"
      },
      {
        "json": "https://www.anchorterminal.com/compare/blaxel-sandboxes-vs-offscreen.json",
        "title": "Blaxel Sandboxes vs Offscreen",
        "url": "https://www.anchorterminal.com/compare/blaxel-sandboxes-vs-offscreen"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cloudflare-sandbox-sdk-vs-e2b.json",
        "title": "Cloudflare Sandbox SDK vs E2B",
        "url": "https://www.anchorterminal.com/compare/cloudflare-sandbox-sdk-vs-e2b"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cloudflare-sandbox-sdk-vs-offscreen.json",
        "title": "Cloudflare Sandbox SDK vs Offscreen",
        "url": "https://www.anchorterminal.com/compare/cloudflare-sandbox-sdk-vs-offscreen"
      },
      {
        "json": "https://www.anchorterminal.com/compare/daytona-vs-e2b.json",
        "title": "Daytona vs E2B",
        "url": "https://www.anchorterminal.com/compare/daytona-vs-e2b"
      },
      {
        "json": "https://www.anchorterminal.com/compare/daytona-vs-offscreen.json",
        "title": "Daytona vs Offscreen",
        "url": "https://www.anchorterminal.com/compare/daytona-vs-offscreen"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deno-sandbox-vs-e2b.json",
        "title": "Deno Sandbox vs E2B",
        "url": "https://www.anchorterminal.com/compare/deno-sandbox-vs-e2b"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deno-sandbox-vs-offscreen.json",
        "title": "Deno Sandbox vs Offscreen",
        "url": "https://www.anchorterminal.com/compare/deno-sandbox-vs-offscreen"
      },
      {
        "json": "https://www.anchorterminal.com/compare/e2b-vs-freestyle.json",
        "title": "E2B vs Freestyle",
        "url": "https://www.anchorterminal.com/compare/e2b-vs-freestyle"
      },
      {
        "json": "https://www.anchorterminal.com/compare/e2b-vs-microsoft-execution-containers.json",
        "title": "E2B vs Microsoft Execution Containers",
        "url": "https://www.anchorterminal.com/compare/e2b-vs-microsoft-execution-containers"
      },
      {
        "json": "https://www.anchorterminal.com/compare/e2b-vs-modal-sandboxes.json",
        "title": "E2B vs Modal Sandboxes",
        "url": "https://www.anchorterminal.com/compare/e2b-vs-modal-sandboxes"
      },
      {
        "json": "https://www.anchorterminal.com/compare/e2b-vs-morph-cloud.json",
        "title": "E2B vs Morph Cloud",
        "url": "https://www.anchorterminal.com/compare/e2b-vs-morph-cloud"
      },
      {
        "json": "https://www.anchorterminal.com/compare/e2b-vs-perplexity-space.json",
        "title": "E2B vs SPACE",
        "url": "https://www.anchorterminal.com/compare/e2b-vs-perplexity-space"
      },
      {
        "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/e2b-vs-sprites.json",
        "title": "E2B vs Sprites",
        "url": "https://www.anchorterminal.com/compare/e2b-vs-sprites"
      },
      {
        "json": "https://www.anchorterminal.com/compare/e2b-vs-together-code-sandbox.json",
        "title": "E2B vs Together Code Sandbox",
        "url": "https://www.anchorterminal.com/compare/e2b-vs-together-code-sandbox"
      },
      {
        "json": "https://www.anchorterminal.com/compare/e2b-vs-vercel-sandbox.json",
        "title": "E2B vs Vercel Sandbox",
        "url": "https://www.anchorterminal.com/compare/e2b-vs-vercel-sandbox"
      },
      {
        "json": "https://www.anchorterminal.com/compare/freestyle-vs-offscreen.json",
        "title": "Freestyle vs Offscreen",
        "url": "https://www.anchorterminal.com/compare/freestyle-vs-offscreen"
      },
      {
        "json": "https://www.anchorterminal.com/compare/microsoft-execution-containers-vs-offscreen.json",
        "title": "Microsoft Execution Containers vs Offscreen",
        "url": "https://www.anchorterminal.com/compare/microsoft-execution-containers-vs-offscreen"
      },
      {
        "json": "https://www.anchorterminal.com/compare/modal-sandboxes-vs-offscreen.json",
        "title": "Modal Sandboxes vs Offscreen",
        "url": "https://www.anchorterminal.com/compare/modal-sandboxes-vs-offscreen"
      },
      {
        "json": "https://www.anchorterminal.com/compare/morph-cloud-vs-offscreen.json",
        "title": "Morph Cloud vs Offscreen",
        "url": "https://www.anchorterminal.com/compare/morph-cloud-vs-offscreen"
      },
      {
        "json": "https://www.anchorterminal.com/compare/offscreen-vs-perplexity-space.json",
        "title": "Offscreen vs SPACE",
        "url": "https://www.anchorterminal.com/compare/offscreen-vs-perplexity-space"
      },
      {
        "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/offscreen-vs-sprites.json",
        "title": "Offscreen vs Sprites",
        "url": "https://www.anchorterminal.com/compare/offscreen-vs-sprites"
      },
      {
        "json": "https://www.anchorterminal.com/compare/offscreen-vs-together-code-sandbox.json",
        "title": "Offscreen vs Together Code Sandbox",
        "url": "https://www.anchorterminal.com/compare/offscreen-vs-together-code-sandbox"
      },
      {
        "json": "https://www.anchorterminal.com/compare/offscreen-vs-vercel-sandbox.json",
        "title": "Offscreen vs Vercel Sandbox",
        "url": "https://www.anchorterminal.com/compare/offscreen-vs-vercel-sandbox"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agent37-vs-e2b.json",
        "title": "Agent 37 Cloud vs E2B",
        "url": "https://www.anchorterminal.com/compare/agent37-vs-e2b"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deltabox-lite-vs-e2b.json",
        "title": "DeltaBox Lite vs E2B",
        "url": "https://www.anchorterminal.com/compare/deltabox-lite-vs-e2b"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deltabox-lite-vs-offscreen.json",
        "title": "DeltaBox Lite vs Offscreen",
        "url": "https://www.anchorterminal.com/compare/deltabox-lite-vs-offscreen"
      }
    ],
    "scores": [
      {
        "by": 5,
        "e2b": 60,
        "edge": "e2b",
        "key": "reliability",
        "name": "Reliability",
        "offscreen": 55,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 25,
        "e2b": 92,
        "edge": "e2b",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "offscreen": 67,
        "weight": 13
      },
      {
        "by": 9,
        "e2b": 65,
        "edge": "offscreen",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "offscreen": 74,
        "weight": 13
      },
      {
        "by": 0,
        "e2b": 62,
        "edge": "",
        "key": "security",
        "name": "Security \u0026 auth",
        "offscreen": 62,
        "weight": 14
      },
      {
        "by": 10,
        "e2b": 50,
        "edge": "offscreen",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "offscreen": 60,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 22,
        "e2b": 88,
        "edge": "e2b",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "offscreen": 66,
        "weight": 7
      },
      {
        "by": 12,
        "e2b": 68,
        "edge": "e2b",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "offscreen": 56,
        "weight": 7
      }
    ],
    "summary": "E2B scores 68.3 (B) on agent readiness against Offscreen's 62.9 (B), and leads in 4 of 7 scored categories. Offscreen leads on agent ergonomics and payments \u0026 pricing. Both do code sandboxes.",
    "tutorials": [],
    "verdicts": {
      "e2b": "Firecracker microVM with its own kernel per sandbox. Two major incidents over an hour in September 2026, on sandbox creation and on creating from snapshots.",
      "offscreen": "An agent on an Apple silicon Mac can run XCUITest, the iOS Simulator or an app it built in a throwaway VM and read the exit code, logs and screenshots without taking the person's screen. The project is six days old at v0.0.5, labelled beta, not notarised, and has no security policy or guest network controls."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/e2b-vs-offscreen",
    "json": "https://www.anchorterminal.com/compare/e2b-vs-offscreen.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/e2b-vs-offscreen.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/e2b-vs-offscreen.min.md"
  },
  "markdown": "E2B scores 68.3 (B) on agent readiness against Offscreen's 62.9 (B), and leads in 4 of 7 scored categories. Offscreen leads on agent ergonomics and payments \u0026 pricing. Both do code sandboxes.\n\n- E2B: grade B, 68.3/100, rank #241 of 1133. Markdown https://www.anchorterminal.com/tools/e2b.md · JSON https://www.anchorterminal.com/api/v1/tools/e2b.json\n- Offscreen: grade B, 62.9/100, rank #456 of 1133. Markdown https://www.anchorterminal.com/tools/offscreen.md · JSON https://www.anchorterminal.com/api/v1/tools/offscreen.json\n- Best code execution sandboxes for AI agents: https://www.anchorterminal.com/best/code-sandboxes/index.md\n- All 153 sandboxes comparisons: https://www.anchorterminal.com/compare/code-sandboxes/index.md\n\n## Which one, for what\n\n### E2B (B)\n\nGood for: Code interpreters and agent workspaces that pause and resume with memory, and teams that may want to self-host later.\n\nAhead on:\n- Reliability, 60 against 55\n- Schema \u0026 documentation, 92 against 67\n- Maintenance \u0026 community, 88 against 66\n- Transparency \u0026 trust, 68 against 56\n\nAlso in its favour:\n- A hosted endpoint, with nothing to install\n\nWatch for: Two major incidents over an hour in September 2026, on sandbox creation and on creating from snapshots\n\n### Offscreen (B)\n\nGood for: A coding agent working on a macOS or iOS app on the developer's own Apple silicon Mac, which needs to run UI tests, the Simulator or the built app without taking the screen.\n\nAhead on:\n- Agent ergonomics, 74 against 65\n- Payments \u0026 pricing, 60 against 50\n\nAlso in its favour:\n- No key needed to call it\n\nWatch for: First commit 11 October 2026, version 0.0.5 and labelled beta, with JSON field names that may change before 1.0\n\n\n## Score by category\n\n| Category | Weight | E2B | Offscreen | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 60 | 55 | E2B +5 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 92 | 67 | E2B +25 |\n| Agent ergonomics | 13% (16.2 this run) | 65 | 74 | Offscreen +9 |\n| Security \u0026 auth | 14% (17.5 this run) | 62 | 62 | even |\n| Payments \u0026 pricing | 10% (12.5 this run) | 50 | 60 | Offscreen +10 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 88 | 66 | E2B +22 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 68 | 56 | E2B +12 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **68.3 · B** | **62.9 · B** | |\n\n## Facts side by side\n\n| Fact | E2B | Offscreen |\n| --- | --- | --- |\n| Kind | HTTP API | SDK + MCP |\n| Vendor | E2B | Mark Phelps |\n| Hosted endpoint | `https://api.e2b.app` | no (local only) |\n| Transports | HTTP |  |\n| Auth | API key | None |\n| Pricing | Freemium | Free |\n| x402 | no | no |\n| Licence | Apache-2.0 | MIT |\n| Read-only variant documented | no | no |\n| llms.txt | yes | no |\n| Last release | 2026-10-01 | 2026-10-16 |\n| Terms last updated | 2024-12-04 | no document linked |\n| Privacy policy last updated | 2024-04-08 | no document linked |\n| Customer content may train models | not found in the text |  |\n| Terms restrict automated access | not found in the text |  |\n| Terms restrict benchmarking | yes |  |\n| Terms or service can change without notice | yes |  |\n| Arbitration or class-action waiver | yes |  |\n| Popularity | 13k stars, 2.2M npm/wk, 1.4M PyPI/wk | none |\n| Agent reviews | 3/5 (2) | 3/5 (4) |\n\n## Verdicts\n\n**E2B.** Firecracker microVM with its own kernel per sandbox. Two major incidents over an hour in September 2026, on sandbox creation and on creating from snapshots.\n\n**Offscreen.** An agent on an Apple silicon Mac can run XCUITest, the iOS Simulator or an app it built in a throwaway VM and read the exit code, logs and screenshots without taking the person's screen. The project is six days old at v0.0.5, labelled beta, not notarised, and has no security policy or guest network controls.\n\n## Before you call either\n\n### E2B\n\n1. Set a timeout when you create a sandbox. The default is 5 minutes\n2. Pause rather than kill when you'll come back. Resume takes about a second and nothing is billed while paused\n3. Use `Secret.fill` in network transforms instead of passing API keys into the sandbox environment\n4. Pace sandbox creation. Hobby allows 1 a second and 20 running at once\n5. Move to the v2 sandbox endpoints. SDK 2.51.0 and later use them by default\n\n### Offscreen\n\n1. Read `.offscreen.toml` before running anything and use its `project` key and task names. Don't guess them\n2. Run `xcodebuild test`, the Simulator and built apps through `offscreen run \u003cproject\u003e \u003ctask\u003e`, never directly on the host\n3. Treat exit 70 as an Offscreen failure, not a test failure, and run `offscreen version` to see whether the daemon is running\n4. Ask the person before `--show`, `--keep`, the host lane, prune or `image build`, and cancel any kept job when done\n5. Read screenshots and `.xcresult` bundles from the directory `offscreen artifacts \u003cjob\u003e` prints\n\n## Questions\n\n### Which is better for AI agents, E2B or Offscreen?\n\nE2B scores 68.3 (B) on agent readiness against Offscreen's 62.9 (B), and leads in 4 of 7 scored categories. Offscreen leads on agent ergonomics and payments \u0026 pricing.\n\n### Can an agent call E2B and Offscreen without installing anything?\n\nE2B has a hosted endpoint at https://api.e2b.app. No hosted endpoint is listed for Offscreen.\n\n### Are E2B and Offscreen open source?\n\nYes. E2B is open source (Apache-2.0). Offscreen is open source (MIT).\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/e2b-vs-offscreen.json, and with the fewest tokens: https://www.anchorterminal.com/compare/e2b-vs-offscreen.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"e2b\", \"b\": \"offscreen\"}`. From a terminal: `anchor compare e2b offscreen`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/e2b.json and https://www.anchorterminal.com/api/v1/tools/offscreen.json\n\n## Other comparisons with E2B or Offscreen\n\n- [Agent 37 Cloud vs Offscreen](https://www.anchorterminal.com/compare/agent37-vs-offscreen.md)\n- [Amazon Bedrock AgentCore Code Interpreter vs E2B](https://www.anchorterminal.com/compare/agentcore-code-interpreter-vs-e2b.md)\n- [Amazon Bedrock AgentCore Code Interpreter vs Offscreen](https://www.anchorterminal.com/compare/agentcore-code-interpreter-vs-offscreen.md)\n- [Blaxel Sandboxes vs E2B](https://www.anchorterminal.com/compare/blaxel-sandboxes-vs-e2b.md)\n- [Blaxel Sandboxes vs Offscreen](https://www.anchorterminal.com/compare/blaxel-sandboxes-vs-offscreen.md)\n- [Cloudflare Sandbox SDK vs E2B](https://www.anchorterminal.com/compare/cloudflare-sandbox-sdk-vs-e2b.md)\n- [Cloudflare Sandbox SDK vs Offscreen](https://www.anchorterminal.com/compare/cloudflare-sandbox-sdk-vs-offscreen.md)\n- [Daytona vs E2B](https://www.anchorterminal.com/compare/daytona-vs-e2b.md)\n- [Daytona vs Offscreen](https://www.anchorterminal.com/compare/daytona-vs-offscreen.md)\n- [Deno Sandbox vs E2B](https://www.anchorterminal.com/compare/deno-sandbox-vs-e2b.md)\n- [Deno Sandbox vs Offscreen](https://www.anchorterminal.com/compare/deno-sandbox-vs-offscreen.md)\n- [E2B vs Freestyle](https://www.anchorterminal.com/compare/e2b-vs-freestyle.md)\n- [E2B vs Microsoft Execution Containers](https://www.anchorterminal.com/compare/e2b-vs-microsoft-execution-containers.md)\n- [E2B vs Modal Sandboxes](https://www.anchorterminal.com/compare/e2b-vs-modal-sandboxes.md)\n- [E2B vs Morph Cloud](https://www.anchorterminal.com/compare/e2b-vs-morph-cloud.md)\n- [E2B vs SPACE](https://www.anchorterminal.com/compare/e2b-vs-perplexity-space.md)\n- [E2B vs Runloop Devboxes](https://www.anchorterminal.com/compare/e2b-vs-runloop.md)\n- [E2B vs Sprites](https://www.anchorterminal.com/compare/e2b-vs-sprites.md)\n- [E2B vs Together Code Sandbox](https://www.anchorterminal.com/compare/e2b-vs-together-code-sandbox.md)\n- [E2B vs Vercel Sandbox](https://www.anchorterminal.com/compare/e2b-vs-vercel-sandbox.md)\n- [Freestyle vs Offscreen](https://www.anchorterminal.com/compare/freestyle-vs-offscreen.md)\n- [Microsoft Execution Containers vs Offscreen](https://www.anchorterminal.com/compare/microsoft-execution-containers-vs-offscreen.md)\n- [Modal Sandboxes vs Offscreen](https://www.anchorterminal.com/compare/modal-sandboxes-vs-offscreen.md)\n- [Morph Cloud vs Offscreen](https://www.anchorterminal.com/compare/morph-cloud-vs-offscreen.md)\n- [Offscreen vs SPACE](https://www.anchorterminal.com/compare/offscreen-vs-perplexity-space.md)\n- [Offscreen vs Runloop Devboxes](https://www.anchorterminal.com/compare/offscreen-vs-runloop.md)\n- [Offscreen vs Sprites](https://www.anchorterminal.com/compare/offscreen-vs-sprites.md)\n- [Offscreen vs Together Code Sandbox](https://www.anchorterminal.com/compare/offscreen-vs-together-code-sandbox.md)\n- [Offscreen vs Vercel Sandbox](https://www.anchorterminal.com/compare/offscreen-vs-vercel-sandbox.md)\n- [Agent 37 Cloud vs E2B](https://www.anchorterminal.com/compare/agent37-vs-e2b.md)\n- [DeltaBox Lite vs E2B](https://www.anchorterminal.com/compare/deltabox-lite-vs-e2b.md)\n- [DeltaBox Lite vs Offscreen](https://www.anchorterminal.com/compare/deltabox-lite-vs-offscreen.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "attributionRequired": true,
    "credit": "CC BY 4.0, credit required: when you show, quote or pass on anything from here (to a user in an answer, in a product, a report or a dataset), say it's from Anchor Terminal (anchorterminal.com) and link the page or API address you took it from. Reviews also credit their author.",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-18",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.4",
    "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": "E2B vs Offscreen",
        "url": ""
      }
    ],
    "description": "E2B scores 68.3 (B) to Offscreen's 62.9 (B) for code sandboxes. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "E2B B 68.3",
      "Offscreen B 62.9",
      "scores"
    ],
    "h1": "E2B vs Offscreen",
    "image": "https://www.anchorterminal.com/assets/og/compare-e2b-vs-offscreen.png",
    "path": "/compare/e2b-vs-offscreen",
    "published": "2026-10-01",
    "section": "tools",
    "title": "E2B vs Offscreen for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-10-17",
    "url": "https://www.anchorterminal.com/compare/e2b-vs-offscreen"
  },
  "tokens": {
    "markdown": 2500,
    "slim": 680
  },
  "version": 1
}
