Smart contract guide

How to replace OpenZeppelin Defender Monitor alerts

OpenZeppelin closed new Defender sign-ups on June 30, 2025 and set the final shutdown of the hosted platform for July 1, 2026, to focus on open-source tools such as OpenZeppelin Monitor. If you used Defender Monitor to hear about events and function calls on your contracts, this guide sets out what it did, what an Alerts on Chain contract rule covers and what it doesn't, and how to rebuild a Defender Monitor setup as rules that send to Telegram.

Just want the alert? See smart contract alerts

7 min read

What Defender Monitor did

A Defender Monitor watched the transactions of one or more contracts that share an ABI, and sent a notification when a transaction matched what you set up. You could select events and functions, add conditions on their arguments by name or by position, and narrow the match with a transaction filter on fields such as from, to, value, gas used and status.

Selecting several events or several functions acted as an OR: any one of them was a match. Function matches needed the transaction to call the function directly, while events matched whichever contract call led to them.

Around the match itself, Defender Monitor offered more:

  • Custom filters: your own code received the matches for a block and decided which ones counted.
  • Confirmation blocks: how many blocks to wait before notifying, to trade speed for safety against reorganisations.
  • An alert threshold and a minimum time between notifications, to cap repeated alerts.
  • Notification channels from chat apps to incident tools and custom APIs, Telegram among them, with an editable message template.
  • Actions and Workflows that ran when a match happened, for an automated on-chain response.
  • Templates for common cases, five risk categories and a severity level for grouping.

The shutdown and OpenZeppelin Monitor

OpenZeppelin's Defender docs state that new sign-ups were disabled on June 30, 2025, and that Defender would stay fully operational until its final shutdown on July 1, 2026, while OpenZeppelin focuses on the open-source versions of its tools.

For alerts, that open-source version is OpenZeppelin Monitor. You install and run it yourself, from source or with Docker, and describe the networks, what to watch and where to send each notification in JSON files. Its docs list EVM-compatible networks and several other chains, and notification channels that include Telegram.

If you want to run your own service and keep many networks and channels, OpenZeppelin Monitor is the direct path. If you'd rather not run anything and your contracts are on Ethereum mainnet, a hosted contract rule in Alerts on Chain covers the core of a Defender Monitor setup: an event or a function, conditions on its arguments, and a message in Telegram.

What a contract rule covers

In Alerts on Chain you paste a contract address and add rules to it. Each rule says what to match and which Telegram chat to send to:

  • Event emitted: one event from the standard catalog, one of the events listed for a well-known contract, a pasted event signature, or every event the contract emits.
  • Method called: one function, by pasting its signature or 4-byte selector, or any method, with a choice of succeeded, failed or either.
  • Argument conditions by name: is, is not, is one of, greater than, at least, contains and similar, depending on the argument's type; [] means any element of an array.
  • Transaction conditions: Caller (tx.from) is, or is not, one of a list of addresses, and the ETH value sent.
  • Delivery: one Telegram message per transaction per rule, to a chat or a group, within seconds of the transaction being confirmed.
Example alert
ContractExample

Ownership moved from 0x3f5c…e0b7 to 0x9f2c…9a71

Contract 0x87b1…4e2a · Rule: Everything on the contract

Ethereum · View on Etherscan09:41

What it doesn't do

Some of what Defender Monitor offered has no equivalent here. Check this list before you move:

  • Ethereum mainnet only. More networks are planned, but none is live yet.
  • Telegram is the only live channel. Discord, Slack, email and webhooks are coming.
  • Alerts arrive within seconds of the transaction being confirmed. Pending (mempool) transactions are not alerted.
  • No custom filter code and no OR or NOT expressions: all the conditions on a rule must match. Use one rule per alternative.
  • No conditions on gas, nonce or the transaction's to field; only Caller and ETH value.
  • No automated actions or relaying. Alerts on Chain is read-only: it never signs or sends a transaction in response to a match.
  • No alert threshold, quiet period or confirmation-depth setting, and no editable message template: every alert uses the same format.
  • Method calls are direct calls only. Calls made through Safes, routers or multicall are coming with Premium; events are emitted either way.
  • No USD values; amounts are raw token units unless you set the token's decimals.

Map a Defender Monitor setup onto rules

Open your Defender Monitor configuration next to the dashboard and go through it field by field:

  • Contracts: each contract is its own watched address. If one Defender Monitor covered several contracts with the same ABI, add each address and give it the same rules.
  • Events: one rule per selected event, since several events were an OR. To keep everything a contract emits, use one rule on every event.
  • Functions: one Method called rule per selected function. Paste the function signature with parameter names, so conditions can refer to them.
  • Event and function conditions: name the argument instead of its position. Terms joined with and become several conditions on one rule; terms joined with or become separate rules.
  • Transaction filter: from becomes a Caller condition, value an ETH value condition, and status the method rule's succeeded or failed choice. Gas fields have no equivalent.
  • Notifications: connect each Telegram chat or group on the Channels tab, then pick it on the rule.
  • Custom filters, Actions, Workflows and thresholds: no equivalent. Keep them in your own code, or use OpenZeppelin Monitor for that part.
Source

Contract

0x87b1…4e2a

Rule

Admin method called

pause()

Telegram alert
ContractExample

0x3f5c…e0b7 paused the contract

Contract 0x87b1…4e2a · Rule: Admin method called

Ethereum · View on Etherscan09:41

Set it up step by step

From sign-in to your first alert, in the actual dashboard.

  1. 1
    Sign in at alertsonchain.com with Google or with your wallet. A wallet sign-in is a signed message, not a transaction, so it costs no gas.
  2. 2
    Open the Channels tab and connect Telegram: start a chat with @alertsonchain_com_bot, send /start, and paste the 8-character code it replies with.
  3. 3
    Open the Everything on a contract template and paste the contract address from your Defender Monitor setup. Use the proxy address for upgradeable contracts.
  4. 4
    Open the rule and choose the event from the catalog, or paste the event or method signature. Add one rule per event or function you had selected.
  5. 5
    Add the argument conditions, then Caller or ETH value conditions in place of the transaction filter, and pick the Telegram chat the rule sends to.
  6. Click Create rule. The rule is active straight away, and the next matching transaction sends a Telegram message.

Frequently asked questions

  • Is OpenZeppelin Defender still available?

    OpenZeppelin's docs state that new Defender sign-ups closed on June 30, 2025 and set the final shutdown for July 1, 2026. They point to open-source versions of its tools, such as OpenZeppelin Monitor.

  • Can I import my Defender Monitor configuration?

    No. Rules are set up in the dashboard. Recreate each one with the field-by-field mapping on this page: the contract, then one rule per event or function, then the conditions.

  • Can a match send a transaction, like a Defender Action?

    No. Alerts on Chain is read-only. It watches public addresses and never asks for a private key or a seed phrase. Alerts report activity; they can't respond on-chain.

  • Which networks are covered?

    Ethereum mainnet only. More networks are planned, but none is live yet.

Sources (checked 2026-10-08)

Every statement about another product on this page comes from that product's own pages, listed here and opened on the date above.