BPA is a simple application which gets the price data from Binance Spot or Futures API and sends Telegram messages based on parameters set used to detect pumps and dumps on the Binance Exchange.
Demo Telegram Channel hosted on AWS ec2 running the 'Base Stable Version' release 24/7.
- On the command-line, run the command
pip install -r requirements.txt
while located at folder with code. - Create a new telegram bot token from @botfather.
- Get telegram
chat_id
from @get_id_bot.- Alternatively, a
channel_id
can be used as well.
- Alternatively, a
- Add pairs to watch into the watchlist or to ignore in blacklist or leave it empty to monitor all tickers on Binance.
- Run the script with the command
python pumpAlerts.py
.
- Use environment variables in the
docker-compse.yml
file to provide your config.- See
entrypoint.sh
for environment variable names and the config possibilities. - You can also use a
.env
file during development. - If changing the config parameters, you have to make sure that search and replace will place the right parameter in the
config.yml
- Emojis are more tricky therefore defining it with some tricks e.g.
PUMP_EMOJI="! \"\\\\U0001F4B9\""
- See
- On the command line run
docker-compose up -d --build
to create and run the docker image/container.
telegramToken
: The token obtained from@botfather.telegramChatId
: The bot will send the messages to thischat_id
. It can be a group or channel as well.
chartIntervals
: Can be modified to consider other timeframes, follow the format of 's' for seconds, 'm' for minutes, 'h' for hours.outlierIntervals
: (0.01 -> 1% , 0.1 -> 10%), modify accordingly based on needs. Avoid setting it too low to avoid noise.extractInterval
: Default is1s
, Interval at which we retrieve the price information from Binance.pairsOfInterest
: Default is USDT. Other options include BUSD, BTC, ETH etc.topReportIntervals
: Default is1h
,3h
and6h
Intervals for top pump and dump reports to be sent, ensure it is in chartIntervals + outlierIntervals as well.
watchlist
: Default if left empty it'll look at ALL symbols after filtering by pairs of interest. If pairs are added to the watchlist, the application will only TRACK the pairs specified. pairsOfInterest will be ignored.blacklist
: Default if left empty it'll look at ALL symbols after filtering by pairs of interest. If pairs are added to the blacklist, the application will ignore pairs specified. pairs of Interest will NOT be impacted.dumpEnabled
: IfTrue
, the application will alert on dumps as well.
topPumpEnabled
: IfTrue
, the application will send the Top X pumps at the defined interval.topDumpEnabled
: IfTrue
, the application will send the Top X dumps at the defined interval.- Together with pump information, if enabled.
noOfReportedCoins
: Top X amount of coins shown, adjust to show more or less within the timeframe.telegramAlertChatId
: Insert the alert chat_id for top pump dump alert, if left at0
, it'll send messages to the telegramchat_Id
. For params not indicated above, refer to comments besides parameter for its use.
debug
: Default isFalse
. Please, only enable for debugging purposes. Default logging set to info level.resetInterval
: Default12h
. It clears the array used to store data price points to prevent memory issues.priceRetryInterval
: Default5s
. In the case of get price fail, this is the time delay before re-attemptcheckNewListingEnabled
: DefaultTrue
. Enables checking and adding of new listing pairs.
- Integrate with Binance API to make trades on pumps.
- Integrate with Binance Websocket API to get volume information.
- Integrate with listing-predictor to monitor movements for potential listings.
- Telegram integration
- Price update every 1s
- Adjustable alert % param (outliers)
- Watchlist feature
- Monitor future markets
- Optional alert on dumps
- Customizable minimum alert interval for spam prevention
- Option to disable print debugs on extraction
- [Test] Volume Change Updates (TEST_VOL version)
- Allows long period of running without memory issues
- Send periodic Top X Pump & Dump reports
- Docker integration (Thanks to @patbaumgartner)
- Logging integration (Thanks to @patbaumgartner)
- Major Refactoring and cleanup (Thanks to @patbaumgartner)
- Blacklist feature