# How hourly billing works

> How hourly services are charged against your credit, who can order them, and how the monthly cap limits what you pay.

Source: https://docs.coritan.com/billing/hourly-billing/

An *hourly* service has a price per hour instead of a monthly or yearly price. Coritan takes that price from your credit balance each hour the service runs, and stops charging for the month once you reach the *monthly cap*. There is no renewal invoice. Container Apps servers and Cloud Compute instances can be billed hourly, when their plan has an hourly price.

## Unlocking hourly billing

You can order an hourly plan once you have added at least $10.00 of credit in total, by default. Credit you add by card, PayPal, checkout page, automatic top-up or cryptocurrency all counts. Once unlocked, hourly billing stays unlocked when your balance falls again.

Until then, an hourly order is refused with `You must deposit at least $10 before using hourly billing services`. [Add credit to your balance](/billing/add-credit/) to unlock it.

## What you pay

Ordering an hourly service raises a first invoice for one hour's price, plus any setup fee and the first period of each add-on ordered with it. After that, Coritan checks every hourly service once an hour:

- A Container Apps server is charged for the hour when it is running at the check. A stopped server costs nothing.
- A Cloud Compute instance is charged for every hour it exists, stopped or running, until you cancel it. Only a suspended instance costs nothing.

Each charge takes one hour's price from your credit. Hourly charges are not invoiced and do not appear on the **Transactions** tab. The service's **Billing** tab shows what it has cost this month as **Used this month**, and the API lists each charge as `Hourly charge for service #311`, with your service's number.

## The monthly cap

Each hourly service has a monthly cap: 672 hours of its hourly price by default, set when you order it. For example, a plan at `$0.0200/hr` caps at $13.44 a month. Once a service's charges for the month reach the cap, Coritan stops charging it until the 1st of the next month, when every hourly service starts again from zero. The service keeps running.

**Used this month** shows the cap beside what you have used, for example `$4.12 of $13.44 cap`.

## When your credit runs out

When your credit cannot cover the next hour, Coritan first tries an [automatic top-up](/billing/automatic-top-up/), if you turned it on. If that fails or is off, Coritan suspends the service with the reason `Insufficient credit balance`.

> [!IMPORTANT]
> Adding credit does not resume a service that ran out. [Contact support](/support/) after you add credit and ask for the service to be resumed. Turn on automatic top-up to avoid the suspension.

## Stopping the charges

Cancel the service on its **Billing** tab. An hourly service ends at once and its charges stop from the next hour ([Cancel a service](/billing/cancel-a-service/)). Stopping a Cloud Compute instance does not stop its charges.

## Related

- [Add credit to your balance](/billing/add-credit/)
- [Turn on automatic top-up](/billing/automatic-top-up/)
- [Transactions and payment attempts](/billing/transactions/)

## With the API

[`GET /billing/hourly-eligibility`](/api/reference/client/billing/#op-get-api-v1-billing-hourly-eligibility) says whether you can order an hourly plan:

```bash
curl https://api.coritan.com/api/v1/billing/hourly-eligibility \
  -H "Authorization: Bearer $CORITAN_TOKEN"
```

```json
{
  "eligible": false,
  "total_deposited": 5.0,
  "minimum_required": 10.0,
  "remaining": 5.0
}
```

`total_deposited` is all the credit you have added, `minimum_required` the amount that unlocks hourly billing and `remaining` what is still needed, all in US dollars.

A service's hourly figures are in `GET /services/{service_ref}`: `amount` is the hourly price, `monthly_cap` the cap, `hourly_usage_this_month` what it has cost this month and `hourly_cap_reached` whether it has hit the cap. The hourly charges themselves are in `recent_transactions` from [`GET /billing/credit`](/api/reference/client/billing/#op-get-api-v1-billing-credit), which returns your last 20 credit movements ([Billing overview](/billing/#with-the-api)).

## API

- `GET /api/v1/billing/hourly-eligibility`: Check hourly eligibility (https://docs.coritan.com/api/reference/client/billing/#op-get-api-v1-billing-hourly-eligibility)
