The most common failure in agent billing is not a wrong number, it is a control in the wrong place. Dashboards record spend, Slack alerts notify humans, and provider-level caps sit at the account ceiling. None of them sits between the agent and the model endpoint. The layer that actually stops spend is the code path that refuses to forward the next request once a rule is violated.
That distinction matters because of how agent workloads fail. A single tool call has a predictable cost. An agent is a loop: each step can trigger retries, sub-agent spawns, longer contexts and further tool calls, and each of those steps costs money. One documented reconstruction shows a routine "summarize this repository" task at 23 calls and $2.63, and the same work ballooning to roughly ten times that once retries and self-checking loops take over in a recorded failure analysis. A second reconstruction describes four agents looping for eleven days and producing a bill in the tens of thousands of dollars, with dashboards, Slack alerts at 50, 80 and 95 percent of budget, and a provider cap all in place and none of them firing in time.
The rule that follows is simple to state and easy to break: the budget decision belongs on the request path, in front of the provider call, in the same process that would otherwise send the request. Everything else is reporting.



