{
 "features_resolved": {
  "snapshot_any": true,
  "snapshot_mem": true,
  "fork": true,
  "pause_resume": true,
  "persistent_disk": true,
  "whole_disk": true,
  "persist_scope": null,
  "volumes": true,
  "auto_stop_idle": true,
  "long_sessions": true,
  "custom_image": true,
  "image_snapshot": true,
  "image_oci": true,
  "vm_isolation": true,
  "docker_inside": true,
  "nested_virt": false,
  "root": true,
  "systemd": true,
  "browser": true,
  "desktop": true,
  "computer_use": true,
  "code_interpreter": true,
  "browser_control": null,
  "desktop_control": true,
  "browser_and_desktop": true,
  "anti_bot": false,
  "captcha_solving": false,
  "residential_ip": false,
  "agent_harnesses": true,
  "ssh": true,
  "public_ipv4": false,
  "inbound_https": true,
  "custom_domain": false,
  "raw_tcp_inbound": false,
  "egress_allowlist": true,
  "open_internet": true,
  "static_egress_ip": false,
  "private_network": null,
  "self_host": true,
  "byoc": true,
  "open_source": true,
  "soc2": true,
  "hipaa": true,
  "sso": false,
  "gpu": false,
  "arm64": false,
  "windows": false,
  "macos": false,
  "lang_python": true,
  "lang_node": true,
  "lang_go": null,
  "lang_rust": null,
  "lang_java": null,
  "gpu_desktop": false,
  "credential_injection": true,
  "egress_http_rules": false,
  "wake_on_request": true,
  "live_resize": false,
  "fork_running": true,
  "memory_snapshot_fork": true,
  "webhooks": true,
  "scheduled_wakeups": null,
  "audit_logs": null,
  "eu_data_residency": true,
  "zero_data_retention": null,
  "scoped_api_keys": null,
  "spend_limits": true,
  "mcp_server": true,
  "usage_api": false,
  "snapshot_auto": true,
  "snapshot_on_demand": true,
  "harness_api": false,
  "own_agent_api": false,
  "fast_boot": true,
  "strong_isolation": true,
  "ingress_rules": true,
  "guest_firewall": true,
  "secret_proxy": true,
  "secret_proxy_any": true,
  "volume_attach": true,
  "volume_shared": true,
  "sidecar": null,
  "fuse": true,
  "kernel_features": true,
  "burst": null
 },
 "company": {
  "id": "e2b",
  "checked": "2026-09-30",
  "company": "E2B (legal name FoundryLabs Inc.)",
  "ownership": {
   "value": "independent",
   "parent": null,
   "source": "https://siliconangle.com/2025/07/28/e2b-shares-vision-sandboxed-cloud-environments-every-ai-agent-raising-21m-funding/",
   "quote": "The startup, officially known as FoundryLabs Inc., said today's Series A round was led by Insight Partners"
  },
  "stage": {
   "value": "series-a",
   "source": "https://venturebeat.com/ai/how-e2b-became-essential-to-88-of-fortune-100-companies-and-raised-21-million/",
   "quote": "E2B, a startup providing cloud infrastructure specifically designed for artificial intelligence agents, has closed a $21 million Series A funding round led by Insight Partners",
   "confidence": "high",
   "note": "Last priced round is the July 2025 Series A. Not YC-backed (checked yc-oss company list); no accelerator affiliation found."
  },
  "accelerators": [
   {
    "name": "Pioneer",
    "batch": null,
    "source": "https://pioneer.app/",
    "quote": "listed in the Pioneer portfolio as \"E2B\"",
    "confidence": "high",
    "via": "portfolio-domain"
   }
  ],
  "total_funding_usd": {
   "value": 32000000,
   "status": "confirmed",
   "basis": "the company's Series A announcement states the total",
   "source": "https://e2b.dev/resources/series-a",
   "quote": "This Brings Our Total Funding to $32M"
  },
  "last_round": {
   "type": "series-a",
   "amount_usd": 21000000,
   "date": "2025-07",
   "leads": [
    "Insight Partners"
   ],
   "status": "confirmed",
   "source": "https://siliconangle.com/2025/07/28/e2b-shares-vision-sandboxed-cloud-environments-every-ai-agent-raising-21m-funding/",
   "quote": "today's Series A round was led by Insight Partners and saw participation from Decibel, Sunflower Capital, Kaya and well-known angel investors such as former Docker Inc. Chief Executive Scott Johnston."
  },
  "investors": [
   "Insight Partners",
   "Decibel",
   "Sunflower Capital",
   "Kaya",
   "Scott Johnston (angel, former Docker CEO)",
   "Pareto Holdings",
   "Matej Turek",
   "Juraj Masar",
   "Liu Jiang",
   "Operator Collective"
  ],
  "portfolio_listings": [
   {
    "source": "Decibel",
    "company": "E2B",
    "batch": null,
    "how": "domain"
   },
   {
    "source": "Operator Collective",
    "company": "E2B",
    "batch": null,
    "how": "domain"
   },
   {
    "source": "Pioneer",
    "company": "E2B",
    "batch": null,
    "how": "domain"
   }
  ],
  "revenue": {
   "value": null,
   "status": "unknown"
  },
  "employees": {
   "value": null,
   "source": "http://web.archive.org/web/20241007123450/https://www.crunchbase.com/organization/e2b-1c91 (listed '1-10' employees as of Oct 2024, likely outdated given later Fortune 100 traction)"
  },
  "note": "Founded 2023 by Vasek Mlejnsky and Tomas Valenta (legal entity FoundryLabs Inc.), San Francisco. Started as an open-source project (per E2B's own About page: 'From a two-person open-source project to the platform 94 of the Fortune 100 have signed up for'). Raised a ~$2.5M Pre-Seed (Sep 2023, per Crunchbase) then a $21M Series A led by Insight Partners (Jul 2025). Not affiliated with Y Combinator or any accelerator found in research; unrelated to the 'Easy2Boot' (easy2boot.xyz) or pharma 'ICH E2B' namesakes that dominate generic web searches for 'E2B'."
 },
 "id": "e2b",
 "name": "E2B",
 "url": "https://e2b.dev/pricing",
 "category": "agent-sandbox",
 "isolation": "firecracker",
 "modes": [
  {
   "key": "on-demand",
   "label": "On-demand (per-second, allocated)",
   "pricing": "resource",
   "vcpu_h": 0.0504,
   "ram_gib_h": 0.0162,
   "cpu_basis": "alloc",
   "ram_basis": "alloc",
   "active_floor": 0,
   "ram_per_vcpu": [
    null,
    null
   ],
   "ram_fixed_per_vcpu": null,
   "vcpu_options": null,
   "min_vcpu": 1,
   "max_vcpu": 8,
   "max_ram_gib": 8,
   "sizes": null,
   "pool_tiers": null,
   "requires_always_on": false,
   "always_on_month_per_instance": null,
   "commit_note": null,
   "min_billed_seconds": 0,
   "granularity_s": 1,
   "start_fee": 0,
   "boot_overhead_s": 0,
   "multiplier": 1,
   "windows_vcpu_h": null,
   "gpu": null,
   "note": "$0.000014/vCPU-s + $0.0000045/GiB-s, same on Hobby and Pro. Billed on allocation while running, idle included; paused/killed = $0. CPU/RAM fixed per template (cpuCount/memoryMB). Self-serve max 8 vCPU / 8 GiB; more via support/Enterprise. Enterprise uses the same meter with negotiated (unpublished) rates and a $3,000/mo usage minimum (modelled as the Enterprise plan). Basis verified 2026-09-28: \"You pay per second for compute resources while your sandbox is running.\" (https://docs.e2b.dev/billing). The timeout runs from creation and is not reset by activity (\"the timeout is not reset\" on connect; extend with setTimeout, default 5 min) (https://docs.e2b.dev/sandbox/persistence), so there is no idle-triggered stop: auto_stop_idle = false; the timeout_tail knob models the TTL tail.",
   "features": {
    "isolation": "firecracker"
   },
   "flags": [],
   "cpu_class": "shared"
  }
 ],
 "storage": {
  "included_disk_gib": 20,
  "disk_gib_month": null,
  "disk_billed_when_stopped": false,
  "snapshot_gib_month": 0,
  "paused_ram_billed": false
 },
 "network": {
  "egress_free_gib": null,
  "egress_gib": null,
  "ipv4_month": null,
  "ipv4_available": false,
  "internet": {
   "default": "configurable",
   "evidence": [
    {
     "quote": "Every sandbox has outbound access to the internet by default.",
     "url": "https://docs.e2b.dev/sandbox/internet-access"
    }
   ]
  }
 },
 "plans": [
  {
   "name": "Hobby",
   "fee": 0,
   "fee_is_credit": false,
   "included_usd": 0,
   "per_seat": 0,
   "concurrency": 20,
   "max_session_h": 1,
   "max_vcpu": 8,
   "max_ram_gib": 8,
   "sizes_allowed": null,
   "note": "$100 one-time credit (see free); account blocked when exhausted. 10 GiB disk. 1 create/s. Max continuous runtime 1 h, resets on pause/resume. Pricing page says 'Default sandbox CPU and RAM' vs docs 8 vCPU/8 GiB max (conflict).",
   "flags": [],
   "max_starts_per_min": 60,
   "note (append)": "Hobby runs in US (us-west1) only; EU and APAC are 'Pro plan and above' after contacting support."
  },
  {
   "name": "Pro",
   "fee": 150,
   "fee_is_credit": false,
   "included_usd": 0,
   "per_seat": 0,
   "concurrency": 100,
   "max_session_h": 24,
   "max_vcpu": 8,
   "max_ram_gib": 8,
   "sizes_allowed": null,
   "note": "Fee buys limits only, no credits. 20 GiB disk, 5 creates/s. '8+' vCPU/GiB on request. EU/Asia region on request.",
   "flags": [],
   "max_starts_per_min": 300,
   "note (append)": "Plan and fee are per project, and each project is pinned to one region (US us-west1, EU europe-west1, APAC asia-southeast1; EU/APAC Pro and above via support). Running in two regions, or splitting workloads across projects, means a separate $150 Pro fee (and separate concurrency pool / add-ons) per project. Consolidated workspace billing is 'on the roadmap'."
  },
  {
   "name": "Pro+ (600 concurrent)",
   "fee": 650,
   "fee_is_credit": false,
   "included_usd": 0,
   "per_seat": 0,
   "concurrency": 600,
   "max_session_h": 24,
   "max_vcpu": 8,
   "max_ram_gib": 8,
   "sizes_allowed": null,
   "note": "Published self-serve plan 'Pro+ ($650/month)' = $150 Pro + $500/mo concurrency add-on (500 slots). Monthly, no long-term commit. Source: https://e2b.dev/pricing (2026-09-28).",
   "flags": [],
   "max_starts_per_min": 300
  },
  {
   "name": "Pro++ (1,100 concurrent)",
   "fee": 1150,
   "fee_is_credit": false,
   "included_usd": 0,
   "per_seat": 0,
   "concurrency": 1100,
   "max_session_h": 24,
   "max_vcpu": 8,
   "max_ram_gib": 8,
   "sizes_allowed": null,
   "note": "Published self-serve plan 'Pro++ ($1,150/month)' = $150 Pro + 2 x $500 add-ons. Self-serve ceiling. Source: https://e2b.dev/pricing (2026-09-28).",
   "flags": [],
   "max_starts_per_min": 300
  },
  {
   "name": "Enterprise",
   "fee": 3000,
   "fee_is_credit": true,
   "included_usd": 0,
   "per_seat": 0,
   "concurrency": null,
   "max_session_h": null,
   "max_vcpu": null,
   "max_ram_gib": null,
   "sizes_allowed": null,
   "note": "'$3,000/mo minimum' (pricing calculator: \"Enterprise requires $3,000/mo minimum\"). The 1-year usage commitment is now confirmed by official pages (\"commit to a minimum monthly usage for a year\"; \"A one-year minimum usage commit\"), and Enterprise rates are said to be lower than list (\"higher limits at lower prices\"; \"Higher concurrency at lower rates\"). Discount is unpublished, so the card still models the $3,000 floor at list rates. 1,100+ ('tens of thousands') concurrency, custom sizes and session length, BYOC on AWS/GCP/Azure.",
   "flags": [
    "sales"
   ]
  }
 ],
 "free": {
  "monthly_credit": 0,
  "one_time_credit": 100
 },
 "features": {
  "linux": true,
  "windows": false,
  "macos": false,
  "arm64": false,
  "gpu": false,
  "gpu_types": [],
  "snapshot": "mem",
  "pause_resume": true,
  "fork": true,
  "persistent_disk": true,
  "volumes": true,
  "auto_stop_idle": true,
  "max_session_h": 24,
  "custom_image": true,
  "docker_inside": true,
  "nested_virt": false,
  "root": true,
  "systemd": true,
  "browser": true,
  "desktop": true,
  "computer_use": true,
  "code_interpreter": true,
  "agent_harnesses": true,
  "ssh": true,
  "public_ipv4": false,
  "inbound_https": true,
  "custom_domain": false,
  "raw_tcp_inbound": false,
  "egress_allowlist": true,
  "static_egress_ip": false,
  "private_network": null,
  "self_host": true,
  "byoc": true,
  "open_source": true,
  "regions": [
   "us",
   "eu",
   "asia"
  ],
  "soc2": true,
  "hipaa": true,
  "sso": false,
  "lang_python": true,
  "lang_node": true,
  "lang_go": null,
  "lang_rust": null,
  "lang_java": null,
  "gpu_desktop": false,
  "credential_injection": true,
  "egress_http_rules": false,
  "wake_on_request": true,
  "live_resize": false,
  "fork_running": true,
  "memory_snapshot_fork": true,
  "webhooks": true,
  "scheduled_wakeups": null,
  "audit_logs": null,
  "eu_data_residency": true,
  "zero_data_retention": null,
  "scoped_api_keys": null,
  "spend_limits": true,
  "mcp_server": true,
  "browser_control": null,
  "desktop_control": true,
  "anti_bot": false,
  "captcha_solving": false,
  "egress_ip_type": "datacenter",
  "ip_note": "Egress from rotating ephemeral Google Cloud IPs, no static IP on any plan; BYO SOCKS5 proxy / IP tunneling supported. Managed browser (CDP, stealth, CAPTCHA, residential proxies) only via partner Kernel, not E2B itself.",
  "isolation": "firecracker",
  "image_oci": true,
  "snapshot_auto": true,
  "snapshot_on_demand": true,
  "harness_api": false,
  "egress_allowlist_level": "both",
  "ingress_rules": true,
  "guest_firewall": true,
  "secret_proxy": "any-http",
  "volume_attach": true,
  "volume_shared": true,
  "own_agent_api": false,
  "fast_boot": true,
  "open_internet": true,
  "usage_api": false
 },
 "perf": {
  "cpu_runs_s": 12.61,
  "cold_start_ms": 575.51,
  "burst_tti_ms": 1237.69,
  "dax_s": 77.09
 },
 "perf_source": "StarSling hpc-sandbox-benchmarks, run 36498291449 (2026-09-29), Node.js V8 Web Tooling p50 at a 4 vCPU / 8 GB target",
 "knobs": [
  {
   "id": "running_pct",
   "label": "Share of session running (pause between steps)",
   "kind": "slider",
   "min": 0.05,
   "max": 1,
   "step": 0.05,
   "default": 1,
   "unit": "%",
   "options": null,
   "effect": "hours_factor",
   "modes": [
    "on-demand"
   ],
   "why": "E2B bills allocated vCPU+RAM for every running second, idle included; paused sandboxes (pause() or onTimeout:'pause') are not billed, do not count toward concurrency and are kept indefinitely. Pausing during idle gaps bills only the running share; with the default onTimeout 'kill' you must keep the sandbox running to keep state, so 1 (default).",
   "source": "https://docs.e2b.dev/faq/sandbox-lifetime"
  },
  {
   "id": "timeout_tail",
   "label": "Idle tail until timeout fires (x session hours)",
   "kind": "slider",
   "min": 1,
   "max": 3,
   "step": 0.05,
   "default": 1,
   "unit": "x",
   "options": null,
   "effect": "hours_factor",
   "modes": [
    "on-demand"
   ],
   "why": "Default timeout is 5 min, after which the sandbox is killed (or paused if opted in); until then idle time bills at full rate. Raising the timeout (up to 24 h on Pro) to avoid kills bills every idle hour. Factor = (session + timeout) / session, e.g. 5 min on 10-min sessions = 1.5x.",
   "source": "https://docs.e2b.dev/faq/sandbox-lifetime"
  }
 ],
 "caveats": [
  "CPU and RAM billed on allocation while running. Idle auto-pause is opt-in: default onTimeout is 'kill' (5 min default timeout); set lifecycle onTimeout 'pause' (+ autoResume) and the sandbox pauses after the timeout with no SDK/HTTP activity, then resumes on the next HTTP request or SDK call (docs.e2b.dev/sandbox/persistence, /sandbox/auto-resume, 2026-09-28). auto_stop_idle=true assumes you enable it.",
  "Pro $150/mo fee grants no usage credit.",
  "Enterprise: $3,000/mo minimum with 1-year commit; negotiated rates unpublished; treated here as a usage floor at list rates (unverified).",
  "BYOC (Enterprise, AWS/GCP) pricing unpublished; customer also pays own cloud compute.",
  "Egress/ingress: no network charges documented anywhere; left null (appears unmetered).",
  "Snapshots/paused sandboxes: officially not billed and retained indefinitely; some third-party blogs claim storage charges — not supported by official docs as of 2026-09-28.",
  "Volumes (private beta) and template build billing unpublished.",
  "Included disk 20 GiB is Pro ('20+'); Hobby is 10 GiB. No self-serve extra disk.",
  "Region multiplier for EU/Asia not published; assumed 1.",
  "Self-serve max 8 vCPU / 8 GiB; Pro '8+' on request. Allowed vCPU values: calculator lists 1,2,4,6,8; changelog says 1-8.",
  "No published minimum billed seconds or start fee; whether pause duration (~4 s per GiB RAM) is billed is undocumented.",
  "One-time $20,000 credit programmes (Startups, Research) exist for eligible first-time users; not modelled.",
  "Rates identical on Hobby and Pro; no volume discounts except via Enterprise.",
  "Verifier 2026-09-28: Pro+ ($650, 600 concurrent) and Pro++ ($1,150, 1,100 concurrent) were flagged 'addon', which the engine never prices; they are published self-serve plans on https://e2b.dev/pricing, so flags cleared.",
  "Sandbox creation-rate limits (Hobby 1/s, Pro 5/s; https://docs.e2b.dev/billing) are not modelled by the engine.",
  "Startups / Research programmes: one-time $20,000 credit plus Pro-tier membership ('The Pro tier, and $20,000 to spend on it'); concurrency add-ons and Enterprise bought separately. Startups: <3 years old, <$5M raised.",
  "BYOC (Enterprise) is now also available on Azure, in addition to AWS and GCP. Pricing is unpublished and the customer also pays their own cloud compute. Private cloud/on-prem is in development.",
  "Unresolved conflict: e2b.dev/pricing (2026-09-29) lists Hobby as 'Default sandbox CPU and RAM' (Pro: 'Custom'), while the docs/billing say Hobby allows up to 8 vCPU / 8 GiB. The card keeps 8/8 on Hobby."
 ],
 "sources": [
  "https://e2b.dev/pricing",
  "https://docs.e2b.dev/billing",
  "https://docs.e2b.dev/faq/calculate-sandbox-price",
  "https://docs.e2b.dev/faq/sandbox-lifetime",
  "https://docs.e2b.dev/faq/paused-sandboxes-concurrency",
  "https://docs.e2b.dev/faq/increase-concurrency",
  "https://docs.e2b.dev/faq/build-limits",
  "https://docs.e2b.dev/faq/eu-region",
  "https://docs.e2b.dev/byoc",
  "https://docs.e2b.dev/volumes",
  "https://docs.e2b.dev/sandbox/snapshots",
  "https://docs.e2b.dev/changelog",
  "https://e2b.dev/startups",
  "https://e2b.dev/research",
  "https://docs.e2b.dev/sandbox/persistence",
  "https://docs.e2b.dev/sandbox/auto-resume"
 ],
 "fleet": {
  "default_max_instances": 20,
  "default_max_vcpu": null,
  "default_max_gpus": null,
  "raise": "self-serve",
  "raise_time_days": 0,
  "verification": "Hobby requires no credit card; Pro billed through Stripe. Enterprise requires committed usage.",
  "tiers": "Hobby 20; Pro $150/month 100; Pro+ $650/month 600; Pro++ $1,150/month 1,100; above 1,100 Enterprise annual minimum-usage commitment.",
  "notes": "Self-serve add-ons buy 500 slots each at $500/month and apply immediately without provisioning delay. 10 fits Hobby, 50 Pro, 300 Pro+, 1,000 Pro++. Only running sandboxes count; create rates 1/sec Hobby and 5/sec Pro still constrain ramp-up.",
  "sources": [
   "https://e2b.dev/pricing",
   "https://docs.e2b.dev/billing",
   "https://docs.e2b.dev/faq/increase-concurrency",
   "https://docs.e2b.dev/faq/paused-sandboxes-concurrency"
  ],
  "researched": "2026-09-28"
 },
 "audit_2026_09_29": {
  "applied": 5,
  "source": "checked against the provider's live pricing and docs pages",
  "reviewed": 3
 },
 "feature_evidence": {
  "snapshot_auto": {
   "value": true,
   "source": "https://docs.e2b.dev/sandbox/auto-resume.md",
   "quote": "| | `\"pause\"` | Sandbox is paused (full memory + filesystem snapshot) when timeout is reached |",
   "note": "Opt-in: lifecycle.onTimeout defaults to 'kill' (destructive); with onTimeout:'pause' the sandbox is snapshotted (memory + filesystem, running processes survive) when its timeout expires, and autoResume:true wakes it on the next SDK call or HTTP request. Object form onTimeout: { action: 'pause', mode: 'filesystem' } = filesystem-only (\"dropping memory so resume reboots the sandbox\", https://docs.e2b.dev/sandbox/persistence); keepMemory:false is \"deprecated but still works\". Paused sandboxes kept indefinitely.",
   "checked": "2026-10-14"
  },
  "snapshot_on_demand": {
   "value": true,
   "source": "https://docs.e2b.dev/sandbox/snapshots.md",
   "quote": "Snapshots let you create a persistent point-in-time capture of a running sandbox, including both its filesystem and memory state.\nYou can then use a snapshot to spawn new sandboxes that start from the exact same state.",
   "note": "createSnapshot (memory + filesystem; source briefly paused, same id); one snapshot spawns many sandboxes. Also sandbox.fork (up to 20 per call: \"With the SDKs and the CLI you can request up to 20 forks at once.\", https://docs.e2b.dev/sandbox/fork) from a running sandbox with memory, and manual pause() (memory by default; disk only with \"pass `mode: 'filesystem'`\", the older keepMemory:false form deprecated, https://docs.e2b.dev/sandbox/persistence).",
   "checked": "2026-10-14"
  },
  "harness_api": {
   "value": false,
   "source": "https://docs.e2b.dev/agents/claude-code.md",
   "quote": "Use `--output-format stream-json` to get a real-time JSONL event stream — including tool calls, token usage, and result metadata.",
   "note": "Many agent guides/templates (Claude Code, Codex, Amp, OpenCode, pi, Prime Agent, Droid, Devin, Hermes, Cursor, Grok ...) but all are driven with the generic sandbox.commands.run('claude -p ...') exec API; session resume via the harness's own --resume flag. SDK reference modules are only Sandbox, commands, filesystem, template, volume: no first-party prompt/conversation API. Third-party managed agents (Claude Managed Agents, Devin Outposts) can use E2B as runtime, but those APIs are not E2B's.",
   "checked": "2026-09-29"
  },
  "egress_allowlist": {
   "value": true,
   "source": "https://docs.e2b.dev/network/internet-access.md",
   "quote": "You can specify IP addresses, CIDR blocks, or domain names that the sandbox is allowed to use:",
   "note": "allowInternetAccess:false, allowOut/denyOut with IPs, CIDRs, domains and wildcards; domain filtering only for HTTP:80 (Host) and TLS:443 (SNI), other ports CIDR only, no QUIC. Updatable on a running sandbox. Enforced by E2B's egress proxy/host outside the VM.",
   "checked": "2026-09-29",
   "level": "both"
  },
  "egress_http_rules": {
   "value": false,
   "source": "https://docs.e2b.dev/network/internet-access.md",
   "quote": "A rule key is either an exact DNS name (`api.example.com`) or a single leading wildcard label (`*.example.com`).",
   "note": "Per-host request transforms (public beta) inject headers on HTTPS requests, but rules are keyed by host only and only transform; no allow/deny by method, path or header documented.",
   "checked": "2026-09-29"
  },
  "ingress_rules": {
   "value": true,
   "source": "https://docs.e2b.dev/network/restrict-public-access.md",
   "quote": "When `allowPublicTraffic` / `allow_public_traffic` is set to a falsy value, all requests to the sandbox's public URLs must include the `e2b-traffic-access-token` header with the value from `sandbox.trafficAccessToken` / `sandbox.traffic_access_token`.",
   "note": "Default: every port public at https://<port>-<id>.e2b.app to anyone with the URL; opt-in per-sandbox token header. No IP allowlist or per-port exposure choice documented.",
   "checked": "2026-09-29"
  },
  "guest_firewall": {
   "value": true,
   "source": "https://docs.e2b.dev/network/restrict-public-access.md",
   "quote": "If you are using custom `iptables` or firewall rules inside a sandbox, keep E2B's own connectivity open or the sandbox will lose contact with the SDK:",
   "note": "Firecracker microVM with root. k3s page: kube-proxy iptables and nftables modes work, but the kernel lacks the `owner` and `TPROXY` netfilter extensions and BPF JIT.",
   "checked": "2026-09-29"
  },
  "secret_proxy": {
   "value": "any-http",
   "source": "https://docs.e2b.dev/secrets.md",
   "quote": "The egress proxy injects the real value into matching outbound HTTPS requests outside the sandbox. Your sandbox configuration contains only a reference to the secret.",
   "note": "Private beta per changelog 2026-09-14: \"Volumes and Secrets remain in private beta.\" (https://docs.e2b.dev/changelog; the 2026-10-12 entry adds a dashboard Secrets page with no GA label; the secrets page itself carries no beta label). Arbitrary hosts via per-host rules + Secret.fill in headers; HTTPS only (plain HTTP gets nothing); headers only; no non-HTTP protocols (DB, SSH, git over SSH). Max 10 rule domains per sandbox. Also workload identity (per-sandbox OIDC tokens, private beta).",
   "checked": "2026-10-14"
  },
  "volume_attach": {
   "value": true,
   "source": "https://docs.e2b.dev/volumes/mount.md",
   "quote": "You can mount one or more volumes to a sandbox when creating it.",
   "note": "Private beta, US/EU only; mounts fixed at creation (not on resume/fork); network filesystem (locking can hang, no metadata caching); price unpublished.",
   "checked": "2026-09-29"
  },
  "volume_shared": {
   "value": true,
   "source": "https://docs.e2b.dev/volumes.md",
   "quote": "One volume shared across multiple sandboxes",
   "note": "Read-write only (read-only mounts not supported yet); 'Changes from other sandboxes or standalone volume writes do not trigger events' implies concurrent mounts; also readable/writable standalone via SDK.",
   "checked": "2026-09-29"
  },
  "persistent_disk": {
   "value": true,
   "source": "https://docs.e2b.dev/sandbox/auto-resume.md",
   "quote": "| | `\"pause\"` | Sandbox is paused (full memory + filesystem snapshot) when timeout is reached |",
   "note": "Reviewed 2026-09-30: files survive via pause/resume (full memory + filesystem snapshot) and via volumes. The default on timeout is kill, so set onTimeout to pause to keep them.",
   "checked": "2026-09-30"
  },
  "anti_bot": {
   "value": false,
   "source": "https://docs.e2b.dev/use-cases/remote-browser.md",
   "quote": "Kernel handles CAPTCHA solving, residential proxies, authentication, and observability out of the box.",
   "note": "not offered: E2B itself is a code/desktop sandbox runtime; stealth/anti-fingerprinting for browsing is only available by pairing with the third-party partner Kernel's cloud browsers, not a feature of E2B's own sandboxes.",
   "checked": "2026-09-30"
  },
  "captcha_solving": {
   "value": false,
   "source": "https://docs.e2b.dev/use-cases/remote-browser.md",
   "quote": "Kernel handles CAPTCHA solving, residential proxies, authentication, and observability out of the box.",
   "note": "not offered: CAPTCHA solving is explicitly documented as a capability of the partner product Kernel's cloud browsers, not of E2B's own sandbox/desktop offering.",
   "checked": "2026-09-30"
  },
  "live_resize": {
   "value": false,
   "source": "https://docs.e2b.dev/llms-full.txt",
   "quote": "You can customize allocated CPU and RAM when building custom templates by specifying `cpuCount` and `memoryMB` in the build configuration.",
   "note": "CPU/RAM are fixed at template build time (cpuCount/memoryMB) and applied when a sandbox is created from that template; no documented API to change vCPU/RAM of an already-running sandbox without recreating/rebuilding it.",
   "checked": "2026-09-30"
  },
  "own_agent_api": {
   "value": false,
   "source": "https://docs.e2b.dev/use-cases/computer-use.md",
   "quote": "E2B provides the sandboxed desktop environment where these agents operate safely, with VNC streaming for real-time visual feedback.",
   "note": "not offered: outside the product's scope. E2B ships the sandbox/VM runtime (desktop, browser, filesystem, terminal APIs) that third-party or customer-built agents (Claude Code, Codex, Surf, OpenAI computer-use, etc.) drive; it does not ship a first-party API for its own browser/computer-use/research agent.",
   "checked": "2026-09-30"
  },
  "arm64": {
   "value": false,
   "source": "https://docs.e2b.dev/migration/template-v2",
   "quote": "Simply build the Docker image for the `linux/amd64` platform, push it to a registry of your choice and reference the image tag in the `fromImage()` method.",
   "note": "Docs explicitly require linux/amd64 images for custom base images; no ARM/aarch64 sandbox or template option documented anywhere in the docs (Firecracker microVMs run on E2B's GCP x86_64 fleet).",
   "checked": "2026-09-30"
  },
  "fork_running": {
   "value": true,
   "corrected_from": false,
   "source": "https://docs.e2b.dev/sandbox/fork",
   "quote": "The sandbox is snapshotted in place — paused, captured with its full filesystem and memory state, and resumed — and new sandboxes boot from that snapshot... The original sandbox keeps running with its ID and expiration untouched.",
   "note": "sandbox.fork() (and Sandbox.fork by id) clones a running sandbox into new running sandboxes with memory+filesystem intact, with only a brief pause on the original. Up to 20 per call: \"With the SDKs and the CLI you can request up to 20 forks at once.\" (changelog 2026-10-05: SDKs \"reject a fork count outside 1 to 20\"); the count must also stay below the team's concurrency limit since the original keeps a slot.",
   "checked": "2026-10-14"
  },
  "nested_virt": {
   "value": false,
   "source": "https://docs.e2b.dev/use-cases/k3s",
   "quote": "IPVS kube-proxy mode and nested-virtualization runtimes such as Kata Containers or KubeVirt are not supported.",
   "note": "E2B's own k3s-in-a-sandbox docs list 'nested-virtualization runtimes such as Kata Containers or KubeVirt' among things that explicitly do not work inside an E2B sandbox, alongside other kernel-capability gaps (no BPF JIT, missing netfilter extensions). No page documents /dev/kvm being exposed to the guest; sandboxes are themselves Firecracker microVMs and nothing in the docs, changelog, or template/base-image pages offers or claims nested KVM/virtualization support. Kept at medium confidence because this is inferred from a limitations list on one use-case page rather than a direct 'no nested virtualization' statement. The old https://docs.e2b.dev/k3s URL now 404s; same sentence under 'Known limitations' at /use-cases/k3s.",
   "checked": "2026-10-14"
  },
  "public_ipv4": {
   "value": false,
   "source": "https://docs.e2b.dev/network/public-url",
   "quote": "Every sandbox has a public URL that can be used to access running services inside the sandbox.",
   "note": "Sandboxes are reached only via an HTTPS proxy URL of the form https://<port>-<id>.e2b.app, not a dedicated public IPv4 address; combined with the egress-ip-ranges FAQ ('ephemeral, rotating IPs'), no per-machine public IPv4 exists.",
   "checked": "2026-09-30"
  },
  "static_egress_ip": {
   "value": false,
   "source": "https://docs.e2b.dev/faq/egress-ip-ranges",
   "quote": "E2B does not publish a list of egress CIDRs, and there are no dedicated or static egress IP addresses on any plan (including Enterprise). Sandbox outbound traffic leaves from ephemeral public IPs on E2B's cloud, and those IPs rotate over time.",
   "note": "Explicitly no static egress IP on any plan; users needing one must run their own proxy (BYOP/IP tunneling).",
   "checked": "2026-09-30"
  },
  "gpu": {
   "value": false,
   "source": "https://docs.e2b.dev/faq/gpu-support",
   "quote": "No. E2B sandboxes are CPU-only. A sandbox is sized by vCPU and RAM only. There is no GPU option in the SDKs, the CLI, the API, or a template definition... BYOC does not change this.",
   "note": "Directly documented, including BYOC.",
   "checked": "2026-09-30"
  },
  "windows": {
   "value": false,
   "source": "https://docs.e2b.dev/sandbox",
   "quote": "The sandbox lifecycle: create, connect to, pause, resume, and kill an isolated Linux VM for your agent...",
   "note": "Not offered: outside the product's scope. E2B sandboxes are Linux-only Firecracker microVMs; template base images are restricted to Debian/Ubuntu, Fedora/RHEL family, Arch, and Alpine (docs.e2b.dev/template/base-image).",
   "checked": "2026-09-30"
  },
  "macos": {
   "value": false,
   "source": "https://docs.e2b.dev/sandbox",
   "quote": "The sandbox lifecycle: create, connect to, pause, resume, and kill an isolated Linux VM for your agent...",
   "note": "Not offered: outside the product's scope, same as Windows — Linux-only microVM sandboxes, no macOS option anywhere in docs/pricing.",
   "checked": "2026-09-30"
  },
  "sso": {
   "value": false,
   "source": "https://e2b.dev/enterprise",
   "quote": "SSO, SCIM, and RBAC are planned. Ask about timelines.",
   "note": "Enterprise page explicitly lists SSO as a roadmap/planned item, not currently available.",
   "checked": "2026-09-30"
  },
  "private_network": {
   "value": null,
   "was": false,
   "note": "doubtful \"no\" could not be confirmed: Checked network docs (internet-access, public-url, restrict-public-access, ip-tunneling, byop, custom-domain) and byoc.md: no standard first-party VPC-peering/private-link feature for reaching a customer's private network from a sandbox. BYOC deploys the whole cluster inside the customer's own VPC (Enterprise-only, different from per-sandbox private networking), so it's ambiguous whether this counts; left unclear rather than a confirmed 'no'.",
   "checked": "2026-09-30"
  },
  "cpu_class": {
   "value": {
    "on-demand": "shared"
   },
   "source": "https://github.com/e2b-dev/infra/blob/main/packages/api/internal/orchestrator/placement/placement_best_of_K.go",
   "quote": "// R is the cluster-wide max CPU over-commit ratio ... R: 4,",
   "note": "E2B's own open-source orchestrator (e2b-dev/infra) places sandboxes on nodes using a placement score keyed on a configurable 'cluster-wide max CPU over-commit ratio' (default R=4), i.e. up to 4x as many allocated vCPUs as physical host cores can be scheduled on a node. This is direct evidence vCPUs are shared/oversubscribed, not dedicated/reserved cores, and no published baseline % is given so 'burstable:NN' does not apply. Billing docs (docs.e2b.dev/faq/calculate-sandbox-price) charge per allocated vCPU-second regardless of usage, but that is a billing basis, not a CPU-dedication guarantee.",
   "checked": "2026-09-30"
  },
  "fast_boot": {
   "value": true,
   "source": "https://www.computesdk.com/benchmarks",
   "quote": "burst of 100: p95 1569 ms, 100% started",
   "note": "ComputeSDK sandbox benchmark 2026-09-25",
   "checked": "2026-09-25"
  },
  "usage_api": {
   "value": false,
   "source": "https://docs.e2b.dev/billing.md",
   "quote": "Check your usage and costs in the console usage tab. The sandbox metrics API (/api-reference/sandboxes/list-sandbox-metrics) returns live CPU/memory/disk monitoring data only, not billable usage. Team metrics API returns concurrent_sandboxes and sandbox_start_rate only.",
   "note": "granularity: account-only; E2B bills per vCPU-second and GB-second, but offers no REST API, SDK method, or CLI command to fetch billable usage per sandbox or group. The console usage tab is UI-only. Sandbox metrics endpoint returns live resource monitoring (CPU%, memory, disk), not consumption charges. Team metrics endpoint returns operational statistics, not billing data.",
   "confidence": "high",
   "checked": "2026-10-01"
  }
 },
 "locations": [
  {
   "country": "US",
   "state": "OR",
   "city": "Portland",
   "provider_region": "us-west1",
   "self_serve": true,
   "choosable": true
  },
  {
   "country": "DE",
   "state": null,
   "city": null,
   "provider_region": "europe-west1",
   "self_serve": false,
   "choosable": true
  },
  {
   "country": "SG",
   "state": null,
   "city": "Singapore",
   "provider_region": "asia-southeast1",
   "self_serve": false,
   "choosable": true
  }
 ],
 "locations_source": "https://docs.e2b.dev/faq/eu-region",
 "locations_quote": "E2B offers a shared EU cluster for customers on the Pro tier and above.",
 "locations_note": "Region ids (us-west1, europe-west1, asia-southeast1) come from earlier research; E2B's current pages name no city or country for the EU cluster, so the EU city is null (Google's europe-west1 is in Belgium, not Frankfurt; country left as an EU placeholder). The changelog (2026-09-28) confirms US, EU and APAC projects. A managed US West (AWS us-west-2) region on every plan is documented at https://docs.e2b.dev/faq/us-west-aws-region but not modelled here.",
 "locations_checked": "2026-10-14"
}