STEEM Autovote Bot – Steemit
STEEM Autovote is a simple autovoting solution for STEEM users. Features include:
Simple, customizable YAML configuration file
Allows users to monitor multiple accounts and autovote posts (not comments)
Multiple accounts can autovote any monitored account
Monitored accounts can be autovoted immediately or within a random time frame for each voting account
Monitored accounts can be autovoted with a prescribed frequency for each voting account
STEEM Autovote has only two dependencies: PyYaml and Requests.
On Ubuntu, these dependencies can be installed with the following command:
sudo apt-get install python-yaml python-requests
Example configuration files are provided in the Examples directory as and
The configuration file is specified when calling the script:
Editting the yaml file may be difficult at first, but the rules are quite easy to remember.
Do not allow for tabbed spaces, only single character white spaces and hard carriage returns.
New accounts to monitor are added in the monitor section.
Allow for two additional white spaces for each sub-list.
The outermost list is the account to monitor.
Voting accounts of a monitored account are items in the sub-list of a monitored account.
Two entries are required in the sub-list for each voting account: random_wait and frequency.
rpc_ip: “127. 0. 1”
random_wait: 0 # random wait time, anytime from 0 to 0 seconds
frequency: 1 # probability that a vote will occur
random_wait: 100 # random wait time, anytime from 0 to 100 seconds
frequency:. 1 # probability that a vote will occur
random_wait: 60 # random wait time, anytime from 0 to 60 seconds
frequency:. 5 # probability that a vote will occur
random_wait: 1200 # random wait time, anytime from 0 to 1200 seconds
frequency:. 333 # probability that a vote will occur
The block_id hash of the post of a monitored account is used as a seed in python’s Mersennes Twister Pseudo Random Number Generator. This seed gets updated for each new post of any monitored account.
Running the python script requires an open wallet, an instance of cli_wallet must be run as a daemon process, listening on an RPC port. On Ubuntu, this is best achieved using Upstart services.
Please see this guide for starting an upstart service for your cli_wallet.
Alternatively, you can run cli_wallet in an instance of a screen.
After installing screen type
and then once you return to the shell, navigate to the cli_wallet directory and then type. /cli_wallet -u user -p password –rpc-endpoint=127. 1:8091 \
-d 2> 1>
Detach the screen with Ctrl + a and then Ctrl + x and you now have a cli_wallet daemon running.
There are at least 2 ways you can run the STEEM Autovote Bot.
Use screen and navigate to the appropriate directory, and then run this process in the screened shell with python
Use an upstart service
It is highly desirable to run the STEEM Autovote Bot as an upstart service so that on reboot and termination, a respawn of the process will occur.
Save the following script in /etc/init/ (editted for your own system)
# steem-autovote-bot service – steem-autovote-bot service for user
description “STEEM Autovote bot”
author “Ima User <[email protected]>”
# Stanzas control when and how a process is started and stopped
# See a list of stanzas here: //
# When to start the service
start on runlevel 
# When to stop the service
stop on runlevel 
# Automatically restart process if crashed
# Essentially lets upstart know the process will detach itself to the background
# This option does not seem to be of great importance, so it does not need to be set.
# expect fork
# Specify working directory
# Specify the process/command to start, e. g.
exec /usr/bin/python 2> 1>
Upvote with weights
Downvote with weights
Random Interval (not just from 0 to random_wait)
Tracking of when (auto)votes occurred and adjusting times to vote to maximize voting power for both immediate votes and queued votes
I have heavily modified the STEEM witness steemed’s source code for creating a STEEM Price Feed.
How to setup a autovote bot? – Musing.io
Postpromoter has their code open source:. As long as you have some skills, this should be very easy to set up. Just download it, edit the config file to your liking(the guide is right on the github page) and start with node. Here’s a more detailed guide:1) Download the code from the link above. 2) Rename to and configure it to your liking following the guide from the github page. 3) Download and setup node:) Open up terminal if you are on a unix based machine(mac/linux) or the command prompt if you are on windows5) Type in cd into terminal and put a space. Then drag the folder with the files of the code into it. Press enter6) Type in: node then press enter. 7) The bidbot has been set up. Now test it by sending a bid to it from another account and then market it so everyone knows about it.
How to win or cheat ANY online voting contest – Whole Whale
It’s no secret that I’m not a fan of voting competitions, especially ones that are built irresponsibly. That’s why I’ve set out to create the definitive guide on breaking (/cheating) poorly designed nonprofit voting problem with voting competitions is that they pit nonprofits against each other for a prize that usually doesn’t come close to the true cost of the votes that these organizations push to get. What’s more, they run the risk of burning out the supporters of these great organizations.
In the worst case scenario, one organization decides to cheat because the system is designed with flaws by some marketing firm and they see a way to easily game the system to win money for their great cause. I am not justifying or endorsing cheating – I actually believe the only way to win these contests is by not playing. However, in an effort to scare the pants off of people creating these contests I decided to create this Whole Whale does not cheat on behalf of our clients. It is not a service WW offers nor will ever! @WholeWhale just wrote the guide on how to beat most nonprofit online voting contests. Click To Tweet
Step 1: Figure out how it is built
Online voting competitions will use a variety of ways to track votes through a website. Here are the most common building technical:
A Web Form Built with the GET method
This method (low security) means that the form will push the data into the URL and you will see it. e. g. to break: Find that URL and go ham on the refresh button. Hide the cookies and IP address if they are tracking. Post that link anywhere you can and every click will equal a vote. Honestly, no reputable contest will be built this way because it isn’t 2006, but hey, you never know…
A Web Form Built with the POST method
This method (medium security) means that the form will push the data through the body of the request and will not show in the to break: you may be able to use the back button if cookies aren’t being set. If they are being set you can hide cookies with a browser like Chrome with cookies disabled. If they built it correctly you will need a more advanced human assisted tech approach (see step 2 below).
Cookies – contests that don’t require a sign in and allow anonymous votes depend on cookies that may have timers in some cases. To break: clear your cookies, vote, repeat. Use Chrome and a cookie remover to block the cookies of the site, if it still lets you vote you’re all set to click away. The browser has very good privacy protection that will block this type of tracking. Cookie and IP on mobile – if you are using a mobile device you can try switching to airplane mode and using a wifi network to confuse the IP tracking. IP – Some use the IP to determine location voting. You can use a proxy server or a local VPN like Hotspot Account – This will require multiple accounts and a more advanced approach to get enough votes. Depending on how the account is authenticated, it may be not be possible to automate mass confirmation – This is the most common system I see, it requires an email to be confirmed from the inbox with the link to record the vote.
Step 2: Human assisted automation
The following are various tactics which can be combined to break most voting systems with a little help from third party tools. In order to not look suspicious it is important not to show suspiciously large voting counts – I can immediately tell if a distribution of votes is unnatural and violating an expected power law (20% of the contestants getting 80% of the total votes). In one case we spotted this in a contest one of our clients were considering and we advised them not to participate – later we found several articles on the cheating that had Whole Whale does not cheat on behalf of our clients. It is not a service WW offers nor will ever offer.
A macro is a program that you can setup on a computer that goes through a series of clicks and keyboard strokes on a timed interval. If a voting system doesn’t require a captcha or other human test, a macro can be created to go through a voting cycle unabated. Combine these tools with a hotspot shield and cookies disabled on a computer can break most non-email verification process. Some tools:
Macro Express – downloadable software that will let you turn your computer into a bot that is timed to click and enter information as toHotkey – downloadable software that will let you click the heck out of buttons or load pages.
For secure voting systems that don’t have strict email confirmations, there are ways to generate emails quickly. These email hacks can also be used to create accounts for systems the require logins.
Any single Gmail, Hotmail, Yahoo or normal domain email address can be made into thousands of emails by adding a “+” or “. ” after the name and before the “@” sign. For example, can be and the email will still be delivered to your you own your own domain, you can create a bunch of aliases for one email ilinator – this is a site that will generate emails for you on demand and give you a quick inbox that the confirmation link will be sent to. Using a variety of email domains can help make this look less spammy. This is a list of temporary email domains hosted via mailinator:
For a nominal amount of money, an organization can purchase votes or emails through ‘Vote Brokers’. These groups will do your bidding in the same way they translate audio to text or do other simple outsource tasks for companies. Technically it is against the Amazon Turk policy to pay workers to vote – which is great. However you can still hire someone on a site like UpWork to build a script that could use the above tactics.
A proxy vote traditionally means that a voter transfers their right to vote to a third party. Massive lists of proxy accounts can be managed by a single person simply logging in one by one and voting. Imagine if political staffers could collect permission to vote on behalf of voters in a district in perpetuity — not really the will or action of a crowd, but highly best way to win a nonprofit voting competition is by not entering. Click To Tweet
Finally, for the contest creators
This post is meant to ruin poorly designed voting competitions and to scare anyone thinking about building a nonprofit voting competition. I hate the idea of cheating nonprofits and I think that starts when a contest doesn’t use responsible design.
Responsible Contest Design Questions
Can your online system be quickly gamed by the exploits above? (I beg you not to use GET requests or anonymous voting)Can you use a third party authentication to stop the email hack? Is the prize pool large enough to make an expected value equation make sense for all participants?
Expected Value for Voting Contest = Prize amount * (total # winners / total # charities)
Do the nonprofits involved get to keep the voter data that relates to their org? In the case of emails, do they get them? Is there a way to build this so that every participant wins in some way? Is the time frame limited so there is only a small window of nonsense voting requests? Is there a clever way to design the voting process so that it actually produces some positive impact for the nonprofit? e. g. voters have to submit photos they take of the cause that the nonprofit can have access to later for their photo database. Or they must submit 1 idea that they think would improve their work. you use a threshold voting, where nonprofits need to get to X votes to be considered by a panel? This caps the voting nonsense while still getting a bit of the network effect you are hoping for your brand. This pairs well with a social integration.
I hope these questions will spur some more creative approaches to contest design and will add more value to the nonprofits who Whole Whale does not cheat on behalf of our clients. It is not a service WW offers nor will ever offer. Also, please don’t reach out to us to vote for your contest.
So there you have it – our guide to breaking online voting contests so your nonprofit can win. And more importantly, to bring transparency to this one-sided marketing tactic.
Even more awesome resources
To truly leverage the power of Facebook Fundraisers, you and your team need a clear and easy-to-read view of the data. Sound like a lot of work? Thankfully, Whole Whale’s already done the work for you with this Facebook Google Data Studio dashboard! Check it out!
Facebook Fundraiser Dashboard Template
Plus, download this free, simple checklist to make sure you’re covering all your bases when you set up your next nonprofit campaign!