Docs

Prices

prices.yml says what an agent's tokens cost, so each run's usage becomes its cost. The file is optional. Without one, Mandately uses the default below: Anthropic's own API prices, with where and when each was read.

The default

.mandately/prices.yml
# What an agent's tokens cost, so each run's usage becomes its cost: per model, in USD per million tokens, each price
# with where it was read and when. A model not listed has no known cost, so its runs count as unpriced, never as free.
#
# These are Anthropic's own API prices. A run's cost here is a lower bound when it used any of these:
# - The 1-hour cache. cache_write is the 5-minute cache's price, and your board does not say which cache a run wrote.
#   The 1-hour cache costs more: $8 against $5 per million tokens on Claude Opus 5.5.
# - A prompt over 100,000 tokens on Claude Haiku 5.5, which costs 5 times the prices below.
# - Fast mode ($8 input and $40 output on Claude Opus 5.5), or US-only inference, which adds 10% to every price.
# The Batch API costs half, so a run through it counts at twice its cost.
#
# A prices.yml of your own in .mandately/ replaces this file whole: list every model your agents use.
currency: USD
models:
  claude-fable-5-1:  {input: 10,   output: 50,   cache_read: 0.25, cache_write: 12.50, source: "https://platform.claude.com/docs/en/about-claude/pricing", as_of: 2026-11-03}
  claude-opus-5-5:   {input: 4,    output: 20,   cache_read: 0.20, cache_write: 5,     source: "https://platform.claude.com/docs/en/about-claude/pricing", as_of: 2026-11-03}
  claude-opus-5:     {input: 5,    output: 25,   cache_read: 0.50, cache_write: 6.25,  source: "https://platform.claude.com/docs/en/about-claude/pricing", as_of: 2026-11-03}
  claude-sonnet-5-5: {input: 2,    output: 10,   cache_read: 0.10, cache_write: 2.50,  source: "https://platform.claude.com/docs/en/about-claude/pricing", as_of: 2026-11-03}
  claude-sonnet-5:   {input: 2,    output: 10,   cache_read: 0.20, cache_write: 2.50,  source: "https://platform.claude.com/docs/en/about-claude/pricing", as_of: 2026-11-03}
  claude-haiku-5-5:  {input: 0.10, output: 0.50, cache_read: 0.01, cache_write: 0.125, source: "https://platform.claude.com/docs/en/about-claude/pricing (prompts up to 100,000 tokens)", as_of: 2026-11-03}

Settings

currency

The currency of every price in the file, such as USD.

models

Each model by the name your board reports, such as claude-opus-5-5, with its prices per million tokens:

A name may use * to match several models, such as claude-sonnet-*. The first name that matches a run's model sets its price. A model with no match has no known cost, so its runs count as unpriced, never as free.

Change it

Your own prices.yml replaces the default whole, so it lists every model your agents use. With a discount of 10% on Claude Opus 5.5 and Claude Sonnet 5.5:

.mandately/prices.yml
currency: USD
models:
  claude-opus-5-5:   {input: 3.60, output: 18, cache_read: 0.18, cache_write: 4.50, source: "our contract", as_of: 2026-11-01}
  claude-sonnet-5-5: {input: 1.80, output: 9,  cache_read: 0.09, cache_write: 2.25, source: "our contract", as_of: 2026-11-01}