Open-source synchronous control plane that inline-blocks AI agents before privileged actions land. MIT, framework-agnostic, self-hostable.
- Bankr SDK:
fleet-watcher-bankr-guard— drop-in middleware that preflights every Bankr wallet action against a prompt-injection / phishing / drain firewall. - License: MIT
Fleet Watcher sits in front of any LLM agent that can sign transactions, send funds, write to memory, or call privileged APIs. Every proposed action is inspected synchronously; the call only proceeds if the verdict is ALLOW. Blocked actions are logged with evidence so operators can prove what their agent was about to do.
Built-in checks:
- Prompt-injection firewall — pattern library tuned for known agent-takeover phrases.
- Drainer feed — merged scam-sniffer + MEW darklist (~3k addresses), 6h refresh.
- Unlimited-approval & permit/EIP-712 detection — flags max-uint approvals and off-chain signatures that would drain a wallet.
- Intent mismatch — compares the user prompt to the proposed on-chain action.
artifacts/api-server/ Express 5 control-plane API
artifacts/fleet-watcher/ Public dashboard (React + Vite + wouter)
lib/bankr-guard/ Public npm SDK (fleet-watcher-bankr-guard)
lib/db/ Drizzle schema (Postgres)
threat_model.md STRIDE threat model
OUTREACH.md Upstream coordination notes
POST {your-fleet-watcher-host}/api/bankr-guard/inspect
Unauthenticated, read-only. Rate limit: 600 req/min global + 30 req/min per distinct payload fingerprint, 16 KB body cap. Only BLOCK verdicts are persisted.
See lib/bankr-guard/README.md for the SDK quickstart.
pnpm install
pnpm --filter @workspace/db run push # apply schema to your Postgres
pnpm --filter @workspace/api-server run dev # API on port 5000
pnpm --filter @workspace/fleet-watcher run dev
Required env: DATABASE_URL, SESSION_SECRET.
MIT. See LICENSE.