← Providers
exe.dev
provider: "exedev"
Standalone reserved size, per second: $0.105/h per 2 vCPU / 4 GiB unit; stopped CPU/RAM free, retained disk separate; Personal from $15/mo (up to 16 vCPU / 32 GiB), Work $75/mo (32 / 64 without approval).
List price per hour
| 1 vCPU · 2 GB | $0.052 |
| 2 vCPU · 4 GB | $0.105 |
| 4 vCPU · 8 GB | $0.210 |
| 8 vCPU · 16 GB | $0.420 |
| 16 vCPU · 32 GB | $0.840 |
| 32 vCPU · 128 GB | max 16 vCPU |
- Source
- exe.dev, 2026-11-05 (an estimate, not a bill)
- Billing
- the size you ask for, while it runs
- Plan
- $15/mo: Personal plan; VMs are metered on top; 7-day trial
Adapter
- Supports
- Exec + streaming · Files · Custom image
- Max size
- 16 vCPU · 32 GB
- Routing
- Chosen when it's the cheapest fit, or as a fallback
- Docs
- exe.dev
Measured on real accounts
- Real-account check
- not run yet
- tested against a mock of its API only
- Cold start
- not measured
- no benchmark run yet
- Succeeded
- not measured
- no benchmark run yet
- Size you get
- not measured
- no cost run yet
- Billed vs list price
- not measured
- no cost run yet
Help verify exe.dev
Have a exe.dev account? These run real sandboxes on it, for a few cents at most, and write result files that fill in the blanks above. Results never include your keys. Run them in a clone of the repo and open a pull request with the files: CI checks every file for keys and impossible numbers, and a maintainer reviews each one before it shows here.
terminal
npx @sandboxrouter/sdk check --provider exedev --save --by YOUR_GITHUB_USERNAME
npx @sandboxrouter/sdk bench --provider exedev --runs 5 --share --label "your city or cloud region" --by YOUR_GITHUB_USERNAME
npx @sandboxrouter/sdk cost run --provider exedev --minutes 10 --by YOUR_GITHUB_USERNAMEReal-account check, step by step
Not run on a real account yet; the adapter is tested against a mock of exe.dev's API.
setup
npm i @sandboxrouter/sdk
export EXE_TOKEN=...use exe.dev
import { Router } from "@sandboxrouter/sdk";
const router = new Router();
const sbx = await router.create({}, { provider: "exedev" });
await sbx.exec("uname -a", { onStdout: (c) => process.stdout.write(c) });
await sbx.kill();