# orkestr Sandboxes orkestr Sandboxes are hardware-isolated, ephemeral Linux VMs you can spin up from any agent loop. Designed for AI agents that need to run untrusted code, build artifacts, run tests, or operate a stateful development environment without touching your own infrastructure. Use sandboxes to: - **Execute LLM-generated code safely.** Each sandbox is its own VM with its own kernel and rootfs, dropped on terminate. No shared runtime, no syscall surface across tenants. - **Build interactive coding agents.** Long-lived sessions with pause and resume across requests, so an agent can come back to where it left off without rerunning setup. - **Run real CI-style workloads from an LLM.** Install packages, write files, exec scripts, read results. Per-second metering keeps short bursts cheap. - **Standardize the environment with custom templates.** Preinstall your dependencies once into a reusable image, then boot sandboxes from it in ~300 ms - no install per run. - **Stay in the EU.** Compute, env vars, files, and snapshots never leave the EU. Same legal entity that operates the rest of orkestr, GDPR DPA available. > **Get started** > > Sandboxes are free to start - no waitlist. Enable them in one click from the [Sandboxes console](https://orkestr.eu/sandbox), then mint a token scoped to `sandboxes:read` and `sandboxes:write`. ## Get started The fastest way in is the SDK. Pick your language, install, mint an API token, and run your first sandbox in under five minutes. - [Quickstart](https://orkestr.eu/docs/sandboxes/quickstart) - install, authenticate, run your first sandbox - [Python SDK reference](https://orkestr.eu/docs/sandboxes/python-sdk) - full API surface for the `orkestr` PyPI package - [JS SDK reference](https://orkestr.eu/docs/sandboxes/js-sdk) - full API surface for the `orkestr` npm package - [REST API reference](https://orkestr.eu/docs/sandboxes/api-reference) - call the wire format directly from any language - [MCP server](https://orkestr.eu/docs/sandboxes/mcp) - drive sandboxes from Claude Code, Cursor, or any MCP client ## Authentication Every request to the sandbox API carries a Bearer token. Mint tokens in the orkestr console with the `sandboxes:read` and `sandboxes:write` scopes. Tokens scoped to sandboxes only cannot reach the rest of the platform - use them in agent environments where the credential is at higher risk of exposure. ## System specifications Sandboxes run a stripped-down Linux guest with one of the supported base images: Python 3.12 (full or bare), Node 22, or a real Debian 12 where `apt-get` works. Each sandbox gets its own kernel, its own rootfs, its own filesystem (overlayed on the read-only base), and its own network stack (or no network stack at all in the default *off* mode). See [Base images](https://orkestr.eu/docs/sandboxes/base-images) for the full list. Default sizing fits most agent workloads: - Default 1 vCPU, 1 GB RAM, network off, 10-minute timeout - Cold start under 200 ms, under 30 ms from a warm pool - Larger sizes up to 4 vCPU / 8 GB with a card on file (pay-as-you-go) Each sandbox is metered per second of wall-clock time it's alive (whether or not the workload is busy), with separate meters for egress and snapshot storage. See [pricing on the product page](https://orkestr.eu/sandboxes) for current rates. ## Features - **Isolation.** Each sandbox is its own VM. No shared container runtime, no syscall surface between tenants. - **Multiple base images.** Python 3.12 (full or bare), Node 22, and Debian 12 (apt). Install more at run time, or bake it into a custom template. (`ubuntu-24.04` is retired - kept as a bootable alias; use `debian-12`.) - **Snapshot and resume.** Pause a sandbox and pick up where you left off, even on a different host. Skip dependency installation across requests. - **Network policies.** Default *off* for full isolation; opt into a curated allowlist of dev hosts (PyPI, npm, GitHub, common LLM APIs), bring your own allowlist, or open egress when you need it. See [Networking & egress](https://orkestr.eu/docs/sandboxes/networking). - **Public preview URLs.** Expose a port a process in the sandbox is serving at a public URL - a live preview of a dev server. Needs a networked, paid sandbox. See [Networking & egress](https://orkestr.eu/docs/sandboxes/networking). - **Python and JS SDKs.** Both ship with a matching surface. Use the language your agent runs in. - **MCP server.** One URL to give any MCP client (Claude Code, Cursor, custom agent) access to spin up sandboxes as tool calls. ## Resources - [Quickstart](https://orkestr.eu/docs/sandboxes/quickstart) - your first sandbox in five minutes - [Python SDK](https://orkestr.eu/docs/sandboxes/python-sdk) - [JS SDK](https://orkestr.eu/docs/sandboxes/js-sdk) - [REST API reference](https://orkestr.eu/docs/sandboxes/api-reference) - [Product page](https://orkestr.eu/sandboxes)