Pay for what the job used
No plans, no seats, no minimum. $3.00 of usage is free every month.
vCPUs are billed per second at the size you asked for. Memory is billed per second on what the job actually used, not on the size's maximum.
The billing basis is not final. Switch it here to see every number on this page under each option.
Rates
One vCPU costs $0.0360 an hour and one GiB of memory $0.00432 an hour.
| runs-on | vCPU | Memory, up to | Disk | A minute | An hour |
|---|---|---|---|---|---|
| play-2vcpu | 2 | 8 GiB | 25 GiB | $0.00134 | $0.081 |
| play-4vcpu | 4 | 16 GiB | 25 GiB | $0.00269 | $0.161 |
| play-8vcpu | 8 | 32 GiB | 50 GiB | $0.00538 | $0.323 |
| play-16vcpu | 16 | 64 GiB | 100 GiB | $0.01075 | $0.645 |
Shown for a job that uses 25% of its size's memory. A job that uses less pays less.
Estimate your bill
Enter a month of CI. The other columns use each vendor's public per-minute price for the same size, rounded-mark up to the minute per job.
- Play Compute$67.64compute $59.14add-ons $11.50free -$3.00
- GitHub-hosted77% less on Play Compute$288.00compute $306.00add-ons $0.00free -$18.00not offered: Docker layer cache
- Blacksmith70% less on Play Compute$224.20compute $211.20add-ons $25.00free -$12.00
GitHub-hosted: Placeholder rates, not checked against GitHub's price list yet.
Blacksmith: 2 vCPU rate, free minutes and add-ons read from its pricing page on 2026-11-10; larger sizes scaled by vCPU.
Play Compute's own rates are placeholders until pricing is decided.
Add-ons
Storage is billed for what is kept. Everything else is included.
| Add-on | Price | Note |
|---|---|---|
| Actions cache | $0.100 per GB a month | First 25 GB free |
| Artifacts | $0.080 per GB a month | Billed while kept |
| Sticky disks | $0.200 per GB a month | A disk that follows a job between runs |
| Docker layer cache | $0.200 per GB a month | Layers on a disk next to the job |
| Static egress IP | $40.00 a month | One fixed address for allow-lists |
- Logs, metrics and analytics for 90 days
- Log search across runs
- Shell into a running job
- The public API and the playc CLI
- Connected agents, without limit
- Network egress
Questions
- What does a label mean for the bill?
- A label such as play-4vcpu sets the job's vCPUs and the most memory it may use (4 GiB a vCPU). vCPUs are billed at the label's count. Under the memory-used basis, memory is billed on what the job used, second by second, so asking for a roomy size costs little until you use it.
- Do I pay while a job waits in the queue?
- No. Billing starts when the runner picks up the job and stops when the job ends. Queue time and the machine's start (about 2.5 seconds) are free.
- What if a job is lost to the platform?
- It is re-run, and the lost attempt is not billed. You pay for jobs that ran, not for our failures.
- Is there a minimum, a seat price or a plan?
- No. You pay for usage, and the first $3.00 of every month is free. A budget you set can stop new jobs; running jobs finish.
- What about macOS, Windows and arm64 jobs?
- Play Compute runs Linux x86-64. Leave other jobs on GitHub-hosted runners: the change is per job, so one workflow can use both.
- Can my agent run up a bill?
- An agent can re-run jobs, and a re-run is billed like any job. It cannot change billing or settings, and your budget and spend alerts apply to it too.