A useful separation
Durable lifecycle records and live command traffic take different paths. Your app can manage an environment independently of an open output connection.
Architecture ↗AI agents write code. SPACE gives that code its own little Linux computer to run in. Isolated, controllable, and ready for the next command.
See what happens inside ↘Your agent decides what to do. SPACE manages where the code runs. Your app collects what comes back.
Press play, or walk through the steps.
Watch who does what as your code runs.
The diagram groups several worker services to keep the flow readable. Kubernetes is one deployment adapter; direct worker management also exists. Architecture source ↗
Pause holds a VM in memory. Suspend saves it
and releases active resources. Try both.
SPACE supplies the execution environment.
Your product supplies the purpose.
These are application ideas inferred from the platform primitives, not bundled products or claims about Perplexity’s internal usage.
A request, a VM, a process, and its output stream have different lifetimes. Explore three outcomes.
My read after checking the architecture,
source, compatibility docs, and test coverage.
Durable lifecycle records and live command traffic take different paths. Your app can manage an environment independently of an open output connection.
Architecture ↗The documented setup needs x86_64 Linux, KVM, privileged Docker, networking devices, and btrfs. A Mac can be your client; hosting needs a suitable Linux machine.
Host requirements ↗The E2B wrapper tests specific Python SDK versions. JavaScript SDK compatibility is untested; capabilities such as MCP, volume mounts, and IAM create fields are rejected.
E2B contract ↗The inspected workspace declares 0.8.0. The release plan reserves 1.0 for stable contracts. Recovery and concurrency tests are encouraging evidence, not proof of your workload’s reliability.
Release policy ↗A Rust workspace using Tokio, Axum for HTTP, Tonic for RPC, and SQLx/PostgreSQL for the control plane. Node services manage the VMs; guest-side spaced services handle in-guest work. Files and templates span local disks and object storage.
The qualified default environment is Linux/x86_64 with Firecracker 1.15.1 and guest kernel 6.1.155. The source also defines approved 1.17.0 bindings for selected non-production environments. That is not general macOS, Windows, or arbitrary-runtime support.
Execution environments ↗Warm pools keep ready VMs by template release and size. Native Kubernetes creates require admission-time pool claiming to be enabled; custom disk sizes or file-change tracking use cold boots. Single-node base snapshots offer another startup path. No latency benchmark is asserted here.
Warm pools ↗Management bearer tokens, scoped attachment tokens, internal RPC TLS, tenant ownership checks, and network policies have separate jobs. Host services retain VM, disk, and networking privileges. Firecracker isolation does not replace those controls.
Internal transport ↗Keep the same idempotency key and original payload for the same declared operation. Guest retry records live for the daemon’s lifetime, so a guest-daemon restart cannot establish exactly-once execution. Replaying a command request also rotates attachment credentials; overlap of old credentials is a deferred contract.
Guest implementation ↗ · Replay contract ↗Run your actual workload through disconnects, snapshot restore, and service restarts. Measure cold and warm latency, persist output in your own app, define resource limits and artifact retention, and budget for idle warm VMs. This guide is based on source inspection; SPACE was not deployed or benchmarked for this review.
Recovery coverage ↗For skill testing, the useful pattern is simple: pin a template, create a fresh sandbox, run a task, collect the evidence, then clean up. Your evaluation harness still decides what “good” means.
Read the first-sandbox walkthrough ↗