Published in

ADAMANT’s interactive Bounty bot for cryptocurrency projects

We made ADAMANT Bounty Bot specifically for cryptocurrency projects. It allows running bounty campaigns and airdrops interactively with automated payments.

  • Interactive and attractive. The bot is accessed via chat in ADAMANT Messenger.
  • Bounty campaigns in Twitter: following accounts and retweets with comments. User mentions in comments and hashtags.
  • Campaigns in ADAMANT: users bring other users to participate in a bounty campaign
  • Automated verification of completed tasks
  • Automated payments in ADM, ETH and ERC-20 tokens
  • Easy to install and setup
  • Free and open source
  • Stored statistics
  • Campaign notifications via Slack or ADAMANT for admins

We are planning to add support for other social networks. You can do it yourself, because the bot is open source.

Bounty for cryptocurrency projects

Bounty campaigns are the most effective way to attract attention to cryptocurrency projects. Usually such campaigns are run by managers, and the campaigns’ terms are posted on forums like Bitcointalk. At the end of a bounty campaign managers check whether the users have met the conditions and give bonuses accordingly. This method of conducting bounty campaigns is inconvenient for users and costly for owners of cryptocurrency projects.

ADAMANT Bounty Bot makes it easy to run bounty campaigns. There is no need to hire a manager, and members receive payments automatically and without delay.

Currently, Twitter campaigns are supported, and in the future we will add support for other social networks (you can do it yourself since it is an open source bot).

You can also create tasks for inviting friends to ADAMANT so that they also participate in the bounty campaign.

For example of how a bounty bot works with payments in ADM and USDS, watch this one-minute video:

How it works

A bounty bot is a program that is constantly running on a server. After installation, you specify the campaign settings such as which accounts to subscribe to, which one to retweet and what should be in a retweet.

Bounty bot:

  • Tracks user messages
  • Checks tasks execution and completion
  • Pays rewards
  • Accumulates statistics

The bot will not overlook duplicate social media accounts, so one user cannot receive a reward twice.

What is needed to run the bounty bot

  • Basic Linux and Node.js skills
  • Server. Requirements are minimal. Any virtual machine with Ubuntu on cloud hosting will do, for example, Digital Ocean, Ramnode, Scaleway, Hetzner. Installing the ADAMANT node is optional.
  • Create an ADAMANT wallet for the bot and get free tokens
  • Fund the bot’s cryptocurrency wallets so that it pays out rewards. You set the size of rewards and cryptocurrencies for payments. The bot currently supports payments in ADM, Ethereum and ERC-20 tokens. If you have an ERC-20 token that is not supported yet, you can add its support yourself. Remember that the transfer fee for ERC-20 tokens is paid in Ethereum, so you need to top up the bot’s ETH wallet as well.
  • Install the bot program on the server and tweak the config file
  • Enter your Twitter API account keys. You can get them in the developers section.
  • Test the bot


ADAMANT Bounty bot is controlled by the following commands:

  • /help: show helping info
  • /rates: get the market price of a token
  • /calc: calculate the market price of one cryptocurrency in another
  • /balances: [admin] show bot’s cryptocurrency balances
  • /test: [admin] run a test. F. e. /test twitterapi

Later, we will add administrator commands to display statistics.

Installation and configuration

The bot for bounty campaigns and airdrops is open source software. Installation instructions are straightforward and can be found on GitHub. For advanced Linux users, these instructions are enough, but for mere mortals we will add explanations.

You should have a virtual machine or server running Ubuntu 16/18 64-bit. If not, then go to any VPS service, for example, Digital Ocean, Ramnode, Scaleway, Hetzner.

If your machine has more than 40 GB of disk memory and more than 1 GB of RAM, then we recommend installing the ADAMANT node on it to support decentralization. This is done with one command — by running the script in the command line. But you don’t have to install an ADAMANT node.

It is better to install the bot under the adamant user. If you installed the node, then the adamant user is already in the system, and if not, follow step 5 of the same node installation instructions.

For the bot to work, you need to install NodeJS and MongoDB on the machine. If you installed a node, then NodeJS already exists, if not, follow step 6 from the same instructions for installing a node. There is a manual for MongoDB installation.

Now you can install and configure the bot.

Switch to adamant user:

su - adamant

Download the code from GitHub:

git clone

Go to the bot’s directory:

cd ./adamant-bountybot

Install the dependencies:

npm i

Done. Now to the configuration.

Open the config file in nano text editor:

nano config.json

Initially, it contains default parameters. Here’s what must be changed:

  • passPhrase — of your bot’s ADM account. Be sure to create a new account for the bot, do not use existing ones. The bot address will match the specified passphrase. Example:
"passPhrase": "scatter tomato doctor also stay tell success pause gift clip hungry october",
  • twitter_follow — Twitter accounts that the user must subscribe to in order to receive the reward. Specify an empty array [] to disable. Example:
"twitter_follow": [  "@adamant_im",  "@BitZ_Group"],
  • twitter_retweet_w_comment — describes the tweet that the user should retweet with a comment. min_mentions indicates the number of friends the user should mention in the comment, and hashtags indicates which hashtags to use. Specify an empty array [] to disable. Example:
"twitter_retweet_w_comment": [  {    "tweet": "",    "min_mentions": 3,    "hashtags": [      "#privacy",      “#decentralization”    ]  }],
  • adamant_campaign — for min_contacts specifies the number of users who need to be invited to ADAMANT so that they can also participate in the bounty campaign. A user is considered involved if his first message is not older than 3 days, and the message is to a user who participates in the campaign. To disable this task, specify 0. Example:
"adamant_campaign": {  "min_contacts": 3},
  • rewards — name speaks for itself. Specify amounts and currencies each user will receive after successful completing tasks. Example:
"rewards": [  {    "currency": "ADM",    "amount": 100  },  {    "currency": "ETH",    "amount": 0.01  }],
  • twitter_api — keys for Twitter API. They can be obtained from the Twitter developers section. If you are not running a Twitter campaign, you can leave them blank. Example:
"twitter_api": {  "consumer_key": "jsoQSRzVYWTUE88t",  "consumer_secret": "6l7w0vqHCEIkmjbdR8ubTxzhJZRk1JUlSUonu5",  "access_token_key": "86823450088-il17SnfGmxQCYW9bAGAnFB2aW4",  "access_token_secret": "W0k1armrFUL8ATzJwAJ2x9yuxojKIEtRaphT"},
  • admin_accounts — specify your personal ADM address so that the bot accepts administrator commands from you, such as getting statistics. Important: your personal address and the bot’s address should be different. Example:
"admin_accounts": [  "U14818108337685946763"],
  • welcome_string — the message the bot will use to greet new users. You can use Markdown markup. Example:
"welcome_string": "Hey! 😊 I am the bounty bot for ProjectName project. Ready for an exciting bounty campaign with automatic reward payments? Type **/help** for more info.",
  • help_message — the message that the user will receive by the /help command. Specify the bounty campaign rules in it. You can use Markdown markup and variables from the config. Example:
"help_message": "Get the **${config.rewards_list}** reward right now!\n\nThe bounty campaign rules: \n- Subscribe to Twitter accounts: ${config.twitter_follow_list}\n- Retweet ${config.twitter_retweet_w_comment[0]} with your comment on why you like cryptocurrencies. Mention ${config.twitter_retweet_w_comment[0].min_mentions} friends and use tags ${config.twitter_retweet_w_comment[0].tag_list}.\n- Write me your Twitter account (like @adamant_im) or give me the full link to it.\n\n \nGo!",
  • adamant_notify or slack — although not required, we recommend that you specify one or both of these parameters in order to receive timely notifications from the bot. If something goes wrong, it will tell you by those means. If you choose to receive notifications in your ADAMANT account, please specify an address other than admin_accounts. Example:
"adamant_notify": "U48110833768594688888","slack": "",

To save your changes in nano text editor press F2, then y, then Enter.

We recommend using the pm2 process manager to run the bot. If you installed the ADAMANT node, then pm2 already exists, if not, pm2 can be installed with the command sudo npm install -g pm2

Now you can start the bot (as adamant user):

pm2 start --name bountybot app.js

Check if your bot is working correctly — send it some message. If the bot does not respond, then you did something wrong. Look at the bot logs with the command:

pm2 logs bountybot

To make the bot work even after rebooting the machine, add it to cron:

crontab -e

In the editor, add the following line to the end of file:

@reboot cd /home/adamant/adamant-bountybot && pm2 start --name bountybot app.js

And save.

Get a reward right now!

Try the bounty bot at work — send “Hi” to U1644771796259136854 and join in the official Bounty campaign from ADAMANT!

There are other bots in ADAMANT, and for cryptocurrency projects we recommend paying attention to the bot for boosting trading volumes.



Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store