SimpleDCABot is a simple bot that buys crypto with a dollar-cost averaging strategy.

Overview

Simple Open Dollar Cost Averaging (DCA) Bot

SimpleDCABot is a simple bot that buys crypto on a selected exchange at regular intervals for a prescribed amount in a defined period. SimpleDCABot can run entirely independently or announce each purchase via chat on Telegram.

Functionality is intentionally limited to the minimum necessary. This should make it easier to understand and verify the behavior of SimpleDCABot.

Usage

usage: bot_main.py [-h] [--json JSON] [--test]

arguments:
  -h, --help   show this help message and exit
  --json JSON  Json bot configuration.
  --test       Bot test mode. Bot will comunicate, but it will never byu anything.

Install

Please install the necessary packages before running bot.

pip install -r requirements.txt

JSON configuration

The JSON configuration contains all the necessary parameters.

Example

{
    "exchange": "coinbase",
    "crypto": "BTC",
    "fiat": "EUR",
    "amount": 10.0,
    "interval": 86400,
    "start": 10,
    "logfile": "./log.txt",
    "exchange_api": {
        "API_SECRET": "SOME_SECRET_KEY_DFDFDFASDFSDFSDFSDFSDF",
        "API_KEY": "API_KEY_VFVDFGEDFGDFGDFG",
        "API_PASSPHRASE": "PASSPHRASE_GRTEGEGRE"
    },
    "telegram_api": {
        "chat_id": "CHAT_ID_516+1464",
        "TOKEN": "TOKEN_5sdf61sd6f51"
    }
}

The meaning of variables

"exchange": Selected exchange platform. So far, only Coinbase Pro is supported. 
"crypto": Cryptocurrency to buy. 
"fiat": Selected fiat currency to spend.
"amount": How much will be spent on every purchase.
"interval": Waiting time for the next purchase in seconds.
"start": Waiting time for the first purchase in seconds.
"logfile": Path to log file.
"exchange_api": Coinbase Pro keys an passphrase for you api.
"telegram_api": Telegram token and chat id for Telegram bot. If the Telegram API is missing, it will not be used, and the bot will only log to the selected file and the terminal. 

API requirements (Coinbase Pro)

  • View
  • Trade

How to set a new CoinbasePro API (credits: seCoin3363se)

  1. Add an API key
  2. Check permitions View and Trade (do not give Transfer permission!)
  3. Set a good and long passphrase is you want to. Fill the passphrase in the config.json
  4. Set your IP in the white list (security increase)
  5. Verify the new API key
  6. Fill generated API-SECRET in the config.json as SECRET-KEY
  7. Click done (you will not see the API-SECRET anymore)
  8. Fill the generated API key (hash like string in the API list) as API-KEY

Telegram bot

Instructions on how to create your own Telegram bot and get its token can be found here: https://core.telegram.org/bots#botfather

Plans and progress

To Do

  • Kraken support
  • Binance support
  • Functionality for dollar cost averaging sell
  • Email comunication
  • AdvancedDCABot - An advanced variant of the robot enables more advanced trading strategies, such as buying a dip.

Done

  • Telegram message when order created
  • Bot will validate chat_id
  • Bot will check balance of fiat
  • Test mode

Warning

Please check the functionality of this robot. Even if the robot is under your control, never give it an API with the ability to move your fund. Check regularly that it works as you expect. I make no guarantees that the robot is error-free and will work as you expect.

You might also like...
Freqtrade is a free and open source crypto trading bot written in Python.
Freqtrade is a free and open source crypto trading bot written in Python.

Freqtrade is a free and open source crypto trading bot written in Python. It is designed to support all major exchanges and be controlled via Telegram. It contains backtesting, plotting and money management tools as well as strategy optimization by machine learning.

An advanced crypto trading bot written in Python
An advanced crypto trading bot written in Python

Jesse Jesse is an advanced crypto trading framework which aims to simplify researching and defining trading strategies. Why Jesse? In short, Jesse is

This is a DCA crypto trading bot built for Binance written in Python
This is a DCA crypto trading bot built for Binance written in Python

This is a DCA crypto trading bot built for Binance written in Python. It works by allowing you to DCA at an interval of your choosing and reports back on your average buy price as well as a chart consisting of each DCA.

Free python/telegram bot for easy execution and surveillance of crypto trading plans on multiple exchanges.
Free python/telegram bot for easy execution and surveillance of crypto trading plans on multiple exchanges.

EazeBot Introduction Have you ever traded cryptocurrencies and lost overview of your planned buys/sells? Have you encountered the experience that your

This is a free python bot program that crosses you to farm with auto click in space crypto NFT game, having fun :) Creator: Marlon Zanardi
This is a free python bot program that crosses you to farm with auto click in space crypto NFT game, having fun :) Creator: Marlon Zanardi

🚀 Space Crypto auto click bot ready-to-use 🚀 This is a free python bot program that crosses you to farm with auto click in space crypto NFT game, ha

Automate TikTok follower bot, like bot, share bot, view bot and more using selenium
Automate TikTok follower bot, like bot, share bot, view bot and more using selenium

Zefoy TikTok Automator Automate TikTok follower bot, like bot, share bot, view bot and more using selenium. Click here to report bugs. Usage Download

An automated tool that fetches information about your crypto stake and generates historical data in time.

Introduction Yield explorer is a WIP! I needed a tool that would show me historical data and performance of my staked crypto but was unable to find a

A mood based crypto tracking application.

Crypto Bud - API A mood based crypto tracking application. The main repository is private. I am creating the API before I connect everything to the ma

 Discord Crypto Payment Cards Selfbot
Discord Crypto Payment Cards Selfbot

A Discord selfbot that serves the purpose of displaying text and QR versions of your BTC, LTC & ETH payment information for easy and simple commercial or personal transactions.

Releases(v0.0.1-beta.1)
Play Video & Music on Telegram Group Video Chat

Video Stream is an Advanced Telegram Bot that's allow you to play Video & Music on Telegram Group Video Chat 🧪 Get SESSION_NAME from below: Pyrogram

Sehath Perera 1 Jan 17, 2022
An EmbedBuilder in Python for discord.py embeds. Pip Module.

Discord.py-MaxEmbeds An EmbedBuilder for Discord bots in Python. You need discord.py to use this module. Installation Step 1 First you have to install

Max Tischberger 6 Jan 13, 2022
WhatsApp API Python ChatBot

WhatsApp Api Python - Esta documentação tem como objetivo exemplificar o uso do Moorse Whatsapp API na linguagem Python.

Douglas Alves 2 Jan 06, 2022
Fully Automated Omegle Chatbot

omegle-bot tutorial features fast runs in background can run multiple instances at once Requirement Run this command in cmd, terminal or PowerShell (i

6 Aug 07, 2021
Python Client Library to interface with the Phoenix Realtime Server

supabase-realtime-client Python Client Library to interface with the Phoenix Realtime Server This is a fork of the supabase community realtime client

Anand 2 May 24, 2022
ZenML 🙏: MLOps framework to create reproducible ML pipelines for production machine learning.

ZenML is an extensible, open-source MLOps framework to create production-ready machine learning pipelines. It has a simple, flexible syntax, is cloud and tool agnostic, and has interfaces/abstraction

ZenML 2.6k Dec 27, 2022
A VCVideoPlayer Bot for Telegram made with 💞 By @TeamDeeCoDe

VC Video Player How To Host ✨ Heroku Deploy ✨ The easiest way to deploy this Bot is via Heroku. Credit 🔥 |🇮🇳 Louis |🇮🇳 Sammy |🇮🇳 Blaze |🇮🇳 S

TeamDeeCode 6 Feb 28, 2022
A Telegram user bot to count telegram channel subscriber or group member.

Subscriber Count Userbot A Telegram user bot to count telegram channel subscriber or group member. This tool is only for educational purpose. You coul

IDNCoderX 8 Nov 30, 2022
A Slash Commands Discord Bot created using Pycord!

Hey, I am Slash Bot. A Bot which works with Slash Commands! Prerequisites Python 3+ Check out. the requirements.txt and install all the pakages. Insta

Saumya Patel 18 Nov 15, 2022
Simple Telegram Bot to Download and Upload Files From Mega.nz

Mega.nz-Bot Simple Telegram Bot to Download Files From Mega.nz and Upload It to Telegram Features All Mega.nz File Links supported No login required A

I'm Not A Bot #Left_TG 245 Jan 01, 2023
Plugin for Sentry which allows sending notification via Telegram messenger.

Sentry Telegram Plugin for Sentry which allows sending notification via Telegram messenger. Presented plugin tested with Sentry from 8.9 to 9.1.1. DIS

Shmele 208 Dec 30, 2022
Automates the process to obtain an appointment for NIE in spain.

get-nie-appointment A Python script that automates the process of getting an appointment for NIE assignation. It can be modified in order to change th

Ezequiel Aceto 39 Nov 28, 2022
Simple contact bot for telegram, written in python.

🔗 | Install Install the requirements with pip install -r requirements.txt 📋 | Setup Get your token from BotFather Get your UserId with Nicegram or w

Stehack 3 Dec 10, 2022
A telegram bot script for generating session string using pyrogram and telethon on Telegram bot

String-session-Bot Telegram Bot to generate Pyrogram and Telethon String Session. A star ⭐ from you means a lot to us! Usage Deploy to Heroku Tap on a

Wahyusaputra 8 Oct 28, 2022
A bot that is an updated & modified version of calvinnfernando's WebReg-Bot

WaitList-Bot A bot that is an updated & modified version of calvinnfernando's WebReg-Bot to automate getting into waitlisted classes in UCSD WebReg on

Issac In 1 Dec 01, 2022
Discord bot to display private leaderboards for Advent of Code.

Advent Of Code Discord Bot Discord bot for displaying Advent of Code private leardboards, as well as custom leaderboards where participants can set th

The Future Gadgets Lab 6 Nov 29, 2022
Weather_besac is a French twitter bot that tweet the weather of the city of Besançon in Franche-Comté in France every day at 8am and 4pm.

Weather Bot Besac Weather_besac is a French twitter bot that tweet the weather of the city of Besançon in Franche-Comté in France every day at 8am and

Rgld_ 1 Nov 15, 2021
Irenedao-nft-generator - Original scripts used to generate IreneDAO NFTs

IreneDAO NFT Generator Scripts to generate IreneDAO NFT. Make sure you have Pill

libevm 60 Oct 27, 2022
Using multiple API sources, create an app that allows users to filter through random locations based on their temperature range choices.

World_weather_analysis Overview Using multiple API sources, create an app that allows users to filter through random locations based on their temperat

Jason Boyer 2 Sep 16, 2022
Deep reinforcement learning library built on top of Neural Network Libraries

Deep Reinforcement Learning Library built on top of Neural Network Libraries NNablaRL is a deep reinforcement learning library built on top of Neural

Sony 100 Dec 14, 2022