# Costs

What an arc uses is measured per branch, added up by the hour, and priced from the price list in force. You can see both from the CLI and in the dashboard's **Costs** page.

## What is measured

| Meter | Unit | What it counts |
| --- | --- | --- |
| CPU | vCPU·h | The CPU a branch's services used. |
| Memory | GB·h | The memory they held, over time. |
| Storage | GB·h | The data a branch holds on its own, over time. |
| Egress | GB | Data a branch sends out: to the internet, and in answer to requests at its address. |
| Awake time | h | Hours a branch was awake. |

A branch starts out sharing its parent's data, so its storage counts only what it has changed or added since.

## Usage

```sh
omniarc arc usage shop
```

One arc's raw figures, per branch and in total, for this calendar month to date (UTC). No prices: any key can read it, including a `member` key.

## Costs

```sh
omniarc costs
```

What your organization's usage costs, this month to date: each meter with its usage, its rate and its cost, then the total, any discount, and the net. It needs an `admin` or `owner` key. It is an estimate, not an invoice, and each line is floored to the cent.

Another window, by day, hour or month:

```sh
omniarc costs --from 2026-10-01T00:00:00Z --to 2026-10-15T00:00:00Z --step day
```

Times are RFC 3339 and floored to the hour, and `--to` is exclusive. By the hour, a window covers at most 31 days.

## Keep it down

- **Sleep the branches you are not using.** An asleep branch uses no CPU or memory and is not awake; only its storage counts. See [Sleep and wake](https://docs.omniarc.eu/guides/sleep-and-wake.md).
- **Destroy the ones you are done with**, such as a pull request's branch when the pull request closes. See [Branches](https://docs.omniarc.eu/guides/branches.md).
- **Give caches [`branch: false`](https://docs.omniarc.eu/reference/arc-yaml/services.md#services-branch).** They start empty in every branch instead of carrying a copy.

**Example: shop/arc.yaml**

```yaml
arc: shop
edge: { service: web, port: 3000 }
resources: { cpu: "1", memory: 1Gi, disk: 5Gi }
services:
  web:
    kind: web-service
    contains_pii: false
  db:
    kind: database
    contains_pii: true
    anonymize:
      engine: postgres
      database: shop
      user: shop
      rules:
        - { table: customers, column: email, transform: fake-email }
```
