features

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.

execution

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.

~150ms TLS+HTTP~5ms socket reuse
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 & Explore

Agents are tree search. Now they branch on the world.

Fork the sandbox N ways in half a second, try a different approach in each in parallel, keep the winner — losers reaped automatically. Best-of-N over real execution, not re-sampled tokens. Only possible on sub-second copy-on-write forks.

sandbox.explore([...])3 forks · ~0.5s · copy-on-write
branch afix: guard b == 0 reaped
branch bfix: try / except promoted
branch cfix: b or 1 reaped

winner = result.winner // the fixed workspace, already independent

# best-of-N code fix
result = sandbox.explore(
  [patch("guard-zero", fix_a),
   patch("try-except", fix_b),
   patch("or-1",       fix_c)],
  score_fn=lambda sb, o:
    1.0 if o.value.exit_code == 0
    else 0.0,
)

winner = result.winner
fork
~0.5s
branches
≤ 16
losers
auto-reaped
lifecycle

Fast when hot. Cheap when idle.

Cold start, TTL, hibernation, wake, and volumes are designed for long-running agents that pause between turns.

Sub-75ms boot

Every create restores from a baked snapshot with streamed memory — ~49ms 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.

PR Previews

Every pull request gets a live URL.

Connect a repo, open a PR, and PandaStack builds it inside a fresh Firecracker microVM — then drops the preview link right in the PR. Encrypted env, scoped secrets, and scale-to-zero included.

# lifecycle
  1. 01
    Open a PRpush commits to a branch
  2. 02
    Build in a microVMclone · detect · install · build
  3. 03
    Live preview URLisolated, per-PR environment
  4. 04
    Posted on the PRsticky comment, updates on push
  5. 05
    Auto torn downon merge / close / @pandastack delete
you/app #42 · Add dark mode
🐼pandastackbot
🐼 PandaStack preview
Commit a1b2c3d · comment @pandastack delete to tear down early.
isolated
microVM
rebuilds
on push
cleanup
automatic
functions

Serverless code with real microVM isolation.

Deploy Python or Node.js functions, expose them over HTTP, and automate invocations with cron schedules.

Functions & Schedules

Deploy Python/Node functions in isolated microVMs. Schedule them with cron. Public HTTPS endpoints.

pandastack function deploy handler.py --name my-fn --runtime python --public
pandastack schedule create --name my-fn --fn <function-id> --cron "0 9 * * *"
tenancy

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.

open dashboard team settings
distribution

Move sandboxes without breaking identity.

Snapshot restore keeps starts low; snapshot migration lets the scheduler rebalance across hosts and regions.

Multi-region seeds

Template snapshots replicated by 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.

integrations

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.

Ship on the millisecond cloud.

Free tier with $5.40/mo usage credit. No card. Apache-2.0.