An alternative to EC2 Mac for short jobs

EC2 Mac instances run on Dedicated Hosts, which bill a 24-hour minimum. offstage cloud bills by the second, so a 10-minute build costs you 10 minutes.

The 24-hour minimum

What a job that runs for 10 minutes costs on each service. Public list prices, checked 7 November 2026, before tax.

ProviderTime chargedTotal
offstage10 minutes$0.18
Scaleway, Mac mini M424 hours$5.90 (€5.28)
AWS EC2 Mac, M4, US East (N. Virginia)24 hours$29.52
Daytona, macOS reservation24 hours$60.08
  • AWS and Scaleway charge the first 24 hours, then by usage. Daytona's reservation can't end early.
  • Scaleway's €0.22 an hour is converted at the European Central Bank's rate of 6 November 2026 (€1 = $1.1165).
  • Sources: AWS, Scaleway, Daytona, ECB exchange rate. Product names belong to their owners; offstage isn't affiliated with any of them.

How they differ

offstage cloudEC2 Mac
What you getA macOS user account on a shared Mac Studio M5 MaxA whole Mac on a Dedicated Host
Billing$1.10 an hour, per second, no minimum24-hour minimum for the host
LifetimeUp to 24 hours per sandbox, then it's wipedAs long as you keep the host
Admin accessNo sudo and no HomebrewRoot on your own machine
CPU and memoryShared with up to 7 other sandboxes, not reservedThe whole machine
NetworkThe public internetInside your VPC

When to rent the day

offstage cloud is built for work that starts, runs and stops: a CI job, an agent's build, a test run. A whole-day rental is the better choice when:

  • You keep a Mac busy most of the day. A whole machine running several jobs at once can cost less than paying for each by the second.
  • You need root, your own macOS or Xcode version, or software that needs an installer.
  • The Mac has to sit inside your own network, or keep its state from one day to the next.

Run a command

Create a sandbox, run a command, close it. The clock stops when you kill it.

first-mac.mjs
import { Sandbox } from "offstage-cloud"

const sandbox = await Sandbox.create({ timeoutMs: 10 * 60_000 })
try {
  const run = await sandbox.commands.run("sw_vers -productVersion")
  console.log("macOS", run.stdout.trim())
} finally {
  await sandbox.kill() // stops the clock
}

The quickstart has the install and the API key. For CI, see macOS runners for GitHub Actions.

Try it

New personal accounts get $5 in free credit, about four and a half hours of runtime, with no credit card needed.

Try it free

Read the docs, see pricing, or talk to an engineer.