BuildPulse vs CircleCI machines
You keep CircleCI for everything it does. The job runs on a BuildPulse machine instead of a CircleCI one, through CircleCI's own self-hosted runner, and the minute costs less. Here is what changes, what it costs, and when to stay put.
At a glance
| CircleCI machines | BuildPulse machines on CircleCI | |
|---|---|---|
| Price per minute | CircleCI Linux VM: $0.006 at 2 vCPU to $0.18 at 32 | 33% less at 2 and 4 vCPU, 73% less at 8 and 16 |
| CircleCI credits used | Credits per minute, by class | None for job time on a self-hosted runner |
| Start time | Not measured by us | About 44 s from queued to started, every job |
| Concurrency | Set by your CircleCI plan | CircleCI caps self-hosted jobs: 5 on Free, 20 on Performance, unlimited on Scale |
| Operating systems | Linux, plus macOS, Windows and GPU classes | Linux only (Ubuntu 24.04 with Docker) |
| Config change | None | machine: true and your resource_class, per job |
Price, class by class
CircleCI prices its machines in credits, at $15 per 25,000 (circleci.com/pricing), which is $0.0006 a credit. Credits per minute come from its price list. Jobs on a self-hosted runner use no credits for run time (runner overview), so on our machines the minute is our rate alone. All prices read on October 5, 2026.
| CircleCI machine | vCPU | CircleCI $/min | BuildPulse size | BuildPulse $/min | BuildPulse costs |
|---|---|---|---|---|---|
| Medium · 7.5 GB | 2 | $0.006 | 2x · 8 GB | $0.004 | 33% less |
| Large · 15 GB | 4 | $0.012 | 4x · 16 GB | $0.008 | 33% less |
| X-large · 32 GB | 8 | $0.06 | 8x · 32 GB | $0.016 | 73% less |
| 2X-large · 64 GB | 16 | $0.12 | 16x · 64 GB | $0.032 | 73% less |
| 2X-large+ · 64 GB | 32 | $0.18 | 32x · 128 GB | $0.064 | 64% less |
| CircleCI machine | vCPU | CircleCI $/min | BuildPulse size | BuildPulse $/min | BuildPulse costs |
|---|---|---|---|---|---|
| Medium Gen 2 · 8 GB | 2 | $0.0108 | 2x · 8 GB | $0.004 | 63% less |
| Large Gen 2 · 16 GB | 4 | $0.0216 | 4x · 16 GB | $0.008 | 63% less |
| X-large Gen 2 · 32 GB | 8 | $0.0432 | 8x · 32 GB | $0.016 | 63% less |
| 2X-large Gen 2 · 64 GB | 16 | $0.0864 | 16x · 64 GB | $0.032 | 63% less |
| 2X-large+ Gen 2 · 128 GB | 32 | $0.1728 | 32x · 128 GB | $0.064 | 63% less |
CircleCI's Gen 2 Linux VM classes, from the same price list, cost more than the first generation at 2 and 4 vCPU and less from 8 vCPU up. We are 63% under every one of them.
A month, worked through
10,000 minutes a month at 8 vCPU. On CircleCI's X-large that is 100 credits a minute, so 1,000,000 credits, which is $600 (CircleCI also sells exactly 1 million credits for $600). On a BuildPulse 8x it is 10,000 × $0.016 = $160, or $148 after the 750 minutes at 8 vCPU that our 3,000 free base minutes buy. CircleCI's plan allowance (30,000 credits on Free and Performance) would cover 300 of the X-large minutes. Any network charge for restoring caches is extra and depends on your cache size.
What you trade
A boot on every job
Each CircleCI job gets its own new machine, which runs that one job and is discarded. In our measurements on October 2, 2026, jobs went from queued to started in 44 s at the median and 48.5 s at the 90th percentile. We do not claim that is faster than CircleCI. For pipelines made of many jobs that each run for under a minute, that wait can outweigh the savings in time, if not in money.
CircleCI's self-hosted concurrency cap
CircleCI runs at most 5 self-hosted jobs at once on Free and 20 on Performance, unlimited on Scale (pricing). If you regularly run more jobs than that at once, keep the overflow on CircleCI's machines or check your plan.
Network transfer for caches
Restoring caches and workspaces to a self-hosted runner is billed by CircleCI at 420 credits per GB past your plan's allowance (persisting data). Jobs with large caches should check this before moving.
Linux only, machine jobs only
Our machines run Ubuntu 24.04 with Docker. Jobs use machine: true with your resource class; Docker executor jobs, macOS and Windows stay on CircleCI.
FAQ
Do I leave CircleCI?
No. CircleCI still runs your pipelines, config, contexts, approvals and test insights. Only the machine a job runs on changes, through CircleCI’s own self-hosted runner. You can move one job at a time and keep the rest on CircleCI’s machines.
What does CircleCI still charge me?
Your CircleCI plan as before. Jobs on a self-hosted runner use no credits for their run time. Restoring caches and workspaces to a self-hosted runner counts as network transfer, billed at 420 credits per GB once you pass your plan’s included allowance.
Is it faster than CircleCI’s machines?
We have not benchmarked our machines against CircleCI’s, so we make no speed claim here. Jobs also wait for a new machine to boot each time, about 44 seconds from queued to started in our measurements, so short jobs may finish later than they do today.
What do I need to set it up?
A CircleCI resource class and its token, plus a read-only personal API token that lets us see when jobs are waiting. The setup guide walks through it.
Setup steps, and the same comparison for Semaphore, are in the CircleCI and Semaphore runner docs.
Move one job and compare the bill
Create a resource class, paste its token, and point one job at it. Everything else in your pipeline stays on CircleCI.
3,000 free minutes every month · No credit card required