Skip to main content
You pay for machine time, per second, only while a sandbox runs. A stopped sandbox costs nothing. Storage is free too. The automatic snapshots that keep a stopped sandbox’s disk cost nothing and have no count limit. Only named snapshots above the first 10 cost money: $1.70 a month each.

Price

“Disk” is the space for your own files; the OS and the pre-installed tools sit outside it. One default sandbox running a whole month (730 h) is $26. Every size is a full Linux VM with the same tools, snapshots, hosting and desktop; only the machine changes. * xlarge needs the $100 plan or higher. Subscribe from Dashboard > Billing, then pass --type xlarge. You do not need to contact us. Pick the size when you create a sandbox, and change it on resume or fork:

Concurrency

A plan sets how many sandboxes you may run at once. Its price is not a fee: every dollar comes back as sandbox time at the rates above, so the $20 plan is $20 of time (555 hours of default) plus the right to run 100 sandboxes at the same time.
  • Included time is granted each month and expires at the end of it.
  • Need more time in a month: buy credit packs ($20 each, same rates, they never expire), or turn on auto-refill. Plan time is spent first, packs after.
  • Concurrency and start limits are per plan; on an organization they are multiplied by the number of seats.
  • Trial: 25 free hours, 2 sandboxes at once, small and default only, until your first payment.
Change plans from Dashboard > Billing or boat billing plan 100. Upgrades are prorated and take effect immediately.

Compared to others

One default sandbox per hour, boat versus other sandbox providers One default sandbox per hour, boat versus other sandbox providers The same machine on every provider, at their public list prices (sizes as in the table above): † exe.dev: Cloud Pool rate; Cloudflare: active CPU only; Vercel Sandbox: active CPU only; Blaxel: CPU included in the RAM price; Railway: active CPU and used RAM only; Fly.io Sprites: active CPU and used RAM only; AWS AgentCore: active CPU and used RAM only; Deno Sandbox: active CPU only.

”Active CPU” billing

Some providers bill only the CPU time your code actually uses. RAM is billed on top: some charge for the RAM you reserve, others (‡) for the RAM in use. The pitch is “you will rarely max the box”. What it means for you:
  • You cannot know the price before you run. The same job costs a different amount each time. Builds, test suites, browsers and agents are mostly CPU anyway.
  • RAM keeps billing while you idle. Reserved or in use, you pay for it every second the sandbox runs.
  • They don’t publish what their users actually use, so you cannot check what “rarely max the box” saves you.
The table above prices them at full use, the only rate they publish. boat has one price per size, per hour, known before you run anything. We publish our usage. Here is how much CPU and RAM boat sandboxes really used over the last 30 days, priced at each provider’s list rates: One default sandbox per hour at real boat usage, boat versus active-CPU providers One default sandbox per hour at real boat usage, boat versus active-CPU providers ‡ bills RAM used, not RAM reserved. A nearly idle sandbox can cost less where only busy CPU and used RAM are billed. From the median sandbox up, boat is the cheapest. If your sandboxes mostly sit idle, stop them and resume them when work arrives (boat stop / boat resume, or the API). A stopped sandbox costs nothing and keeps its disk.

Performance

We ran the hpc-sandbox-benchmarks suite on the 4 vCPU / 8 GB machine of every provider (our default). The headline job is a Node.js build & test loop: bundle, lint, test, repeat. Full results: 2026-08-24 leaderboard. The same Node.js build and test loop, 1,000 runs, time it takes per provider The same Node.js build and test loop, 1,000 runs, time it takes per provider That boat row is our standard machine, where sandboxes normally run. When standard capacity is temporarily exhausted, a sandbox falls back to an older Hetzner cloud VM at the same price; that fallback did 8.9 runs per second in the same run (113 s per 1,000, $1.13 per million). † Modal: default runtime, cpu=4 in Modal units (the guest sees 4 CPUs; billed as 4 Modal cores) + 8 GiB. Its beta VM runtime did 15.1 runs per second. Priced as Modal bills that machine. Measured on 2026-09-29: Vercel Sandbox · 2026-08-24: boat, Freestyle · 2026-07-23: Daytona, Modal, E2B. Rows from different runs are indicative, not a like-for-like race. The boat row is our standard machine (AMD Ryzen 9 9950X hosts, internally called “baremetal”; each sandbox is still a full VM), measured with the same suite on 2026-08-24. Values are medians over several machines per provider, with 95% intervals within ±20% of them.

Worked examples

For the API

GET /limits reports balances as seconds of default time (100,000 per dollar). A small sandbox draws 0.5 of those per second it runs, a large 2, an xlarge 5.56; creditBalanceHours and packBalanceDollars restate the same balance in hours and dollars. boat usage <id> and GET /sandboxes/{id}/usage give one sandbox’s bill, with the size already applied. See Billing details for what happens when you run out, and Organizations & teams for team plans and caps.