sipi.bot
July 27, 2026 · View on GitHub
You gave an autonomous agent your credit card and no spending limit. sipi.bot is the firewall that approves, blocks, or flags every transaction against your rules — before a single dollar moves.
One capability, three surfaces:
- MCP tool — Claude Code / Cursor / Hermes call
evaluate_spendnatively. - HTTP API — any agent
POST /v1/transactions/evaluate. - CLI — verify without an agent.
10-second test
pip install sipi-bot
sipi-bot eval --amount 6200 --merchant unknown-gpu.ru --category compute
# -> {"decision": "BLOCKED", "reason": "Transaction \$6,200.00 exceeds per-transaction limit \$500.00."}
sipi-bot serve --port 8080 # landing + dashboard + API
Or from source:
python3.11 -m spendfirewall.cli eval --amount 6200 --merchant unknown-gpu.ru --category compute
Then open http://localhost:8080 (landing), http://localhost:8080/dashboard (control room), http://localhost:8080/pricing (Team $99 / Business $499).
Hosted: sipi.bot · dashboard · get an API key →
The core call an agent makes before spending
curl -X POST https://sipi.bot/v1/transactions/evaluate \
-H "Authorization: Bearer sk_live_..." \
-d '{"amount": 6200, "merchant": "unknown-gpu.ru", "category": "compute"}'
Returns one of: APPROVED (go), BLOCKED (do not spend), FLAGGED (human must approve).
Rule types
per_transaction, daily_total, velocity (runaway protection), merchant_block,
merchant_allow (allowlist), category_limit, time_window, approval_threshold.
First BLOCKED wins. FLAGGED is non-blocking (queued for human approval).
Eval gym (the guarantee + the sales asset)
python3.11 -m spendfirewall.eval.run_eval # 53 scenarios -> eval_report.json + .md
53/53 passing. Served live at /eval. This is what backs the guarantee:
if the firewall green-lights a spend that breaks your rule, that month is free.
MCP config
{ "mcpServers": { "sipi-bot": { "command": "python", "args": ["-m", "spendfirewall.mcp_server"] } } }
Framework integrations
Drop-in "spend guardrails" recipes — each verified live against https://sipi.bot:
- LangChain & CrewAI —
@tool/BaseToolwrappers + zero-depsipi_guard.pyclient - OpenAI Agents SDK —
@function_toolguard - Vercel AI SDK —
tool({execute})guard +sipiGuard.tsclient
The core call is always the same: evaluate(amount, merchant, category) → APPROVED / BLOCKED / FLAGGED.
Deploy (Fly.io)
flyctl launch --no-deploy --copy-config --name sipi-bot-firewall
flyctl volumes create sf_data --size 1 --region iad --yes
flyctl deploy
flyctl certs add sipi.bot
Stdlib-only (http.server, sqlite3). No framework, trivial deploy. pip install mcp only for the MCP surface.
"Protected by sipi.bot" badge (free, no API key)
If your product has autonomous agents that spend, embed the live status badge so users can see your guardrail is active. One line, zero JavaScript, always current — it's a server-rendered SVG.
<img src="https://sipi.bot/api/badge/firewall-status"
alt="Protected by sipi.bot — spend firewall for AI agents"
height="32">
Live demo, customization options, and the full embed guide: sipi.bot/badge.
The badge is also a free, durable backlink — every embed points a dofollow link at sipi.bot from your site. If you embed it, open an issue and we'll list you in the network.
Resources
- Complete spend firewall guide — the definitive 3.7k-word walkthrough (architecture, rules, tuning, anti-patterns).
- Spend policy template (YAML) — ready-to-load policy covering all six rule types.
- Glossary · FAQ · Benchmarks · Comparisons.
- Agent reference for LLMs —
llms.txt,llms-full.txt,qa.jsonl, OpenAPI, agent card.