10 smart contract alert recipes
Each recipe is one rule for one contract. Most can be set up as a Telegram alert on a contract event in a few minutes: paste the address, tick the rule, pick the channel. If the ABI has the right events, SmartAlert offers the rule itself. No rule turns on without you.
Any rule can be checked on history before you turn it on. The chart shows where it would have fired. The history depth is 7 days on Free and 90 on Pro.
Works on Ethereum, BNB Chain, Base and Arbitrum. Telegram is on every plan. Slack, Discord, PagerDuty, email and webhook need Pro. Free has up to 3 rules, and a new project gets Pro limits for 14 days, no card needed.
Alert when ownership is transferred
A new owner can usually upgrade, pause, mint or withdraw. A planned handover is a non-event you already know about. An unplanned one means a key was compromised or a multisig was bypassed. SmartAlert watches OwnershipTransferred and alerts within minutes of the block.
| Rule | |
|---|---|
| Watch | Event OwnershipTransferred(previousOwner, newOwner) |
| Fire when | Any event in a 5-minute window |
| Severity | Critical |
| Don't repeat more often than | 1 hour |
- Event
OwnershipTransferred(previousOwner, newOwner)
- Any event in a 5-minute window
- Critical
- 1 hour
Alert when a proxy is upgraded
An upgradeable proxy can get new code in one transaction. SmartAlert watches the ERC-1967 events Upgraded and AdminChanged. The message has the new implementation or admin address. Add the proxy address, not the implementation.
| Rule | |
|---|---|
| Watch | Events Upgraded, AdminChanged |
| Fire when | Any event in a 5-minute window |
| Severity | Critical |
- Events
Upgraded,AdminChanged
- Any event in a 5-minute window
- Critical
Alert when a contract is paused or unpaused
A pause stops deposits, withdrawals or transfers for every user. If your guardian paused the contract, the team needs to know now. If someone else did, it is an incident.
| Rule | |
|---|---|
| Watch | Events Paused, Unpaused |
| Fire when | Any event |
| Severity | Paused: critical. Unpaused: info |
- Events
Paused,Unpaused
- Any event
- Paused: critical. Unpaused: info
Alert when a role is granted or revoked
On AccessControl contracts, roles like MINTER_ROLE or DEFAULT_ADMIN_ROLE decide who can mint, pause or upgrade. Most teams change roles a few times a year, so each alert is worth reading. The message names the role and the account.
| Rule | |
|---|---|
| Watch | Events RoleGranted, RoleRevoked |
| Fire when | Any event |
| Severity | Warning |
- Events
RoleGranted,RoleRevoked
- Any event
- Warning
Alert when Safe owners or threshold change
Your Safe holds the keys to the treasury and admin roles. Lowering the signature threshold or adding an owner changes who controls your funds. Every signer should know the moment it happens.
| Rule | |
|---|---|
| Watch | Events AddedOwner, RemovedOwner, ChangedThreshold |
| Fire when | Any event |
| Severity | Critical |
- Events
AddedOwner,RemovedOwner,ChangedThreshold
- Any event
- Critical
Alert on a revert spike
A contract can keep emitting events while a growing share of calls to it fails. SmartAlert fires when, over a window, the share of direct transactions to the contract that reverted is above your threshold. Example: "Revert 30% in an hour at a 2% norm". The alert lists up to the three latest failed transactions.
| Rule | |
|---|---|
| Watch | Share of direct transactions to the contract that reverted |
| Fire when | Above your threshold, 1 to 100%, over a window of 15 minutes, an hour, 6 hours or a day |
| Minimum transactions in the window | 20 by default. With fewer, the rule shows "not enough data" and does not fire |
| Plan | Business and above |
- Share of direct transactions to the contract that reverted
- Above your threshold, 1 to 100%, over a window of 15 minutes, an hour, 6 hours or a day
- 20 by default. With fewer, the rule shows "not enough data" and does not fire
- Business and above
SmartAlert starts reading receipts of a contract when the first enabled transaction rule appears on it. There is no history before that moment, so the chart appears after one window. The rule is not available on every network. A window with no transactions is not a failure.
Alert on large ERC-20 transfers
Large moves often come before price impact: a treasury moving funds, a whale exiting, or an exploit draining a pool. The limit is in tokens, decimals are applied for you. If the token has history, the form suggests a limit.
| Rule | |
|---|---|
| Watch | Event Transfer, field value |
| Fire when | value above your limit |
| Severity | Warning |
- Event
Transfer, fieldvalue
valueabove your limit
- Warning
Alert on unusual transfer activity
A fixed limit on transfer count is noisy at peak hours and silent at night. SmartAlert compares each hour with the same hour on previous days and alerts when activity is far above that norm. The norm needs about 5 days of history.
| Rule | |
|---|---|
| Watch | Number of Transfer events per hour |
| Fire when | Above the norm for this hour |
| Sensitivity | Medium |
| Severity | Warning |
- Number of
Transferevents per hour
- Above the norm for this hour
- Medium
- Warning
Alert when liquidity is pulled from a DEX pool
On Uniswap V2-style pools, removing liquidity emits Burn. A liquidity exit makes swaps expensive for your users and is often the first sign of a rug or a depeg. SmartAlert counts Burn events per hour and alerts when they are far above the usual level for that hour.
| Rule | |
|---|---|
| Watch | Number of Burn events per hour |
| Fire when | Above the norm for this hour |
| Severity | Warning |
- Number of
Burnevents per hour
- Above the norm for this hour
- Warning
Alert when a contract goes quiet
Some failures make no noise: a keeper stops, an oracle stops updating, nobody calls the contract. Silence is invisible on a dashboard nobody opens at night. Pick an event your contract should emit regularly, and the rule fires when it stops.
| Rule | |
|---|---|
| Watch | Number of your regular event per hour |
| Fire when | Below the norm for this hour |
| No data | Treat as alert |
| Severity | Critical |
- Number of your regular event per hour
- Below the norm for this hour
- Treat as alert
- Critical
More recipes: balances, dollars, contract state
Seven more rules, each on its own page:
- Alert when a wallet balance runs low
- Alert when a keeper wallet has gas for less than N days
- Alert when a balance is low and no top-up came in an hour
- Alert when a treasury falls below $100,000
- Alert on a token transfer above $50,000
- Alert when a contract's paused() returns true
- Alert when a Safe transaction fails (ExecutionFailure)
FAQ
How do I get a Telegram alert on a contract event?
Add the contract address, tick the rule in "Suggestions", and add a Telegram channel. SmartAlert gives you a link to its bot. Open it and press Start.
Can I change the limits?
Yes. Every recipe is an ordinary rule. You can edit the threshold, the window and the severity, and check the change on history.
Does a rule turn on by itself?
No. Ready rules are only offered. Nothing turns on until you tick it and press "Enable selected".
Sources (checked Oct 23, 2026)
Try it on your own contract
An address is enough. The first 14 days get Pro limits, and rules are checked on history before they go live.