React

Tailwindcss

Ethers

MongoDB

Express

Socket.io

ChainWatcher

Decentralized, real-time wallet tracker for Ethereum-VM chains

Overview

ChainWatcher lets you monitor any Ethereum-compatible wallet—Ethereum, Binance Smart Chain, Arbitrum, and more—in one clean dashboard.

The user can add the addresses they care about, and get instant browser notifications as soon as on-chain events happen.

Dark mode, custom accent colors, responsive layout—everything adapts to your tastes and screen size.

My Role

Tech Stack

How It Works

  1. User registers and adds wallet addresses.
  2. Backend polls or subscribes via WebSocket to each chain’s RPC endpoint, enriching raw TX data via a scanner API.
  3. New events are stored in MongoDB (users, wallets, notifications, error logs) and pushed to connected clients via Socket.io.
  4. On the frontend, APIContext manages REST calls, sockets, and blockchain connections. AppStateContext handles UI preferences—dark mode, sidebar toggles, toast messages, custom colors, and screen-size flags. Components use local useState hooks for internal state.

Key Features

Challenges & Solutions

Outcome & Learnings

ChainWatcher is now a stable, production-ready dApp used by early adopters to monitor dozens of wallets in real time.

I deepened my expertise in Ethereum tooling (Ethers.js, RPC/WebSocket patterns), real-time communication (Socket.io), and clean state management with React Context. The modular architecture makes adding new chains straightforward.