sandboxrouter
← Providers

Deno Sandbox

provider: "deno"

Billed on CPU time, not wall clock (estimate assumes both vCPUs busy); fixed 2 vCPU, 0.75-4 GB, max 30 min lifetime; needs a paid Deno Deploy plan.

List price per hour

1 vCPU · 2 GB$0.250
2 vCPU · 4 GB$0.300
4 vCPU · 8 GBmax 2 vCPU
8 vCPU · 16 GBmax 2 vCPU
16 vCPU · 32 GBmax 2 vCPU
32 vCPU · 128 GBmax 2 vCPU
Source
deno.com, 2026-11-04 (an estimate, not a bill)
Billing
CPU only while busy; shown with every core busy
Plan
$20/mo: the free Deno Deploy plan has no sandboxes; Pro includes allowances, not credit

Adapter

Supports
Exec + streaming · Files · Custom image
Max size
2 vCPU · 4 GB
Routing
Chosen when it's the cheapest fit, or as a fallback

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 Deno Sandbox

Have a Deno Sandbox 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 deno --save --by YOUR_GITHUB_USERNAME
npx @sandboxrouter/sdk bench --provider deno --runs 5 --share --label "your city or cloud region" --by YOUR_GITHUB_USERNAME
npx @sandboxrouter/sdk cost run --provider deno --minutes 10 --by YOUR_GITHUB_USERNAME

Real-account check, step by step

Not run on a real account yet; the adapter is tested against a mock of Deno Sandbox's API.

setup
npm i @sandboxrouter/sdk @deno/sandbox
export DENO_DEPLOY_TOKEN=...
use Deno Sandbox
import { Router } from "@sandboxrouter/sdk";

const router = new Router();
const sbx = await router.create({}, { provider: "deno" });
await sbx.exec("uname -a", { onStdout: (c) => process.stdout.write(c) });
await sbx.kill();