Stale Monitor
A liveness monitoring service that alerts operators if Merkle roots go stale (fall behind new commitments).
What it watches
- Time since last root update on the CommitmentTree
- Whether new commitments have been made without a corresponding root update
- Root updater service health
Why it matters
If the root updater service goes down:
- New commitments are inserted but the root is not updated
- Proofs generated against the old root remain valid (within the 100-root history window)
- Once the history window is exceeded, older proofs become invalid
- Users who committed but haven't revealed yet may be unable to do so
The stale monitor detects this condition early and alerts operators to restart the root updater.
Configuration
| Parameter | Value |
|---|---|
| Process name | ghost-stale-monitor |
| No port | Runs as a background job |
Alert conditions
- Root hasn't been updated in more than 60 seconds despite new commitments
- Root updater health endpoint is unreachable
- Root updater process has restarted unexpectedly