# Costs

**Costs** shows what your marketing runs cost, at raw OpenRouter prices: Borkol adds nothing on top and does not bill AI tokens. It has no sidebar item of its own. Open it from **Marketing** → **Settings** → **Costs** (`/m/marketing/settings/costs`), from **Costs** next to **Recent runs** on the overview, or by clicking the cost on a [run page](/docs/marketing/runs#the-run-page).

Costs are per brand ("Costs for {brand}."). With more than one brand, the brand switcher at the top picks the brand.

## This month

**This month** counts from the first day of the month (UTC). Four tiles:

| Tile | What it shows |
| --- | --- |
| **Spent this month** | What the brand's runs on Borkol cost this month, with "of {cap}" for the brand's monthly limit under it |
| **Cost per script** | This month's spend divided by the scripts those runs made. **-** when no scripts were made yet |
| **Runs** | Runs of the brand this month. When runs ran with zero data retention off, a line under it says how many, for example "1 run without zero data retention this month" |
| **Remaining OpenRouter credit** | What is left on your OpenRouter key, from the key's limit or your account budget. **No limit on this key** when neither is set, **Key rejected** with **Check your key** when OpenRouter refuses the key, **-** with **Check your key** when the key could not be checked yet, and "No key yet. Add one" without a key |

Under **Spent this month**, **Cost per script** and **Runs**, a line compares this month so far with the same days of last month, for example "vs the same days last month". It stays away when last month had nothing to compare with.

With more than one brand, a line under the tiles shows the total of all brands, for example "All brands: $3.20 of $50.00".

Borkol asks OpenRouter for the remaining credit at most every 10 minutes, so it can lag a little behind your OpenRouter account. Your OpenRouter activity page stays the source of truth for what you paid.

### Costs your agent reports

Runs on [your agent](/docs/marketing/agent) run on your agent's own models, not your OpenRouter key. The cost your agent reports is shown on the run and in the runs table as **reported by your agent**, but it is never counted in **Spent this month**, **Cost per script** or the monthly limit. When your agent reported any this month, a line says "Your agent reported {amount} this month. Reported costs are shown, not counted."

### Transcriptions and golden checks

Two things besides runs cost money on your key, and both count toward **Spent this month** and the monthly limit:

- **Transcription** of a [video or audio file](/docs/marketing/brand-context#video-and-audio) on a swipe ad. A transcription waits when the brand is at its monthly limit.
- **Golden check** of a [playbook change](/docs/marketing/learning#playbook-changes). It is shown in the runs table as **Golden check** and pauses at the limits like any run.

## Cost per day

**Cost per day** draws the brand's spend per day (UTC) for the chosen period: **7 days**, **30 days** (the default) or **90 days**. A period with no spend shows "No spend in this period".

## Runs

**Runs** lists every run of the brand with **Run**, **Status**, **Runs on**, **Tokens in / out**, **Cost** (with its source: **measured**, **estimated**, **cost unknown** or **reported by your agent**), **Scripts**, **Cost per script**, **Zero data retention** and **Created**. Click a row to open the run.

- A run that ran with zero data retention off carries **ZDR off**. Each run keeps the setting it ran with, so turning it back on later does not hide earlier runs.
- The **Status**, **Runs on**, **Zero data retention** and **Created** filters and sorting by **Cost** or **Created** work like every other list.
- On a phone some columns are hidden; **View** shows them on a wide screen.

## More

**More** under the runs opens two extras, closed by default:

- **By model**: the brand's model calls in the chosen period per model and cost source, with **Steps**, **Tokens in**, **Tokens out**, **Cached tokens** and **Cost**. Transcriptions of swipe ad files show as their own line, marked **Transcription**.
- The key line, for example "OpenRouter key ****ab12, checked 29-10-2026, 10:00." Only the last four characters of the key are ever shown.

## Monthly limit

**Monthly limit** holds **Monthly limit for this brand**: $25 by default for every brand, so nobody has to open this page. Change it and click **Save** in the bar at the bottom; the page says "Monthly limit saved". The limit is between $1 and $5,000.

- It counts runs on Borkol only. Runs on your agent never pause at it.
- Before every model call a run checks the brand's spend this month. Once the brand reaches the limit, the run pauses before the next call, exactly like at the cost limit per run, and the bell says "Marketing run paused at the monthly limit". See [The monthly limit](/docs/marketing/runs#the-monthly-limit) for **Continue**.
- Each brand has its own limit; the line under the tiles shows the total of all brands.
- Lowering the limit is always allowed. Raising it needs the approve permission, here and when you continue a paused run: "Raising the monthly limit needs the approve permission. Lowering it is fine."
- A new month starts from zero on the first day (UTC).

## Who can do what

Everyone with marketing read access sees Costs. Changing the monthly limit needs marketing edit access, and raising it also needs the approve permission.

## On mobile

The Borkol app shows spent this month, cost per script, runs, the remaining OpenRouter credit, the monthly limit and the latest runs, read only. Changing the monthly limit stays on the web. See [Marketing on mobile](/docs/marketing/mobile).
