{"id":15349519,"url":"https://github.com/ravening/bitvavo-trading","last_synced_at":"2026-05-06T22:06:22.707Z","repository":{"id":117364173,"uuid":"331957146","full_name":"ravening/bitvavo-trading","owner":"ravening","description":"Java app to fetch data from bitvavo trading system","archived":false,"fork":false,"pushed_at":"2021-08-10T14:24:18.000Z","size":85,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-02-01T18:44:59.154Z","etag":null,"topics":["bitcoin","bitvavo","bitvavo-trading","java","spring-boot","spring-cloud-config","websocket"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ravening.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-01-22T13:39:59.000Z","updated_at":"2021-08-10T14:24:21.000Z","dependencies_parsed_at":null,"dependency_job_id":"70f8a699-0abd-43b3-8ac3-34ca212a4e09","html_url":"https://github.com/ravening/bitvavo-trading","commit_stats":{"total_commits":12,"total_committers":2,"mean_commits":6.0,"dds":0.08333333333333337,"last_synced_commit":"1ab78866af02e8e501f0568e1d9d40d28bab56b4"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ravening%2Fbitvavo-trading","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ravening%2Fbitvavo-trading/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ravening%2Fbitvavo-trading/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ravening%2Fbitvavo-trading/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ravening","download_url":"https://codeload.github.com/ravening/bitvavo-trading/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245864797,"owners_count":20685107,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bitcoin","bitvavo","bitvavo-trading","java","spring-boot","spring-cloud-config","websocket"],"created_at":"2024-10-01T11:54:51.958Z","updated_at":"2026-05-06T22:06:17.657Z","avatar_url":"https://github.com/ravening.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Bitvavo-trading\n\nJava application to fetch details from Bitvavo trading system\n\nThis project involves two types\n\n1. Displaying BTC in real time\n2. Step 1 and notifying the change in BTC price using Telegram Bot\n\nPlease follow the respective types for the instructions\n\n## Prerequisites\n\n```\nJava\nDocker\nMaven\nPython3\nTelegram account \u003cOptional\u003e. Needed for type 2 project\n```\n\n## Type 1. Displaying BTC price in real time\nIf you have docker installed then just build docker image and run the container\n\n```\n./mvnw spring-boot:build-image -DskipTests\n```\n\nStart the container\n\n```\ndocker run -it -d -p 8080:8080 -p 8026:8026 --rm --name bitvavo-trading  bitvavo-trading:0.0.1\n```\n\nNavigate to\n```html\nhttp://localhost:8080\n```\n\nIf you dont have docker installed but want to run the java jar then follow below steps.\n\n### Building packages from scratch\n\nIf you want to make source code changes then follow the below prerequisites\n\n1. Git clone the bitvavo java library from https://github.com/bitvavo/java-bitvavo-api\n2. cd `java-bitvavo-api`\n3. Run `mvn clean install` so that jars are pushed to local mvn repo\n4. Signup with bitvavo and get api/secret key\n\n## Running the project\n\n1. Add the bitvavo api key, secret key in `application.properties` file\n2. Start the project using `mvn spring:boot-run` or build jar file using `mvn clean packages -DskipTests`\n3. Run the jar using `java -jar target/bitvavo-trading-0.0.1.jar`\n4. Hit the end points `localhost:8080/api/assets` or `localhost:8080/api/ticker/BTC-EUR`\n\nTo see the bitcoin price in real time, navigate to\n\n```html\nhttp://localhost:8080\n```\n\nYou can change the source code to monitor for other cryptocurrencies as well\n\n\n## Type 2. Alerting about BTC prices using Telegram bot\n\nThis involves some extra steps. So if you are running the docker or jar file already then stop it.\n\n### Step 1. Starting the config server\n\nThe aim of type 2 is to send alerts when BTC prices go up or below the configured prices.\\\nYou configure the prices using the below format\n\n```\nbitvavo:\n  trades:\n    - action: sell\n      price: 41000\n      crypto: BTC\n      tradeprice: 41000\n      notify: true\n    - action: buy\n      price: 38200\n      crypto: BTC\n      tradeprice: 35000\n      notify: true\n```\n\nThis states that you want to notified when the BTC prices goes above €41000 or below €35000\n\nCreate a new git repository and create a new file in it called `bitvavo-client.yml` with the above contents.\\\nIt is important that the file name is same as above mentioned\n\nEnter the above created repository name in the file `bitvavo-config/src/main/resources/application.yml`.\\\nIf its a private repo then enter your username and password as well.\n\n1. Now start the config server\n```\ncd bitvavo-config\nmvn clean package -DskipTests\njava -jar target/bitvavo-config-server-0.0.1.jar\n```\n\nLet it run in the backend\n\n### Step 2. Setting up Telegram bot\n\nMake sure you have a telegram bot. If you dont have you can skip step and continue with step 3.\n\nInstall the below packages in your machine\n\n```\napt install python3-pip\npip3 install telegram\npip3 install python-telegram-bot\n```\n\n**Create a bot **\n\nSearch for the user @BotFather in Telegram.\\\nUse the command `/newbot` to create a newbot. Enter the username and other required details.\\\nOnce everything is done, it will display the token. Store it in a safe place.\\\nLets store this as `TOKEN`\n\nFor the bot to send messages to you, first you need to get your chat id. This can be done by\\\nsending a `/start` message to `https://telegram.me/getidsbot`. Lets store this as `CHAT_ID`\n\nConfigure telegram bot program\n\nYou need to enter the `CHAT_ID` and `TOKEN` in `src/main/resources/telegram_bot.py`\n\nYou can test to see if telegram is sending message to you by running\n\n```\npython3 src/main/resources/telegram_bot.py \"hello world\"\n```\n\n### Step 3. Running the bitvavo trading client\n\nCopy the above mentioned `telegram_bot.py` file to any suitable location in your machine. If not copied\\\nthen messaging wont work. Enter the full path of the script in `src/main/resources/application.properties`\n\n```\ntelegram.bot.path=\u003cyour path\u003e\n```\n\nAlso enter the location of python3 executable under\n\n```\npython.path=\n```\n\nOnce all these steps are configured, build the packages\n\n```\nmvn clean package  -DskipTests\n```\n\nand start the application using\n\n```\njava -jar target/bitvavo-trading-0.0.1.jar\n```\n\nNavigate to\n\n```\nhttp://localhost:8080\n```\n\nYou should receive a telegram notification whenever the BTC value goes below or above the configured value.\\\n\nIf you want to be notified at a different price, then change the values in `bitvavo-client.properties` and commit the file.\\\nPush the changes to the repository and run the below command\n\n```\ncurl -X POST http://localhost:8080/actuator/refresh\n```\n\nThis will refresh the configured values and will notifiy on new values.\\\nWhenever you change the values, dont forget to commit and push the chanes. After that issue the post command.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fravening%2Fbitvavo-trading","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fravening%2Fbitvavo-trading","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fravening%2Fbitvavo-trading/lists"}