{"id":24010867,"url":"https://github.com/ahrenstein/docker-cryptodip-bot","last_synced_at":"2025-04-15T04:58:11.187Z","repository":{"id":51330428,"uuid":"357354922","full_name":"ahrenstein/docker-cryptodip-bot","owner":"ahrenstein","description":"A bot that attempts to buy cryptocurrency on the dip.","archived":false,"fork":false,"pushed_at":"2024-04-08T16:38:57.000Z","size":98,"stargazers_count":7,"open_issues_count":3,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-15T04:57:50.537Z","etag":null,"topics":["bots","coinbase","cryptocurrency","docker","gemini","python3"],"latest_commit_sha":null,"homepage":"https://hub.docker.com/r/ahrenstein/cryptodip-bot","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ahrenstein.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null},"funding":{"github":"ahrenstein"}},"created_at":"2021-04-12T22:22:08.000Z","updated_at":"2024-12-13T22:43:56.000Z","dependencies_parsed_at":"2022-09-05T18:12:18.873Z","dependency_job_id":null,"html_url":"https://github.com/ahrenstein/docker-cryptodip-bot","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ahrenstein%2Fdocker-cryptodip-bot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ahrenstein%2Fdocker-cryptodip-bot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ahrenstein%2Fdocker-cryptodip-bot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ahrenstein%2Fdocker-cryptodip-bot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ahrenstein","download_url":"https://codeload.github.com/ahrenstein/docker-cryptodip-bot/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249010210,"owners_count":21197797,"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":["bots","coinbase","cryptocurrency","docker","gemini","python3"],"created_at":"2025-01-08T04:42:57.359Z","updated_at":"2025-04-15T04:58:11.168Z","avatar_url":"https://github.com/ahrenstein.png","language":"Python","funding_links":["https://github.com/sponsors/ahrenstein"],"categories":[],"sub_categories":[],"readme":"Crypto Dip Buying Bot\n=====================\nThis bot is designed to buy cryptocurrency on Coinbase Pro or Gemini using a USD prefunded portfolio whenever it detects a significant dip in price.\n\nUSE AT YOUR OWN RISK\n--------------------\nI run this bot full time against my own personal Coinbase Pro and Gemini accounts, however I make no warranties that\nthe bot will function. It could crash and miss a dip, or it could detect and buy a dip before the floor. So far\nit has done well for me, but your mileage may vary.  \nAs with any open source code: **USE THIS BOT AT YOUR OWN RISK!**\n\nDip Detection\n-------------\nThe bot checks the price in a configurable cycle. Each cycle the bot will check the price of the specified cryptocurrency.\nIt will then compare the average price of the previous 7 days worth of price history to the configured dip percentage.\nIf the current price is the configured percentage lower than the price average it will buy the cryptocurrency in the\nspecified amount of USD.\n\nRunning The Bot\n---------------\nTo run the bot you will need Docker and docker-compose installed on your computer.  \n\n    docker-compose up -d\n\nChoosing An Exchange\n--------------------\nIf you specify Gemini credentials at all in the `config.json` file then the bot will use Gemini even if Coinbase Pro\ncredentials are also specified.\n\nConfig File\n-----------\nYou will need the following:\n\n1. Coinbase Pro or Gemini credentials tied to the portfolio you want to run the bot against\n2. Dip logic parameters:\n    1. The cryptocurrency you want to transact in. (It must support being paired against USD in Coinbase Pro)\n    2. The buy amount you want in $USD.\n    3. The average percentage drop from the previous week's worth of intervals you want to consider a buy worthy dip.\n\nThe following sections are optional.\n\n1. Time variables in the bot config\n   1. Period of days to average (Default: 7)\n   2. Cool down period before buying again (Default: 7)\n   3. Check cycle frequency in minutes (Default: 60)\n2. AWS credentials:\n   1. AWS API keys\n   2. SNS topic ARN (us-east-1 only for now)\n3. Optionally you can override the bot name\n\nThese settings should be in a configuration file named `config.json` and placed in `./config`.\nAdditionally, you can override the volume mount to a new path if you prefer.\nThe file should look like this:\n\n```json\n{\n  \"bot\": {\n    \"currency\": \"ETH\",\n    \"buy_amount\": 75.00,\n    \"dip_percentage\": 10,\n     \"average_period_days\": 3,\n     \"cool_down_period_days\": 5,\n     \"cycle_time_minutes\": 15,\n     \"name\": \"Test-Bot\"\n  },\n  \"coinbase\": {\n    \"api_key\": \"YOUR_API_KEY\",\n    \"api_secret\": \"YOUR_API_SECRET\",\n    \"passphrase\": \"YOUR_API_PASSPHRASE\"\n  },\n   \"gemini\": {\n    \"api_key\": \"YOUR_API_KEY\",\n    \"api_secret\": \"YOUR_API_SECRET\",\n   },\n   \"aws\": {\n    \"access_key\": \"YOUR_API_KEY\",\n    \"secret_access_key\": \"YOUR_API_SECRET\",\n    \"sns_arn\": \"arn:aws:sns:us-east-1:012345678901:dip_alerts\"\n  }\n}\n```\n\nRunning outside of Docker\n-------------------------\nYou can run the bot outside of Docker pretty easily.\n\n```bash\npython SourceCode/cryptodip-bot.py -c /path/to/config.json\n```\n\nLogs\n----\nThe bot will log activity to stdout, so you can review it with `docker logs`\n\nDonations\n---------\nI have configured GitHub Sponsors, if you would like to support my work.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fahrenstein%2Fdocker-cryptodip-bot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fahrenstein%2Fdocker-cryptodip-bot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fahrenstein%2Fdocker-cryptodip-bot/lists"}