Guides

Spend limits

What stops an agent from overspending, and where to change it.

These apply to every call over MCP, the CLI, the API and the Run button. Orthogonal checks them before it calls the provider, so a refused call is not charged.

Balance and top-up

Calls are paid from prepaid credits and stop when the balance can’t cover the price: HTTP 402 with a link to add funds. Auto top-up is set in Payment methods, which also says if it is switched off on this site.

Add funds · Auto top-up

Monthly caps

Two caps reset each calendar month (UTC): your personal cap, which counts only calls your own credits pay for, and the cap an organization admin sets for each member on the shared pool.

Spend limits · Member caps

Daily caps

A daily cap on your account or organization, and one on each API key. Both count what was spent since midnight UTC.

Daily cap · API keys

Allowed APIs

Limit which APIs can be called, for the whole account and for each key. A call to an API outside either list is refused with HTTP 403, free calls included. A key’s own list applies only when that key is used.

Allowed APIs · API keys

Check before paying

  • The MCP quote tool returns a call’s exact price without running it or spending credits.
  • On /v1/run, "dryRun": true (orth run --dry-run) prices the call and checks your balance without calling the provider, and maxSpend refuses a call priced above it.
  • POST /v1/credits/check says whether your balance covers an amount.
  • Test keys (orth_test_) return stored example responses and charge nothing. An endpoint without one answers 501.

Logs

Every call is listed with its cost, its status and what made it: the source and the key. Test calls are marked.

Logs

Refusal codes

A refused call answers with one of these. Most messages link to the page where you change the limit.

CodeHTTPMeaningChange it
INSUFFICIENT_CREDITS402The balance doesn’t cover the price.Add funds
MONTHLY_LIMIT_EXCEEDED402Your account’s monthly cap is reached.Spend limits
MEMBER_LIMIT_EXCEEDED402The monthly cap your organization set for you is reached.Ask an organization admin
DAILY_ACCOUNT_LIMIT_EXCEEDED402The account’s or organization’s daily cap is reached.Daily cap
DAILY_KEY_LIMIT_EXCEEDED402This key’s daily cap is reached.API keys
MAX_SPEND_EXCEEDED402The price is above the request’s maxSpend (/v1/run only).Raise maxSpend
No code403The API is not on the account’s or the key’s allowed-APIs list.Allowed APIs

Over MCP, the use tool returns these as errors with the same codes, except the balance refusal: it has no code, says “Insufficient credits” and carries a topUpUrl.