Skip to main content

Billing and credits

How the prepaid GBP credit wallet works, what each endpoint costs, when requests are refused for credit, and how to cap spend.

On this page

The credit wallet

Each organization has a prepaid credit wallet in GBP. API, CLI and console usage all draw from it. Top up, view invoices and manage payment methods in the console under Settings, Billing & Credits.

Before an LLM request reaches a model, BreachLine checks that the organization has spendable credit. If it has none, the request gets 402 and nothing runs. After the request, usage is metered per token and charged to the wallet.

Prices

GET /api/v1/llm/v1/models returns the live price for each model, in GBP per million input and output tokens. Read prices from that endpoint rather than hard-coding them. For plans, see Pricing on breachline.io.

Endpoint How it is metered
Chat completions, Responses, Messages Input and output tokens at the Nebula rate.
Embeddings Input only, estimated at about 4 characters per token, at the Nebula input rate.
Rerank Input only, at the Nebula input rate.
Batches The full Nebula price, charged once when final results are fetched. There is no batch discount.
Token counting (Messages) Free. Rate limited like chat.

Output-token ceiling

An explicit max_tokens (or max_completion_tokens) is clamped to the platform maximum, 32,000 tokens by default, so a single request cannot run up an unbounded bill. Omit it to use the model’s own default for the task.

Spend cap

You can set your own ceiling on retail spend per day or per month. Once spending in the window reaches the cap, LLM requests get 402 until the window resets or you raise the cap.

Set a daily cap of £50
curl -X PUT "https://api.breachline.io/api/v1/usage/me/budget/cap?max_gbp=50&window=day" \
  -H "Authorization: Bearer $BREACHLINE_API_KEY"

Reading the cap needs the usage:read member scope; setting or removing it needs settings:write. See Usage and spend cap.

Watching usage

  • GET /api/v1/usage/me returns your token, request and GBP totals for a window, by day.
  • GET /api/v1/usage/me/logs lists recent requests with token counts, status and latency. It holds metadata only; prompts and responses are never stored in it.
  • The console shows the same data under Settings, Dashboard.

When a request is refused for credit

A 402 is not retried by SDKs and should not be retried by your code. Top up the wallet, or raise or remove the spend cap, then send the request again.

Search documentation

Type to search guides, the API reference, the CLI and the console guide.

    Enter open↑ ↓ moveEsc close