"Self-Hosting Stripe Anomaly Detection: Building a Multi-Tenant BillingWatch with FastAPI"
Why Self-Host Billing Monitoring? SaaS billing monitoring tools exist. They're fine. They also cost money, send your billing data to someone else's servers, and lock you into their alerting UX. If ...

Source: DEV Community
Why Self-Host Billing Monitoring? SaaS billing monitoring tools exist. They're fine. They also cost money, send your billing data to someone else's servers, and lock you into their alerting UX. If you're running multiple Stripe accounts — or just care about controlling sensitive financial telemetry — self-hosting is worth the hour of setup. BillingWatch is what I built to replace a paid tool: a FastAPI + SQLite stack that ingests Stripe webhooks, runs 7 real-time anomaly detectors, and alerts you when something looks wrong. Multi-tenant by default. What BillingWatch Detects Seven detectors ship out of the box: Charge Failure Spike — unusual jump in failed charges vs. baseline Duplicate Charge — same customer, same amount, short time window Fraud Spike — surge in charge.dispute.created events Revenue Drop — successful charge volume drops below rolling average Silent Lapse — no webhook activity for N hours (dead webhook endpoint) Webhook Lag — event timestamp vs. received-at gap exceeds