Bidbot Income Analysis shows bid bots earned 19% of the Rewards Pool in 2018

in utopian-io •  5 months ago  (edited)

2018 seen the rise of the bidbots on STEEM.  However it also seen a downturn in the crypto market and in the use of STEEM.  Personally I have never been a massive fan of bidbots,  I hate the fact they killed the reputation system, but I do believe they hold their place and have fulfilled the demands of many wanting to use them.

I have previously look at data around bidbots before and with the year coming to a close, I thought I would have one last look and see how much of the rewards pool was earned by bidbots in 2018.


Aim of Analysis

The aim of this analysis is to establish and present

1.  Descriptive statistical information for an overview on bids sent to bidbots

2. How much in vests was sent to Bidbots in 2018

3. What % of vests paid out in author rewards is sent to bidbots

4. Visualize year to date trends 

5. Establish what % of Curation rewards are paid to bidbots

6. Establish what % of Total Vest claimed goes to bidbots

Descriptive Statistics on bids sent

Descriptive statistics are useful for summarizing large sets of data.  The aim of this was to get an overview of the bids sent


It is interesting to see that median value sent to bidbots has reduced from Jan to April, however the standard deviation has increased.  From April to Sept the median bid set varied slightly but no big changes.  Since Sept we have seen an increase again in the median bid sent.

For the year to date December seen the largest variance in the size of the bid sent, with the maximum bid being the highest all year.

A low standard deviation indicates that the data points tend to be close to the mean, while a high standard deviation indicates that the data points are spread out over a wider range of values.

What % of Curation Rewards were paid to bidbots?


The top chart shows how much was claimed in total for curation rewards.  The second chart shows how much bidbots earned in curation rewards and below this is the % of total curation rewards earned by bidbots.

October seen the highest % curation rewards paid to bidbots while December seen the lowest. 

In 2018 a total of 25.9% of all curation rewards were earned by bidbots. 

The pie chart below shows what % of total curation rewards each of the bots made.


What % VESTS earned from Authors rewards were sent to bots for bids?


Curator rewards are not paid in a liquid form, however author rewards do have a liquid portion and so those using them tend to send rewards they have earned as an authors back to bots.

As a % of authors rewards claimed which were then sent on as bids, we see a steady increase from Jan to June.  This declines to September and then increases again.  This can be seen in the chart with the red bars.

The yellow bar chart shows the total vests sent to bots each month of 2018.  May being the highest month, however based on %, June seen the highest %.

For 2018 bidbots were sent 18.85% of all claimed authors rewards as bids.

Annual Trend

The chart below shows the number of authors using bots in blue and, number of posts submitted for bits in black.


 We can see that the trend for each line is the same. The number of bids has been on a decline since May and we can clearly see the impact of HF20 on the chart.

What % of Total Vest Claimed (author and curator) were earned by bidbots?


we have seen the % of curator rewards earned by bidbots and we have also looked at the % of Authors rewards that were used for bidding.  Combining these we can calculate how much of total vests claimed from the rewards pool were earned by bidbots.

for the year 2018 bidbots earned between curation rewards and bids 19.1% of the rewards pool.

The pie chart below shows this by bidbot


Top Bot users in terms of Vests sent as bids for 2018


 Descriptive statistical information shows the size of the bids changes month to month and the variance can be rather considerable.  Its interesting to see that December seen the highest bid sent  yet the trend chart shows it to be a lower month in terms of usage.

 9,733,070,117 vests were sent as bids to bots for 2018

18.85% of vests paid out in author rewards for 2018 were sent to bidbots

25.95 % of Curation rewards were paid to bidbots

19.10% of Total Vest claimed in 2018  went to bidbots

4 bidbots earned 9.68% of the total rewards pool paid out in 2018. These earning were a combination of bids send and curation rewards earned. 

The Data and Queries

First I used the Steembottracker API to get a list of bidbots.  This list was then used in the M queries below

The data was collected from SteemSQL using PowerBI.  The following M codes were used.

M code for Sent to bid bots

let    Source = Sql.Database("", "DBSteem", [Query="Select #(lf)*#(lf)From TxTransfers (NOLOCK)#(lf)Where timestamp >=CONVERT(DATE,'2018-01-01') and timestamp <CONVERT(DATE,'2018-07-01')#(lf)and [to] in ('tainika' ,'chronoboost' ,'getkarma' ,'weupvote' ,'alliedforces' ,'a-bot' ,'boinger' ,'jerrybanfield' ,'upyourpost' ,'pwrup' ,'brotherhood' ,'haveaheart' ,'alfanso' ,'whalepromobot' ,'joeparys' ,'peoplesbot' ,'votepower' ,'t50' ,'moneymatchgaming' ,'stef' ,'sureshot' ,'ptbot' ,'th3voter' ,'edensgarden' ,'oceanwhale' ,'botox' ,'whalecreator' ,'profitbot' ,'ecotrain' ,'automation' ,'siditech' ,'cabbage-dealer' ,'profitvote' ,'steemerap' ,'ubot' ,'dlivepromoter' ,'emperorofnaps' ,'proffit' ,'lrd' ,'bodzila' ,'peace-bot' ,'brandonfrye' ,'authors.league' ,'flymehigh' ,'noicebot' ,'redwhale' ,'lost-ninja' ,'dolphinbot' ,'rocky1' ,'estabond' ,'minnowvotes' ,'thebot' ,'booster' ,'slimwhale' ,'megabot' ,'' ,'estream.studios' ,'dailyupvotes' ,'ebargains' ,'promobot' ,'honestbot' ,'foxyd' ,'sunrawhale' ,'mitsuko' ,'onlyprofitbot' ,'spydo' ,'isotonic' ,'brupvoter' ,'postdoctor' ,'luckyvotes' ,'therising' ,'inciter' ,'redlambo' ,'shares' ,'' ,'bid4joy' ,'voterunner' ,'steembloggers' ,'upmewhale' ,'mercurybot' ,'smartsteem' ,'postpromoter' ,'upme' ,'msp-bidbot' ,'aksdwi' ,'pushup' ,'appreciator' ,'sneaky-ninja' ,'lovejuice' ,'minnowhelper' ,'boomerang' ,'buildawhale')"]),    #"Changed Type" = Table.TransformColumnTypes(Source,{{"timestamp", type date}}),    #"Filtered Rows" = Table.SelectRows(#"Changed Type", each Text.Contains([memo], "https"))in    #"Filtered Rows"

M code for Refunds

let    Source = Sql.Database("", "DBSteem", [Query="Select #(lf)*#(lf)From TxTransfers (NOLOCK)#(lf)Where timestamp >=CONVERT(DATE,'2018-01-01') and timestamp <CONVERT(DATE,'2018-07-01')#(lf)and [from] in ('tainika' ,'chronoboost' ,'getkarma' ,'weupvote' ,'alliedforces' ,'a-bot' ,'boinger' ,'jerrybanfield' ,'upyourpost' ,'pwrup' ,'brotherhood' ,'haveaheart' ,'alfanso' ,'whalepromobot' ,'joeparys' ,'peoplesbot' ,'votepower' ,'t50' ,'moneymatchgaming' ,'stef' ,'sureshot' ,'ptbot' ,'th3voter' ,'edensgarden' ,'oceanwhale' ,'botox' ,'whalecreator' ,'profitbot' ,'ecotrain' ,'automation' ,'siditech' ,'cabbage-dealer' ,'profitvote' ,'steemerap' ,'ubot' ,'dlivepromoter' ,'emperorofnaps' ,'proffit' ,'lrd' ,'bodzila' ,'peace-bot' ,'brandonfrye' ,'authors.league' ,'flymehigh' ,'noicebot' ,'redwhale' ,'lost-ninja' ,'dolphinbot' ,'rocky1' ,'estabond' ,'minnowvotes' ,'thebot' ,'booster' ,'slimwhale' ,'megabot' ,'' ,'estream.studios' ,'dailyupvotes' ,'ebargains' ,'promobot' ,'honestbot' ,'foxyd' ,'sunrawhale' ,'mitsuko' ,'onlyprofitbot' ,'spydo' ,'isotonic' ,'brupvoter' ,'postdoctor' ,'luckyvotes' ,'therising' ,'inciter' ,'redlambo' ,'shares' ,'' ,'bid4joy' ,'voterunner' ,'steembloggers' ,'upmewhale' ,'mercurybot' ,'smartsteem' ,'postpromoter' ,'upme' ,'msp-bidbot' ,'aksdwi' ,'pushup' ,'appreciator' ,'sneaky-ninja' ,'lovejuice' ,'minnowhelper' ,'boomerang' ,'buildawhale')#(lf)"]),    #"Changed Type" = Table.TransformColumnTypes(Source,{{"timestamp", type date}}),    #"Replaced Value" = Table.ReplaceValue(#"Changed Type","#(tab)https","https",Replacer.ReplaceText,{"memo"}),    #"Filtered Rows" = Table.SelectRows(#"Replaced Value", each Text.Contains([memo], "Refund")),    #"Filtered Rows1" = Table.SelectRows(#"Filtered Rows", each ([amount_symbol] = "SBD")),    #"Filtered Rows2" = Table.SelectRows(#"Filtered Rows1", each [amount] < 100)in    #"Filtered Rows2"

M Code for Claimed rewards

let    Source = Sql.Database("", "DBSteem", [Query="Select * From TxClaimRewardBalances (NOLOCK)#(lf)Where timestamp >=CONVERT(DATE,'2018-01-01') and timestamp <CONVERT(DATE,'2018-12-29')#(lf)"]),    #"Changed Type" = Table.TransformColumnTypes(Source,{{"timestamp", type date}})in    #"Changed Type"

M Code for Bots curator rewards

let    Source = Sql.Database("", "DBSteem", [Query="SELECT#(lf)reward,#(lf)timestamp,#(lf)curator#(lf)FROM VOCurationRewards (NOLOCK)#(lf)Where timestamp >= CONVERT(DATE,'2018-01-01')             and         timestamp< CONVERT(DATE,'2018-12-29')#(lf)and [curator] in ('tainika' ,'chronoboost' ,'getkarma' ,'weupvote' ,'alliedforces' ,'a-bot' ,'boinger' ,'jerrybanfield' ,'upyourpost' ,'pwrup' ,'brotherhood' ,'haveaheart' ,'alfanso' ,'whalepromobot' ,'joeparys' ,'peoplesbot' ,'votepower' ,'t50' ,'moneymatchgaming' ,'stef' ,'sureshot' ,'ptbot' ,'th3voter' ,'edensgarden' ,'oceanwhale' ,'botox' ,'whalecreator' ,'profitbot' ,'ecotrain' ,'automation' ,'siditech' ,'cabbage-dealer' ,'profitvote' ,'steemerap' ,'ubot' ,'dlivepromoter' ,'emperorofnaps' ,'proffit' ,'lrd' ,'bodzila' ,'peace-bot' ,'brandonfrye' ,'authors.league' ,'flymehigh' ,'noicebot' ,'redwhale' ,'lost-ninja' ,'dolphinbot' ,'rocky1' ,'estabond' ,'minnowvotes' ,'thebot' ,'booster' ,'slimwhale' ,'megabot' ,'' ,'estream.studios' ,'dailyupvotes' ,'ebargains' ,'promobot' ,'honestbot' ,'foxyd' ,'sunrawhale' ,'mitsuko' ,'onlyprofitbot' ,'spydo' ,'isotonic' ,'brupvoter' ,'postdoctor' ,'luckyvotes' ,'therising' ,'inciter' ,'redlambo' ,'shares' ,'' ,'bid4joy' ,'voterunner' ,'steembloggers' ,'upmewhale' ,'mercurybot' ,'smartsteem' ,'postpromoter' ,'upme' ,'msp-bidbot' ,'aksdwi' ,'pushup' ,'appreciator' ,'sneaky-ninja' ,'lovejuice' ,'minnowhelper' ,'boomerang' ,'buildawhale')"]),    #"Changed Type" = Table.TransformColumnTypes(Source,{{"timestamp", type date}}),    #"Replaced Value" = Table.ReplaceValue(#"Changed Type","VESTS","",Replacer.ReplaceText,{"reward"}),    #"Changed Type1" = Table.TransformColumnTypes(#"Replaced Value",{{"reward", type number}}),    #"Renamed Columns" = Table.RenameColumns(#"Changed Type1",{{"reward", "reward VESTS"}})in    #"Renamed Columns"

M Code for  Total Curation rewards

let    Source = Sql.Database("", "DBSteem", [Query="SELECT#(lf)reward,#(lf)timestamp,#(lf)curator#(lf)FROM VOCurationRewards (NOLOCK)#(lf)Where timestamp >= CONVERT(DATE,'2018-01-01')             and         timestamp< CONVERT(DATE,'2018-12-29')#(lf)"]),    #"Changed Type" = Table.TransformColumnTypes(Source,{{"timestamp", type date}}),    #"Replaced Value" = Table.ReplaceValue(#"Changed Type","VESTS","",Replacer.ReplaceText,{"reward"}),    #"Changed Type1" = Table.TransformColumnTypes(#"Replaced Value",{{"reward", type number}}),    #"Renamed Columns" = Table.RenameColumns(#"Changed Type1",{{"reward", "reward VESTS"}})in    #"Renamed Columns"
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:  

Hi @paulag, impressive work and very important numbers! Do we have recent numbers on the share of the available SP controlled by bidbots? I found an analysis from Asher from 9 months ago that showed that around 20% of all active VESTS are controlled by bid bots. Assuming that this didn't change significantly, reward shares in the order of 20% aren't very surprising.

Could you remind me on how you calculate the VESTS-equivalents for bids and author rewards? For STEEM bids and author rewards, this should work fine with the approx. linear steem-per-vest-rate - how did you do it with SBD and the recent haircut situation?

The peak in curation rewards in October is very impressive. I assume this is a HF20 effect with bots and bidders not voting/bidding in the first few minutes after post creation anymore, resulting in higher curation rewards for the bots. Do you know if the following decrease is an effect of the decreasing STEEM price or if there is "more" behind?

For the top bot users, @steemium is an intersting case by offering bids-as-a-service for users. This proxy makes it harder to find the actual bidders, but a quick look into their account history mainly shows names that are already in the list anyway...
Great work!

Your contribution has been evaluated according to Utopian policies and guidelines, as well as a predefined set of questions pertaining to the category.

To view those questions and the relevant answers related to your post, click here.

Need help? Write a ticket on
Chat with us on Discord.


hay @crokkon and thank you for the review.

Steem to vests I got from the table VOFillVestingWithdraws and took a daily average. daily SBD to STEEM I took an average weekly from coinmarketcap, so I guess .

October had a higher % curation rewards because overall curation rewards were down but bots activity didnt reduce at the same level.


Thank you for your review, @crokkon! Keep up the good work!

One great way to share in that piece of the pie is to delegate to the bid bots.

Posted using Partiko Android

18.85% of vests paid out in author rewards for 2018 were sent to bidbots

It's funny because a lot of the prolific bot users tend to be in power down mode all the time to subsidize bids.

That is a sizable chunk of the reward pool that could be helping dapps and authors! I still feel the only ones really benefiting are bot owners though! I’d understand if you using it as a passive way to make funds for a dapp or community but if it’s just to extract more rewards over time I’m not sure how that helps! Bid bots are here to stay we just need to find smarter ways of using it

Very interesting findings though

Posted using Partiko iOS


Take a look at the accounts of the top users. They are all doing very well - much better than people that do not use bots.


Oh I’m sure they are, whale support is great but whale support is few and far between! Not many accounts get to that level bid bots are like the quick equivalent!

Posted using Partiko iOS


And the #1 account is a whale. Guess inflation is not enough, gotta fight for that reward pool too.

What is this?

That number seems way off and don't know what it is supposed to represent. It certainly isn't the number of bids, nor is it sum.

  ·  5 months ago (edited)

its total vests sent in bids ( just updated image heading)


That makes a lot more sense, odd unit though as most people don't speak Vests.


to many different units, but most stuff is recorded in vests so its easy to work with as a common unit. Especially when rewards claimed can be in vests, steem or sbd and payments sent to bots were in both steem and sbd. made it easier to just use vests


For us yes, most it is extremely confusing.

Hi @paulag!

Your post was upvoted by @steem-ua, new Steem dApp, using UserAuthority for algorithmic post curation!
Your UA account score is currently 7.013 which ranks you at #89 across all Steem accounts.
Your rank has not changed in the last three days.

In our last Algorithmic Curation Round, consisting of 215 contributions, your post is ranked at #4.

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

Cant say if thats a good or a bad thing. It could be better, it could be worse. I could be a hypocrite and say bots are bad for the platform when they are my main source of income here alongside Steem Monsters.....
But still... Things can get out of hand pretty fast with them.
Seeing Chbartist for example, on top trending every day makes me slightly nauseous.

A few things can probably be done to reduce the use/abuse.


"Seeing Chbartist for example, on top trending every day makes me slightly nauseous."

see 2-3 posts from chbartist at a time on trending is worse :-)


Add seeing multiple posts from him and others making posts promoting him on trending makes me nauseous...

"Top Bot users in terms of Vests sent as bids for 2018 " Everyone on that list should stop getting support from users and should be ashamed of themselves for pure greed.

I liked this analysis when I saw it before. I also think that we don't need bitbots that much in steem. Anyway, I remembered that you were doing reports about people who joined in precise time. Can you make a repost about people joined in may 2017 just like me. I hope you will continue doing such analisis, it's great. ☺

While it is clear that the bidbots are profitable giving the curation rewards, I wonder the ultimate profit/loss of those who use them? This is probably tough as it has a number of factors to consider but I wonder if the pure amounts sent vs received to/from bots is net positive or negative. I think that the bots have a great value proposition but I am not sure if users are using them in the best way; for themselves and certainly not for the ecosystem.

Posted using Partiko iOS


I think overall is break even for bitbot users

Posted using Partiko Android

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

You made more than 7000 comments. Your next target is to reach 7500 comments.

Click here to view your Board
If you no longer want to receive notifications, reply to this comment with the word STOP

To support your work, I also upvoted your post!

Do not miss the last post from @steemitboard:

Christmas Challenge - The party continues

Support SteemitBoard's project! Vote for its witness and get one more award!

Good grief, well I hope those people got everything they wanted and more. Will be interesting times when there not enough content producers spending to keep it within reason and the “investors” happy with returns. Over the holidays where some rather funny low effort stuff went up onto trending for cheap. Reminds me why I just don’t care about that part of steemit anymore.


I think for many smaller bot owners the time of not enough content has already come. I look at trending but only to see if anyone new is using bots :-)


Will be interesting times when there not enough content producers spending to keep it within reason and the “investors” happy with returns.

It’s been here for a while. Follow the work of @steemcleaners and @steemflagrewards and you will see.

The idea of more quality spending is nonsensical. It’s always 10x easier to crank out crap and bid the hell out of them than the opposite.

Good content will never outnumber low effort ones.

Yea! Proof of wallet rules!

If the top ten voters each day allocate ~30% of the pool, and bidbots are raking in 20%, how much is left after the top 100 accounts take out 'their share' each day?
Any questions why we cant attract new users are silly after looking at the reality of the math.

Bring back the n2, and the whales willing to flag any account voting more than 500mv, and we will figure out the new equalibrium.
The coin would be spreading to more hands faster.
Less than 80 accounts would be affected, and they are the very ones that benefit most by the network effect pushing up the price.


I think included in the top ten voters are some of these bidbots.
lol the top 100 accounts probably take about 98%.....thats not fact by the way, but I would be surprised if I was far off. I do a monthly post payout report, will get the correct value next time I run it.


@statsmonkey and @bitgeek had reports id like to see recreated, but dont have the codes.

Thanks for your hard work,...

Hey, @paulag!

Thanks for contributing on Utopian.
We’re already looking forward to your next contribution!

Get higher incentives and support!
Simply set as a 5% (or higher) payout beneficiary on your contribution post (via SteemPlus or Steeditor).

Want to chat? Join us on Discord

Vote for Utopian Witness!

That is horrific.
@paulag, How you were able to gather all that information is mind boggling. Amazing work on your research.
@steem-with-ebay hasn't used any paid vote service yet. I think this platform would be better if we didn't have this competition.


thanks @steem-with-ebay. The data from the block is easily accessable, personally I use steemsql held my @arcange.

I too have not used them, but I do see why people gravitate towards them.

What benefit do they bring to Steem as a whole? Are those who but votes making much? What's certain is that the vote sellers are the real winners and they grow more powerful each day. I see so many accounts just buying votes and not even attempting to engage with anyone. Accounts like chbartist seem addicted to buying votes even though he has a huge following. I chose to not play that game.


Buying votes does not earn you much, its kinda break even from what I know. lol its an illusion of grandeur


This is why I wonder why people do it. Those who don't get only trending are not going to gain followers, but maybe some trails follow how the bots vote. I'm happy enough having people give their votes to me, although I delegate to some projects that support me and many others.

Is there nothing that can be done about this problem?


what part of this causes the biggest problem to you? How profitable bidbots are? How much of the rewards pool they earn? Or how much people are willing to spend using them? If there is demand, there will be supply.


Main thing is the corruption in the system. I want to see good curated content that is voted on by the users of the site, not content curated by the same people making the content. It is soooooo stupid it is not even funny.

This post has been included in today's SOS Daily News - a digest of all you need to know about the State of Steem.