Docs/Guides/Per-Agent Budgets

Per-Agent Budgets

Allocate credit budgets to individual agents or teams. When budgets are exhausted, SatGate returns a 402 error — the agent gets a clean stop signal, no human intervention needed.

How budgets work

Every SatGate token can have a credit budget attached via delegation. Credits are abstract units — you define what 1 credit means (e.g., 1 credit = $0.01, or 1 credit = 1 API call).

When an agent makes a request, SatGate checks the token's remaining budget. If the budget is exhausted and enforcement is enabled, the request is rejected with HTTP 402 (Payment Required).

Setting up budgets

  1. Define tool costs in the MCP Cost Profile. Assign a credit cost to each tool (e.g., echo: 1 credit, http_fetch: 10 credits).
  2. Create a delegation token on the Delegation & Budgets page. Set the credit limit, cost center, and department.
  3. Switch to Control mode in the MCP Cost Profile to start enforcing budgets.

Budget hierarchy

Budgets follow the delegation tree. A parent token with 1,000 credits can delegate 500 credits to a child token. The child can further delegate to sub-agents. Spending rolls up — when a sub-agent spends 10 credits, it's deducted from the child AND the parent.

Department (1,000 cr)
├── Team Lead (500 cr)
│   ├── Agent A (200 cr)  ← spends 50 → 150 remaining
│   └── Agent B (300 cr)
└── Auditor (500 cr, read-only)

What happens when budget runs out

Observe mode

Logged in Shadow Report. Agent continues.

Control (Alert)

Alert sent. Agent continues.

Control (Enforce)

HTTP 402 returned. Agent stops.

Related