All Projects → uzillion → Crypto Whale Watcher

uzillion / Crypto Whale Watcher

Licence: gpl-3.0
An app to keep a watch on big volume trades of cryptocurrecies on different exchanges by sending alerts via a Telegram Bot.

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Crypto Whale Watcher

Crypto vba
An Excel/VBA project to communicate with various cryptocurrency exchanges APIs
Stars: ✭ 103 (+71.67%)
Mutual labels:  ethereum, bitcoin, cryptocurrencies, bitfinex, binance, gdax
Cryptex
Gemini, GDAX, Bitfinex, Poloniex, Binance, Kraken, Cryptopia, Koinex, BitGrail and CoinMarketCap cryptocurrency exchange API clients in Swift / iOS SDK. Check prices and account balances using Sample iOS app.
Stars: ✭ 51 (-15%)
Mutual labels:  ethereum, bitcoin, cryptocurrency, cryptocurrencies, binance, gdax
Crypto Whale Watching App
Python Dash app that tracks whale activity in cryptocurrency markets.
Stars: ✭ 389 (+548.33%)
Mutual labels:  ethereum, bitcoin, cryptocurrency, cryptocurrency-exchanges, gdax
My Token
📈Track token prices of your favorite exchanges in terminal!
Stars: ✭ 141 (+135%)
Mutual labels:  ethereum, bitcoin, cryptocurrency, bitfinex, binance
Exchangesharp
ExchangeSharp is a powerful, fast and easy to use .NET/C# API for interfacing with many crypto currency exchanges. REST and web sockets are supported.
Stars: ✭ 489 (+715%)
Mutual labels:  ethereum, bitcoin, cryptocurrency, bitfinex, gdax
Peatiocryptoexchange
An open-source Crypto-Currency exchange. Peatio v3.0 Coming Soon !
Stars: ✭ 141 (+135%)
Mutual labels:  ethereum, bitcoin, cryptocurrency, cryptocurrencies, cryptocurrency-exchanges
Cryptocurrency Icons
A set of icons for all the main cryptocurrencies and altcoins, in a range of styles and sizes.
Stars: ✭ 2,116 (+3426.67%)
Mutual labels:  ethereum, bitcoin, cryptocurrency, cryptocurrencies
Cbpro Trader
Automated cryptocurrency trading on Coinbase Pro (formerly gdax-trader)
Stars: ✭ 171 (+185%)
Mutual labels:  ethereum, bitcoin, cryptocurrency, gdax
Cryptotrader
A cryptocurrency trader for all famous exchanges
Stars: ✭ 228 (+280%)
Mutual labels:  ethereum, bitcoin, cryptocurrency, binance
Gitbitex Spot
An Open Source Cryptocurrency Exchange
Stars: ✭ 320 (+433.33%)
Mutual labels:  bitcoin, cryptocurrency, cryptocurrency-exchanges, bitfinex
Stocklook
crypto currency library for trading & market making bots, account management, and data analysis
Stars: ✭ 119 (+98.33%)
Mutual labels:  ethereum, bitcoin, cryptocurrency, gdax
Crypto Signal
Github.com/CryptoSignal - #1 Quant Trading & Technical Analysis Bot - 3,100+ stars, 900+ forks
Stars: ✭ 3,690 (+6050%)
Mutual labels:  ethereum, bitcoin, binance, gdax
Wolfbot
Crypto currency trading bot written in TypeScript for NodeJS
Stars: ✭ 335 (+458.33%)
Mutual labels:  ethereum, bitcoin, cryptocurrency, cryptocurrencies
Algo Coin
Python library for algorithmic trading cryptocurrencies across multiple exchanges
Stars: ✭ 365 (+508.33%)
Mutual labels:  ethereum, bitcoin, cryptocurrency, gdax
Go Quote
Yahoo finance/Google finance/Coinbase/Bittrex/Binance/Tiingo historical quote downloader library and cli written in golang
Stars: ✭ 198 (+230%)
Mutual labels:  ethereum, bitcoin, binance, gdax
Gnome Feeder
Profit Trailer Feeder Full Build with Settings
Stars: ✭ 122 (+103.33%)
Mutual labels:  ethereum, bitcoin, cryptocurrency, cryptocurrencies
Optimal Buy Cbpro
Scheduled buying of BTC, ETH, and LTC from Coinbase Pro, optimally!
Stars: ✭ 288 (+380%)
Mutual labels:  ethereum, bitcoin, cryptocurrency, gdax
Coingraph
Coingraph is a real-time graph for cryptocurrencies.
Stars: ✭ 116 (+93.33%)
Mutual labels:  ethereum, bitcoin, cryptocurrency, cryptocurrencies
Bitcoinlib
Bitcoin Core RPC compatible, battle-tested .NET library and RPC wrapper for Bitcoin and Altcoins
Stars: ✭ 350 (+483.33%)
Mutual labels:  bitcoin, cryptocurrency, cryptocurrencies, cryptocurrency-exchanges
Cryptofeed
Cryptocurrency Exchange Websocket Data Feed Handler
Stars: ✭ 643 (+971.67%)
Mutual labels:  bitcoin, cryptocurrency, bitfinex, binance

Crypto Whale Watcher

Build Status

Constantly looking at the order book and depth charts of different crypto-currencies on different exchanges can be painstakingly tedious. I decided to create this app to simultaneously monitor different exchanges and currencies without being bothered by insignificant trades and orders. With this app, a person can get real time trade and volume alerts from GDAX, Binance, and Bitfinex. These alerts currently occur on Telegram, but are easily switchable with other services.

Note : This README mostly deals with the setup and execution of the app. If you want to understand the working of the project and code, please refer to the wiki section.

A Note About Exchange APIs

You might notice I haven't used any of the exchanges' respective node modules in this project, and have instead gone with the raw REST APIs. This is because I did not realize these modules existed until much later into the development process. Therefore, I understand that my API calls might come with manual need for stream management. But I feel going through the documentations of these modules, then rewriting the code would cause a significant waste of time and resources until I am made to realize otherwise.

Table of Contents

Basic Setup

  1. Fork and Clone the repository

  2. Create a Telegram Bot using BotFather, note down the authorization-token.

  3. Create a group or channel, and add the bot to it. Then get the group/channel's chat_id.

  4. Create a PostgreSQL database.
    USEFUL LINKS:
    Installation
    Creating Database

  5. Create a file with name ".env" in the parent directory.

  6. Add the auth-token, respective chat_id(s), and database url to the ".env" file as key-value pairs in the form shown below. These key-value pairs will be exported to the environment variables.

    BOT_TOKEN=Your:<your-bot-token>
    CHAT_ID=<main-chat-id>
    TEST_CHAT_ID=<test-chat-id>
    DATABASE_URL=postgres://<username>@localhost:5432/<db-name>
    
    • On a *nix OS, steps 5 and 6 can be combined by typing the following lines in sequence in the terminal:
      touch .env
      echo "BOT_TOKEN=<your-bot-token>" >> .env
      echo "CHAT_ID=<main-chat-id>" >> .env
      echo "TEST_CHAT_ID=<test-chat-id>" >> .env
      echo "DATABASE_URL=$USER@localhost:5432/<db-name>" >> .env
      
    • There is another optional environment variable for directing alerts to a test chat for development and testing purposes. If you want to do so, add the following on a new line to the ".env" file: TESTING=true
  7. Run npm install, and run the app via npm run start.

Notes:

  • If you get Database errors, try running npm run db:migrate. IMPORTANT: This command deletes and recreates all tables. You will need to run this every time you make a change in the list of currencies in the config file.
  • A lot of the major hosting services come preinstalled with PostgreSQL or provide some plugin. Therefore the steps for creating and setting up the database may differ. For example, Heroku has an excellend PostgreSQL plugin which upon installation automatically adds the environment variable for the database URL.
  • On your local machine, the app will be served on port 3000 of localhost.

Customizing

The app is made to use certain limits and services that may or may not be suitable for others. Therefore it is possible to make changes and customize the app to better suit the developers requirements. Please do not send pull requests to the main repository with these changes.

Currency Pairs

Currency pairs are defined in the config.js file, and can easily be added and removed as needed. One needs to be mindful to try and add pairs that are supported by both Binance and Bitfinex. Not doing so can cause unexpected behavior.

Limits

The alerts are triggered by checking the various limits for the crypto-currency. You can learn about each limit in the wiki section of this project.

Limit changes are persistent and are saved to the PostgreSQL databse on the running machine. Limits can easily be changed without affecting the repository through the browser by going to the endpoint of the running app. If you are running the app on your local machine, it'll be served on localhost:3000.

Limits can also be changed by editing the migration file, and running npm run db:migrate, in which case changes will be saved on the repository level. This method is not recommended if you plan to contribute to the main repository.

Alerts

The app currently uses Telegram as the medium for alerts. However, if one requires they can choose to add and/or replace it with other services like Discord. It is recommended you keep the structure of the functions the same.

The alerts are managed in message.js.

Screenshots

Telegram :

drawing

Webpage :

drawing

Contributing

If you are a developer trying to contribute to this project, please follow these steps:

  1. Fork and Clone the repository.
  2. Run npm install.
  3. Export the DATABASE_URL to the environment using export or adding it to a ".env" file.
  4. Run npm start or npm run start:dev to see if it runs without errors.
  5. Tests can be performed by running npm test

Please refer Contribution Guidelines for more information.

Contact

Telegram : @uzair_inamdar

License

GPLv3

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].