The ProtocolWatchdog
Overwatch reads who can change the Solana protocols holding your deposits, and tells you when those controls get weaker.
How it works
- 01
Map
Who controls each protocol
For each major protocol we read the upgrade authority, the multisig behind it, how many signers must approve a change, and how long that change waits. Each fact links to the account it came from.
- 02
Watch
Changes as they happen
We subscribe to those accounts and signers. A removed timelock or lowered threshold shows up seconds after it confirms. Signers' durable nonce accounts are scanned hourly. We warn after a change lands; we cannot undo it.
- 03
Warn
Alerts and onchain scores
Alerts go to Telegram, a webhook or email, written in plain English. Scores are also stored onchain, so a vault program can act without waiting for a person.
What you get
Control map
For each major Solana protocol: upgrade authority, multisig threshold, signers, timelock, durable-nonce exposure, admin powers, risky collateral, dead oracles, and the full history of governance changes.
Open the control map →Alerts & API
Alerts on Telegram, signed webhooks or email when a protocol's controls weaken. There is also a versioned API and a live event stream.
Set up alerts →/watch drift
Watching Drift Protocol. Alerts at HIGH and above.
/status drift
Drift Protocol: grade A (85/100)
Upgrade authority: squads v4 vault
Multisig: 4-of-7, timelock 1 hour
🔴 CRITICAL · Example Lend removed its 2 days safety delay
Onchain registry
Scores and risk flags are stored in accounts any Solana program can read, so a vault can pull deposits out the moment a protocol's flags turn red.
Read how programs use it →- 12
#[account(seeds = [b"risk", id.as_ref()], bump, - 13
seeds::program = overwatch_registry::ID)] - 14
pub risk: Account<'info, RiskRecord>, - 15
- 16+
if risk.flags & RED_MASK != 0 { check_and_exit()?; }
The Drift pattern
If controls weaken within 14 days of a signer creating durable nonce accounts, the alert is rated critical. That is the sequence that came before the $285M Drift loss. The replay is a backtest of current rules on the public record.
Replay the Drift timeline →- ·2026-03-23 signer-A, signer-B → durable nonce
- !SIGNER_NONCE_ACCOUNT_CREATED · CRITICAL (2/5 ≥ 2)
- ·2026-03-27 council migration · 2-of-5 · no delay
- ✕⚠ Drift pattern: weakening within 14d of nonce
- ✓backtest: flagged 9 days before the drain
Get started
Get alerts for your protocols
Pick the protocols you use. You get a message when their controls get weaker.
Set up alerts →Check a protocol's grade
Every deduction is listed with its reason. Most fixes are a timelock, a higher threshold, or removing a single key.
Read the documentation →Use the data
Read risk records from your program, stream events into your own system, or verify webhook signatures.
API & SDK →