Why we built WatchDog Bot.
We're engineers who trade. We got tired of trading bot platforms that wanted to take a cut of every trade, hold our keys, sell us "premium" features that should be standard, or assume we needed a no-code drag-and-drop UI. So we built the one we wanted to use.
The origin
The first version of WatchDog Bot existed as a folder of scripts on a laptop. One script polled Kalshi. Another scraped a news feed. A third ran a market maker on Binance perps. They all crashed unpredictably, dropped logs into different files, fought over Python virtualenvs, and required a different terminal window to monitor each one. The "ops layer" was a sticky note that said "check at lunch."
That worked for a while. Then it didn't. We were spending more time keeping bots alive than improving them. So in early 2026 we sat down to build the runtime we wished existed. The first internal version had three rules:
- Dependencies should install themselves. "ModuleNotFoundError" is not a user-facing concept.
- Logs should be visible everywhere. If you can't see your bot from your phone at the airport, you'll find out about every problem too late.
- Errors should explain themselves. A traceback isn't a fix. A fix is a fix. AI gets us closer to the latter.
That became the foundation. The public version (v1.0.0) shipped on April 1, 2026. Since then we've been iterating fast — fixing what users actually hit, leaving the rest alone.
What we believe
Software you own beats software you rent.
WatchDog Bot is a desktop app, not a SaaS dashboard with your strategy living on someone else's server. Your code, your keys, your trades, your laptop. We sync what's useful to sync (logs, AI Fix audit trail, settings) — and nothing else.
Python is the language. The runtime should fade.
We don't ask you to learn a strategy framework, a YAML config schema, or a custom DSL. You write standard Python. The platform handles the parts that aren't your strategy — venvs, dependencies, logs, error recovery. You shouldn't see any of it unless something breaks.
The hardest part of bots isn't bots.
It's keeping them alive. That's where most platforms stop caring. Auto-installing dependencies, self-heal retries, real-time log streaming, AI Fix — these aren't features, they're the table stakes that should have existed five years ago.
Honesty in marketing.
When Freqtrade has better backtesting, we say so. When Hummingbot is the right tool for serious market making, we say so. Selling a worse fit costs us a happy customer and a long-term reputation. Saying the wrong tool is right is short-term thinking.
What we don't do
- We don't take custody of your funds. Your API keys talk to your exchange. We never see, store, or route a single dollar.
- We don't take a percentage of your trades. Software subscription. That's it.
- We don't have a "Premium" tier with the actually-useful features locked away. Free trial users get the same feature set as paid subscribers.
- We don't sell your data. Your bot code, your logs, your trades stay private. AI Fix sends what you click to Anthropic for that one call only. No training data. No analytics product. No data partnerships.
- We don't promise profits. Bots run code. Code can lose money. We're a runtime, not a financial advisor.
- We don't have an affiliate program. No paid testimonials, no "exclusive" YouTuber discounts, no referral pyramid. Word of mouth, blog content, and a free trial that converts on merit.
The team
A small group of engineers who write trading bots. We work remotely. We use the product daily — every release runs against our own production bots before it ships to users. If something breaks for you, it probably broke for us first.
If you want to reach us about anything — bug, feature request, business — see the contact page. We read every email.
What's next
Roadmap items we're actively working on, roughly in order:
- Better backtesting metrics (Sharpe, max drawdown, walk-forward analysis)
- Native DEX connectors (Uniswap, Hyperliquid, dYdX)
- Linux support
- Team plans for multi-user accounts
- More wd SDK helpers:
wd.bars(),@wd.everyscheduling,wd.statepersistent storage
If one of these matters to you specifically, tell us — feedback shapes the order we ship in.
Build the tools you wished existed when you started.
Try the runtime we built for ourselves
Free trial, no credit card. Your first bot up and running in 5 minutes.
Start Free Trial →
WatchDog Bot