Get alerted when an ERC-1967 / UUPS / transparent proxy is upgraded, its admin changes, ownership is transferred, or it is paused. Works for any contract you depend on.
If your funds sit in an upgradeable contract (most DeFi, bridges, many tokens), whoever controls the upgrade can change its code. Watching the upgrade events tells you when that happened.
Upgraded(address implementation) (ERC-1967), topic0 0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b, emitted by the proxy.AdminChanged(address,address) and BeaconUpgraded(address) (ERC-1967).OwnershipTransferred(address,address) and OwnershipTransferStarted (OpenZeppelin Ownable / Ownable2Step).RoleGranted, RoleRevoked, RoleAdminChanged (AccessControl), Paused/Unpaused.CallScheduled/CallExecuted/Cancelled: watching the timelock gives you the delay window before an upgrade executes.Tip: for a transparent proxy the Upgraded event comes from the proxy address, not the ProxyAdmin. Watch the proxy, and also the ProxyAdmin or timelock that owns it.
Free: 3 watches and 50 alerts/day, polled about once a minute. Pro (30 watches, 1,000 alerts/day) is 5 USDC on Base per 30 days. Or use the API:
curl -s -X POST https://ledgerbell.quietworklabs.workers.dev/api/key
curl -s -X POST https://ledgerbell.quietworklabs.workers.dev/api/watch -H 'content-type: application/json' -H 'x-api-key: lb_...' \
-d '{"chain":"base","kind":"contract","address":"0x...","webhook":"https://ntfy.sh/your-long-random-topic"}'