Skip to content

The Kadmo provider ​

Kadmo supplies the language models its features run on. Ask Kadmo, Slack, Microsoft Teams, Goals, automations that decide on a request, chat agents and your agents' jobs all call models through the Kadmo provider, and every call is paid per token, in euros, from your account's prepaid credit. This page explains the model tiers and what your plan decides about them, how a call is charged, how the credit works, how to cap spend with budgets, what a member sees when credit or a budget runs out, and how a member can point their own client at Kadmo's LLM API.

How it works ​

PartWhat it is
CreditA prepaid balance in euros, held by the account. Every model call is debited from it.
The price sheetOne price per million input tokens and one per million output tokens for each model, in euros. The current prices are on kadmo.ai/pricing.
PlansYour plan decides which model tiers you may use and whether you may bring your own provider keys (see What your plan decides).
BudgetsOptional limits an admin sets under the credit, for the whole account or one workspace.
The gatewayKadmo's LLM API at https://llm.kadmo.ai. Before every call it asks the app whether the call may run, and it fails closed: no answer means no call.

Kadmo sets the money aside before a call runs. A chat or Ask call holds its maximum possible price before it runs and settles at its real price afterwards, so ten parallel calls on a balance that covers three let exactly three run. An agent job reserves an estimate when it starts and pauses when the reservation is used up, so it never overruns.

Model tiers ​

Every model sits in one of three tiers, decided by one rule over its provider's list price. A new model sorts itself into a tier.

TierRule (provider's list price per million tokens)Examples
Economyinput at most $1 and output at most $5Claude Haiku 4.5
Standardbetween the twoClaude Sonnet 5.5, Claude Sonnet 5
Premiuminput above $3 or output above $15Claude Opus 5.5, Claude Opus 5, Claude Fable 5.1

Where models run. Which models Kadmo serves, and in which region, is on kadmo.ai/pricing; which regions your calls may use is set on Guardrails › Data residency. In the app, Settings › Models lists every model with its region and context window, and each row of the model picker shows one host chip, such as Anthropic · US. A model whose route is not on yet reads Not served here yet on Settings › Models and is left out of the picker: no plan unlocks it until Kadmo turns its route on.

Default models. Ask Kadmo, Slack, Teams, Goals and Kadmo LLM decides answer on Claude Haiku 4.5 unless an admin makes another model the default with Make default on Settings › Models. Kadmo LLM decides is the Automations lane: a Jira rule's request makes up to two calls, one to decide what it starts and one to sum up the result (What it costs). The model your agents run on is set on the Kadmo Agent App under Agent Apps (see Agents).

What your plan decides ​

Your plan decides which model tiers the account may use, and whether it may connect its own model providers. What each plan includes is on kadmo.ai/pricing. In the app, a tier your plan does not include stays visible on Settings › Models, locked, with the plan it comes with. The model picker lists only the models your plan includes; its foot counts the ones left out, names the plan they come with, and links See plans. How own model providers show is under Your own keys.

How a call is charged ​

Each model has an input price and an output price per million tokens, set by the price sheet; the current prices are on kadmo.ai/pricing. Settings › Models shows each model's price per million input and output tokens, and so does the Agent App form's model picker. Inside Ask Kadmo, spend reads in tokens, not euros.

A call costs (input + cache-read + cache-write tokens) × the input price + output tokens × the output price, per million tokens, rounded up to the micro-euro. Every input token costs the input price, whether it is new, read from the provider's prompt cache or written to it. A call with a price above zero is never charged €0.

Worked example, at an input price of €2.00 and an output price of €10.00 per million tokens: a call with 1,000 input, 100,000 cache-read, 5,000 cache-write and 200 output tokens counts 106,000 input tokens. It costs 106,000 × €2.00 + 200 × €10.00 per million = €0.214.

Every debit records the sheet's version, so a later price change never rewrites a past charge. A model is sellable as soon as the price sheet prices it; a model without a price is refused.

Credit ​

Credit lives on Settings › Billing, in the Kadmo credit card.

Part of the cardWhat it shows
The credit lineUsed, Reserved (what running jobs hold) and Left. Left is the big number, and it is why it can be lower than the balance.
Buy CreditsOpens the top-up dialog. Admins only.
Where it wentThis month's spend, with tokens and cost, through four lenses: By workspace, By lane (Ask Kadmo, Slack, Teams, Goals, Automations, Agent jobs, …), By model, and Threads and jobs.
Credit addedEvery grant: Trial credit (granted once, when the account is created), Credits bought, Kadmo grant, Requested credit, with a receipt link for card payments.
Download CSVThe full ledger, one debit per call. Admins only.

Buying credit. An admin clicks Buy Credits, picks a pack, sees the balance After this purchase and clicks Continue to payment to pay by Stripe checkout. The pack's face value lands as credit. Until card payments are open on your account, the same dialog asks for an Amount and an optional Note for Kadmo, and Request credit sends a request that Kadmo grants by hand. You get an e-mail when it is added.

Alerts. Every admin gets an e-mail, and a row in Needs you, when the account has used 50 %, 90 % and 100 % of its newest grant. A new grant starts the count again.

Agent jobs and reservations. A job reserves its estimated cost when it starts. With less credit than the estimate's lower bound, the start is refused with the gap, for example Needs €0.61 · €0.00 left. A job that uses its whole reservation pauses into Needs you and never overruns. After a top-up, an admin clicks Resume.

Budgets ​

A budget is an optional limit under the credit. Use one to stop a single workspace, or the whole account, from spending more than you planned in a month.

RuleDetail
ScopeThe Whole account, or one workspace. One budget per scope.
Perioda month (a UTC calendar month, reset on the 1st at 00:00 UTC) or total (counted from the moment it was set, never reset).
AmountIn euros, above €0, in whole cents, at most €1,000,000.
What countsThe period's debits in the scope, plus what live work in the scope holds right now.
What appliesEvery call and every job start is held within the smallest of the credit left, the account's budget left and the workspace's budget left.
Spend with no workspaceSlack, Teams, a member's own client and an Ask thread without a workspace meet the account's budget only.
DefaultNo budget is no limit. An account without budgets behaves as if the feature did not exist.

To set a budget: go to Settings › Guardrails; Budgets is its first panel. It lists Whole account, one row per workspace, and No workspace. Click Set budget on a row without one, or Change on a row that has one. In the Budget dialog, type the Limit in euros, pick a month or total, and click Save budget. Remove budget takes the limit away; the credit still applies.

Only admins change budgets. A member sees every row and the note Only admins change budgets.

Admins get an e-mail and a Needs you row at 80 % and at the limit of each budget, once per period.

When credit or a budget runs out ​

Every refusal is one sentence that names the reason, with one fix beside it. Members who are not admins see whom to ask instead of the button.

SituationWhat the member readsThe fix
The credit is used upOut of credit — answers and new jobs wait until credits are bought.Buy Credits (admin)
The credit is used up, inside Ask KadmoNo tokens left.Buy Credits (admin)
A job start or resume needs more than is leftNeeds €0.61 · €0.00 left (the run dialog adds in Kadmo credit)Buy Credits
A monthly budget is reachedcheckout-service reached its €150 budget for October. New work here waits until Nov 1.Change budget
A total budget is reachedNorthwind reached its €400 total budget. New work waits until the budget is raised.Change budget
A budget has some room, not enoughcheckout-service has €10.00 left of its €150 budget for October — this needs €11.00.Change budget
A budget is used up, where no budget can be namedA budget is used up — answers and new jobs wait until it resets or is raised.Change budget
The model is not in your planThe model's name and the plan it comes withPick an Economy model · See plans
The model's route is offKadmo does not serve Claude Opus 5.5 yet — pick another model from the list.Pick another model
The model has no priceKadmo has no price for <model id> — pick a model from the list.Pick another model
Kadmo cannot read the creditKadmo could not confirm your credit — try again in a minute.Retry
An own key your plan does not includeThat own keys come with another planTalk to us

The names and amounts in the budget sentences are examples: the real sentence names your workspace or account, its limit, and the day it resets. While the account is out of credit, the Slack and Teams cards on Integrations read Out of credit, and the bots answer a request with their menu until credits are bought; a Kadmo LLM decides rule answers a Jira request with its menu too. The same holds while a budget is used up. Nothing about credit is said inside the channel or on the ticket.

A running job does not stop mid-call when credit or a budget runs out: it spends from its reservation and pauses when the reservation ends.

BYOK › Providers ​

BYOK (bring your own key) in the sidebar, at app.kadmo.ai/byok, is where the account's model providers live. Its Providers tab lists them as rows under two heads, Language models and Voice; the Agent Apps tab lists the agent apps and names the provider an agent without one runs on.

One provider serves the account, and the row that serves is lit: a coloured rail, a Serves mark, and what the provider carries — its model, where it is hosted or the key's fingerprint, what runs on it, and its health. The Language models head names it instead of counting rows: Kadmo serves while Kadmo is the account's provider, Your key serves once your own key is. Every other row is one line with its status (Included, Connected, Not connected or the plan that includes it) and opens its dialog. The page's sentence under the title lists what that provider serves, and depends on your plan and on whether Kadmo is available on the installation:

WhenWhat the sentence says
Kadmo is available, and your plan does not include own keysKadmo serves Ask Kadmo, Slack, Teams, Goals, chat agents and agent jobs.
Kadmo is available, and your plan includes own keysOne provider serves all of them: your own key once you connect one, else Kadmo. A key that fails is refused, never billed to Kadmo.
Kadmo is not available, and your plan includes own keysYour key serves Slack, Teams, the chat assistant, Suggest epics on Goals, every chat agent and the agent jobs no agent pins.
Kadmo is not available, and your plan does not include own keysOwn keys are not part of your plan, so there is no key to connect.

Every variant ends the same way: an agent pinned to an app runs on that app.

  • Kadmo is on every account. There is nothing to connect, and it is paid per token from your Kadmo credit. Its row shows the default model and the credit left (the balance alone; the credit it came from is on Settings › Billing) and, for an admin, Buy Credits. The row and its Edit open Settings › Models, where the models and the default are set. While your own key serves, the Kadmo row reads standing by and keeps its credit, which agents pinned to a Kadmo app still spend.
  • Your own keys, for Anthropic, OpenAI or OpenRouter, depend on your plan (see Your own keys). When your plan includes them, each provider has its own row, which opens the dialog where an admin enters the model and the key, tests it and saves it with Save & use. A key whose newest call failed in a way that does not heal by itself reads Failing with the reason. Otherwise the three fold into one Your own keys row with nothing to connect.
  • Voice turns speech into text for the chat (see Voice).

A member who is not an admin sees every row and opens every dialog read-only.

Your own keys ​

When your plan includes own model providers, an admin can connect the account's own OpenAI or Anthropic key on BYOK › Providers, and, on BYOK › Agent Apps, create agent apps of the direct kinds (Anthropic API, Anthropic subscription, Bedrock, Vertex, Foundry, OpenAI, OpenAI-compatible, Gemini, a custom or Anthropic-compatible gateway). Those lanes use the own key first and fall back to the Kadmo provider. Calls on an own key are billed by your provider, not from Kadmo credit.

When it does not, BYOK › Providers shows a single Your own keys row with the badge of the plan that includes them and Talk to us, and the direct kinds in the Agent App form are disabled and marked the same way.

The LLM API ​

A member can point their own client, such as Claude Code on a laptop or a script using an Anthropic SDK, at Kadmo's LLM API. Calls are billed to the member's account at the price sheet, within the plan's model tiers and the account's budget.

SettingValue
Base URLhttps://llm.kadmo.ai
API shapeAnthropic Messages: POST /v1/messages, POST /v1/messages/count_tokens, GET /v1/models
AuthenticationAuthorization: Bearer <token> or x-api-key: <token>
TokenA personal token from Settings › Assistant › Personal tokens (kadmo_pat_…), or the OAuth access token of a client connected to Kadmo

For Claude Code, set two environment variables before you start it:

bash
export ANTHROPIC_BASE_URL=https://llm.kadmo.ai
export ANTHROPIC_AUTH_TOKEN=kadmo_pat_your-token

A personal token is shown once when you create it; revoke it on the same page. A token stops working when it is revoked, when the member is blocked, or when the account is closed.

Errors the API returns. Refusals use Anthropic's error shape, so Claude Code and the SDKs print the sentence.

StatusTypeWhen
400invalid_request_errorThe model is not in your plan, has no price, is switched off on the account, or runs outside the account's or the workspace's regions (Guardrails); or the request is malformed. The body names the reason and the fix.
401authentication_errorNo token, an unknown or revoked token, a blocked member, or a closed account.
402billing_errorOut of credit, a reservation used up, or a budget reached. The body names the reason and the fix.
503api_errorKadmo could not decide (authorisation_unavailable). Nothing was charged; retry.

Kadmo never answers a credit refusal with 403, because Claude Code reads 403 as a failed sign-in.

  • Account: members, roles and who is an admin.
  • Workspaces: the scope a workspace budget limits.
  • Ask Kadmo: where spend reads in tokens.
  • Agents: the Kadmo Agent App and agent jobs.
  • MCP overview: connecting a client to Kadmo with OAuth or a personal token.