Pricing
Pay for the minutes you run.
Nothing else.
Speedforge is usage-based. You're billed per runner-minute — the same way you already think about CI — at a rate that comes in under GitHub-hosted runners. No machine to reserve, no idle fleet to pay for. Runners scale to zero when you're not building.
3,000 free runner-minutes every month — no credit card.
Simple, per-minute pricing
One meter: runner-minutes. Pick the runner size your jobs need; pay only for the minutes they actually run.
Standard runner
2 vCPU · drop-in for ubuntu-latest
- Dedicated, isolated, ephemeral
- Autoscaling — scales to zero
- Below GitHub-hosted per-minute rates
Large runner
More vCPU for heavy builds & big matrices
- Same drop-in
runs-onmodel - Right-sized for parallel fan-out
- Still competitive with hosted large runners
Free tier
Every month · no credit card
- Resets monthly — not a one-time trial
- No card to start, no commitment
- Only minutes beyond 3,000 are billed
How it compares
Public repositories run free on GitHub; the bill shows up on private and internal repos. That's where Speedforge saves you money on every minute.
| Runner | GitHub-hosted (Linux 2-core) | Speedforge standard |
|---|---|---|
| Per runner-minute | $0.008 (published Linux 2-core rate) | $0.004 — half the price |
| Free minutes / month | 2,000–3,000 (plan-dependent) | 3,000 — no card |
| Idle cost | n/a | Zero — scales to zero |
| Migration | — | One line: runs-on: speedforge |
| Isolation | Shared hosted pool | Dedicated, isolated namespace per org |
Billed monthly through Stripe against your metered usage. Your first 3,000 runner-minutes each month are free; you only pay for minutes beyond that — and you can watch your usage the whole time.
Performance — our own numbers
We don't copy anyone's benchmark. The table below is median wall-clock
from a benchmark that runs the same representative jobs on Speedforge and
on GitHub-hosted ubuntu-latest — and it's open, so you can
reproduce it. Speedforge is dramatically faster on container and Python
workloads; Node and layered-Docker builds are slower today while we roll
out in-cluster cache locality. We publish the wins and the work-in-progress.
| Representative job | GitHub-hosted | Speedforge | Result |
|---|---|---|---|
| Docker image build | 6.8s | 1.6s | 4.2× faster |
| Python test suite | 2.3s | 0.9s | 2.5× faster |
| Python package install + test | 2.2s | 2.1s | ~1.1× faster |
| Node build | 5.2s | 6.5s | slower — cache locality WIP |
| Node TS project | 5.3s | 7.1s | slower — cache locality WIP |
| Docker layered build | 7.2s | 12.3s | slower — cache locality WIP |
Medians across repeated runs on the standard runner. Small jobs are dominated by fixed overhead; your mileage depends on your workload — which is exactly why we'd rather you run your own pipeline on the free tier than trust a number.
Pricing FAQ
How am I billed?
Per runner-minute, metered as your jobs run, invoiced monthly through Stripe. No reserved capacity, no minimums beyond what you use.
What's in the free tier?
Every organization gets 3,000 runner-minutes free each month — no credit card. The allowance resets monthly; it's not a one-time trial. Point a workflow at speedforge and decide from your own numbers.
What happens past 3,000 minutes?
Minutes beyond your monthly free allowance are billed per runner-minute ($0.004 standard / $0.008 large) through Stripe. Add a payment method to keep running past the free tier; nothing changes in your workflows, only the meter starts counting paid minutes.
Are public repositories free?
Public-repo CI is free on GitHub-hosted runners, so Speedforge is aimed at private and internal repos where minutes are billed — that's where we're cheaper.
Start free, pay only for what you run.
Install the Speedforge App and move your first workflow this week.
Start free