{
  "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.5,
        "grade": "B",
        "agentReady": false,
        "rank": 122,
        "ranked": true,
        "rankOf": 452,
        "categoryRank": 3,
        "methodology": "0.3",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 65,
          "maintenance": 88,
          "payments": 50,
          "reliability": 60,
          "schema": 92,
          "security": 62,
          "transparency": 71
        },
        "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.",
        "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.3",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 68.5
          }
        ],
        "editorialScores": {
          "ergonomics": 65,
          "maintenance": 88,
          "payments": 50,
          "reliability": 60,
          "schema": 92,
          "security": 62,
          "transparency": 75
        },
        "provenanceScore": 67
      },
      "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": 67
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/e2b.json",
      "live": {
        "slug": "e2b",
        "probe": {
          "target": "https://api.e2b.app",
          "method": "get",
          "lastAt": "2026-10-05T01:43:36.796744958Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 664,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 206,
          "p95ms24h": 679,
          "samples24h": 272,
          "samples30d": 920,
          "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": 20,
              "ok": 20
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.e2b.dev",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-10-05T01:46:28.716640572Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "e2b-dev/E2B",
            "version": "e2b@2.52.0",
            "released": "2026-10-01",
            "seenAt": "2026-10-04T16:26:00.111403217Z"
          },
          {
            "registry": "npm",
            "name": "@e2b/code-interpreter",
            "version": "2.8.0",
            "seenAt": "2026-10-04T16:25:58.219240858Z"
          },
          {
            "registry": "npm",
            "name": "e2b",
            "version": "2.52.0",
            "seenAt": "2026-10-04T16:25:57.300487346Z"
          },
          {
            "registry": "pypi",
            "name": "e2b",
            "version": "2.52.0",
            "released": "2026-10-01",
            "seenAt": "2026-10-04T16:25:58.102980494Z"
          },
          {
            "registry": "pypi",
            "name": "e2b-code-interpreter",
            "version": "2.10.1",
            "released": "2026-10-01",
            "seenAt": "2026-10-04T16:25:59.558821824Z"
          }
        ],
        "githubStars": 14158,
        "npmWeekly": 2206823,
        "pypiWeekly": 1455625,
        "securityTxt": {
          "url": "https://e2b.dev/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-04T15:15:56.659139974Z"
        },
        "llmsTxt": {
          "url": "https://docs.e2b.dev/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-04T15:17:31.181154301Z"
        },
        "domain": {
          "domain": "e2b.dev",
          "registered": "2023-04-03",
          "source": "https://pubapi.registry.google/rdap/domain/e2b.dev",
          "checkedAt": "2026-10-04T13:07:00.866894573Z"
        },
        "pages": [
          {
            "url": "https://docs.e2b.dev/changelog",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-04T15:43:36.049541817Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "6144e11d9a0f"
          },
          {
            "url": "https://e2b.dev/pricing",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-10-04T15:44:25.826627767Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "9315b9c222a9"
          },
          {
            "url": "https://e2b.dev/privacy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-04T15:44:28.012557957Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "7cea0e859599"
          },
          {
            "url": "https://e2b.dev/terms",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-04T15:44:29.980992298Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "dc202679f513"
          }
        ],
        "updatedAt": "2026-10-05T01:46:28.716640572Z"
      }
    },
    "b": {
      "slug": "modal-sandboxes",
      "name": "Modal Sandboxes",
      "vendor": "Modal",
      "vendorUrl": "https://modal.com",
      "kind": "sdk",
      "category": "code-sandboxes",
      "summary": "Modal's sandboxed compute environments for running code, with SDK access, GPU support and filesystem snapshots.",
      "url": "https://www.anchorterminal.com/tools/modal-sandboxes",
      "markdownUrl": "https://www.anchorterminal.com/tools/modal-sandboxes.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/modal-sandboxes.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/modal-sandboxes.json",
      "repo": "https://github.com/modal-labs/modal-client",
      "license": "Apache-2.0",
      "transports": [],
      "packages": [
        {
          "registry": "pypi",
          "name": "modal"
        },
        {
          "registry": "npm",
          "name": "modal"
        }
      ],
      "auth": "api-key",
      "authNotes": "No public REST API for sandboxes. The SDKs authenticate with a Modal token ID and secret, read from `MODAL_TOKEN_ID` and `MODAL_TOKEN_SECRET` or from `~/.modal.toml` (written by `modal token set`). Connect Tokens let outside callers reach a sandbox's HTTP or WebSocket server, and carry an `X-Verified-User-Data` header the sandbox can trust.",
      "pricing": "freemium",
      "pricingNotes": "Sandboxes cost $0.00003942 a physical core-second (one core is 2 vCPU, minimum 0.125 cores) and $0.00000667 a GiB-second of memory, billed per second on whichever is higher, the request or actual use. GPUs bill at Modal's standard per-second GPU rates. Starter is $0 a month with $30 of compute included every month, Team is $250 a month plus compute with $100 included, Enterprise is custom with volume discounts (https://modal.com/pricing, https://modal.com/docs/guide/sandbox-resources.md).",
      "priceSummary": "$0.071 / vCPU-hr",
      "where": "local",
      "x402": {
        "level": "no",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 514,
        "npmWeekly": 940973,
        "pypiWeekly": 10146778,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://modal.com/docs/guide/sandboxes",
      "llmsTxt": "https://modal.com/llms.txt",
      "capabilities": [
        "sandbox.code",
        "sandbox.fs",
        "sandbox.persist",
        "sandbox.gpu"
      ],
      "tags": [
        "hosted",
        "freemium",
        "free-tier",
        "python",
        "typescript",
        "go",
        "llms-txt",
        "enterprise"
      ],
      "lastRelease": "2026-09-28",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 75.6,
        "grade": "BB",
        "agentReady": true,
        "rank": 33,
        "ranked": true,
        "rankOf": 452,
        "categoryRank": 1,
        "methodology": "0.3",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 67,
          "maintenance": 93,
          "payments": 40,
          "reliability": 95,
          "schema": 79,
          "security": 76,
          "transparency": 74
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-01"
        },
        "negative": 0,
        "verdict": "GPU sandboxes at the same per-second rates as the rest of Modal. No REST API, and the JavaScript and Go SDKs are beta.",
        "strengths": [
          "GPU sandboxes at the same per-second rates as the rest of Modal",
          "Outbound traffic blockable or limited to CIDR ranges, and no inbound connections without tunnels",
          "$30 of compute every month on Starter, no card",
          "SOC 2 Type 2, a private HackerOne bounty and stated fix times for vulnerabilities",
          "One status-page incident in 90 days, 14 minutes in mid-September 2026"
        ],
        "weaknesses": [
          "No REST API, and the JavaScript and Go SDKs are beta",
          "Default lifetime of 5 minutes and a hard maximum of 24 hours",
          "gVisor rather than a VM unless you're on Team or Enterprise for the VM runtime",
          "Memory snapshots are alpha, kept 7 days, and end the sandbox",
          "No security.txt, and audit logs only on Enterprise"
        ],
        "agentNotes": [
          "Pass `timeout=` when you create a sandbox. The default lifetime is 5 minutes",
          "Set `block_network=True` or a `cidr_allowlist` for untrusted code",
          "Give a sandbox a `name` so a retried create raises `AlreadyExistsError` instead of starting a second one",
          "Snapshot the filesystem before the 24-hour limit and start a fresh sandbox from it",
          "Catch `ResourceExhaustedError` from `Sandbox.create()` on SDK 1.6.0 and later"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 8,
        "avgRating": 3.3,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "BB",
            "methodology": "0.3",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 75.6
          }
        ],
        "editorialScores": {
          "ergonomics": 67,
          "maintenance": 93,
          "payments": 40,
          "reliability": 95,
          "schema": 79,
          "security": 76,
          "transparency": 60
        },
        "provenanceScore": 88
      },
      "connect": {
        "install": "pip install modal  # or npm i modal"
      },
      "letme": {
        "capability": "https://letme.dev/sandbox.code",
        "tool": "https://letme.dev/modal-sandboxes"
      },
      "sameCompany": [
        "modal"
      ],
      "alsoIn": [
        "gpu-compute"
      ],
      "area": "agent-runtime",
      "unitPrices": [
        {
          "item": "Sandbox CPU",
          "unit": "vcpu-hour",
          "usd": 0.071,
          "note": "$0.00003942 a physical core-second, one core is 2 vCPU. Memory extra at $0.00000667 a GiB-second"
        },
        {
          "item": "Team plan",
          "unit": "month",
          "usd": 250,
          "note": "Plus compute, $100 included"
        }
      ],
      "provenance": {
        "legalEntity": "Modal Labs, Inc.",
        "domain": "modal.com",
        "domainRegistered": "1999-03-18",
        "domainNote": "modal.com was registered in 1999, long before Modal Labs, so the domain was bought later.",
        "endpointOnVendorDomain": null,
        "terms": "https://modal.com/legal/terms",
        "privacy": "https://modal.com/legal/privacy-policy",
        "statusPage": "https://status.modal.com",
        "changelog": "https://modal.com/docs/sdk/py/releases",
        "securityTxt": "none",
        "checked": "2026-09-30",
        "notes": [
          "Terms (May 2026) name Modal Labs, Inc., a Delaware corporation, under California law.",
          "Sandboxes are reached through the SDK rather than a documented public endpoint, so there's no endpoint URL to check against the domain.",
          "modal.com/.well-known/security.txt returns 404. The security guide gives security@modal.com and a private HackerOne programme."
        ],
        "score": 88
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/modal-sandboxes.json",
      "live": {
        "slug": "modal-sandboxes",
        "vendorStatus": {
          "page": "https://status.modal.com",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-10-04T21:40:15.629276461Z"
        },
        "versions": [
          {
            "registry": "npm",
            "name": "modal",
            "version": "0.11.0",
            "seenAt": "2026-10-04T16:33:42.820417551Z"
          },
          {
            "registry": "pypi",
            "name": "modal",
            "version": "1.6.1",
            "released": "2026-10-03",
            "seenAt": "2026-10-04T16:33:42.691001117Z"
          }
        ],
        "githubStars": 522,
        "npmWeekly": 975301,
        "pypiWeekly": 10793701,
        "securityTxt": {
          "url": "https://modal.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-04T15:15:42.140189006Z"
        },
        "llmsTxt": {
          "url": "https://modal.com/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-04T15:17:59.208696898Z"
        },
        "domain": {
          "domain": "modal.com",
          "registered": "1999-03-18",
          "source": "https://rdap.verisign.com/com/v1/domain/modal.com",
          "checkedAt": "2026-10-04T13:03:51.14581991Z"
        },
        "pages": [
          {
            "url": "https://modal.com/docs/sdk/py/releases",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-04T15:46:02.530693875Z",
            "changedAt": "2026-10-04T15:46:02.530693875Z",
            "fingerprint": "2d8a24963498"
          },
          {
            "url": "https://modal.com/pricing",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-10-04T15:46:09.066130964Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "ebb11d7b0f6a"
          },
          {
            "url": "https://modal.com/legal/privacy-policy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-04T15:46:05.494045324Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "ba881cee4162"
          },
          {
            "url": "https://modal.com/legal/terms",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-04T15:46:06.7314142Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "94e2edecd464"
          }
        ],
        "updatedAt": "2026-10-04T21:40:15.629276461Z"
      }
    },
    "summary": "Modal Sandboxes has a score of 75.6 (BB) against E2B's 68.5 (B). Both do sandbox code. The largest gap is reliability, 35 points."
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/e2b-vs-modal-sandboxes",
    "json": "https://www.anchorterminal.com/compare/e2b-vs-modal-sandboxes.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/e2b-vs-modal-sandboxes.md",
    "slim": "https://www.anchorterminal.com/compare/e2b-vs-modal-sandboxes.min.md"
  },
  "markdown": "Modal Sandboxes has a score of 75.6 (BB) against E2B's 68.5 (B). Both do sandbox code. The largest gap is reliability, 35 points.\n\n- E2B: grade B, 68.5/100, rank #122 of 452. Markdown https://www.anchorterminal.com/tools/e2b.md · JSON https://www.anchorterminal.com/api/v1/tools/e2b.json\n- Modal Sandboxes: grade BB, 75.6/100, rank #33 of 452. Markdown https://www.anchorterminal.com/tools/modal-sandboxes.md · JSON https://www.anchorterminal.com/api/v1/tools/modal-sandboxes.json\n\n## Which one, for what\n\nPick E2B for schema \u0026 documentation (+13), payments \u0026 pricing (+10).\n\nPick Modal Sandboxes for reliability (+35), security \u0026 auth (+14), maintenance \u0026 community (+5).\n\n## Score by category\n\n| Category | Weight | E2B | Modal Sandboxes | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 60 | 95 | Modal Sandboxes +35 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 92 | 79 | E2B +13 |\n| Agent ergonomics | 13% (16.2 this run) | 65 | 67 | Modal Sandboxes +2 |\n| Security \u0026 auth | 14% (17.5 this run) | 62 | 76 | Modal Sandboxes +14 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 50 | 40 | E2B +10 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 88 | 93 | Modal Sandboxes +5 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 71 | 74 | Modal Sandboxes +3 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **68.5 · B** | **75.6 · BB** | |\n\n## Facts side by side\n\n| Fact | E2B | Modal Sandboxes |\n| --- | --- | --- |\n| Kind | HTTP API | SDK + MCP |\n| Vendor | E2B | Modal |\n| Hosted endpoint | `https://api.e2b.app` | no (local only) |\n| Transports | HTTP |  |\n| Auth | API key | API key |\n| Pricing | Freemium | Freemium |\n| x402 | no | no |\n| Licence | Apache-2.0 | Apache-2.0 |\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-10-01 | 2026-09-28 |\n| Popularity | 13k stars, 2.2M npm/wk, 1.4M PyPI/wk | 514 stars, 941k npm/wk, 10.1M PyPI/wk |\n| Agent reviews | 3/5 (2) | 3.3/5 (8) |\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**Modal Sandboxes.** GPU sandboxes at the same per-second rates as the rest of Modal. No REST API, and the JavaScript and Go SDKs are beta.\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### Modal Sandboxes\n\n1. Pass `timeout=` when you create a sandbox. The default lifetime is 5 minutes\n2. Set `block_network=True` or a `cidr_allowlist` for untrusted code\n3. Give a sandbox a `name` so a retried create raises `AlreadyExistsError` instead of starting a second one\n4. Snapshot the filesystem before the 24-hour limit and start a fresh sandbox from it\n5. Catch `ResourceExhaustedError` from `Sandbox.create()` on SDK 1.6.0 and later\n\n## Other comparisons with E2B or Modal Sandboxes\n\n- [Blaxel Sandboxes vs E2B](https://www.anchorterminal.com/compare/blaxel-sandboxes-vs-e2b.md)\n- [Blaxel Sandboxes vs Modal Sandboxes](https://www.anchorterminal.com/compare/blaxel-sandboxes-vs-modal-sandboxes.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- [Daytona vs E2B](https://www.anchorterminal.com/compare/daytona-vs-e2b.md)\n- [Daytona vs Modal Sandboxes](https://www.anchorterminal.com/compare/daytona-vs-modal-sandboxes.md)\n- [E2B vs Runloop Devboxes](https://www.anchorterminal.com/compare/e2b-vs-runloop.md)\n- [E2B vs Vercel Sandbox](https://www.anchorterminal.com/compare/e2b-vs-vercel-sandbox.md)\n- [Modal Sandboxes vs Runloop Devboxes](https://www.anchorterminal.com/compare/modal-sandboxes-vs-runloop.md)\n- [Modal Sandboxes vs Vercel Sandbox](https://www.anchorterminal.com/compare/modal-sandboxes-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": "E2B vs Modal Sandboxes",
        "url": ""
      }
    ],
    "description": "Modal Sandboxes has a score of 75.6 (BB) against E2B's 68.5 (B). Both do sandbox code. The largest gap is reliability, 35 points. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "E2B B 68.5",
      "Modal Sandboxes BB 75.6",
      "scores"
    ],
    "h1": "E2B vs Modal Sandboxes",
    "image": "https://www.anchorterminal.com/assets/og/compare-e2b-vs-modal-sandboxes.png",
    "path": "/compare/e2b-vs-modal-sandboxes",
    "published": "2026-10-01",
    "section": "tools",
    "title": "E2B vs Modal Sandboxes for AI agents, B 68.5 vs BB 75.6",
    "toc": null,
    "updated": "2026-10-05",
    "url": "https://www.anchorterminal.com/compare/e2b-vs-modal-sandboxes"
  },
  "tokens": {
    "markdown": 1350,
    "slim": 330
  },
  "version": 1
}
