Scotbot parameter manual



As you my know may know, I'm the developer of the scotbot backend. The bot is written in python and uses my beem library. In order to add your token to scotbot, the active key of the token issuer account itself or any other account that have sufficient token in their wallet is needed. The bot uses the key to send out token when a user has a sufficient amount of pending token and is willing to claim them.

You can read more about it here.

Let me explain all parameter that can be set at

json_metadata_keyand json_metadata_value

This parameter is important, it defines which parameter in the json metadata of a post is checked. One possible choice is "tags". Only posts that have a json_metadata_key parameter in the json metadata field are included and can collect rewards. The value of the json_metadata_key must include or be equal to json_metadata_value.

When json_metadata_key="tags" and json_metadata_value="scottest", then only posts that have a "scottest" tag can have pending tokens. Pending tokens will be generated when token holder upvote this post.

json_metadata_key can also be a new parameter, as for example scot_token. In this case, a new frontend is needed that broadcasts posts that have this parameter in its json metadata field.
When json_metadata_key="scot_token" and json_metadata_value="MYTOKEN", posts that have:

json_metadata": {
"scot_token": [ "MYTOKEN"]

can have receive token from the MYTOKEN reward pool.

At the moment it is advised to use the tags parameter and define a tag that every post must use for receiving token from the reward pool

rewards_token and rewards_token_every_n_block

These two parameters define the size of the reward pool. Every rewards_token_every_n_block steem blocks, the reward pool is increased by rewards_token .

When for example rewards_token_every_n_block=3 and rewards_token=8, 8 token are added to the reward pool every 9s (3 blocks). Every hour, 3200 token are added to the pool and every day 76800 token.

The reward pool is distributed entirely to authors and voters.

reduction_every_n_block and reduction_percentage

Every reduction_every_n_block blocks, the amount of token that are added to the pool is reduced by reduction_percentage.
When reduction_every_n_block = 10512000 and reduction_percentage = 0.5, the reward is reduced by 0.5% every year. For example, when the old reward was 8 token, it is reduced after the first year to

8 / (1.005) = 7.96


This parameter defines when voting on a post is closed and the amount of pending token can be claimed. For example for steem, cashout_window_days is 7.


When this parameter is true, claimed token are send out with the issue command. This is only be possible when the token account is also the token creator. When issue_token is false, token are send out with the transfer command. In this case, the token account just needs to have sufficient token in its wallet.


Defines the split between post creator and upvoter. When it is set to author_reward_percentage = 50, 50% of the pending tokens goes to the author and the remaining 50% to the voters.


This parameter can be a number between 1 and 2. author_curve_exponent = 1 is equivalent to linear and author_curve_exponent > 1 means super linear.

The pending token for a post are calculated as follow:

y = token_config[token]["author_curve_exponent"]
weight_rshares = int_pow(sum_rshares, y)
pending_token = int(weight_rshares / pending_rshares * reward_pool)

When author_curve_exponent > 1, it means that posts with more votes will receive an increased share from the reward pool.


When author_curve_exponent = 1, and we have two posts, one with 100 rshares and one with 1000 rshares and the reward_pool has 1 token:

pending_token = 100 / 1100 * 1 = 0.09


pending_token = 1000 / 1100 * 1 = 0.91

When author_curve_exponent = 2, the pending_rshares is 100 * 100 + 1000*1000 = 1010000

pending_token = 100 * 100 / 1010000 * 1 = 0.009


pending_token = 1000 * 1000 / 1010000 * 1 = 0.991


This parameter defines the curation rewards. It can be a number between 0.5 and 2.

The curation reward which can be given to the voters is

curation_reward = pending_token - author_reward

For each vote, a weight is calculated. When curation_curve_exponent = 1, the weight is linear the vote rshares.

y = token_config[token]["curation_curve_exponent"]
vote_weight = (int_pow(sum_rshares + vote['rshares'], y) - int_pow(sum_rshares, y))
sum_rshares += vote["rshares"]

The vote_weight of all voters is summed up in total_vote_weight.
The curation reward is then

pending_curation_token  = int(curation_reward * vote_weight / total_vote_weight)


curation_curve_exponent = 0.5, curation_reward = 1 , one vote with 100 rshares and a later vote with 1000 rshares.

sum_rshares = 0
vote_weight_1 = sqrt(100) = 10
sum_rshares = 100
vote_weight_2 = sqrt(100 + 1000) - sqrt(100) = 23.166
total_vote_weight = 33.166

The first voter receives:

1 * 10 / 33.166 = 0.302

and the second voter receives:

1 * 23.166 / 33.166 = 0.698

vote_regeneration_seconds and vote_power_consumption

These two parameter defines how often it is possible to vote. These parameters are integer in the steem percentage notation 100 means 1 %.

vote_power_consumption defines how the vote power is reduced with a 100% vote. When it is set to 200 (2%), the vote power is reduced to 98% when voting at full vote power and a weight of 100%.

vote_regeneration_seconds defines in which time duration an empty vote power is regenerating to 100%.

downvote_regeneration_seconds and downvote_power_consumption

These two parameter defines how often it is possible to downvote. When downvote_regeneration_seconds is set to a positve integer, a second downvote pool is activated.

When a downvote pool is active, downvoting does not reduce the vote power.

downvote_power_consumption defines how the downvote power is reduced with a 100% downvote. When it is set to 200 (2%), the downvote power is reduced to 98% when downvoting at a full downvote power and a weight of 100%.

downvote_regeneration_seconds defines in which time duration an empty downvote power is regenerating to 100%. When this parameter is negative, the downvote pool is deactivated and downvoting will reduce the vote power.

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!
Sort Order:  trending

This all looks great! However I wish I understood what it meant.. 🤯


Same here 😃👋

Hello, great post with lots of super information.

Can i ask if each community will be running there own bot and able to edit the back end code using some of the commends you have shown in this post are do you guys run the bot and end user can use some sort of condenser to edit changes?

Thank you so much for participating in the Partiko Delegation Plan Round 1! We really appreciate your support! As part of the delegation benefits, we just gave you a 3.00% upvote! Together, let’s change the world!

Will it work?

Hi @holger80!

Your post was upvoted by @steem-ua, new Steem dApp, using UserAuthority for algorithmic post curation!
Your UA account score is currently 7.134 which ranks you at #59 across all Steem accounts.
Your rank has improved 1 places in the last three days (old rank 60).

In our last Algorithmic Curation Round, consisting of 216 contributions, your post is ranked at #2. Congratulations!

Evaluation of your UA score:
  • Your follower network is great!
  • The readers appreciate your great work!
  • Great user engagement! You rock!

Feel free to join our @steem-ua Discord server

  ·  지난달

To listen to the audio version of this article click on the play image.

Brought to you by @tts. If you find it useful please consider upvoting this reply.

Hi, @holger80!

You just got a 3.3% upvote from SteemPlus!
To get higher upvotes, earn more SteemPlus Points (SPP). On your Steemit wallet, check your SPP balance and click on "How to earn SPP?" to find out all the ways to earn.
If you're not using SteemPlus yet, please check our last posts in here to see the many ways in which SteemPlus can improve your Steem experience on Steemit and Busy.

did not understand - why do I need it?

Will steem-scot be updated to include these new features or will scotbot only act as a paid SE service?

Posted using Partiko Android

Hi ~ I sent 1100eng to Scottbot to make a site like Weedcash. But I need more money to build such a site. Can't you cancel the coin issue? Can you give me a refund for 1100eng?


You should get in touch with @aggroed.


yep, please contact me in Discord. You can find the discord link at the bottom of the website.

Congratulations @holger80! You have completed the following achievement on the Steem blockchain and have been rewarded with new badge(s) :

You made more than 900 comments. Your next target is to reach 1000 comments.

You can view your badges on your Steem Board and compare to others on the Steem Ranking
If you no longer want to receive notifications, reply to this comment with the word STOP

Do not miss the last post from @steemitboard:

New japanese speaking community Steem Meetup badge
Vote for @Steemitboard as a witness to get one more award and increased upvotes!