E2B Runtime is the backend that powers the E2B agent cloud, published as open source. It gives each agent session its own isolated Linux machine, a Firecracker microVM that boots from a snapshot, runs whatever code the agent asks it to, and can be paused and resumed. The same code serves E2B's public cloud, dedicated deployments inside a customer's cloud account, and a single-machine Embed package for evaluation on your own hardware.
Two design choices shape it. First, a sandbox is a resumed snapshot: templates are pre-booted VMs stored in object storage, memory pages load lazily on page fault, and the root filesystem is a copy-on-write overlay, so creating, resuming, and forking a sandbox all take the same path and fetch only the data the sandbox touches. Second, the control plane and the data plane stay separate: the API decides where a sandbox runs, the per-node orchestrator owns the Firecracker process, network namespace, and block device, and sandbox traffic goes from the edge straight to the node.
The system is made of several Go services:
| Service | Runs on | Purpose |
|---|---|---|
| API | control plane | Public REST API for sandbox lifecycle, placement, auth, and quotas |
| Orchestrator | every sandbox node | Runs Firecracker VMs: create, pause, resume, kill, checkpoint |
| Template manager | build nodes | Builds templates from Docker images and build steps |
| Client proxy | control plane | Edge router from sandbox URL to node, with auto-resume on traffic |
| Envd | inside every VM | Process, filesystem, and networking API the SDKs use |
| Dashboard API | control plane | Backend for the web dashboard |
State lives in PostgreSQL, Redis, object storage, and ClickHouse, and every service exports OpenTelemetry. The Embed package also ships as Terraform for GCP and as a Kubernetes manifest. The intended users are agent teams who want to run the same sandbox runtime locally as in production, platform teams who need agent execution inside their own cloud account, and engineers interested in snapshot-based VM scheduling.
Features
- Hardware-isolated sandboxes: one Firecracker microVM per sandbox with its own cgroup, network namespace, and egress firewall with domain allow and deny lists
- Pause and resume: memory and disk diffs ship to object storage, idle sandboxes auto-pause, and incoming traffic wakes them
- Fork a running sandbox: checkpoints a live sandbox and starts up to a hundred new ones from it while the original keeps running
- Layered templates: builds from Docker images and build steps with per-layer caching and a boot-page optimization pass
- In-VM API: processes, PTYs, filesystem operations, file watchers, and forwarding over Connect RPC and REST, live-upgradable without dropping the workload
- Sandbox URLs: any service a process opens is reachable through an edge-routed URL with per-sandbox access tokens
- Volumes, secrets, identity: persistent volumes, secrets that never cross the API or logs, and short-lived workload identity tokens
- Observability: OpenTelemetry everywhere, with lifecycle events, host stats, and metrics stored in ClickHouse
- Deployment options: E2B Cloud, dedicated deployments in your own cloud account, or the single-host Embed package



