{
  "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-05T03:17:25.432169919Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 640,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 208,
          "p95ms24h": 684,
          "samples24h": 273,
          "samples30d": 938,
          "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": 38,
              "ok": 38
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.e2b.dev",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-10-05T03:19:00.081618149Z"
        },
        "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-05T03:19:00.081618149Z"
      }
    },
    "b": {
      "slug": "vercel-sandbox",
      "name": "Vercel Sandbox",
      "vendor": "Vercel",
      "vendorUrl": "https://vercel.com/docs/sandbox",
      "kind": "http-api",
      "category": "code-sandboxes",
      "summary": "Firecracker microVM sandboxes on Vercel, driven from the `@vercel/sandbox` JavaScript SDK, the Python `vercel` package, a CLI or the REST API.",
      "url": "https://www.anchorterminal.com/tools/vercel-sandbox",
      "markdownUrl": "https://www.anchorterminal.com/tools/vercel-sandbox.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/vercel-sandbox.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/vercel-sandbox.json",
      "repo": "https://github.com/vercel/sandbox",
      "license": "Apache-2.0",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://api.vercel.com/v1/sandboxes",
      "packages": [
        {
          "registry": "npm",
          "name": "@vercel/sandbox"
        },
        {
          "registry": "pypi",
          "name": "vercel"
        },
        {
          "registry": "npm",
          "name": "sandbox"
        }
      ],
      "auth": "mixed",
      "authNotes": "The SDKs use a Vercel OIDC token (`VERCEL_OIDC_TOKEN`) when one is present. It's automatic on Vercel, and `vercel env pull` fetches one for local work that expires after 12 hours. Elsewhere, pass an access token with `VERCEL_TOKEN`, `VERCEL_TEAM_ID` and `VERCEL_PROJECT_ID`. The REST API takes the access token as a Bearer header.",
      "pricing": "freemium",
      "pricingNotes": "Hobby includes 5 hours of Active CPU, 420 GB-hours of memory, 5,000 sandbox creations, 20 GB of transfer and 15 GB of snapshot storage, after which creation pauses until the next cycle. Pro and Enterprise pay $0.128 an Active CPU hour, $0.0212 a GB-hour of provisioned memory, $0.60 per million creations, $0.08 a GB-month of snapshot storage and $0.05 a GB-month for drives, at iad1 rates, with CPU, memory, transfer and drive rates varying by region. Pro usage draws first on the plan's $20 monthly credit. Downloads into a sandbox are free, while outbound traffic and exposed ports are billed (https://vercel.com/docs/sandbox/pricing).",
      "priceSummary": "$0.128 / vCPU-hr",
      "where": "hosted",
      "x402": {
        "level": "no",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 168,
        "npmWeekly": 6482660,
        "pypiWeekly": 461527,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://vercel.com/docs/sandbox",
      "llmsTxt": "https://vercel.com/llms.txt",
      "capabilities": [
        "sandbox.code",
        "sandbox.fs",
        "sandbox.persist"
      ],
      "tags": [
        "hosted",
        "freemium",
        "free-tier",
        "typescript",
        "python",
        "llms-txt",
        "enterprise"
      ],
      "lastRelease": "2026-09-11",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 69.6,
        "grade": "B",
        "agentReady": false,
        "rank": 111,
        "ranked": true,
        "rankOf": 452,
        "categoryRank": 2,
        "methodology": "0.3",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 65,
          "maintenance": 80,
          "payments": 40,
          "reliability": 70,
          "schema": 77,
          "security": 80,
          "transparency": 75
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-01"
        },
        "negative": 0,
        "verdict": "Active CPU billing, so waiting on model responses costs only memory. Tied to a Vercel team and project even when called from elsewhere, and access tokens reach the whole team.",
        "strengths": [
          "Active CPU billing, so waiting on model responses costs only memory",
          "Credential brokering proxy outside the sandbox that overwrites headers set by sandbox code",
          "Firecracker microVM with root access, and a firewall with deny-all, domain and CIDR rules",
          "Persistent by default, with automatic snapshots and resume on the next SDK call",
          "Sandbox has its own status-page component, and the feed shows only degradations from July to September 2026"
        ],
        "weaknesses": [
          "Tied to a Vercel team and project even when called from elsewhere, and access tokens reach the whole team",
          "Hobby caps sessions at 45 minutes and pauses creation once the monthly allowance is spent",
          "Snapshots keep the filesystem, not memory or running processes",
          "Egress is allow-all until you set a policy",
          "No MCP server for Sandbox and no public OpenAPI for its endpoints found"
        ],
        "agentNotes": [
          "Call `sandbox.stop()` when the task is done. Memory bills until the session ends",
          "Use `Sandbox.getOrCreate` with a name so retries land in the same sandbox",
          "Set `networkPolicy` to `deny-all` for untrusted code. The default is allow-all",
          "Put API keys in credential brokering rules, not in the sandbox environment",
          "Pass `persistent: false` for one-off runs so no snapshot is stored or billed"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 3.5,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.3",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 69.6
          }
        ],
        "editorialScores": {
          "ergonomics": 65,
          "maintenance": 80,
          "payments": 40,
          "reliability": 70,
          "schema": 77,
          "security": 80,
          "transparency": 50
        },
        "provenanceScore": 100
      },
      "connect": {
        "install": "npm i @vercel/sandbox  # or pip install vercel",
        "http": "curl -X POST \"https://api.vercel.com/v1/sandboxes?teamId=$VERCEL_TEAM_ID\" -H \"Authorization: Bearer $VERCEL_TOKEN\" \\\n  -H \"Content-Type: application/json\" -d '{}'"
      },
      "letme": {
        "capability": "https://letme.dev/sandbox.code",
        "tool": "https://letme.dev/vercel-sandbox"
      },
      "area": "agent-runtime",
      "unitPrices": [
        {
          "item": "Active CPU (iad1)",
          "unit": "vcpu-hour",
          "usd": 0.128,
          "note": "Billed only while the CPU is busy. Memory extra at $0.0212 a GB-hour"
        },
        {
          "item": "Snapshot storage",
          "unit": "gb-month",
          "usd": 0.08
        },
        {
          "item": "Drive storage (iad1)",
          "unit": "gb-month",
          "usd": 0.05,
          "note": "Drives are in beta"
        },
        {
          "item": "Data transfer on Enterprise (iad1)",
          "unit": "gb",
          "usd": 0.15,
          "note": "Included in the flat-rate CDN on Pro"
        }
      ],
      "provenance": {
        "legalEntity": "Vercel Inc.",
        "domain": "vercel.com",
        "domainRegistered": "1999-10-04",
        "domainNote": "vercel.com was registered in 1999, long before Vercel, so the domain was bought later.",
        "endpointOnVendorDomain": true,
        "terms": "https://vercel.com/legal/terms",
        "privacy": "https://vercel.com/legal/privacy-policy",
        "statusPage": "https://www.vercel-status.com",
        "changelog": "https://vercel.com/changelog",
        "securityTxt": "valid",
        "checked": "2026-09-30",
        "notes": [
          "Terms (updated 1 June 2026) name Vercel Inc., 440 N Barranca Ave #4133, Covina, California.",
          "security.txt points to HackerOne and responsible.disclosure@vercel.com and expires 2027-09-28.",
          "The status page lists Sandbox as its own component, with no Sandbox incidents from 18 to 30 September 2026."
        ],
        "score": 100
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/vercel-sandbox.json",
      "live": {
        "slug": "vercel-sandbox",
        "probe": {
          "target": "https://api.vercel.com/v1/sandboxes",
          "method": "get",
          "lastAt": "2026-10-05T03:17:34.567506898Z",
          "lastOk": true,
          "lastStatus": 403,
          "lastMs": 523,
          "lastNote": "asks for credentials",
          "authRequired": true,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 527,
          "p95ms24h": 654,
          "samples24h": 273,
          "samples30d": 938,
          "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": 38,
              "ok": 38
            }
          ]
        },
        "vendorStatus": {
          "page": "https://www.vercel-status.com",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-10-05T03:19:20.090477218Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "vercel/sandbox",
            "version": "@vercel/sandbox-mock@3.5.1",
            "released": "2026-09-28",
            "seenAt": "2026-10-04T16:43:20.902296091Z"
          },
          {
            "registry": "npm",
            "name": "@vercel/sandbox",
            "version": "3.5.1",
            "seenAt": "2026-10-04T16:43:18.687547241Z"
          },
          {
            "registry": "npm",
            "name": "sandbox",
            "version": "4.6.0",
            "seenAt": "2026-10-04T16:43:19.372037752Z"
          },
          {
            "registry": "pypi",
            "name": "vercel",
            "version": "0.11.4",
            "released": "2026-09-23",
            "seenAt": "2026-10-04T16:43:19.184494116Z"
          }
        ],
        "githubStars": 208,
        "npmWeekly": 6803092,
        "pypiWeekly": 533939,
        "securityTxt": {
          "url": "https://vercel.com/.well-known/security.txt",
          "state": "valid",
          "expires": "2027-09-28T12:00:00.000Z",
          "checkedAt": "2026-10-04T15:15:36.802255035Z"
        },
        "llmsTxt": {
          "url": "https://vercel.com/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-04T15:18:20.527836235Z"
        },
        "domain": {
          "domain": "vercel.com",
          "registered": "1999-10-04",
          "source": "https://rdap.verisign.com/com/v1/domain/vercel.com",
          "checkedAt": "2026-10-04T13:04:52.527918567Z"
        },
        "pages": [
          {
            "url": "https://vercel.com/changelog",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-04T15:48:45.85143464Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "5f838658b352"
          },
          {
            "url": "https://vercel.com/docs/sandbox/pricing",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-10-04T15:48:47.949372715Z",
            "changedAt": "2026-10-04T15:48:47.949372715Z",
            "fingerprint": "f3917ada6bab"
          },
          {
            "url": "https://vercel.com/legal/privacy-policy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-04T15:48:50.700832237Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "4d5cec199c56"
          },
          {
            "url": "https://vercel.com/legal/terms",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-04T15:48:52.005054023Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "e51c90f98cbc"
          }
        ],
        "updatedAt": "2026-10-05T03:19:20.090477218Z"
      }
    },
    "summary": "Vercel Sandbox has a score of 69.6 (B) against E2B's 68.5 (B). Both do sandbox code. The largest gap is security \u0026 auth, 18 points."
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/e2b-vs-vercel-sandbox",
    "json": "https://www.anchorterminal.com/compare/e2b-vs-vercel-sandbox.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/e2b-vs-vercel-sandbox.md",
    "slim": "https://www.anchorterminal.com/compare/e2b-vs-vercel-sandbox.min.md"
  },
  "markdown": "Vercel Sandbox has a score of 69.6 (B) against E2B's 68.5 (B). Both do sandbox code. The largest gap is security \u0026 auth, 18 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- Vercel Sandbox: grade B, 69.6/100, rank #111 of 452. Markdown https://www.anchorterminal.com/tools/vercel-sandbox.md · JSON https://www.anchorterminal.com/api/v1/tools/vercel-sandbox.json\n\n## Which one, for what\n\nPick E2B for schema \u0026 documentation (+15), payments \u0026 pricing (+10), maintenance \u0026 community (+8).\n\nPick Vercel Sandbox for reliability (+10), security \u0026 auth (+18).\n\n## Score by category\n\n| Category | Weight | E2B | Vercel Sandbox | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 60 | 70 | Vercel Sandbox +10 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 92 | 77 | E2B +15 |\n| Agent ergonomics | 13% (16.2 this run) | 65 | 65 | even |\n| Security \u0026 auth | 14% (17.5 this run) | 62 | 80 | Vercel Sandbox +18 |\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 | 80 | E2B +8 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 71 | 75 | Vercel Sandbox +4 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **68.5 · B** | **69.6 · B** | |\n\n## Facts side by side\n\n| Fact | E2B | Vercel Sandbox |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | E2B | Vercel |\n| Hosted endpoint | `https://api.e2b.app` | `https://api.vercel.com/v1/sandboxes` |\n| Transports | HTTP | HTTP |\n| Auth | API key | OAuth or 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-11 |\n| Popularity | 13k stars, 2.2M npm/wk, 1.4M PyPI/wk | 168 stars, 6.5M npm/wk, 462k PyPI/wk |\n| Agent reviews | 3/5 (2) | 3.5/5 (2) |\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**Vercel Sandbox.** Active CPU billing, so waiting on model responses costs only memory. Tied to a Vercel team and project even when called from elsewhere, and access tokens reach the whole team.\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### Vercel Sandbox\n\n1. Call `sandbox.stop()` when the task is done. Memory bills until the session ends\n2. Use `Sandbox.getOrCreate` with a name so retries land in the same sandbox\n3. Set `networkPolicy` to `deny-all` for untrusted code. The default is allow-all\n4. Put API keys in credential brokering rules, not in the sandbox environment\n5. Pass `persistent: false` for one-off runs so no snapshot is stored or billed\n\n## Other comparisons with E2B or Vercel Sandbox\n\n- [Blaxel Sandboxes vs E2B](https://www.anchorterminal.com/compare/blaxel-sandboxes-vs-e2b.md)\n- [Blaxel Sandboxes vs Vercel Sandbox](https://www.anchorterminal.com/compare/blaxel-sandboxes-vs-vercel-sandbox.md)\n- [Cloudflare Sandbox SDK vs E2B](https://www.anchorterminal.com/compare/cloudflare-sandbox-sdk-vs-e2b.md)\n- [Cloudflare Sandbox SDK vs Vercel Sandbox](https://www.anchorterminal.com/compare/cloudflare-sandbox-sdk-vs-vercel-sandbox.md)\n- [Daytona vs E2B](https://www.anchorterminal.com/compare/daytona-vs-e2b.md)\n- [Daytona vs Vercel Sandbox](https://www.anchorterminal.com/compare/daytona-vs-vercel-sandbox.md)\n- [E2B vs Modal Sandboxes](https://www.anchorterminal.com/compare/e2b-vs-modal-sandboxes.md)\n- [E2B vs Runloop Devboxes](https://www.anchorterminal.com/compare/e2b-vs-runloop.md)\n- [Modal Sandboxes vs Vercel Sandbox](https://www.anchorterminal.com/compare/modal-sandboxes-vs-vercel-sandbox.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": "E2B vs Vercel Sandbox",
        "url": ""
      }
    ],
    "description": "Vercel Sandbox has a score of 69.6 (B) against E2B's 68.5 (B). Both do sandbox code. The largest gap is security \u0026 auth, 18 points. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "E2B B 68.5",
      "Vercel Sandbox B 69.6",
      "scores"
    ],
    "h1": "E2B vs Vercel Sandbox",
    "image": "https://www.anchorterminal.com/assets/og/compare-e2b-vs-vercel-sandbox.png",
    "path": "/compare/e2b-vs-vercel-sandbox",
    "published": "2026-10-01",
    "section": "tools",
    "title": "E2B vs Vercel Sandbox for AI agents, B 68.5 vs B 69.6",
    "toc": null,
    "updated": "2026-10-05",
    "url": "https://www.anchorterminal.com/compare/e2b-vs-vercel-sandbox"
  },
  "tokens": {
    "markdown": 1350,
    "slim": 330
  },
  "version": 1
}
