How e2b-dev/runtime works
E2B Runtime provides isolated Firecracker sandboxes for AI-agent workloads. The main workflow runs from SDK or browser requests through the control-plane API or edge proxy to node orchestration and the VM’s envd service; the API also manages sandbox state and template builds. Supporting branches include authentication, dashboard APIs, persistent data, and observability. The README documents the service-level flows; sampled source confirms several service entry points and internal components, but does not establish every runtime connection.
Main entry points: api/main.go Control API · server/main.go Node orchestrator · dashboard-api/main.go Dashboard API · envd/main.go Guest agent
Components 19
Control plane
- Control API
packages/api/main.go - Authentication
packages/auth/pkg/auth/internal/service/service.go
Sandbox execution
- Node orchestrator
packages/orchestrator/pkg/server/main.go - Orchestrator client
packages/api/internal/orchestrator/client.go - Guest agent
packages/envd/main.go - Process service
packages/envd/internal/services/process/handler/handler.go - Sandbox processes
- Firecracker VM
Template builds
- Template manager
packages/api/internal/template-manager/template_manager.go - Template storage
packages/orchestrator/pkg/sandbox/template/storage_template.go
Traffic and dashboard
- Dashboard API
packages/dashboard-api/main.go - Client proxy
packages/client-proxy/main.go
State and telemetry
- PostgreSQL
- Redis
- Object storage
- ClickHouse
- Persistent volumes
packages/api/internal/handlers/volume_create.go
Other components
- SDK / CLI
- Browser
Connections 23
- SDK / CLI → Control API: REST requests
README.md - Control API → Authentication: validates identity
packages/api/main.go - Control API → Orchestrator client: dispatches lifecycle
packages/api/internal/orchestrator/client.go - Orchestrator client → Node orchestrator: calls over gRPC
README.md - Control API → PostgreSQL: stores control data
README.md - Control API → Redis: uses cache
README.md - Control API → ClickHouse: exports events
README.md - Node orchestrator → Firecracker VM: runs microVMs
README.md - Node orchestrator → Object storage: reads and writes snapshots
README.md - Node orchestrator → ClickHouse: exports telemetry
README.md - Firecracker VM → Guest agent: hosts agent
README.md - Guest agent → Process service: serves process API
packages/envd/main.go - Process service → Sandbox processes: runs commands
packages/envd/internal/services/process/handler/handler.go - Control API → Template manager: manages builds
packages/api/main.go - Template manager → Template storage: builds from stored templates
- Template storage → Object storage: fetches template data
packages/orchestrator/pkg/sandbox/template/storage_template.go - Browser → Client proxy: sandbox URL traffic
README.md - Client proxy → Node orchestrator: routes sandbox traffic
README.md - Node orchestrator → Guest agent: forwards traffic
README.md - Dashboard API → PostgreSQL: reads dashboard data
packages/dashboard-api/main.go - Dashboard API → Authentication: authenticates requests
packages/dashboard-api/main.go - Dashboard API → ClickHouse: queries analytics
packages/dashboard-api/main.go - Control API → Persistent volumes: manages volumes