On this page · 3 min
Where boxd stands out
Composable: the sandbox is one part of the kit
E2B gives you templates and an SDK. Schedules, event triggers, integrations and a network between sandboxes are yours to build: sandboxes reach each other only through public URLs, and code inside one needs an API key you pass in. Put together, boxd's parts ran the CI of 10 open-source projects 6× faster than one GitHub-hosted job.
| Feature | boxd | E2B |
|---|---|---|
| Composable | ||
| Ready machine described in code | Machine specs, built on one another | Templates in code, extendable |
| Machines create machines | Yes, signed in as the machine | You pass an API key in |
| Built-in integrations | 100+, credentials kept out | MCP gateway; your own keys |
| Schedules and event triggers | Cron and events; sleeps between runs | No; wake on HTTP only |
| Standalone disks | Yes, outlive the machine | Volumes, private beta |
| Private network between machines | Org network, split by tags | Public URLs only |
| Tailscale or NetBird | Both, built in | Your own SOCKS5 proxy |
| Agent skills or MCP | Agent skills; no MCP server | MCP server deprecated |
Your app answers in 156 ms from sleep
A sleeping boxd machine keeps its memory, so the server you left running is still running. An HTTPS request wakes it and gets an answer: 156 ms median across ten runs, measured on our production cluster.
Bigger machines without asking
Self-serve sizes go to 8 vCPU and 32 GiB, with 100 GB of disk on every machine. E2B's self-serve ceiling is 8 vCPU and 8 GiB, with 10 to 20 GiB of disk.
Claude Code, Codex and OpenCode are already there
Every machine boots with all three installed, plus headless Chrome, a desktop you can open in the browser, Docker and the boxd CLI. Your API keys stay outside the machine: the guest holds a placeholder and our proxy swaps in the real value.
No session limit
A boxd machine runs until you delete it. It sleeps when it's idle and wakes on the next request, so a long agent run, a bot or a dev server never hits a cutoff.
Timings are medians of ten runs on our production cluster, from a client in the same datacenter. How we measured
Side by side
Checked Oct 30, 2026. Each ↗ goes to where E2B says it. boxd's column is from our code and our own measurements.
| Feature | boxd | E2B |
|---|---|---|
| The machine | ||
| Full VM, own kernel | Yes, every machine | Yes, Firecracker↗ |
| Default size | 2 vCPU · 8 GiB · 100 GB | 2 vCPU · 4 GiB · 10–20 GiB↗ |
| Largest, self-serve | 8 vCPU · 32 GiB | 8 vCPU · 8 GiB (more via support)↗ |
| Root, systemd, Docker | Yes, plus nested virtualization | Docker yes; systemd not documented↗ |
| CPU test (runs/s) | 12.6 (our run) | 11.08↗ |
| Composable | ||
| Ready machine described in code | Machine specs, built on one another | Templates in code, extendable↗ |
| Machines create machines | Yes, signed in as the machine | You pass an API key in↗ |
| Built-in integrations | 100+, credentials kept out | MCP gateway; your own keys↗ |
| Schedules and event triggers | Cron and events; sleeps between runs | No; wake on HTTP only↗ |
| Standalone disks | Yes, outlive the machine | Volumes, private beta↗ |
| Private network between machines | Org network, split by tags | Public URLs only↗ |
| Tailscale or NetBird | Both, built in | Your own SOCKS5 proxy↗ |
| Agent skills or MCP | Agent skills; no MCP server | MCP server deprecated↗ |
| Ready when you are | ||
| Sleeps with processes kept | Yes, standby and hibernate | Yes, pause keeps memory↗ |
| Wakes on a request | Yes, HTTPS or SSH · app answers in 156 ms | Opt-in auto-resume on HTTP↗ |
| Starts from a snapshot, app running | Yes · app answers in 1.19 s | Yes, templates restore running↗ |
| Session limit | None | 1 h Hobby · 24 h Pro↗ |
| Built for agents | ||
| Coding agents installed | Claude Code, Codex, OpenCode | Claude Code and Codex templates↗ |
| SSH | Native, own port per machine | WebSocket proxy you set up↗ |
| HTTPS URL per port | Yes, plus custom domains | Yes↗ |
| Raw TCP inbound | Yes, 3 ports per machine | Not published↗ |
| Secrets kept out | Yes, swapped in at the proxy | Yes, egress proxy↗ |
| Price | ||
| vCPU-hour | $0.047, CPU used | ≈$0.050 + plan fee↗ |
| RAM GiB-hour | $0.014, memory in use | ≈$0.016↗ |
| While asleep | Hibernated: disk only | Paused: free↗ |
| Also worth knowing | ||
| GPUs | No | No↗ |
| Regions | Frankfurt (US waitlist) | US West ×2, EU, Asia-Pacific↗ |
| SOC 2 | SOC 2 in progress | SOC 2 Type II↗ |
| SAML SSO | No | Planned↗ |
| Egress allowlist | Yes | Yes↗ |
| Self-host | Yes, free to 16 vCPUs | Single node (E2B Embed)↗ |
Where E2B is stronger
Short jobs at scale. E2B is built for many short code runs: sandboxes restore in about 80 ms and you can run up to 1,100 at once.
Regions. US West, EU and Asia-Pacific. boxd runs in Frankfurt only until the US cluster opens.
Compliance. SOC 2 Type II, and a HIPAA BAA on Enterprise. boxd's SOC 2 is in progress, and it does not offer a HIPAA BAA.
Paused costs nothing. A paused E2B sandbox isn't billed. A hibernated boxd machine still pays for the disk it has written.
Questions
- Is boxd an E2B alternative?
- Yes, when your sandbox needs to outlive a session. E2B caps a continuous run at 1 hour on Hobby and 24 on Pro. A boxd machine has no limit: it sleeps when idle, wakes on a request with its processes intact, and you can SSH into it like any server.
- Which is faster to start?
- E2B restores a template in about 80 ms by its own docs; that is the time to restore, not to a response. On boxd we measured the full path: a new machine from a snapshot answered its first HTTPS request 1.19 s after the create command, and a hibernated machine answered in 156 ms.
- Can I move my E2B template to boxd?
- Set the machine up once (install, clone, start your services), then save it as a snapshot. Every machine you create from that snapshot starts with the same files and the same processes running.