Mining with ASIC machine

All you need to know for efficient mining on our stratum servers.

Select closest location

for more efficient mining

Generate stratum
How to choose optimal stratum?

How much can you earn

see what is your earning potential

Calculate profitability of your miner

Tips & Tricks

for efficient mining with your ASIC machine

Note that many ASIC devices are using older versions of mining software. Some of these versions are not compatible with NiceHash due to extranonce2-bug (resulting in 99-100% rejects) and most of them doesn't (yet) support advanced stratum extranonce subscription for better efficiency (no disconnects).

Make sure you first checked above mining software/firmware page with download links and instructions for ASIC mining.

General

  • make sure you are using the latest firmware on your miner
  • if possible, use a miner with extranonce.subscribe support (by adding #xnsub stratum+tcp URL parameter); you can check if you miner has extranonce.subscribe enabled at our miners page; Example
  • if you have the possibility to choose between various mining software we recommend you BFGMiner with extranonce subscription support, please take a look here
  • if your miner is using cgminer without extranonce.subscribe, please ask your ASIC manufacturers to include extranonoce.subscribe patch from our GIT repository and provide updated cgminer binaries or firmwares with extranonoce.subscribe subscription. Details are here.
  • keep in mind that your miners will also be mining altcoins with lower difficulties, therefore you should test your miner in case you are overclocking
  • if you have access to software fine-tuning you can experiment with these cgminer/BFGMiner additional settings: --queue 0 --scan-time 1 --expiry 1
  • it is very important for you to monitor the average mid-term hashrate, reported on our website (it is calculated from shares, rewarded to your miner) and the actual earnings, not only the hashrate that is displayed by your miner hardware/software, since in some cases you will be rewarded for more then your miner is showing you in terms of hashrate
  • bitcointalk.org forums are great resources for tuning ASIC miners. You are welcome to check our bitcointalk thread.
  • you are also welcome to try the stratum-proxy, explained below - especially if you hit on 99-100% reject ratio due to extranonce2-bug

Stratum-Proxy guide

WARNING! to achieve best results you should not connect more than 10 devices/miners to a single stratum-proxy instance. Run multiple stratum-proxy instances if you will be using more than 10 devices/miners.

This guide provides a solution for miners looking for central management of many miners or even for single miners to increase efficiency and bypass some software bugs. By using a lightweight open source stratum proxy you will be able to overcome the extranonce2-bug and also enable extranonce subscription, resulting in optimal performance and best payouts.

Besides optimal performance and best payouts you'll also get other added value features like single-point management, REST API (pool monitoring, change pool priority, workers stats and much more) and friendly Web-Based client with hashrate graphs.

How it works?

Miners are connected to local stratum-proxy rather then directly to NiceHash stratum servers. stratum-proxy converts getwork protocol to stratum, thus bypassing extranonce2-bug and at the same time enables extranonce subscription. Up to 10 miners can be connected to a single stratum-proxy instance. However, one can run multiple stratum-proxy instances on the same PC or Server (while setting different getwork listening port for each stratum-proxy instance) to support even more then 10 miners.Miners are connected to local stratum-proxy rather then directly to NiceHash stratum servers. stratum-proxy converts getwork protocol to stratum, thus bypassing extranonce2-bug and at the same time enables extranonce subscription. Up to 10 miners can be connected to a single stratum-proxy instance. However, one can run multiple stratum-proxy instances on the same PC or Server (while setting different getwork listening port for each stratum-proxy instance) to support even more then 10 miners.

How to configure stratum-proxy?

Quick overview:

  • Step 1: Install stratum-proxy on a PC or Server (no special requirements, if huge hash power - multiple Gh/s will be routed through proxy then make sure you have enough CPU and memory), located near the miners (preferably in the same LAN)
  • Step 2: Connect miners to stratum-proxy

Detailed instructions:

  • Step 1: Download stratum-proxy from official download page and unzip it to the PC or Server, intended for stratum-proxy
  • Step 2: Install Java Runtime Environment (JRE) for your operating system (if you don't already have one); the latest version can be downloaded here
  • Step 3: Create a NiceHash configuration file, named stratum-proxy-nicehash.conf inside the stratum-proxy unzipped folder; if you have ASIC Scrypt miner include the isScrypt : true directive and connect to 3333 port, if you have ASIC SHA256 miner you can skip the isScrypt : true directive and connect to 3334 port; here is an example for ASIC Scrypt miner:
  • {
      "isScrypt" : true,
      "disableStratum" : true,
      "pools" :
      [
      {
        "name" : "Nicehash Scrypt",
        "host" : "scrypt.eu.nicehash.com:3333",
        "user" : "[YOUR_BITCOIN_ADDRESS]",
        "password" : "x",
        "enableExtranonceSubscribe" : true
      },
      {
        "name" : "Westhash Scrypt",
        "host" : "scrypt.usa.nicehash.com:3333",
        "user" : "[YOUR_BITCOIN_ADDRESS]",
        "password" : "x",
        "enableExtranonceSubscribe" : true
      }
      ]
    }
  • Step 4: Start stratum-proxy by simply issuing command "java -jar stratum-proxy.jar -f stratum-proxy-nicehash.conf"
  • Step 5: You can visit stratum-proxy dashboard at "http://[IP of your PC or Server]:8888/"
  • Step 6: Connect your miners to stratum-proxy - make sure you use http:// in url connection string, indicating getwork protocol; due to getwork protocol specifics please also set appropriate scan-time and expiry parameters with low enough values (in range 1 - 15), for example:
  • cgminer -o http://[IP of your PC or Server]:8332 -u x -p x --scan-time=1 --queue=0 --expiry=1

    or by using configuration file

    "pools" : [
      {
        "name" : "stratum_proxy",
        "url" : "http://[IP of your PC or Server]:8332",
        "user" : "x",
        "pass" : "x"
      }
    ]
    "scan-time" : "1",
    "queue" : "0",
    "expiry" : "1"
    ...
    Note: mind the http: instead of stratum+tcp: indicating getwork protocol; you can use whatever for user and pass since user and pass is defined in stratum-proxy
  • Step 7: If you have many miners simply start more stratum-proxy instances to get better efficiency (this is a must have if you have more then 256 miners). You need separate configuration files and separate database directories for each instance. You have to add a line to stratum-proxy-nicehash-instance-2.conf specifying different getwork listen ports with getworkListenPort : X where X is the custom number port (8331, 8330, 8329, etc.) and point the second group of miners to http://[IP of your PC or Server]:8331/, third group to :8330, etc. Please, take a look at this guide for multiple stratum-proxy instances.

Acknowledgements

stratum-proxy is an external software solution, not affiliated to NiceHash. If you like stratum-proxy solution please support the project by donating, take a look at the bottom of stratum-proxy development homepage. Additional information regarding stratum-proxy is available on BitcoinTalk thread

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

Mind the slash '/' before #xnsub. To download latest BFGMiner take a look here.

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

KNC Titans

Mind the slash '/' before #xnsub and add #skipcbcheck parameter. To download latest KNC Titan firmware take a look here.

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

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.

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

Mind the slash '/' before #xnsub. To download latest BFGMiner take a look here.

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

cgminer

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

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

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 through the following links.



I don't have an ASIC machine

What can I do?

Sell your CPU/GPU power Buy hashing power