A modern, open-source developer tool for real-time monitoring of smart contract events on EVM-compatible blockchains. Built with Next.js, ethers.js, and React, this project is made by devs for devs.
- Live event monitoring for any contract and event (ERC20, custom, etc.)
- Proxy contract support: Automatically detects proxies and fetches ABI from the implementation
- Dynamic event dropdown: Auto-populates event names from verified contract ABIs
- Custom event support: Enter your own event name if ABI is not available
- Network recognition: Supports Ethereum, Optimism, Arbitrum, Polygon, Base, zkSync, and more
- Filter by address: For ERC20
Transferevents, filter byfrom/toaddress or ENS - Persistent event log: Switch event types without losing previous events
- Beautiful, responsive UI for desktop and mobile
git clone https://github.com/yourusername/onchain-watcher.git
cd onchain-watcher/onchain-watchernpm install
# or
yarn installCreate a .env.local file in the onchain-watcher directory:
NEXT_PUBLIC_ETHERSCAN_KEY=your_etherscan_api_key_here- Get a free API key from Etherscan.
npm run devVisit http://localhost:3000 in your browser.
- Enter a WebSocket RPC URL (e.g., from Alchemy or Infura).
- Enter a contract address (proxy or non-proxy supported).
- Select or enter an event name.
- If the contract is verified, event names are auto-populated.
- If the contract is a proxy, the ABI is fetched from the implementation.
- If not verified, enter your own event name.
- Click "Connect" to start listening. Events will appear in real time.
- Switch event types at any time—previous events remain visible.
- Pause, clear, or stop the session as needed.
Contributions, bug reports, and feature requests are welcome!
- Fork the repo and create your branch
- Open a pull request with a clear description
- Please follow the existing code style and add tests if possible
- Next.js
- ethers.js
- Etherscan API
- Alchemy, Infura
- All open source contributors and the Ethereum community
Made with ❤️ by devs for devs. PRs welcome!