Software

On this page you'll find all the needed software for successful and efficient mining with CPUs, GPUs and ASICs.

Table of contents

    1. Scrypt ASIC
    2. SHA256 ASIC
    3. GPU Mining
        3.1 NiceHash Miner
        3.2 AMD GPU Mining
        3.3 NVIDIA GPU Mining
        3.4 Dagger-Hashimoto (Ethereum) mining for AMD and NVIDIA GPUs
        3.5 Equihash (Zcash) mining for CPU, AMD and NVIDIA GPUs
    4. CPU Mining
    5. Various mining tools
    6. Information for mining software developers

extranonce.subsctiption - xnsub

IMPORTANT: We have extended stratum mining protocol with extranonce.subscribe feature to achieve better efficiency. See instructions below.

1. Scrypt ASIC

Scrypt ASIC mining software is integrated in the mining devices and can be usually upgraded by upgrading device firmware. Enable extranonce.subscription by adding #xnsub suffix for stratum URL.

BFGMiner:
stratum+tcp://scrypt.[location].nicehash.com:port_num/#xnsub (mind the slash '/' before #xnsub)

To download latest BFGMiner take a look here.

KNC Titans: Add also #skipcbcheck parameter:
stratum+tcp://scrypt.[location].nicehash.com:port_num/#xnsub#skipcbcheck (mind the slash '/' before #xnsub)

To download latest KNC Titan firmware take a look here.

cgminer:
stratum+tcp://scrypt.[location].nicehash.com:port_num#xnsub

A2 Terminator: take a look at overclocked image for A2 Innosilicon devices with extranonce.subscribe support.

Scrypt ASIC tips&trics

You are also welcome to check out some ASIC tips&trics to maximaze mining efficiecy.

2. SHA256 ASIC

SHA256 ASIC mining software is integrated in the mining devices and can be usually upgraded by upgrading device firmware. Enable extranonce.subscription by adding #xnsub suffix for stratum URL.

BFGMiner:
stratum+tcp://sha256.[location].nicehash.com:port_num/#xnsub (mind the slash '/' before #xnsub)

To download latest BFGMiner take a look here.

cgminer:
stratum+tcp://sha256.[location].nicehash.com:port_num#xnsub

SHA256 ASIC tips&trics

You are also welcome to check out some ASIC tips&trics to maximaze mining efficiecy.
Bitmaintech's AntMiners: extranonce.subscribe feature is already included in the latest firmwares, but we recommend you to upgrade the firmware with our patches for the following devices: Instructions on how to replace stock AntMiner cgminer binary are included in the zip packages as README file. Full firmware upgrade is done through usual official firmware upgrade procedure.



Spondoolies's SP20, SP3x: upgrade to the latest stable firmware and you'll find an option to set "ExtraFlag" = "2" at the "Settings" page. After setting this flag you have to reboot the miner (not just restart the mining, but actually reboot it) and it will boot into cgminer4.8.0 with extranonce.subscribe enabled (no need to use SSH, etc.). Then set your pool connection as shown above (use #xnsub suffix for stratum URL).



Canaan Creative's Avalon 6: extranonce.subscribe feature has been included in the xnsub release of the firmware, which was prepared by Canaan Creative Avalon developers and can be downloaded here:

3. GPU Mining

Several mining algorithms are designed to be efficient on modern GPUs. Both AMD and NVIDIA GPUs can be used for mining, however there are differences in speed and efficiency between both GPU manufacturers. Examples of GPU-mineable algorithms include X11, X13, X15, Quark, Lyra2REv2, etc.

Please note: Mining Scrypt-Jane based algorithms (such as ScryptJaneNf16) requires special software for AMD GPUs and special settings for both AMD and NVIDIA GPUs, details are in this announcement.


NiceHash Miner is an easy to use CPU & GPU (AMD & NVIDIA) cryptocurrency miner for Windows. With a simple an intuitive graphical user interface it allows you to quickly turn your PC, workstation or server into money-making cryptocurrency mining machine. Why leave you computer idle, whereas it could earn you Bitcoins with just a few clicks?

NiceHash Miner is essentially the only tool a CPU/GPU miner needs. No need to go through tons of configuration files, various mining software versions, configuration tuning or cryptocurrency coins market analysis. Auto-tuning for best performance and efficiency, automatic selection and runtime automatic switching to most profitable cryptocurrency algorithm are all integrated into NiceHash Miner and will enable you seamless, joyful and profitable mining experience.


NiceHash Miner

We recommend using NiceHash Miner for mining with AMD video cards. It is very easy to use and has Multi-Algorithm switching capabilities to maximize your mining profit. If you are a Linux user or is NiceHash Miner giving you troubles then see solutions below.
sgminer is used for mining on AMD GPUs. You can get additional information on using sgminer at BitcoinTalk forum thread. Please note that extranonce.subscribe feature is enabled by default.

Tip: here you can download Wolf0's optimized bins for X11-X13-X15 algorithms (already included in the the sgminer package download). Please contribute to his work by donating to his addresses: BTC: 1Jp2R7dF9gYr872FkXiap2MaYaHNEfwWhZ -- DRK: Xgq6yJWmmP3ugc3b6ZehndYpf8jVzP4ydS

Tip: sgminer supports various algorithms (X11, X13, Quark, Lyra2REv2, etc.) and also supports runtime-kernel-switching. Therefore you can use one sgminer to mine various coins with various algorithms and you can switch pools for different algorithms while sgminer is running without restarting sgminer (see .conf files in the sgminer package download).

Download AMD ADL from here and extract it to /opt/AMDADL. Download and install AMD SDK from here. Then issue following commands:

sudo apt-get install build-essential libcurl4-openssl-dev git automake libtool libjansson* libncurses5-dev
git clone --recursive https://github.com/nicehash/sgminer.git
cd sgminer/
cp /opt/AMDADL/include/* ADL_SDK/
./autogen.sh
./configure CFLAGS="-O3 -Wall -march=native"
make
./sgminer -n

Multi-Algorithm Mining

You can configure sgminer to automatically switch to the most profitable algorithm and ensure you best possible profits. On Windows we recommend you to use the NiceHash Miner. Details and configurations examples for manual Multi-Algorithm on Windows or Linux can be found on our multialgo page.

NiceHash Miner

We recommend using NiceHash Miner for mining with NVIDIA video cards. It is very easy to use and has Multi-Algorithm switching capabilities to maximize your mining profit. If you are a Linux user or is NiceHash Miner giving you troubles then see solutions below.
ccminer is used for mining on NVIDIA GPUs. You can get additional information on using ccminer at ccminer.org homepage. Please note that extranonce.subscribe feature is enabled by default.

Tip: ccminer supports various algorithms (X11, X13, Quark, Lyra2REv2, etc.). Therefore you can use one ccminer to mine various coins with various algorithms. However you have to restart ccminer in order to switch to different algorithm.



Download .deb and follow instructions from here. Then issue following commands:

echo 'export PATH=/usr/local/cuda/bin:$PATH' >> ~/.bashrc
sudo apt-get install build-essential libcurl4-openssl-dev git automake
git clone https://github.com/sp-hash/ccminer.git
cd ccminer/
./autogen.sh
./configure CFLAGS="-O3 -Wall -march=native"
make
./ccminer

Multi-Algorithm Mining

Automatic Multi-Algorithm mining is possible only on Windows with NiceHash Miner. We are actively working to deliver upgraded ccminer mining software with automatic switching capabilities for Linux. When it is ready, it will be announced.

3.4 Dagger-Hashimoto (Ethereum) mining for AMD and NVIDIA GPUs


Connection settings for ethminer using AMD GPUs

ethminer -SP 2 -G -S daggerhashimoto.LOCATION.nicehash.com:3353 -O YOUR-BITCOIN-ADDRESS.WORKER-NAME:x

Connection settings for ethminer using NVIDIA GPUs

ethminer -SP 2 -U -S daggerhashimoto.LOCATION.nicehash.com:3353 -O YOUR_BTC_ADDRESS_HERE.WORKER-NAME:x
Where LOCATION is "eu", "usa", "hk" or "jp" (see also this FAQ), YOUR-BITCOIN-ADDRESS is your Bitcoin address, used for mining, WORKER-NAME is optional to name your rig.

Examples:

Mining with 2x AMD 280X GPUs on EU location

ethminer -SP 2 -G -S daggerhashimoto.eu.nicehash.com:3353 -O 1DQ4bZpFTDiSNk2CWLEFWK9K96rBFP2Hv.amdrig

Mining with 1x NVIDIA GTX 970 GPU on USA location

ethminer -SP 2 -U -S daggerhashimoto.usa.nicehash.com:3353 -O 1DQ4bZpFTDiSNk2CWLEFWK9K96rBFP2Hv.gtx970
Linux build instructions:

Make sure you have installed AMD drivers for AMD GPUs or NVIDIA drivers and CUDA for NVIDIA GPUs, then issue the following commands:

sudo apt-get update
sudo apt-get -y install software-properties-common
sudo add-apt-repository -y ppa:ethereum/ethereum
sudo apt-get update
sudo apt-get install git cmake libcryptopp-dev libleveldb-dev libjsoncpp-dev libjson-rpc-cpp-dev libboost-all-dev libgmp-dev libreadline-dev libcurl4-gnutls-dev ocl-icd-libopencl1 opencl-headers mesa-common-dev libmicrohttpd-dev build-essential -y
# for Ubuntu 16 also install package "libjsonrpccpp-dev"
git clone -b 110 https://github.com/Genoil/cpp-ethereum.git
cd cpp-ethereum/
mkdir build
cd build
# uncomment this to build for AMD
#cmake -DBUNDLE=miner ..
# uncomment this to build for NVIDIA
#cmake -DBUNDLE=cudaminer ..
# replace N with the number of your CPU cores
make -jN
cd ethminer
# check version
./ethminer -v
# list available devices for OpenCL
./ethminer -G --list-devices
# list available devices for CUDA
./ethminer -U --list-devices
				
Mining with closed-source Claymore mining software:

Please note that Claymore mining software is a third-party closed-source mining software. It includes additional Claymore developer fee and we can not vouch for it's integrity and credibility. Use it at your own risk. Discussion thread is
here.

Mining with closed-source Claymore mining software

EthDcrMiner64.exe -epool stratum+tcp://daggerhashimoto.eu.nicehash.com:3353 -ewal YOUR_BTC_ADDRESS -epsw x -esm 3 -allpools 1 -estale 0 -dpool stratum+tcp://decred.eu.nicehash.com:3354 -dwal YOUR_BTC_ADDRESS

3.5 Equihash (Zcash) mining for CPU, AMD and NVIDIA GPUs


You can download Equihash (Zcash) mining software here:


LOCATION can be "eu", "usa", "hk" or "jp" (see also this FAQ), YOUR-BITCOIN-ADDRESS is your Bitcoin address, used for mining, WORKER-NAME is optional to name your rig.

CPU mining instructions

nheqminer -l equihash.[LOCATION].nicehash.com:3357 -u [YOUR-BTC-ADDRESS.WORKER-NAME] -t [number of CPU threads]

CPU mining example

nheqminer -l equihash.usa.nicehash.com:3357 -u 1DQ4bZpFTDiSNk2CWLEFWK9K96rBFP2Hv -t 6
In the example above we're mining on USA stratum pool. We have a quad-core CPU with hyper-threading and we only enable 6 of available 8 threads.

AMD GPU mining instructions

nheqminer -l equihash.[LOCATION].nicehash.com:3357 -u [YOUR-BTC-ADDRESS.WORKER-NAME] -t 0 -od [AMD GPU OpenCL devices 0 1 ..]

AMD GPU mining example

nheqminer -l equihash.usa.nicehash.com:3357 -u 1DQ4bZpFTDiSNk2CWLEFWK9K96rBFP2Hv -t 0 -od 0 1
In the example above we're mining on USA stratum pool. We have a computer with two AMD GPUs, hence using -od 0 1.

NVIDIA GPU mining instructions

nheqminer -l equihash.[LOCATION].nicehash.com:3357 -u [YOUR-BTC-ADDRESS.WORKER-NAME] -t 0 -cd [NVIDIA GPU CUDA devices 0 1 ..]

NVIDIA GPU mining example

nheqminer -l equihash.usa.nicehash.com:3357 -u 1DQ4bZpFTDiSNk2CWLEFWK9K96rBFP2Hv -t 0 -cd 0
In the example above we're mining on USA stratum pool. We have a computer with only one NVIDIA GPU, hence using -cd 0.

CPU + GPU simultaneous mining instructions

nheqminer -l equihash.[LOCATION].nicehash.com:3357 -u [YOUR-BTC-ADDRESS.WORKER-NAME] -t [number of CPU threads] -cd [NVIDIA GPU CUDA devices 0 1 ..] (or -od [AMD GPU OpenCL devices 0 1 ..])

CPU + NVIDIA GPU mining example

nheqminer -l equihash.usa.nicehash.com:3357 -u 1DQ4bZpFTDiSNk2CWLEFWK9K96rBFP2Hv -t 6 -cd 0
In the example above we're mining on USA stratum pool. We have a quad-core CPU with hyper-threading (8 threads available) and only one NVIDIA GPU in the computer. We are mining with 6 threads on the CPU and on the whole NVIDIA GPU.

4. CPU Mining

Windows

Use NiceHash Miner with support for Simple Multi-Algorithm mining. Extranonce.subscribe feature is enabled by default as well as automatic switching to mine most profitable algorithm.

Linux

cpuminer-multi is used for mining on PC/workstations/servers CPUs. Please note that extranonce.subscribe feature is enabled by default.

Issue the following commands:

sudo apt-get install build-essential libcurl4-openssl-dev git automake libtool libjansson* libncurses5-dev libssl-dev
git clone --recursive https://github.com/tpruvot/cpuminer-multi.git
git checkout linux
./autogen.sh
./configure CFLAGS="-march=native" --with-crypto --with-curl
make
./cpuminer -help
# to run cpuminer and load settings from example cpuminer-conf.json.lyra2re configuration file issue this command:
./cpuminer -c cpuminer-conf.json.lyra2re
			


5. Various mining tools



6. Information for mining software developers

Mining software developers are welcome to take a look at our mining source codes at https://github.com/nicehash and include patches for extranonce.subscription into their mining software.