AuditsControls › Heartbeat and alerts

Connection and operation · control 9 of 21

Heartbeat and alerts: does your trading bot have it?

Does it notify the user (Telegram, email, webhook) when it fails, stops or loses its data feed, and does it expose a heartbeat or health status that can be watched from outside?

Why it matters

A bot that dies silently leaves positions open with nobody knowing.

How to check it in the code

  1. Search for telegram, webhook, notify, alert, healthcheck, /health, heartbeat.
  2. Check the alert fires on errors and on shutdown, not only on trades.
  3. Check whether a health endpoint or a periodic status message exists.

This is what the audit does for every bot in the list, on public code, without installing or running anything. Verdict values: present, partial, absent, not applicable, not verified. See the method.

Results across audited bots

Across 10 audited bots: 4 present, 3 partial, 1 absent, 0 not applicable, 2 not verified.

BotVerdictEvidenceNote
HKUDS/Vibe-TradingNot verifiedagent/src/live/audit.py fans out a 'live.action' SSE event on every order decision; agent/src/channels/ has Telegram/Discord/DingTalk messaging channelsNo explicit heartbeat/health-check endpoint or 'bot is down' alert was confirmed within budget.
hummingbot/hummingbotPresenthummingbot/remote_iface/mqtt.py, class TopicSpecs: HEARTBEATS = '/hb', NOTIFICATIONS = '/notify'; hummingbot/notifier/notifier_base.pyThe bot publishes a heartbeat topic and a notification topic over MQTT that can be watched externally.
Drakkar-Software/OctoBotPartialindex_trading.py._send_alert_notification() sends a notification via octobot_services.api.send_notification on each rebalance trigger; telegram_bot.py exposes a /ping command; requirements.txt pins sentry-sdk==2.56.0 for exception tracking.Event-based alerts and crash reporting to the maintainers (Sentry) exist, but no externally-pollable health/heartbeat endpoint was found for a user's own uptime monitor.
freqtrade/freqtradeNot verified
jesse-ai/jessePartialjesse/services/notifier.py (notify() queues Telegram/Discord/Slack messages; jesse/services/logger.py calls it on error) + jesse/services/failure.py (sync_publish('exception', …) and sync_publish('unexpectedTermination', …) over redis for the dashboard)Outbound alerts on error/crash exist, but no externally pollable health/heartbeat endpoint (e.g. a '/health' or '/ping' route) was found in jesse/controllers; monitoring depends on the dashboard being open or on redis pub/sub events.
chrisleekr/binance-trading-botPresentdeploy/README.md step 9; docs/_generated/config/env.md (ADMIN_PORT); docs/concepts/notifiers.md (alive, discovery-health, job-failed rows)/healthz, /readyz (checks DB+Redis ping) and /metrics are exposed on a separate admin listener (default 127.0.0.1:9100). Notifier categories include a recurring "alive" balance/holdings digest, a "discovery-health" staleness alert, and an account-wide "job-failed" alert for dead-lettered background jobs, sent to Slack/Telegram/webhook.
alsk1992/CloddsBotPresentdocs/TELEMETRY.md documents telemetry.getHealth() (healthy/status/uptime) and a Prometheus /metrics endpoint via telemetry.startMetricsServer(9090); dedicated src/alerts/index.ts and src/alerts/realtime.ts modules exist for outbound notifications.Both an externally-pollable health signal and an outbound alerting module exist.
Lumiwealth/lumibotPartialdocs/AI_AGENT_NOTIFICATIONS.md: native `self.notify(...)` / `self.notifications.configure_telegram(...)` outbound alerting exists, but 'Backtests disable notifications by default' and it must be called explicitly by the strategy author. The only 'heartbeat' hits found (docs/ENV_VARS.md, BACKTESTING_PROGRESS_HEARTBEAT*) are for a backtest progress-bar UI, not a live health/watchdog signal.
YizhiSong/FriesTraderAbsentFull repo file tree (git/trees/main) has no Telegram/email/webhook code or config. The only documented failure-reporting channel is the Claude Code session's own end-of-run text summary (README Phase A/B prompt templates: 'report the exact conflict/error in your final summary').Requires the human to actively open the routine's run history to notice a failure -- no push notification, no external heartbeat/health endpoint.
c9s/bbgoPresentpkg/notifier/slacknotifier, pkg/notifier/telegramnotifier, pkg/interact/* (command bot)Dedicated Slack and Telegram notifier packages plus an interactive command bot exist for pushing alerts and querying bot status remotely.

If your bot does not have it

The watchdog enforces daily loss, drawdown, position size and heartbeat limits from outside the bot, with a read-only key, whatever the bot's own code does.