# Costs and billing

## How an estimate is made

For each machine that meets your requirements:

```text
hours     = work_units / (gpu_speed × gpu_count)
cost      = hours × price_per_gpu_hour × gpu_count
estimate  = cost × (1 + (1 − reliability) × checkpoint_every × 4)
```

The last factor adds the work expected to be redone after preemptions. Machines
are ranked by `estimate`, and the cheapest one that fits the remaining budget is
used.

## What you pay for

Machine time from placement until the job ends or the machine is lost,
including time that is later redone after a preemption. There is no charge while
a job is `queued` or `recovering`.

## Preview pricing

During the preview no card is taken and nothing is charged. Spend shown in the
console and API is what the job would have cost at the listed prices.
