sandboxrouter
← Providers

Cloudflare Sandbox

provider: "cloudflare"

10 ms billing on active CPU and allocated instance memory; full-CPU estimate excludes allocated disk ($0.000252/GB-h), Worker and Durable Objects charges; needs Workers Paid ($5/mo) and bridges/cloudflare.

List price per hour

1 vCPU · 2 GB$0.126
2 vCPU · 4 GB$0.216
4 vCPU · 8 GB$0.396
8 vCPU · 16 GBmax 4 vCPU
16 vCPU · 32 GBmax 4 vCPU
32 vCPU · 128 GBmax 4 vCPU
Source
developers.cloudflare.com, 2026-11-05 (an estimate, not a bill)
Billing
CPU only while busy; shown with every core busy
Plan
$5/mo: Workers Paid; includes usage allowances, not credit

Adapter

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

Measured on real accounts

Real-account check
13 / 13 steps
2026-11-13
Cold start
606 ms
median, 1 location
Succeeded
100%
of benchmark sandboxes
Size you get
not measured
no cost run yet
Billed vs list price
not measured
no cost run yet

Help verify Cloudflare Sandbox

Have a Cloudflare 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 cost run --provider cloudflare --minutes 10 --by YOUR_GITHUB_USERNAME

Real-account check, step by step

13 of 13 steps passed on a real account, 2026-11-13 (v0.7.0).

  • createpassed
  • exec: stdout, stderr, exit codepassed
  • exec: env and cwdpassed
  • exec: UTF-8 outputpassed
  • exec: streamingpassed
  • files: binary round-trippassed
  • files: 1 MB round-trippassed
  • files: missing file is an errorpassed
  • files: visible to commandspassed
  • exec: command timeoutpassed
  • exec: timed-out command was stoppedpassed
  • pause and resumen/a
  • killpassed
  • killed sandbox is gonepassed
setup
npm i @sandboxrouter/sdk
export CLOUDFLARE_SANDBOX_URL=...
export CLOUDFLARE_SANDBOX_TOKEN=...
use Cloudflare Sandbox
import { Router } from "@sandboxrouter/sdk";

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