---
title: "Billing Overview"
description: "Understand how Forkline billing works with time-based usage."
section: "billing"
url: "https://forkline.dev/docs/billing"
markdown: "https://forkline.dev/docs/billing.md"
source: "src/content/docs/billing.mdx"
---

# Billing

Forkline bills for runner usage time, measured per minute.

## How Usage Is Counted

- Billing starts when a runner begins initializing
- Billing ends when the runner stops
- The minimum charge is 1 minute
- Larger runner sizes apply a higher usage multiplier

> **Info**: Billing is based on compute time, not AI token usage. You can still bring your own model keys or use Forkline's free OpenCode Zen models.

![Billing page](https://forkline.dev/docs/screenshots/billing/billing-page-full.webp)

## Usage Multipliers

_Interactive figure (BillingRatesBoard) — see the HTML version of this page._

## Usage Tracking

View your usage in **Settings** -> **Billing**:

- Total hours this month
- Hours per repository
- Current plan limits

## Minimum Balance

You need at least **5 minutes** of balance to start a runner.

## When Balance Reaches Zero

1. All your runners stop immediately
2. Tasks that were running are suspended, and new webhook-triggered tasks are not started while your balance is zero
3. You receive an email notification
4. Suspended tasks resume automatically once you have at least 5 minutes of balance again, for example after a top-up, a new or upgraded plan, or your plan's daily credit refresh
5. A task that stays suspended for more than 7 days is cancelled
6. Tasks that were not started while your balance was zero are not guaranteed to restart, so trigger them again, for example with a new comment or push

Separately, when you already have the maximum number of pending tasks (50 by default), new webhook tasks are not created. Nothing is suspended for that reason.

## Next Steps

- [Learn about subscriptions](https://forkline.dev/docs/billing/subscriptions)
