A Go-based tool that monitors blockchain transactions for specific addresses and sends notifications via Telegram.
- Real-time transaction monitoring on multiple blockchain networks (Base, Fantom)
- Telegram notifications for buy/sell transactions
- Configurable watch addresses
- Direct links to DexScreener and DEX trading interfaces
- Automatic filtering of USDC transactions
- Customizable polling intervals
- Go 1.x or higher
- Telegram Bot Token
- Telegram Chat ID
- Clone the repository:
2. Create an `app.env` file in the project root with the following variables:
```env
TELEGRAM_TOKEN=your_telegram_bot_token
CHAT_ID=your_chat_id
Run the application with the following command:
go run main.go --chain <chain_name> --address <wallet_address>--chain: Specify the blockchain network (required)- Supported values:
base,fantom
- Supported values:
--address: Wallet address to monitor (optional)- Default: "0x2433f77f39815849ede7959c7c43d876242cc4bc"
go run main.go --chain base --address 0x123...abcmain.go: Application entry pointconfig/: Configuration managementtransaction/: Transaction parsing and processingtelegram/: Telegram bot integrationticker/: Transaction monitoring schedulerchain/: Chain-specific configurations
The bot sends notifications with the following information:
- Token name
- Blockchain network
- Transaction type (Buy/Sell)
- Interactive buttons for:
- Trading on the configured DEX
- Viewing on DexScreener
The application currently supports:
- Base Network (BaseScan)
- Fantom Network (FTMScan)
The default monitoring interval is set to 10 seconds. You can modify this in main.go:
ticker := ticker.NewTicker(cfg, 10*time.Second)The application includes robust error handling for:
- Network requests
- Transaction parsing
- Configuration loading
- Telegram API interactions