Welcome to AccBot. AccBot is an open-source accumulation bot that buys BTC (possibly LTC, ETH, XMR or DASH) on the Coinmate exchange at regular intervals in small amounts of CZK or EUR according to the DCA strategy.
- Purchases a user-defined amount in Czech crowns (typically tens of CZK) / Euros (typically units of Eur) every user-defined hours (ideally divisible by 24, so that it always purchases at the same time, e.g. -> every hour, 1x in 2h, 1x in 4h, 1x in 8h, etc.).
- It runs autonomously without the need to manage it somehow over time, you only need to keep track of your CZK account balance and regularly top it up on Coinmate (e.g. once a month).
- Operating costs are practically zero (it comes out to about 0.04 €/month for Azure hosting); the bot is implemented as Azure function for now, which runs at regular intervals and the whole solution is hosted on Azure.
- (Optional functionality) After each purchase, the Telegram channel informs you of the amount of the purchase. This information is supplemented with statistics, what is the current average accumulated price, etc. See example:
- (Optional functionality) If a sufficient amount of BTC is accumulated, then if the withdrawal fee from the total amount is less than the user defined limit (e.g. 0.1%), the bot will send the accumulated amount of BTC from the exchange to the defined BTC wallet (note: if you want to use this functionality, we recommend enabling API send only to your specific BTC wallet, see settings when creating an API key on Coinmate)
-
Installed PowerShell
-
Installed Azure CLI
-
Established account on the exchange Coinmate (account is free; KYC verification is required to send fiat to the exchange)
- If you would like to support us and sign up through our referral link, you can click on the banner below
-
An account on Azure (account is free; you only pay for the funds used, which works out to about $0.04/month)
-
On Coinmate, generate API keys (so that the BOT can access the funds on the exchange and perform its accumulation activity). Write down the generated ClientId, PublicKey and PrivateKey in a notepad -> you will need them in step 5.
- ATTENTION: You need to add Trading permissions to the API keys, see:
- If you'd like to use the autowithdrawal feature, check the "Enable for Withdrawal" option as well. In this case, we recommend that you also check "Enable for withdrawals to template addresses only", which means that the bot will only be able to send accumulated BTC to the addresses you define, see:
-
Download the ZIP from the current RELEASE, which contains the PowerShell installation script and the built bot.
-
Unzip the ZIP from the previous point anywhere on your filesystem.
-
In Notepad (or another text editor) open the install_script.ps1 file
-
(Optional) Set your Telegram notifications. (If, despite the recommendation, you do not want to use Telegram notifications, do not fill in the Telegram variables in the next step)
-
Edit the variables in the ## USER-DEFINED VARIABLES section ###
##############################
### USER-DEFINED VARIABLES ###
##############################
# Name that appears in Telegram notifications
$Name='anonymous'
# Crypto you want to buy on Coinmate (POSSIBLE VALUES: BTC, LTC, ETH, XRP, DASH)
$Currency='BTC'
# Fiat currency you want to buy crypto with on Coinmate (POSSIBLE VALUES: CZK, EUR)
$Fiat='CZK'
# The size of the chunk in CZK or EUR you want to buy regularly (MINIMUM for CZK: 26; MINIMUM for EUR: 1)
$ChunkSize='26'
# Once every how many hours you want to buy BTC regularly
$HourDivider='1'
# Flag if you want to enable Withdrawal if the fee is less than 0.1% (ALLOWED VALUES: true / false)
$WithdrawalEnabled='false'
# Wallet address for withdraw (only applies if WithdrawalEnabled = TRUE)
$WithdrawalAddress=''
# (Only applied if $WithdrawalEnabled='true').
# Maximum withdrawal fee limit in percentage. (DEFAULT: 0.001 = 0.1%)
$MaxWithdrawalPercentageFee = '0.001'
# (Only used when $WithdrawalEnabled='true').
# Maximum withdrawal fee limit in absolute value (CZK)
# If set to -1, only the percentage condition is applied => $MaxWithdrawalPercentageFee
$MaxWithdrawalAbsoluteFee = -1
# Address of the telegram channel you want to receive notifications (in @ChannelName format)
$TelegramChannel='@channel_name'
# Private key of the telegram bot (ATTENTION, the bot must be a member of the channel above)
$TelegramBot='telegram_bot_hash'
# ClientId from Coinmate API
$CoinMateCredentials_ClientId='111'
# Public key from Coinmate API
$CoinMateCredentials_PublicKey='XXX'
# Private key from Coinmate API
$CoinMateCredentials_PrivateKey='XXX'
##############################
- Save the install_script.ps1 file with the values from the previous step filled in.
: Double-click to run the run.bat file (For Windows OS).
/
: Run PowerShell and execute powershell.exe -executionpolicy bypass -file .\install_script.ps1.
The script will automatically prepare all the necessary resources on Azure. A window should also pop up at the beginning with the Azure portal login.
** WARNING: The installation takes a few minutes, please wait for it to complete.** The following message should appear at the end:
This part is not mandatory for the bot to work, however it is a great added value as the bot will periodically inform you after each purchase what your average BTC accrued price is and how many BTC you have already accrued. You will also be able to verify in real time that the bot is working.
-
Create an account on Telegram
-
Create a bot via BotFather according to instructions.
- The token from the tutorial is then inserted into the $TelegramBot variable from the PowerShell script
-
Create a new channel (video tutorial to create from the mobile app -> Android or iOS version). Alternatively, follow the following printscreen -> create via Telegram desktop.
- In the top left corner, click on settings
- Click on the
New Channelbutton
- Name your channel and confirm the creation with the button
- Mark the channel as Public and come up with a unique name for it. This name is then filled in the format
@MyAccBotChannel(in the case of the example below) in the $TelegramChannel variable in the powershell script
-
Invite your bot (search for it by name) that you created in step 2 via BotFather to the channel.

- Confirm the bot as a channel administrator
- Leave the default permissions of the bot
-
Done, the bot should now write information about purchases with statistics to the created channel.
We decided to provide AccBot completely free of charge because we want to give as many people as possible the easiest and cheapest way to apply the DCA strategy. We believe that saving regularly in Bitcoin is the best way to secure for the future. In fact, investing in BTC with emotions involved and with ambitions to predict the market does not pay off in most cases.
If you'd like to support us, we certainly won't stop you from doing so. Below are the individual wallets where you can send us a donation, for example for a beer. :) Thank you <3
- BTC ❤️: bc1q2hz79m4csklecqgusu9e2yjnrr6e9ca6nhu0at
- LTC: LTXdCFBYHgVLa8cBNBqwEvaQLi8tENY5R3
- XMR: 49QBko3UdegAkx6g8foqjs9efQD6rrhsPEoTqP9HmA2LCUZsJ8xBD2JZSMEdzhA5NJ9SrVhzu2uJXRUvL2kAiV45LyDBCUt
- DOGE: DR9mEaVLmx3gxqiqffwYQcLsT1upRL3xe9
- ETH: 0x8A944bcb5919dF04C5207939749C40A61f88188C
- DOT: 15sBCVyWu5Gy9VnzQpid4ggC1MmguBBd1xotUVbsbbRWddun
- BNB: bnb1lwcgq8emrjgptxg4hm37d5tf2yunrph842awrh
- ADA: addr1qxgfp7xf8rpg7laque78queavpfdztajgl3hr8kuanuqgdysjruvjwxz3al6penuwpen6czj6yhmy3lrwx0dem8cqs6qr8y8fj




















