sandboxrouter
← Providers

Maritime

provider: "maritime"

Per second, no minimum runtime; running disk included; Starter $20/mo incl. $20 usage; paused disk $0.08/GB-month (default idle action deletes sandbox).

List price per hour

1 vCPU · 2 GB$0.011
2 vCPU · 4 GB$0.022
4 vCPU · 8 GB$0.044
8 vCPU · 16 GB$0.088
16 vCPU · 32 GB$0.176
32 vCPU · 128 GBmax 16 vCPU
Source
maritime.sh, 2026-11-05 (an estimate, not a bill)
Billing
the size you ask for, while it runs
Plan
$20/mo (credited): Starter plan; no free tier; 7-day trial needs a card

Adapter

Supports
Exec + streaming · Files · Pause · Custom image · Desktops
Max size
16 vCPU · 64 GB
Computers
linux, windows, android
Routing
Chosen when it's the cheapest fit, or as a fallback

Measured on real accounts

Real-account check
14 / 14 steps
2026-11-13
Cold start
1,199 ms
median, 2 locations
Succeeded
100%
of benchmark sandboxes
Size you get
2 vCPU / 3.8 GB
asked for 2 vCPU / 4 GB
Billed vs list price
0%
$0.0000 billed, $0.0037 at list, 2026-11-06

Real-account check, step by step

14 of 14 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 resumepassed
  • killpassed
  • killed sandbox is gonepassed
setup
npm i @sandboxrouter/sdk
export MARITIME_API_KEY=...
use Maritime
import { Router } from "@sandboxrouter/sdk";

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