Skip to main content

Usage and Billing

Codebolt has no per-seat fee for individual use of the open-source desktop app with your own provider keys. You pay for:

  • LLM tokens — billed by your LLM provider (OpenAI, Anthropic, etc.).
  • Hosted plan (optional) — if you use Codebolt's hosted service instead of self-hosting.
  • Team plan (optional) — if you want team features, shared infrastructure, marketplace publishing.

Usage tracking​

Everything Codebolt does is recorded in the event log, so usage is always queryable. The same numbers are available via every surface — pick whichever fits your workflow.

Settings → Usage shows:

  • Tokens consumed (by provider, model, agent, time period)
  • Estimated LLM cost (from configured per-token rates)
  • Agent runs count (by status, agent)
  • Tool calls count (by tool)
  • Storage usage (DB, shadow git, vector DB, KG)

LLM cost​

The biggest variable cost. Codebolt computes it from:

  • Tokens reported by the LLM provider
  • Your configured per-token rates (auto-updated from the provider's pricing for official providers; set manually for custom providers)

Shown in Settings → AI Requests → Aggregate and the status bar.

Reducing LLM cost​

  • Use mid-tier models for most work. Flagship models are 10-20x more expensive.
  • Tighten context. The bulk of cost is input tokens; trim the context window aggressively.
  • Cache where possible. Enable LLM response caching for deterministic use cases.
  • Set per-agent budgets. Cap max_cost_usd in agent manifests so runaways don't eat your budget.
  • Use local models for high-volume tasks. Free at the margin (you pay for hardware up front).

Hosted plan​

If you use Codebolt's hosted service (codebolt.ai) instead of self-hosting:

  • Free tier — limited concurrent runs, limited marketplace access, Codebolt-managed LLM proxy.
  • Paid tiers — higher limits, premium support, extended retention, priority compute.

See the pricing page on codebolt.ai for current tiers.

Team plan​

Teams on the hosted service are billed per-member or per-usage depending on the plan:

  • Per-member — fixed monthly fee per user. Predictable.
  • Per-usage — pay for LLM tokens + storage + compute. Variable.

Self-hosted teams don't have a Codebolt subscription fee at all. You run the server; you pay for the infrastructure and your LLM providers.

Billing UI​

Settings → Billing (hosted service only):

Billing and Providers

  • Current plan
  • This month's usage vs plan limits
  • Payment method
  • Invoice history
  • Upgrade / downgrade / cancel

Setting a budget cap​

To prevent cost runaway:

# .codebolt/settings.yaml
limits:
cost_cap_usd_per_day: 50.00
cost_cap_action: pause # or: warn, kill_running

pause stops accepting new runs when the cap is hit (existing runs complete). kill_running is more aggressive — kills in-flight runs. warn just logs a warning and keeps going.

Caps can also be set per-user, per-team, per-project, per-agent.

Usage alerts​

Hooks can watch token usage and alert when thresholds are hit:

export default {
phase: "after_llm_call",
handler: async (ctx) => {
const today = new Date().toISOString().slice(0, 10);
const key = `usage:${today}`;
const spent = (await ctx.kvStore.get(key)) ?? 0;
const newSpent = spent + ctx.cost_usd;
await ctx.kvStore.set(key, newSpent);

if (newSpent > 20 && spent <= 20) {
await notifySlack(`Codebolt: daily spend passed $20 (now $${newSpent.toFixed(2)})`);
}
return { verdict: "observe" };
},
};

Wires a Slack alert (or email, or anything) to the daily spend threshold.

Invoicing by project​

For organisations that chargeback by project, event log data can feed a chargeback report:

codebolt events query 'type == llm.chat' --since "last month" --json | \
jq 'group_by(.project) | map({project: .[0].project, tokens: [.[] | .tokens] | add, cost: [.[] | .cost_usd] | add})'

Group by project, sum tokens and cost. Export and import into your chargeback tool of choice.

See also​