# Blacksmith vs Depot for GitHub Actions runners

> Blacksmith vs Depot for GitHub Actions runners: per-minute rates, free minutes, cache limits and billing, read today, with a worked bill.

Source: https://latchkey.dev/learn/runners/blacksmith-vs-depot  
Updated: 2026-09-20

On Blacksmith vs Depot the rate card no longer ties: Blacksmith lists Ubuntu x64 at $0.004/min and Depot lists the same size at $0.006/min, which is GitHub-hosted list price. Choose Blacksmith if your bill is long Linux jobs, and Depot if it is a wide matrix of short jobs or disk-bound Docker work, because Depot meters to the second and puts a RAM disk in front of every runner.

Blacksmith sells managed GitHub Actions runners on its own bare-metal hosts in four regions, with a low Linux rate and 3,000 free minutes a month. It is the straightforward buy for a team whose Actions bill is mostly long Ubuntu jobs and who wants the arithmetic to be obvious.

Depot sells ephemeral EC2 runners with a RAM-disk accelerator sitting in front of the root disk, and bundles runner minutes into a paid plan rather than a free tier. It is the buy for a team whose pain is I/O: Docker layers, large checkouts, test suites that thrash the disk, or a matrix of hundreds of jobs that each run for seconds.

Every cell below was read from the vendor's own public pricing or documentation page on 20 September 2026. Where a vendor does not publish a number, the cell says "not published" instead of carrying a guess.

## Comparison

|  | Blacksmith | Depot | Latchkey |
| --- | --- | --- | --- |
| Price per minute, 2 vCPU Linux x64 | $0.004 (2 vCPU, 8 GB RAM, 80 GB disk) | $0.006 (2 vCPU, 8 GB RAM, 100 GB disk, 2 GB RAM disk) | **$0.0025** (2 vCPU, 8 GB RAM, 100 GB disk) |
| Price per minute, 4 vCPU Linux x64 | $0.008 (4 vCPU, 16 GB RAM, 80 GB disk) | $0.012 (4 vCPU, 16 GB RAM, 130 GB disk, 4 GB RAM disk) | **$0.005** (4 vCPU, 16 GB RAM, 100 GB disk) |
| Free tier | 3,000 free minutes a month, printed on every runner card | None standalone: 2,000 minutes with the $20/month Developer plan, 20,000 with the $200/month Startup plan | 30-day trial, then 2,000 included minutes a month on Developer, 4,000 on Launch, 6,000 on Scale |
| Billing granularity | Not published | Per-second usage tracking, with whole minutes billed at the end of the month and no one-minute minimum | Per minute |
| Runner sizes and OS | 2 to 32 vCPU on Linux x64 and arm64; Windows Server 2025 at 2 to 32 vCPU in public beta; macOS M4 at 6 and 12 vCPU | 2 to 64 vCPU on Linux x64 and arm64 (Graviton4); Windows Server 2022 and 2025 at 2 to 64 vCPU; macOS at 8 vCPU on M2 and M4 | 2, 4, 8 and 16 vCPU, Ubuntu 24.04 on x86_64 only. arm64, Windows and macOS are not offered |
| Cache: type, limit, persistence | Colocated cache intercepts `actions/cache`, 25 GB free per repo per week; sticky disks are ext4 volumes, 5 per job, evicted after 7 days idle, $0.50/GB/month | Depot Cache, 25 GB included on Developer and 250 GB on Startup, then $0.20/GB/month; entries are not isolated by branch | Size not published. `latchkey-dev/cache-action@v1` swaps one line for `actions/cache`, keeping `path`, `key` and `restore-keys`; entries are isolated per organization, versioned by OS, kept 14 days; a failed restore warns rather than failing the job |
| Docker build acceleration | `useblacksmith/setup-docker-builder@v2` and `useblacksmith/build-push-action@v2`; layers live on a sticky disk and are collected after 8 days unused | Every runner carries a RAM-disk accelerator, 2 GB at 2 vCPU rising to 32 GB at 64 vCPU; remote container builds are a separate Depot product | `latchkey-dev/docker-cache-action@v1`, layers held in a Latchkey-managed private registry per organization |
| Concurrency limits | None imposed, per the runner docs | Not published | Not published; warm-pool capacity varies by plan |
| Where jobs run | Blacksmith's own regions: Ashburn, Phoenix, Amsterdam and Frankfurt | Ephemeral EC2 instances in Depot's AWS account, or in your own account on Depot Managed | Latchkey's own AWS estate on m6a-class hosts, one job per runner, private network, destroyed after the job |
| Self-healing or retries | Not offered | Not offered | Built in: transient failures are diagnosed and retried inside the run |
| Setup change required | Install the GitHub App, then change the `runs-on` label | Change the `runs-on` label. The repository must be owned by a GitHub organization | A `runs-on` label change. GitHub organization accounts only |

## Speed

Not benchmarked yet; the runner benchmark report will replace this section. We have not run the same workload on these runners ourselves, and until we have, there is no number here worth quoting.

What you will find elsewhere is each vendor's own figure, measured on a workload the vendor chose. Those numbers are not wrong, but they are not comparable to each other, and none of them is your repository. The cheap way to get a real answer is to point one slow job at each candidate for a week: runner selection is per job, so three jobs in the same workflow file can run on three providers, and the Actions run log gives you the timings for free.

## Cost: the same month, priced three ways

Take a month with 10,000 Linux minutes at 2 vCPU and 2,000 macOS minutes, and price it at the rates in the table above. The macOS column is what decides this comparison for most teams, and it is the column the vendor pages bury.

|  | 10,000 Linux minutes at 2 vCPU | 2,000 macOS minutes | Monthly total |
| --- | --- | --- | --- |
| Blacksmith | $28 after 3,000 free minutes | $160 at $0.08/min | $188 |
| Depot | $60 at $0.006/min | $160 at $0.08/min | $220 before plan fees |
| Latchkey | $25 at $0.0025/min | Not offered: $124 on GitHub-hosted | $149 plus $5 to $49 a month for the plan |

Three things that table hides. Blacksmith prints "3,000 free min/mo." on each of its four runner cards, and its runner documentation says the allowance is one pool of 3,000 x64 2-vCPU minutes per organization, drawn on by macOS at 20x, so the $28 above spends it on Linux and would be worth the same $12 spent on macOS. Depot has no standalone free tier, so its $220 arrives on top of a plan fee of at least $20 a month, and the $200 Startup plan includes 20,000 minutes, which changes the shape of the bill rather than the rate. Latchkey has no macOS runner at all, so those 2,000 minutes stay on GitHub-hosted at $0.062/min and the $149 is a two-vendor bill, not a one-vendor one. Latchkey's own plan is $5 to $49 a month on top of that compute, and its 2,000 to 6,000 included minutes are not netted off, so the figure is gross on both counts.

The second thing the table hides is rounding. GitHub rounds every job up to the nearest whole minute; Depot tracks by the second and rounds once, at the end of the month. A 40-job matrix where each job takes 70 seconds is 46.7 minutes of real work and 80 billed minutes under per-minute rounding, so per-second tracking removes roughly 41% of that line whatever the rate is. If your workflow files are full of short matrix jobs, read Depot's rate next to the minutes you would actually be billed rather than the minutes you run.

## Reliability

Neither vendor publishes an uptime figure on the pages read here; Blacksmith lists a 99.9% SLA as an Enterprise plan feature, and Depot does not publish one on its pricing page. Treat both as unmeasured on this axis until you have run on them.

What is published is more useful anyway: neither product does anything when a job fails for a reason unrelated to your code. A registry timeout, a browser binary that did not install, a kernel OOM kill at minute nine of a ten-minute job: on both platforms that job fails, bills the minutes it burned, and waits for a person to press re-run, which bills again. That is the axis Latchkey sells on and it is why it is in this table, but it is also the axis where both of these vendors are simply not competing.

If those failures are what is costing you, the failure pages are more useful than this comparison: [exit code 137 in GitHub Actions](/learn/failures/exit-code-137-in-github-actions) and [no space left on device](/learn/failures/no-space-left-on-device-github-actions) are the two that a bigger runner appears to fix and does not.

## When to choose Blacksmith

- Your bill is dominated by Linux minutes and you want the lowest published Linux rate of the two: $0.004 against $0.006 at 2 vCPU is a third off.
- You want arm64 cheaply. Blacksmith lists Ubuntu arm64 at $0.0025/min, which is 37.5% below its own x64 rate, level with Latchkey's x64 rate and below every other rate in this table.
- You want a free tier you can start on without a card and a plan decision: 3,000 minutes a month is roughly a small team's Linux CI.
- You need Windows or macOS from the same vendor as your Linux runners, and you have checked that Blacksmith's macOS M4 at $0.08/min is worth the premium over GitHub-hosted at $0.062/min for your Xcode jobs.

## When to choose Depot

- Your jobs are short and numerous. Per-second tracking with no one-minute minimum is worth more than a lower rate once the average job is under two minutes.
- Your jobs are disk-bound. The RAM-disk accelerator in front of the root disk, 2 GB at 2 vCPU and 8 GB at 16 vCPU, is aimed squarely at checkout, npm install, and Docker layer writes.
- You need sizes above 32 vCPU, or Windows Server 2022, or arm64 on Graviton4 specifically. Depot goes to 64 vCPU on Linux and Windows where Blacksmith stops at 32.
- Your cache is large and you would rather pay for it by the gigabyte ($0.20/GB/month past plan inclusions) than manage sticky disks and their 7-day idle eviction.
- One caveat worth reading before you commit: Depot's own docs say its Windows runners have no Hyper-V because of an EC2 limitation, so anything needing Docker on Windows is unlikely to work there.

## Switching: the exact diff

Both are a label change, which is the real reason this decision is low-stakes. Install the vendor's GitHub App, edit `runs-on`, and nothing else in the workflow moves: your steps, actions, secrets, matrix and artifacts are untouched. Reverting is the same edit in reverse, so a two-week trial costs you one commit and one revert.

Because runner selection is per job, you do not have to choose for the whole repository at once. Point your slowest job at one vendor and your widest matrix at the other, and let two weeks of real runs decide.

```.github/workflows/ci.yml
jobs:
   build:
-    runs-on: ubuntu-latest
+    runs-on: blacksmith-4vcpu-ubuntu-2404

   test:
-    runs-on: ubuntu-latest
+    runs-on: depot-ubuntu-24.04-4

   lint:
-    runs-on: ubuntu-latest
+    runs-on: latchkey-medium
```

## The verdict

Blacksmith is the cheaper of the two on Linux by a third at every size both sell, and it is the only one of the two with a standing free tier, so for a team whose CI is mostly Ubuntu jobs it is the simpler buy. Depot is not trying to undercut anyone: at $0.006/min it charges exactly GitHub-hosted list price and sells you more machine for it, plus per-second metering that genuinely beats a lower rate once your jobs are short. The honest answer is that this is not a price fight, it is a workload question, and the two can coexist in one workflow file. Neither of them does anything about the job that failed at 2am for a reason that had nothing to do with your code, which is the line item most teams underestimate.

## FAQ

### Is Depot or Blacksmith cheaper?

Blacksmith, on Linux. As read on 20 September 2026 Blacksmith lists Ubuntu x64 at $0.004/min at 2 vCPU and $0.008 at 4 vCPU, while Depot lists $0.006 and $0.012 for the same sizes. Blacksmith also publishes 3,000 free minutes a month where Depot bundles minutes into a paid plan. On macOS they are level at $0.08/min, and on short jobs Depot's per-second metering can close the gap on its own.

### How does Depot speed up Docker builds in CI?

Two different mechanisms, and it is worth knowing which one you are buying. Every Depot GitHub Actions runner reserves part of host memory as a RAM disk in front of the root disk, which makes layer writes and checkouts faster without any change to your Dockerfile. Depot's remote container builds are a separate product with its own builders and cache. Blacksmith takes the other route: a dedicated builder action that keeps the BuildKit layer cache on a persistent sticky disk between jobs.

### Which GitHub Actions services let you run jobs on faster hardware without self-hosting?

Blacksmith, Depot, Namespace, RunsOn, WarpBuild, Ubicloud and Latchkey all sell managed runners that you adopt with a `runs-on` label change, and GitHub itself sells larger runners up to 96 vCPU. The category exists because the standard GitHub-hosted Linux runner on a private repository is 2 vCPU with 8 GB of RAM and 14 GB of disk, which is the ceiling behind a lot of [out-of-memory](/learn/failures/javascript-heap-out-of-memory-in-ci) and disk-full failures.

### Do either of them retry a failed job automatically?

No. Neither Blacksmith nor Depot publishes automatic detection and repair of transient failures. A job that dies on a registry timeout fails on both, is billed on both, and waits for a human. You can write retry logic into your own steps, but that retries the command without diagnosing why it failed, so it also cheerfully retries the failures that were never going to pass.

## References

- [Blacksmith pricing](https://www.blacksmith.sh/pricing)
- [Blacksmith runner instance types](https://docs.blacksmith.sh/blacksmith-runners/overview)
- [Depot GitHub Actions runner types and per-minute prices](https://depot.dev/docs/github-actions/runner-types)
- [Depot pricing and plan inclusions](https://depot.dev/pricing)
- [GitHub Actions per-minute rates and minute multipliers](https://docs.github.com/en/billing/reference/actions-minute-multipliers)

---

Latchkey runs CI/CD that repairs its own failures. Agent entry points: https://latchkey.dev/agent.txt, https://latchkey.dev/openapi.json, https://latchkey.dev/llms.txt
