Runic
COST

What AI costs, which tier does what, and the $5 line

Every model call is priced at list price and written to a ledger; on Runic’s key each account has $5 a month, thinking is bought only where it pays, and Settings → AI shows the running total.

Try it free →Read the docs

One tier per task

Every AI feature names a task, and every task has a tier. Light tier: ghost autocomplete, archive summaries, and every planned document of a whole system except the main flow. Mid tier: chat, the inline and selection edits, the system plan, the main flow of a system, a single Create with AI document or linked set, the interview and build questions. Heavy tier: the chat’s whole-document turns (the deep review, attachments, redesign requests) and the build spec. On Runic’s key the tiers are Claude Haiku 4.5, Claude Sonnet 5 and — heavy as well — Claude Sonnet 5; Opus 5 lists at $5 in and $25 out against Sonnet’s $3 and $15, and the judged quality gap on these tasks does not pay for it, so it runs only when the owner sets ANTHROPIC_MODEL_HEAVY. ANTHROPIC_MODEL overrides every tier on the platform key. On your own key the Fast model you named replaces the light tier and the Main model replaces both mid and heavy; the provider defaults are gpt-5-mini and gpt-5 on OpenAI, Gemini 2.5 Flash and Pro on Google.

Thinking is bought only where a wrong answer cannot be caught mechanically. Four tasks reason before answering: the system plan, the build questions, the build spec and the heavy chat turn — adaptive thinking with medium effort on Claude 5-series models, a bounded budget on 4.5, high reasoning effort on OpenAI’s gpt-5, Gemini’s default thinking. Every other task runs with thinking off — stated explicitly on the models that would otherwise think — and low effort where the model takes an effort setting; an autocomplete on gpt-5-mini runs at minimal effort. A document or an edit is checked by the deterministic parse-and-audit pass and one bounded repair instead, which is cheaper and does not guess.

The ledger

Every model call is written to a usage ledger the moment it returns — task, model, provider, whose key, input and output tokens, cache reads and writes, milliseconds, whether it succeeded, and a cost estimate. A failed call is a row with no tokens. The estimate uses list prices per million tokens: Opus 5 at $5 in and $25 out, Sonnet 5 at $3 and $15, Haiku 4.5 at $1 and $5, gpt-5 at $1.25 and $10, gpt-5-mini at $0.25 and $2, Gemini 2.5 Pro at $1.25 and $10, Gemini 2.5 Flash at $0.30 and $2.50; a cache read costs a tenth of the input price and a cache write 1.25 times it. A model not in the table is priced as Sonnet and flagged as unpriced. No batch or volume discounts, long-context surcharges or web-search fees are modelled: this is an estimate and an early warning, never the invoice — your provider’s bill is the truth. Runic caches the system prompt and, for a whole system, the plan as a second cached block, so the cache columns are where a 25-document run saves money.

$5 a month on Runic’s key

The platform key is a shared wallet, so each account has an allowance on it: $5 of estimated spend per calendar month, counted only over calls Runic’s key paid for. Before a call reaches the provider the month’s sum is checked — cached for 60 seconds per account, so up to a minute of calls can run past the line; the guard is a cap on the surprise, not an exact meter. Past it, every route that spends the platform key answers with “This month’s AI budget on Runic’s key is used up — add your own key under Settings → AI or wait for the 1st.” The chat posts it as a warning, the inline edit bar shows it under the input, Create with AI shows it in the dialog; ghost suggestions simply stop and archive summaries fall back to the deterministic note. The counter resets at the start of the next month, server time.

The budget never applies to an account on its own key — its provider bills it — and the owner can exempt addresses (AI_BUDGET_EXEMPT, plus the owner tier in ADMIN_EMAILS), change the amount or switch it off with AI_BUDGET_USD_PER_USER_MONTH (a number, 0 refuses every platform call, “off” means no budget). A ledger that cannot be read is logged and never blocks a call. MCP traffic is outside all of this: the MCP server runs no model, so a Claude Code session or a claude.ai connector spends your own Claude plan, not Runic’s key.

The usage line

Settings → AI ends with one line that reads the ledger for your account. On Runic’s key: “This month: 12 calls · $0.41 of $5.00 on Runic’s key.” It turns red and gains “— used up until the 1st; add your own key to keep going” once the budget is exceeded, says “(no limit on this account)” when you are exempt, and drops the “of $5.00” when the owner switched the budget off. On your own key: “This month: 12 calls · ~$0.41 on your own key (list-price estimate).” Amounts under a cent print as “<$0.01”. The line is garnish: if the read fails, nothing is shown rather than an error.

For the owner: Admin → AI → Cost

The staff console’s AI tab holds a Cost card that reads the same ledger for everyone: tiles for this month and the last 30 days — dollar total, calls with how many failed, tokens in and out, and what share was priced at a listed rate — a budget line (“Budget on Runic’s key: $5.00 per account per month · N accounts over it this month · exempt: …”), and tables by day, model, task and account (top 20) with a “~” wherever part of a total is unpriced. Next to it, the mode card decides whose key pays — Runic’s Claude, users bring their own key, or Runic’s key unless an account stored its own — and a status card says whether the platform key and the key-storage secret are set. On account deletion the ledger rows are kept with the account id blanked; they are not part of the data export.

How to use it

  1. Open Settings → AI
    Avatar menu → Settings; the AI section is first. The usage line sits at the bottom of the card.
  2. Read the line
    “This month: N calls · $X of $5.00 on Runic’s key.” tells you the calls and the estimated spend so far; red means the budget is used up.
  3. When it is used up
    Add your own Anthropic, OpenAI or Google key in the same section — the budget does not apply to it — or wait for the 1st, when the counter resets.
  4. Owner: watch the Cost card
    Admin → AI → Cost shows totals, per-model and per-account tables, and how many accounts are over the line; AI_BUDGET_USD_PER_USER_MONTH and AI_BUDGET_EXEMPT tune it.

Commands & shortcuts

light · mid · heavyHaiku 4.5 · Sonnet 5 · Sonnet 5 on Runic’s key (Opus 5 only via ANTHROPIC_MODEL_HEAVY)
thinking onplan · build questions · build spec · heavy chat turn — every other task runs with thinking off
AI_BUDGET_USD_PER_USER_MONTHthe monthly allowance per account on the platform key; a number, 0, or off (default 5)
AI_BUDGET_EXEMPTcomma-separated emails the budget never blocks, in addition to ADMIN_EMAILS
ANTHROPIC_MODEL_HEAVY · ANTHROPIC_MODELput another model on the heavy tier, or override every tier on the platform key
This month: N calls · $X of $5.00 on Runic’s key.the usage line in Settings → AI
GET /api/ai/usage · GET /api/admin/usage?days=Nyour own month and budget standing · the owner’s totals and tables (1–366 days, default 30)

Tips

  • A whole system is the most expensive thing you can ask for: one plan with thinking on, then one call per document. Most of its cost sits in the first two calls — the plan and the main flow on Sonnet — because the other documents run on Haiku with the plan cached; the usage line is the place to check what a run actually cost.
  • Web research and attachments route a chat turn to the heavy tier; keep them for turns that need them.
  • If you hit the line mid-month, a stored key of your own takes over at once and the budget line disappears from Settings → AI.
  • The estimate is list price. Your provider’s invoice can differ — caching, discounts and search fees are not modelled.

Questions

Does MCP use count against the budget?

No. The MCP server parses, audits, renders and packages without calling a model; the client’s model — your Claude Code, claude.ai or Desktop plan — does the reasoning. Only the in-app AI features spend a key.

Why does my chat say the budget is used up when I barely used it?

The budget counts estimated spend, and whole-document work adds up: a long document’s reply budget follows its size, attachments and redesigns run on the heavy tier with thinking, and a whole system is one call per document. Check the usage line; an own key lifts the limit immediately.

Does the budget apply to my own key?

Never. An account on its own key is billed by its provider, so Runic only shows an estimate of what that month cost, marked as a list-price estimate.

Is Opus 5 ever used?

Only when the owner sets ANTHROPIC_MODEL_HEAVY, and then only for the heavy tier: the deep review, attachment and redesign turns in the chat, and the build spec. By default every tier is Sonnet 5 or Haiku 4.5.