sandboxrouter
← Providers

Dedalus Machines

provider: "dedalus"

Sign-up is waitlisted: private beta: your organization has to be admitted before keys work. Checked 2026-11-05.

Per second while awake; sleeping machines bill storage only (10 GiB included on Hobby, 20 on Pro); Hobby plan max 4 vCPU / 16 GiB; private beta.

List price per hour

1 vCPU · 2 GB$0.074
2 vCPU · 4 GB$0.149
4 vCPU · 8 GB$0.298
8 vCPU · 16 GB$0.596
16 vCPU · 32 GB$1.19
32 vCPU · 128 GBmax 16 vCPU
Source
docs.dedaluslabs.ai, 2026-11-05 (an estimate, not a bill)
Billing
the size you ask for, while it runs
Plan
none needed

Adapter

Supports
Exec + streaming · Files · Pause
Max size
16 vCPU · 64 GB
Routing
Chosen when it's the cheapest fit, if you already have a key

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 Dedalus Machines

Have a Dedalus Machines 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 dedalus --save --by YOUR_GITHUB_USERNAME
npx @sandboxrouter/sdk bench --provider dedalus --runs 5 --share --label "your city or cloud region" --by YOUR_GITHUB_USERNAME
npx @sandboxrouter/sdk cost run --provider dedalus --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 Dedalus Machines's API.

setup
npm i @sandboxrouter/sdk
export DEDALUS_API_KEY=...
use Dedalus Machines
import { Router } from "@sandboxrouter/sdk";

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