You are reading the quickstart-instructions for
mining Monero (XMR). Click here to see my
How to Turn Your Azure Free Credits into Monero (XMR)
The rate can fluctuate between 1:1 and 1:10, i.e. in the best case
you'll get almost 1$ worth of cryptocurrency for every 1$ spent on
azure (depending on the current exchange-rates). With an MSDN
Enterprise subscription you can mine cryptocurrency worth up to 149$
every month! This is possible because the newly introduced
Azure-batch-service is dirt cheap!
You'll need a azure-account with free-credit, e.g. from a
Get a Monero-Wallet
Start mining with the Azure-Batch-Service using the
scripts provided here
With the instructions provided here you will be mining Monero (XMR). Monero is one of the top-altcoins
and better than bitcoin in virtually every aspect (i guess
bitcoin beats Monero only in popularity).
You can see a screencast of the required steps in the video
below (switch to fullscreen-mode with the button in the
bottom-right corner to see it properly):
Setup Azure with Free Credit
Do you have a MSDN-subscription from your day job?
Great! You must have already noticed that Microsoft keeps sending you
emails asking you to open an azure-account with up to 150$ monthly
credit. Follow the instructions in the mail to claim your free
credits. Note that by default you don't even have to enter
your credit-card-number, so you can be sure that your mining is
running purely on your monthly free credit.
Even if your company pays for the MSDN-subscription, the
associated azure-account is your personal account and completely
separated from the company. Your boss has no way of
accessing it. Microsoft encourages people to use the free credits for
testing and learning, and this is what you'll do: learning about using
the azure-cloud and the blockchain-technology in a very practical way
Note: It is your responsibility to comply with Azure's ToS. You will
be banned very quickly if you do something that Azure does not like. You
should only use free credits from legitimate sources (e.g.
if you have a MSDN-subscription from your day-job).
Get a Monero-Wallet
There are many ways how to create a Monero-wallet. The easiest is to
setup a web-wallet with MyMonero.com.
Cryptocurrencies are notorious for being targets of spectacular
hacks. A web-wallet like MyMonero.com is a good way to get started and
it is safe as long as you don't enter your login-details on a phishing
site (check your browser's address bar to make sure that you are
really on MyMonero.com before entering your password!).
However, once you have accumulated a non-trivial amount of Monero
you should educate yourself about the possible alternatives!
By the way: if you don't already have a password-safe like keepass you should
definitely start using one to store your wallet-details
(and of course all other passwords you are using). Trust me, you'll
regret it if you don't start now.
VM Size: 'Standard F2 (2 Cores, 4GB)' (Choose the exact type! Otherwise you
will not get the optimal hashrate!)
Section 'Operating System':
SKU: 16-04 LTS
Leave the other options at the
Click on 'OK' at the bottom to create
Whenever the computers in your azure-pool get started up, they will
execute a custom script which will download the mining-executable and
start mining. Enter your Monero-wallet here and click on the
button to generate your personalized startup-script (it
should look similar to
Once the azure-pool is created, go to 'Start task'.
Fill the form with the following information:
Command line: here you have to copy&paste your
personalized script from the textfield above
User identity: 'Task Autouser, Admin'
Leave the other options at the default.
Click on 'Save'
The last step is to tell Azure how many mining-nodes it should start
for you. This depends on the amount of free credits available in your
azure-account. Basically you want to use up as much of your
monthly credit as possible without actually consuming all of your
credit (otherwise you'll have to repeat the setup again in
the next month because azure will delete your pools if your free
credits are exhausted).
Number of low priority nodes (F2, 2 Cores, 4GB)
Cost of nodes for 31 days
Monthly free credit
If azure is using your local currency instead of USD the numbers
might look slightly different. If you run out of free credit before
the end of the month, just reduce the number of nodes by one and try
Now go back to 'Overview' and click on 'Scale'. Enter the
number from the table above in the field 'Low priority nodes' (e.g.
3 if you have MSDN Professional), and click on 'Save'.
Congratulations! The azure cloud is now mining Monero for you!
Watching your Mining-Progress
The script is using supportXMR.com
as a mining-pool (don't mixup the
terms 'mining-pool' and 'azure-pool' - they describe two totally
different concepts). To see your mining-status, go to supportXMR.com/#/dashboard,
scroll down to the bottom of the page and enter your wallet.
The VM takes around 5 minutes to startup and compile the
mining-software. After that you will see the number of submitted
hashes slowly increasing. The displayed hashrate will
vary wildly - this is normal.
Your pending balance will increase once the mining-pool
finds a new block and it reaches the maturity depth. For
a big pool like supportXMR.com this will take an hour or so.
However, if the pool is unlucky, it can also take longer.
The pending balance will be paid out to your wallet once
it passes the minimum payout threshold. The default
threshold is 0.3 XMR.
The script on this site sets the default-password for the
login to supportXMR.com to 'azurecloudminingscript'. After logging
in you can change the password and reduce the payment threshold
down to 0.1 XMR (note that the pool will charge higher fees for
transferring smaller amounts). If you have MSDN
Professional you'll have to mine a month or so until you reach 0.1
XMR and you can see a incoming payment in your wallet. Obviously
it'll be faster if you have more azure-credits to spend.
Some reasons why the hashrate displayed by the pool will
vary a lot:
Azure is running many virtual machines on a single physical
server. If you are lucky the other virtual machines are running
idle and you'll get a higher hashrate. For mining the limiting
factor is not the number of cores in the CPU, but the amount of
available L3-cache (the cache is shared between all VMs running on
In exchange for the low price azure does not guarantee 100%
availability for the low-priority-VMs (in my experience the VMs
are in fact available most of the time, though).
The hashrate displayed by the pool is calculated from the number
of submitted shares (i.e. shares which exceed the custom
difficulty of the pool), not from the number of hashes your miner
has actually calculated.
Options for optimizing your hashrate
In my experience azure-pools with fewer nodes result in
the highest hashrate. So instead of setting up one
azure-pool with e.g. 10 nodes you can setup 5 pools with only 2
nodes (you can use the identical startup-script for all
azure-pools). This is because azure tends to allocate all nodes of
a pool on a single physical CPU.
You can also experiment with setting up your
azure-pools in different regions. However, note that
only few regions are actually available for use with free credits
(East US, Southeast Asia and a few more) and that other regions
may be more expensive than East US (if necessary, you'll have to
reduce the total number of nodes to stay within your monthly free
All in all you can expect around 70H/s per used core.
Azure has a standard-limit of 20 low-priority-cores per
region. If the quota in your azure-account is less than
that, you can request an increase of this quota through the azure
support. I recommend not asking for more than 20 cores. We are
operating in some kind of gray area here, you don't want to cause a
big stir... If you want to mine with more than 20 cores i
recommend setting up more azure-pools in other regions
(the quota limits only the number of cores per region, nothings
stops you from setting up more azure-pools in other regions).
The script will restart itself every 2 days, fetching the
latest version of the miner-executable from github. This is
required because the mining-algorithm is regularly modified in order
to prevent the development of ASIC-miners for Monero. If you don't
like this behaviour you can change the phrase './run_xmr_stak.pl
30;' to './run_xmr_stak.pl;' in the generated script (i.e. remove
the '30'). However, note that then you will have to manually restart
your mining-pools from time to time in order to get the updated
Nothing in life is free. If you are mining with
the script from this site the miner-executable will mine 4% of the
time to my private wallet. From the cryptocurrency generated this
way i pledge to donate half (2%) to the authors of xmr-stak. You can
view this as a convenience-fee for getting a tested and streamlined
Do you need help following the instructions? You can contact me at