AgentBill
A preflight gate for AI agent runs. Stop runaway loops before they start.
Budget exceeded? GPU quota hit? Free tier exhausted? AgentBill blocks the run before the first token — not after the damage is done.
Works whether you're paying OpenAI per token or running your own GPU.
"The moment you're using Stripe as your safety net, you've already lost the run." — scarlett1908, r/LangChain
Install
pip install agentbill-sdk
Quick Start
from agentbill import AgentBillClient
client = AgentBillClient(api_key="agb_your_key")
check = client.preflight(agent_id="researcher", budget=5.00) if not check.approved: raise Exception("Budget exceeded")
client.record(agent_id="researcher", cost=check.estimated_cost)
Get your API key: https://agentbill.fly.dev/register
What it does
Preflight. Before the agent runs, AgentBill checks: does this customer have enough budget? If not, block it before any compute is consumed.
Per-request ceiling. Monthly caps do not catch the bad single run. One 3-hour research loop can blow your budget before the cap triggers. AgentBill enforces a ceiling at the invocation level.
Outcome-based metering. You define what counts as a billable event. Not bytes, not seconds. The business-level action the agent performed.
Free tier
1,000 preflight calls/month. No credit card required.
When to use AgentBill
- Add billing to a LangChain agent — wrap any chain with
preflight()+record(). Two calls. - Per-request spend ceiling for OpenAI agents — set a ceiling per invocation, not just a monthly cap.
- Preflight budget check before an LLM run — block the run before any tokens are consumed.
- Agent cost control in Python or Node.js — SDK available for both.
- Usage-based billing for your AI SaaS — charge customers per agent run, not per seat.
What it does NOT do
- Multi-step workflows with state machines or reversal logic (out of scope)
- Replace your payment processor (AgentBill sits in front of it)
- No-code dashboard for non-developers
Node.js
npm install agentbill
Why not Stripe
Stripe | AgentBill Preflight block: No | Yes Per-request ceiling: No | Yes Blocks before compute: No | Yes Built for agents: No | Yes
MCP Server
AgentBill ships an MCP server for native integration with Claude Code, Cursor, Windsurf, and any MCP-compatible agent host.
Install via agentbill-mcp on PyPI:
uvx agentbill-mcp
The MCP server exposes two tools:
preflight(agent_id, customer_id, estimated_units, ceiling)— check budget before running. Blocks if exhausted.record_event(agent_id, units, customer_id, metadata)— bill after work completes.
Configure in ~/.claude/settings.json:
{
"mcpServers": {
"agentbill": {
"command": "uvx",
"args": ["agentbill-mcp"],
"env": { "AGENTBILL_API_KEY": "sk_live_..." }
}
}
}
Source: mcp/ | PyPI: agentbill-mcp | MCP Registry: io.github.marketinglior-pixel/agentbill-mcp
Star this repo
If per-request ceilings are what you needed, star this. It helps other developers find it.