A comprehensive monitoring tool for tracking balances, validator/collator rewards, and bounties across Polkadot and Substrate-based networks.
- Multi-Network Support: Monitor accounts across multiple Substrate networks
- Balance Tracking: Track native tokens, assets, and foreign assets
- Validator/Collator Monitoring: Track rewards, unclaimed eras, and performance
- Bounty Tracking: Monitor bounties and child bounties
- Discord Notifications: Real-time alerts for balance changes and claimable rewards
- Automatic Network Discovery: Detect available pallets and tokens on each network
- Clone the repository
- Install dependencies:
go mod download - Set up MySQL database and run
docs/sql/database.sql - Configure settings in the database or environment variables
- Build:
go build -o bin/account-monitor src/account-monitor/main.go
Configure these in the settings table:
discord_webhook_url: Discord webhook for notificationscheck_interval_hours: How often to check balances (default: 24)validator_check_interval_hours: How often to check validator stats (default: 8)
MYSQL_DSN: MySQL connection stringDISCORD_WEBHOOK: Discord webhook URL (optional, overrides DB)
./bin/account-monitorNetworks are automatically discovered from configuration, or add manually to the database.
Add accounts to the accounts table:
INSERT INTO accounts (address, name, monitor_enabled) VALUES ('15oF4uVJwmo4TdGW7VfQxNLavjCXviqxT9S1MgbjMNHr6Sp5', 'Alice', 1);- Network Manager: Handles connection to multiple networks
- Balance Monitor: Tracks token balances and changes
- Validator Monitor: Tracks validator/nominator rewards and performance
- Collator Monitor: Tracks collator rewards
- Bounty Monitor: Tracks bounties and child bounties
- Discord Notifier: Sends alerts to Discord channels
See docs/sql/database.sql for complete schema including:
- Networks and their settings
- Accounts and roles
- Balances and history
- Bounties and child bounties
- Validator/Collator statistics