One Cloud Hypervisor microVM per sandbox. Drop-in for the E2B and Daytona SDKs. Apache 2.0, self-hostable.
AF_VSOCK only. A compromised sandbox
can't reach its neighbour's /exec — no TCP, no shared L2.
templateID body
shape, expose /pause, /resume,
/files/watch, etc.
llms.txt, OpenAPI 3.1, agent skill (npx skills add).
Drops into Claude Code, Cursor, Windsurf in one line.
/mnt/dnah-share.
Bulk file transfer goes through the host page cache, not framed JSON.
Works while the sandbox is paused.
(sandbox_id, snapshot_id, manifest_hash, size, ts).
Restore rejects unsigned or tampered images. Key rotation via kid.
curl /install.sh | sudo bash on a fresh Ubuntu box.
Host self-registers in ~5 s. No Ansible.
Two presets over the underlying auto_stop_minutes / auto_archive_days / auto_delete_days columns. Pick type at create; explicit values always win.
| type | auto-stop | auto-archive | auto-delete | Use for |
|---|---|---|---|---|
persistent (default) |
0 | 0 | 0 | Long-lived dev workspaces — never auto-anything. |
ephemeral |
15 min idle | 7 d stopped | 30 d archived | Agent runs, CI jobs, throwaway compute (Daytona defaults). |
/exec, /run-code, /files, /sessions, /git, /metrics, /terminal, /snapshot, /share). Detail reads and listings don't count.
| Path | What's happening | P50 | P95 |
|---|---|---|---|
| Warm allocation | Pool claim — Postgres row flip, no spawn | 14 ms | 24 ms |
| Cold spawn | Reflink rootfs · TAP · CH boot · vsock RPC up | 98 ms | 313 ms |
| First exec (warm) | create → exec returning exit 0 | 22 ms | 39 ms |
| /exec roundtrip | Framed-JSON RPC over vsock | 4 ms | 5 ms |
| Resume from stop-snap | Memory + disk restore, identity preserved | 309 ms | — |
| Restore signed snapshot | Ed25519 verify · CH --restore · resume | 1.0 s | — |
| Fork | Snapshot + clone in one call | 66 ms | — |
| Sequential throughput | 100× create+delete, pool refills | 26.3 /s | — |
AF_VSOCK, bulk files cross on virtio-fs, disks on virtio-blk, network on virtio-net. Each plane is independently auditable.