My bot stopped unexpectedly
Where to look when the bot crashed or hit an error limit.
1. Was it you?
Check the activity feed for a bot_shutdown event near
the time of the stop. It logs the reason (e.g. "SIGTERM" if a
graceful stop). If the reason is "SIGTERM," someone (or some
process) triggered a stop — usually you via
/me/bot, or systemd if the host rebooted.
2. Hit the error limit
The bot has a consecutive_errors threshold. If it
hits N consecutive tick errors (default 30), it exits with a
consecutive_errors_exceeded event to avoid running in
a broken state. Common upstream causes:
- Kraken API outage.
- Kraken keys rejected (see Kraken keys are being rejected).
- Network connectivity broken on our side.
- State.json corruption (very rare; atomic writes prevent this).
3. Subscription lapsed
Severe billing lapses can cause the bot to refuse to keep running. Check /billing for your subscription status. Past-due triggers the dunning cadence (Tier-4o) but doesn't auto-stop the bot until Stripe gives up retrying.
4. Operator-initiated maintenance
On rare occasions (security patches, hardware migrations) we may stop bots briefly. We'd email you in advance for planned maintenance.
How to restart
Once you've identified the cause (or if you just want to retry):
- Go to /me/bot.
- Click "Start."
- Watch the first tick land within ~5 seconds. State is restored from disk; the bot resumes with the same positions and pending orders.
Reading the activity feed for diagnostics
The dashboard's activity feed shows the most recent events. For
deeper history, use the
/me/bot/trades page with
?event_type=all to see operational events alongside
trade events. The exit cause is usually visible in the last few
events before the stop.
Still stuck?
Email support with your username + the last few events visible in your activity feed. We can correlate against server-side logs.