//pricing · you pay aws directly for compute
one flat license. compute at cost.
RunsOn runs in your AWS account, so AWS bills you for the instances — at spot prices, with no per-minute markup. The only thing you pay us is a flat annual license. No seats, no minute-metering, and no automatic charge for short CI spikes.
the license#
Flat annual fee, billed per legal entity — covering every GitHub org and AWS account you own or control. 15-day free trial.
For teams self-hosting CI on their own AWS account. Flat fee scales with monthly runner volume — never with minutes.
- includes
- RunsOn Flex and Fleet
- All public binary releases & AMIs
- Email support
- One license across all owned or controlled orgs & AWS accounts
For high-volume orgs that want priority support and source-code access. Billed annually.
also available via AWS Marketplace ↗
- everything in commercial, plus
- Priority support
- Private Slack Connect channel
- Full server & agent source-code access
For nonprofit, open-source, educational, and personal non-commercial projects. The full product, at no cost — all we ask is a public acknowledgement linking back to runs-on.com.
- RunsOn Flex and Fleet
- All public binary releases & AMIs
- Community support
what the compute costs#
This is your AWS bill, not ours — RunsOn adds no markup. Per-minute rates below fold in a gp3 root volume (set its size and throughput below), compared against the equivalent GitHub-hosted runner. Estimate your own bill in the calculator →
| runner | instance | RunsOn / min | GitHub / min | you save | RunsOn CPU | GitHub CPU | CPU vs GitHub |
|---|---|---|---|---|---|---|---|
| 1cpu | m7a.medium | $0.0006 | $0.0020 | 3× | 2,882 | 2,269 | +27% |
| 2cpu | m7i-flex.large | $0.0010 | $0.0060 | 6× | 3,074 | 2,269 | +35% |
| 4cpu | m7i-flex.xlarge | $0.0017 | $0.0120 | 7× | 3,074 | 2,269 | +35% |
| 8cpu | c7i-flex.2xlarge | $0.0027 | $0.0220 | 8× | 3,038 | 2,269 | +34% |
| 16cpu | c7i-flex.4xlarge | $0.0043 | $0.0420 | 10× | 3,038 | 2,269 | +34% |
| 32cpu | c7i-flex.8xlarge | $0.0092 | $0.0820 | 9× | 3,038 | 2,269 | +34% |
| 48cpu | c7i-flex.12xlarge | $0.0088 | — | — | 3,038 | — | — |
| 64cpu | c7i-flex.16xlarge | $0.0133 | $0.1620 | 12× | 3,038 | 2,269 | +34% |
| 96cpu | c7i.24xlarge | $0.0223 | $0.2520 | 11× | 3,010 | 2,269 | +33% |
| runner | instance | RunsOn / min | GitHub / min | you save | RunsOn CPU | GitHub CPU | CPU vs GitHub |
|---|---|---|---|---|---|---|---|
| 1cpu | m8g.medium | $0.0005 | — | — | 1,947 | — | — |
| 2cpu | m8g.large | $0.0009 | $0.0050 | 6× | 1,947 | 1,874 | +4% |
| 4cpu | m8g.xlarge | $0.0014 | $0.0080 | 6× | 1,947 | 1,874 | +4% |
| 8cpu | c8g.2xlarge | $0.0023 | $0.0140 | 6× | 1,932 | 1,874 | +3% |
| 16cpu | c8g.4xlarge | $0.0043 | $0.0260 | 6× | 1,932 | 1,874 | +3% |
| 32cpu | c8g.8xlarge | $0.0066 | $0.0500 | 8× | 1,932 | 1,874 | +3% |
| 48cpu | c8g.12xlarge | $0.0089 | — | — | 1,932 | — | — |
| 64cpu | c8g.16xlarge | $0.0114 | $0.0980 | 9× | 1,932 | 1,874 | +3% |
| 96cpu | c8g.24xlarge | $0.0176 | — | — | 1,932 | — | — |
| runner | instance | RunsOn / min | GitHub / min | you save |
|---|---|---|---|---|
| 2cpu | m8i.large | $0.0020 | $0.0100 | 5× |
| 4cpu | m8i.xlarge | $0.0038 | $0.0220 | 6× |
| 8cpu | m8i.2xlarge | $0.0071 | $0.0420 | 6× |
| 16cpu | c8i.4xlarge | $0.0138 | $0.0820 | 6× |
| 32cpu | c8i.8xlarge | $0.0273 | $0.1620 | 6× |
| 64cpu | c8i.16xlarge | $0.0544 | $0.3220 | 6× |
| 96cpu | c8i.24xlarge | $0.0814 | $0.5520 | 7× |
| runner | instance | RunsOn / min | GitHub / min | you save |
|---|---|---|---|---|
| 4cpu·T4 | g4dn.xlarge | $0.0041 | $0.0520 | 13× |
| 8cpu·T4 | g4dn.2xlarge | $0.0050 | — | — |
| 16cpu·A10 | g5.4xlarge | $0.0128 | — | — |
| 48cpu·4×T4 | g4dn.12xlarge | $0.0210 | — | — |
| runner | instance | RunsOn / min | GitHub / min | you save | RunsOn CPU | GitHub CPU | CPU vs GitHub |
|---|---|---|---|---|---|---|---|
| 2cpu | c6i.large | $0.0009 | $0.0060 | 7× | 2,297 | 2,269 | +1% |
| 4cpu | c6i.xlarge | $0.0013 | $0.0120 | 9× | 2,297 | 2,269 | +1% |
| 8cpu | c6i.2xlarge | $0.0030 | $0.0220 | 7× | 2,297 | 2,269 | +1% |
| 16cpu | c6i.4xlarge | $0.0054 | $0.0420 | 8× | 2,297 | 2,269 | +1% |
| 32cpu | c6i.8xlarge | $0.0079 | $0.0820 | 10× | 2,297 | 2,269 | +1% |
| 48cpu | c6i.12xlarge | $0.0104 | — | — | 2,297 | — | — |
| 64cpu | c6i.16xlarge | $0.0135 | $0.1620 | 12× | 2,297 | 2,269 | +1% |
| 96cpu | c6i.24xlarge | $0.0195 | $0.2520 | 13× | 2,297 | 2,269 | +1% |
| runner | instance | RunsOn / min | GitHub / min | you save | RunsOn CPU | GitHub CPU | CPU vs GitHub |
|---|---|---|---|---|---|---|---|
| 1cpu | m7a.medium | $0.0006 | $0.0020 | 3× | 2,882 | 2,269 | +27% |
| 2cpu | c7a.large | $0.0008 | $0.0060 | 7× | 2,884 | 2,269 | +27% |
| 4cpu | c7a.xlarge | $0.0014 | $0.0120 | 9× | 2,884 | 2,269 | +27% |
| 8cpu | c7a.2xlarge | $0.0027 | $0.0220 | 8× | 2,884 | 2,269 | +27% |
| 16cpu | c7a.4xlarge | $0.0054 | $0.0420 | 8× | 2,884 | 2,269 | +27% |
| 32cpu | c7a.8xlarge | $0.0098 | $0.0820 | 8× | 2,884 | 2,269 | +27% |
| 48cpu | c7a.12xlarge | $0.0136 | — | — | 2,884 | — | — |
| 64cpu | c7a.16xlarge | $0.0184 | $0.1620 | 9× | 2,884 | 2,269 | +27% |
| 96cpu | c7a.24xlarge | $0.0253 | $0.2520 | 10× | 2,884 | 2,269 | +27% |
| runner | instance | RunsOn / min | GitHub / min | you save | RunsOn CPU | GitHub CPU | CPU vs GitHub |
|---|---|---|---|---|---|---|---|
| 2cpu | c7i.large | $0.0008 | $0.0060 | 7× | 3,010 | 2,269 | +33% |
| 4cpu | c7i.xlarge | $0.0013 | $0.0120 | 9× | 3,010 | 2,269 | +33% |
| 8cpu | c7i.2xlarge | $0.0029 | $0.0220 | 8× | 3,010 | 2,269 | +33% |
| 16cpu | c7i.4xlarge | $0.0051 | $0.0420 | 8× | 3,010 | 2,269 | +33% |
| 32cpu | c7i.8xlarge | $0.0108 | $0.0820 | 8× | 3,010 | 2,269 | +33% |
| 48cpu | c7i.12xlarge | $0.0159 | — | — | 3,010 | — | — |
| 64cpu | c7i.16xlarge | $0.0141 | $0.1620 | 11× | 3,010 | 2,269 | +33% |
| 96cpu | c7i.24xlarge | $0.0218 | $0.2520 | 12× | 3,010 | 2,269 | +33% |
| runner | instance | RunsOn / min | GitHub / min | you save | RunsOn CPU | GitHub CPU | CPU vs GitHub |
|---|---|---|---|---|---|---|---|
| 1cpu | m8a.medium | $0.0006 | $0.0020 | 3× | 3,849 | 2,269 | +70% |
| 2cpu | c8a.large | $0.0009 | $0.0060 | 7× | 3,846 | 2,269 | +70% |
| 4cpu | c8a.xlarge | $0.0016 | $0.0120 | 7× | 3,846 | 2,269 | +70% |
| 8cpu | c8a.2xlarge | $0.0035 | $0.0220 | 6× | 3,846 | 2,269 | +70% |
| 16cpu | c8a.4xlarge | $0.0063 | $0.0420 | 7× | 3,846 | 2,269 | +70% |
| 32cpu | c8a.8xlarge | $0.0122 | $0.0820 | 7× | 3,846 | 2,269 | +70% |
| 48cpu | c8a.12xlarge | $0.0171 | — | — | 3,846 | — | — |
| 64cpu | c8a.16xlarge | $0.0154 | $0.1620 | 11× | 3,846 | 2,269 | +70% |
| 96cpu | c8a.24xlarge | $0.0279 | $0.2520 | 9× | 3,846 | 2,269 | +70% |
| runner | instance | RunsOn / min | GitHub / min | you save | RunsOn CPU | GitHub CPU | CPU vs GitHub |
|---|---|---|---|---|---|---|---|
| 2cpu | c8i.large | $0.0009 | $0.0060 | 7× | 3,209 | 2,269 | +41% |
| 4cpu | c8i.xlarge | $0.0015 | $0.0120 | 8× | 3,209 | 2,269 | +41% |
| 8cpu | c8i.2xlarge | $0.0032 | $0.0220 | 7× | 3,209 | 2,269 | +41% |
| 16cpu | c8i.4xlarge | $0.0038 | $0.0420 | 11× | 3,209 | 2,269 | +41% |
| 32cpu | c8i.8xlarge | $0.0091 | $0.0820 | 9× | 3,209 | 2,269 | +41% |
| 48cpu | c8i.12xlarge | $0.0149 | — | — | 3,209 | — | — |
| 64cpu | c8i.16xlarge | $0.0169 | $0.1620 | 10× | 3,209 | 2,269 | +41% |
| 96cpu | c8i.24xlarge | $0.0217 | $0.2520 | 12× | 3,209 | 2,269 | +41% |
| runner | instance | RunsOn / min | GitHub / min | you save | RunsOn CPU | GitHub CPU | CPU vs GitHub |
|---|---|---|---|---|---|---|---|
| 1cpu | m8azn.medium | $0.0008 | $0.0020 | 2× | 4,299 | 2,269 | +89% |
| 2cpu | m8azn.large | $0.0012 | $0.0060 | 5× | 4,299 | 2,269 | +89% |
| 4cpu | m8azn.xlarge | $0.0023 | $0.0120 | 5× | 4,299 | 2,269 | +89% |
| 48cpu | m8azn.12xlarge | $0.0272 | — | — | 4,299 | — | — |
| 96cpu | m8azn.24xlarge | $0.0275 | $0.2520 | 9× | 4,299 | 2,269 | +89% |
| runner | instance | RunsOn / min | GitHub / min | you save | RunsOn CPU | GitHub CPU | CPU vs GitHub |
|---|---|---|---|---|---|---|---|
| 2cpu | t4g.large | $0.0007 | $0.0050 | 7× | 1,107 | 1,874 | −41% |
| 4cpu | t4g.xlarge | $0.0012 | $0.0080 | 7× | 1,107 | 1,874 | −41% |
| 8cpu | t4g.2xlarge | $0.0018 | $0.0140 | 8× | 1,107 | 1,874 | −41% |
| runner | instance | RunsOn / min | GitHub / min | you save | RunsOn CPU | GitHub CPU | CPU vs GitHub |
|---|---|---|---|---|---|---|---|
| 1cpu | m7g.medium | $0.0005 | — | — | 1,564 | — | — |
| 2cpu | c7g.large | $0.0007 | $0.0050 | 7× | 1,547 | 1,874 | −17% |
| 4cpu | c7g.xlarge | $0.0012 | $0.0080 | 7× | 1,547 | 1,874 | −17% |
| 8cpu | c7g.2xlarge | $0.0023 | $0.0140 | 6× | 1,547 | 1,874 | −17% |
| 16cpu | c7g.4xlarge | $0.0036 | $0.0260 | 7× | 1,547 | 1,874 | −17% |
| 32cpu | c7g.8xlarge | $0.0061 | $0.0500 | 8× | 1,547 | 1,874 | −17% |
| 48cpu | c7g.12xlarge | $0.0086 | — | — | 1,547 | — | — |
| 64cpu | c7g.16xlarge | $0.0110 | $0.0980 | 9× | 1,547 | 1,874 | −17% |
| runner | instance | RunsOn / min | GitHub / min | you save | RunsOn CPU | GitHub CPU | CPU vs GitHub |
|---|---|---|---|---|---|---|---|
| 1cpu | m8g.medium | $0.0005 | — | — | 1,947 | — | — |
| 2cpu | c8g.large | $0.0007 | $0.0050 | 7× | 1,932 | 1,874 | +3% |
| 4cpu | c8g.xlarge | $0.0013 | $0.0080 | 6× | 1,932 | 1,874 | +3% |
| 8cpu | c8g.2xlarge | $0.0023 | $0.0140 | 6× | 1,932 | 1,874 | +3% |
| 16cpu | c8g.4xlarge | $0.0043 | $0.0260 | 6× | 1,932 | 1,874 | +3% |
| 32cpu | c8g.8xlarge | $0.0066 | $0.0500 | 8× | 1,932 | 1,874 | +3% |
| 48cpu | c8g.12xlarge | $0.0089 | — | — | 1,932 | — | — |
| 64cpu | c8g.16xlarge | $0.0122 | $0.0980 | 8× | 1,932 | 1,874 | +3% |
| 96cpu | c8g.24xlarge | $0.0163 | — | — | 1,932 | — | — |
| runner | instance | RunsOn / min | GitHub / min | you save | RunsOn CPU | GitHub CPU | CPU vs GitHub |
|---|---|---|---|---|---|---|---|
| 1cpu | m9g.medium | $0.0006 | — | — | 2,469 | — | — |
| 2cpu | m9g.large | $0.0009 | $0.0050 | 6× | 2,469 | 1,874 | +32% |
| 4cpu | m9g.xlarge | $0.0014 | $0.0080 | 6× | 2,469 | 1,874 | +32% |
| 8cpu | m9g.2xlarge | $0.0026 | $0.0140 | 5× | 2,469 | 1,874 | +32% |
| 16cpu | m9g.4xlarge | $0.0049 | $0.0260 | 5× | 2,469 | 1,874 | +32% |
| 32cpu | m9g.8xlarge | $0.0097 | $0.0500 | 5× | 2,469 | 1,874 | +32% |
| 48cpu | m9g.12xlarge | $0.0140 | — | — | 2,469 | — | — |
| 64cpu | m9g.16xlarge | $0.0188 | $0.0980 | 5× | 2,469 | 1,874 | +32% |
| 96cpu | m9g.24xlarge | $0.0287 | — | — | 2,469 | — | — |
what you actually pay each month#
Three lines, two of them to AWS. There is no fourth.
the license
A flat annual fee to RunsOn, divided however you like. It doesn't move with short spikes — only sustained overage above your tier moves you up a tier, prorated for the rest of the term.
ec2 compute
Spot or on-demand instances, billed per second by AWS. You only pay while a job is running.
storage & transfer
The S3 cache bucket and EBS volumes, in your region. Cents per job; no egress to a third party.
manage billing and usage#
Already have a license? Everything you need to manage payment, review invoices, and track your runner volume lives in one of these portals.
pricing, answered#
01 Do you meter minutes or charge per seat? +
02 Who can use the license? +
03 Which tier am I on? +
Starter under 50k (about 79% of teams), Growth under 200k (~14%), and Scale under 500k (~6%). Past 500k runners/month you're on Enterprise. A "runner" is a single ephemeral runner RunsOn launches — one per GitHub Actions job. Not sure where you land? Check your own monthly runner counts on the license usage page.04 Can I pay in USD, or through AWS Marketplace? +
05 What's a stack deployment? +
06 How does the free trial work? +
07 Flex vs Fleet — what's the difference? +
Flex launches one ephemeral instance per job — the simplest, most isolated mode. Fleet keeps a warm, shared capacity pool for teams that want lower queue latency at high volume. You can mix them per workflow.your account. your bill. ~10 minutes to set up.
Deploy one CloudFormation stack, start the trial, and watch the first job land on a spot instance you own.