A Rust-based bot for automatically providing liquidity to new Solana memecoin pools on Meteora DAMM v2, harvesting fees, and exiting rapidly to maximize returns.
- Monitors for new Meteora DAMM v2 memecoin pools
- Analyzes pools for profitability potential
- Provides liquidity to promising pools
- Claims fees at optimal intervals
- Exits positions within configurable timeframes (default: 3 minutes)
- Tracks performance and profitability
- Telegram monitoring for real-time pool discovery
- Clone the repository
- Copy
.env.exampleto.envand update configuration values - Create your Solana keypair file (or use an existing one)
- Install Rust if not already installed (https://rustup.rs/)
- Build the project:
cargo build --release - For Telegram monitoring, install TDLib (https://tdlib.github.io/td/build.html)
Run the bot with default settings:
cargo run --releaseFor first-time Telegram setup, you'll need to authenticate:
cargo run --release --bin telegram_authConfiguration can be set using one of the following methods (in order of precedence):
- Environment variables (highest priority)
- JSON configuration file
- Default values (lowest priority)
RPC_URL: Solana RPC endpoint URLKEYPAIR_PATH: Path to your Solana keypair fileMAX_SOL_PER_POSITION: Maximum SOL to allocate per liquidity positionPOSITION_DURATION_SECONDS: How long to hold a position (default: 180 seconds)FEE_CLAIM_INTERVAL_SECONDS: How often to claim fees (default: 60 seconds)DATABASE_URL: SQLite database file pathDEBUG_LOGGING: Enable debug logging (true/false)CONFIG_FILE: Path to custom JSON config file
TELEGRAM_API_ID: API ID from https://my.telegram.org/appsTELEGRAM_API_HASH: API Hash from https://my.telegram.org/appsTELEGRAM_PHONE: Phone number in international formatTELEGRAM_SESSION_PATH: Directory to store Telegram session dataTELEGRAM_CHANNELS: Comma-separated list of channels to monitorTDLIB_PATH: Path to TDLib library (optional)
You can also use a JSON configuration file. The application will look for the config file in the following locations:
- Path specified in the
CONFIG_FILEenvironment variable ./config.jsonin the current directory~/.config/meteora-lp-sprinter/config.json
Example config.json:
{
"rpc_url": "https://api.mainnet-beta.solana.com",
"keypair_path": "wallet-keypair.json",
"max_sol_per_position": 0.1,
"position_duration_seconds": 180,
"fee_claim_interval_seconds": 60,
"database_path": "meteora_sprinter.db",
"debug_logging": true,
"telegram": {
"api_id": 12345,
"api_hash": "abcdef1234567890abcdef1234567890",
"phone_number": "+12345678900",
"session_path": "telegram_session",
"channels": [
"fluxbot_pool_sniper",
"BONKbotNewTokenAlerts"
]
}
}The bot can monitor Telegram channels to discover new Meteora pools. It currently monitors:
@fluxbot_pool_sniper- Fluxbeam's pool announcements@BONKbotNewTokenAlerts- BONK bot's new token alerts
To use this feature:
- Create a Telegram API application at https://my.telegram.org/apps
- Get your API ID and API Hash
- Configure them in your
.envfile or config.json - Run the authentication tool:
cargo run --release --bin telegram_auth - Enter the verification code sent to your Telegram app
After authentication, the main bot will automatically monitor configured Telegram channels for new pool announcements.
MIT