SELF-HOSTED SANDBOX

Self-host the whole sandbox platform.

Run the open-source engine on one box or a fleet, on your own metal or VPC. Use a KVM host for microVM isolation or Docker where KVM is not available, and your SDKs speak the same API.

one box or a fleet · no Terraform sprawl · same SDK/API/CLI/MCP

bring it up on your own box
$ curl -fsSL https://get.pilldrops.com | sudo sh
✓ PillDrops is running (sandboxes are microVMs).
  Dashboard   http://your-host:8080/dashboard

$ export PILLDROPS_API_URL=http://your-host:8080
$ export PILLDROPS_API_KEY=<from bootstrap.key>
$ python -c "from pilldrops import Sandbox; print(Sandbox.create(template='python-3.11').run('echo ok').stdout)"
ok
1 box
or a whole fleet
microVM isolation
or Docker nodes
your infra
own metal or VPC
same
API/SDK/CLI/MCP
[01] — One binary, your nodes / what actually ships

One box or a fleet.

No control-plane zoo, no Terraform sprawl. You run one binary — it carries the API, the scheduler, and the dashboard — and it places sandboxes onto whatever nodes you point it at, on your own hardware or inside your VPC.

⬢

One box, built-in dashboard

A single box runs from one binary — API and a built-in web dashboard. Build it, run sudo -E ./bin/sandboxd, and it's up. Add a control plane and nodes when you need a fleet.

▤

microVMs on KVM, or docker

A KVM host gives each sandbox a microVM. Docker also works, on hosts without KVM. Same API either way.

◇

Best-fit multi-node orchestrator

Point the binary at more nodes and it schedules each sandbox onto the best-fit host by available vCPU and memory. Stress-tested to 1,000 concurrent sandboxes.

⌂

Your own metal or VPC

Runs where you say — a bare-metal rack, a private VPC, an air-gapped network. Your data and your code never leave the infrastructure you control.

[02] — Managed vs self-host / pick the one that fits

When to self-host, and when not to.

Self-host is the same platform you'd get managed — the difference is who runs the nodes. Reach for it when data residency, air-gap, or your own hardware is the requirement; reach for managed when you'd rather not run infra at all.

If you need…Managed (pilldrops.com)Self-host
Zero infra to run✓ — we run the nodesYou run the nodes
Fastest path to a result✓ — $5 free credits, no cardSet up a host first
Data residency / your region onlyDepends on region✓ — runs where you put it
Air-gapped / no egress network✗✓ — runs offline on your metal
Run on your existing hardware✗✓ — your metal or VPC
Full microVM isolation✓✓ — on a KVM host
Quick local dev loop—✓ — make dev
Same SDK / API / CLI / MCP✓✓ — identical surface
[03] — Same surface / point the SDK at your base URL

Self-host speaks the identical API.

Nothing about your code changes. The self-hosted binary exposes the same REST API, and the SDKs, CLI, and MCP server all point at it by setting one base URL — PILLDROPS_API_URL. Develop against managed, ship against self-host, or the reverse.

point anything at your host
$ export PILLDROPS_API_URL=http://your-host:8080  # the only change
$ export PILLDROPS_API_KEY=your_key

from pilldrops import Sandbox
with Sandbox.create(template="python-3.11") as sb:
    r = sb.run("python -c 'print(2+2)'")
    print(r.stdout)                 # 4
    sb.upload("./data", "/data")
$ export PILLDROPS_API_URL=http://your-host:8080  // the only change
$ npm i @pilldrops/sdk

import { Sandbox } from '@pilldrops/sdk'
const sb = await Sandbox.create({ template: 'python-3.11' })
const r  = await sb.run("python3 -c 'print(2+2)'")
console.log(r.stdout)             // 4
await sb.kill()
$ export PILLDROPS_API_URL=http://your-host:8080

$ curl $PILLDROPS_API_URL/v1/sandboxes \
    -H "Authorization: Bearer $PILLDROPS_API_KEY" \
    -d '{"template":"python-3.11"}'
{"id":"sb_...","status":"running","expires_at":"..."}

$ # CLI and MCP take a base URL the same way
$ claude mcp add --transport http pilldrops $PILLDROPS_API_URL/mcp
same REST APIPython SDKTypeScript SDKCLIMCP
RUN IT WHERE YOU WANT

Your infra. Same platform.

Self-host the open-source engine on your own metal or VPC, with microVMs on KVM hosts or Docker nodes. Not ready to run infra? Start managed on $5 of free credits, no card.