Documentation

Credits & Metering

Understand the credit system, track consumption, and configure budget alerts.

Credits & Metering

betool charges on a usage basis in credits: 1 credit = $0.0001 (one ten-thousandth of a dollar). You top up your balance in advance; each execution debits the corresponding cost.

Why credits

The credit system enables:

  • Fine granularity — an API call costing $0.000003 is measurable without rounding.
  • Price stability — your per-unit prices in credits do not change when a provider revises its rates.
  • Per-organisation isolation — each org has its own balance and its own alerts.

What is billed?

See the details in Pricing. Summary:

  • LLM — per input / output token. Included with BYOK (you pay your provider directly; betool takes nothing on tokens).
  • Voice — ASR per second, TTS per character.
  • Phone minutes — based on the destination number.
  • HTTP / DB / transform operators — not metered.

Topping up your balance

Two modes:

  • Manual — from Administration → Billing → Balance, add a one-time amount.
  • Auto top-up — automatic reload when the balance drops below a threshold. Recommended to avoid service interruptions.

On the Enterprise plan, billing can switch to monthly post-payment with a minimum commitment.

Tracking consumption

Administration → Billing → Consumption:

  • Current balance
  • Consumption over 7 days / 30 days / custom range
  • Top 10 most expensive pipelines / agents
  • Breakdown by resource type

The table is exportable as CSV for integration with your internal reporting.

Alerts

Configure up to 5 alert thresholds per organisation:

  • Low balance — when the balance drops below X credits, notify Y (email, Mattermost, webhook).
  • Usage spike — when hourly consumption exceeds Z, alert immediately.
  • Expensive pipeline — when a specific pipeline consumes more than expected.

Pre-call refusal

If your balance is insufficient to execute a LLM call or a phone call, betool refuses the execution before any debit. You will see an explicit message in the history, and the pipeline is marked out_of_credits.

No overcharge is possible: a call never starts without available credit.

For developers

If you are calling the admin API, the /api/admin/billing/balance endpoint returns your balance and credit limit. Any caller that catches Exception must re-raise OutOfCreditsError first — it is a billing signal, not a business error.