Everything you need
to ship agents.
Real Linux microVMs with fast boot, socket-reused exec, fork-trees, hibernation, org controls, and open-source deployment paths.
Run commands without paying handshake tax.
Use REST for simple jobs, PTY for interactive shells, and one WebSocket for high-frequency agent loops.
Multiplexed WebSocket exec
Upgrade once at GET /v1/sandboxes/{id}/exec/ws, then tag each command with an id. Keepalive pings hold the socket open; cancel frames stop runaway work.
client → { "id": "lint", "cmd": "pnpm lint", "timeout_seconds": 60 }
client → { "id": "test", "cmd": "pnpm test" }
client → { "id": "test", "cancel": true }
server → { "id": "lint", "stream": "stdout", "data": "ok" }
server → { "id": "lint", "exit": 0 }
server → { "id": "test", "error": "cancelled" }REST exec
POST commands for simple one-shot jobs, CI probes, and SDK defaults.
PTY shell
Interactive terminals with resize events for IDEs and human handoff.
File uploads
Stream source trees, artifacts, and prompt bundles into a running microVM.
Branch reality, then promote the winner.
The SDKs expose sandbox.fork(), sandbox.forkTree(count), and sandbox.promote(treeId, cleanupSiblings) for search, evals, and speculative coding.
const base = await client.sandboxes.create({ template: "nextjs" });
await base.exec("git checkout -b agent/search");
const tree = await base.forkTree(4);
const results = await Promise.all(tree.branches.map(runEval));
await tree.promote(results.at(0).sandboxId, { cleanupSiblings: true });Fast when hot. Cheap when idle.
Cold start, TTL, hibernation, wake, and volumes are designed for long-running agents that pause between turns.
Sub-200ms boot
Multi-template warm pools per region keep popular stacks ready to restore in ~179ms p50 (n=50 prod, June 2026).
Idle hibernation
Default 5-minute TTL writes memory + disk state and stops active compute billing.
Persistent volumes
Attach named volumes for caches, repos, model shards, and user state.
A control plane for real teams.
Personal orgs are auto-provisioned on first /v1/me. Teams add members, invites, roles, and Stripe-metered invoices.
Orgs
orgs, org_members, org_invites, and user_current_org live in shared Postgres.
Roles
owner > admin > member permissions, with dashboard pages for team and org switching.
Metered billing
Agents emit pending_meter_events; a 60s edge worker posts Stripe Meter Events idempotently.
Move sandboxes without breaking identity.
Warm pools keep starts low; snapshot migration lets the scheduler rebalance across hosts and regions.
Multi-region warm pool
Pre-warmed capacity by template and region for consistent p50s near users.
Cross-host migration
Snapshots carry baked NATID so restores keep the same external identity.
Preview URL ACLs
Share demos and interview prompts with path-level access controls.
Meet agents where they already run.
Use PandaStack from SDKs, the CLI, webhooks, or any MCP client that can call tools.
MCP server
Claude, Cursor, and other clients can spin up sandboxes and execute commands with tool calls.
Auth + org switch
API tokens, JWT requests, X-Pandastack-Org, and X-Fcs-Workspace resolver middleware.
Open source
Apache-2.0 core, self-hostable on your machines or available as a managed cloud.
Templates
Use public stacks or bake Dockerfiles and live snapshots into reusable templates.
TypeScript SDK
Create, exec, fork, forkTree, promote, upload, and expose ports.
Python SDK
The same sandbox primitives for agents, notebooks, and evaluation harnesses.
CLI + webhooks
Script sandboxes from CI and subscribe to lifecycle / hibernation events.
Spin up your first sandbox in ms.
Free tier includes $5.40/month of usage credit. No credit card. Self-host with Apache-2.0 anytime.
curl -sSL pandastack.ai/install | sh · Linux / macOS · 10MB binary