A Go application that monitors cryptocurrency token prices using the Jupiter API and sends desktop notifications when price changes exceed specified thresholds.
- YAML Configuration: Easy-to-edit configuration file for tokens and thresholds
- Jupiter API Integration: Uses Jupiter's price API for real-time token prices
- Cross-Platform Notifications: Desktop notifications on Windows, macOS, and Linux
- Configurable Thresholds: Set individual price change thresholds for each token
- Continuous Monitoring: Runs continuously with configurable check intervals
- Make sure you have Go installed (version 1.16 or later)
- Clone or download this project
- Install dependencies:
go mod tidy
- Build the application:
go build -o degenmon
Edit the config.yaml file to configure the tokens you want to monitor:
tokens:
- ticker: troll
ca: 5UUH9RTDiSpq6HKS6bp4NdU9PNJpXRXuiw6ShBTBhgH2
priceChange: 0.01 # 1% change threshold
- ticker: sol
ca: 9BB6NFEcjBCtnNLFko2FqVQBq8HHM13kCyYcdQbgpump
priceChange: 0.05 # 5% change threshold
- ticker: bonk
ca: DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263
priceChange: 0.02 # 2% change thresholdticker: The token symbol/ticker to monitorca: The token contract addresspriceChange: The minimum price change percentage (as decimal) that triggers a notification0.01= 1% change0.05= 5% change0.10= 10% change
Run the application:
./degenmonThe application will:
- Load the configuration from
config.yaml - Start monitoring the specified tokens
- Check prices every 5 seconds
- Send desktop notifications when price changes exceed the configured thresholds
- Log all price changes and notifications to the console
gopkg.in/yaml.v2: YAML configuration parsinggithub.com/gen2brain/beeep: Cross-platform desktop notifications
- Windows: Uses Windows Toast notifications
- macOS: Uses native macOS notifications
- Linux: Uses D-Bus notifications (requires notification daemon)
- Linux: Make sure you have a notification daemon running (like
dunstornotification-daemon) - macOS: Check System Preferences > Notifications to ensure notifications are enabled
- Windows: Notifications should work out of the box on Windows 10/11
- Check your internet connection
- Verify that the token tickers and CAs in your config file are valid
- The Jupiter API may have rate limits or temporary outages
- Ensure
config.yamlis in the same directory as the executable - Check YAML syntax (proper indentation, no tabs)
- Verify that
priceChangevalues are decimal numbers (0.01 for 1%, not 1)
You can modify the check interval by changing this line in main.go:
checkInterval := 30 * time.Second // Change to desired intervalThis project is open source and available under the MIT License.