Get notified when a Train at Home Mac stops: Telegram, email and webhook alerts
Verified with T@H 3.7.0 on macOS 26.6.2 (October 4, 2026)
Published October 12, 2026 · 6 min read
A Mac running Train at Home can stop working without any visible sign: the app is still open, the official window looks the same, and nothing tells you the miner went idle hours ago. subnera hub can message you instead. This guide covers which alerts exist, how to set up a channel at app.subnera.com, and how to read what you receive. It assumes your Mac is already reporting to the hub; if not, start with connecting a Mac.
What the alerts are
subnera hub reads the reports each enrolled Mac sends and applies nine rules. They are subnera hub's own reading of those reports, not an official status.
| Rule | Fires when |
|---|---|
offline |
No report has arrived for more than 90 seconds. |
phaseBad |
The miner has been off, error or disconnected (cannot reach the IOTA network) for at least 2 minutes. |
stuck |
The miner shows as working (or stalled, blocked on unreachable peers), but with no training throughput (or no new pass for 15 minutes) for over 15 minutes. |
unsent |
The miner is training (or stalled) and has passes that were never sent, but none confirmed by the network, for over 15 minutes. |
kicked |
The miner left training and went back to the queue. |
queueLost |
The Mac lost its place in the queue. The message includes the cause and the position it held, when known. |
speedGap |
The speed the miner sees is under 25 % of the real bandwidth measured on the Mac. |
newOfficialVersion |
The official app's version changed. The message tells you to check that parsing still works. |
In the French interface these appear with names such as "Arrêt ou erreur", "Entraînement bloqué" and "Place en file perdue". For the phases behind them, see registration and queue states, and the queue-position log guide for the log the agent reads.
Add a channel
Alerts are sent per pool, to every enabled channel of that pool. Only a pool admin or owner can manage channels; other roles see the alert list but not the channel settings (see pools and roles).
- Sign in at app.subnera.com and open the pool you want alerts for.
- Open Alerts in the navigation, then go to the Channels section at the bottom of the page.
- Under Add channel, pick a Channel type, fill in the field, and press Add channel.
- Press Send test on the new row. It sends a test message to that channel, and the row shows Delivered or the error.
What to enter for each type:
- Telegram: a Chat id, either a number (such as
123456789) or the@nameof a channel. - Email: an address in the Email field.
- Webhook: a Webhook URL starting with
https://. The hub sends a JSON POST with one field,text, holding the message. URLs pointing to private or local addresses are refused, and redirects are not followed. Only the origin of the URL is shown back to you, since the rest often contains a secret.
Each row has an on/off switch and a Delete button, so you can pause a channel without losing it. Telegram and email depend on the hub's own bot and mail setup, which you do not control. If a test does not arrive, try a different channel type or check the target first. A pool is limited to 10 channels.
Signed webhooks
Every webhook send carries an HMAC-SHA256 signature in the X-Subnera-Signature header, made with a secret that is shown once when the channel is created (or when you use Rotate secret). Your receiver can use it to confirm that a request really comes from subnera hub and was not replayed. Channels created before signing existed show Unsigned until you use Enable signing. The headers, the signed string and working Node.js and Python code are in verifying webhook signatures. Webhook channels are available on Team and Fleet plans.
One alert per problem
The rules are built to avoid noise:
- One alert per problem. A rule notifies when it starts firing, then stays quiet for as long as the problem lasts. A flapping miner does not produce a message per report.
- Cooldown. After a notification for a given rule on a given machine, that rule cannot fire again for 30 minutes.
- Recovery message. When
offline,phaseBad,stuck,unsentorspeedGapclears, you get one "back to normal" message. - Instant events (
kicked,queueLost,newOfficialVersion) notify once and never send a recovery message, because there is nothing to recover from. - Thresholds absorb short gaps. A Mac that sleeps or loses its connection briefly breaks a pending
phaseBadorstuckcountdown instead of firing it. - Retries. If no channel delivered a firing alert, the hub tries again about every 5 minutes. The Alerts page marks it "pending — no channel delivered". Instant events are not retried.
Each message reads like Mac-mini: stuck firing — training but no throughput for 15 min (working, L12): machine name, rule, what happened, then the phase and layer at the time.
The Alerts page also lists recent alert states per machine and rule: firing, pending or clear, with Since and Last notified.
Spot-open alert
Separately from the rules above, a pool can ask to be told when a Train at Home spot opens. It is off until you opt in on the pool's Alerts page. You can choose to be told about any tier or about one tier only. The message goes to the pool's enabled alert channels, and it is sent at most once per run every 30 minutes. This alert is available on every plan, Solo included.
What an alert does and does not mean
- An alert means the hub's reading of a report crossed a threshold. It does not prove the cause:
offlinecan be a sleeping Mac, a lost connection or a stopped agent. See keeping a Mac awake and troubleshooting. - Silence is not a guarantee. If the Mac is offline, the hub sees only the missing reports, and a channel can fail to deliver.
- Alerts are not an official Macrocosmos or IOTA status, and they say nothing about rewards.
- Alerts do not fix anything. Restarting remotely is a separate, opt-in feature, see remote-control consent, and the on-Mac auto-restart watchdog is another.
subnera is unofficial and not affiliated with IOTA, Macrocosmos or Bittensor. For the wider picture of running several Macs, see the fleet hub guide.
Related guides
Want to see this on your own Mac?
subnera shows the real queue position and phase in your menu bar.
Install subnera