NiceHash Best Profit Auto-Switching Multi-Algorithm Mining


NiceHash Miner

We recommend using NiceHash Miner for mining with GPU video cards. It is very easy to use and has Multi-Algorithm switching capabilities integrated to maximize your mining profit. If you are a Linux user or is NiceHash Miner giving you troubles then see solutions below. Otherwise simply download NiceHash Miner.

Real-time displayed currently best paying algorithm:

at normalized price Unknown BTC/GH/Day


NiceHash Best Profit Auto-Switching Multi-Algorithm Mining BPASMAM represents a new era in GPU mining. With the recent expansion of new algorithms GPU miner finds it hard to track which is the most profitable algorithm. Also, switching between various mining software and configuration files is very time consuming and inefficient. On the other hand there are many cloud mining users who would like to mine various coins, based on various algorithms and are willing to pay premium price for on-demand cloud mining with massive hashing power for a particular coin.

NiceHash brought a solution to GPU miners as well as cloud mining users. Our best profit auto-switching multi-algorithm mining mode provides careless operation and highest profits for GPU miners as well as on-demand cloud mining of a particular coin for cloud mining users (buyers of hashing power).

If you are looking for a quick-start with a bleeding edge mining platform for GPUs and ASICs with out-of-the box GPU multi-algo mining we welcome you to try PiMP. With PiMP you will have all multi-algo profiles pre-configured and you'll be mining on multi-algo in minutes!



NiceHash BPASMAM calculates the currently most profitable algorithm based on current orders at NiceHash.com. If GPU miners uses our auto-switching ports (ports 43xx, see example below), then sgminer will automatically switch to the most profitable algorithm. With this new feature hashing power buyers have the opportunity to actually reconfigure GPU miners by submitting best-paying orders of a volume high enough for a particular algorithm – and miners will gradually be reconfigured and switch to best-paying algorithm and thus fill the best-paying orders for a particular algorithm. Profitability recalculation is done on a 10-minute interval.


In the picture above, scrypt-n is the best paying algorithm, therefore the majority of GPU miners are mining on this algorithm. Some miners are still on other algorithms since they choose to fix their miners on particular algorithm or have set their own profitability factors.

After a while, there are new x13 orders submitted with a volume big enough and highest prices. Miners are gradually automatically reconfigured to x13 and x13 orders are being filled with the majority of auto-switching hasning power. This is illustrated in the picture below.:
BPASMAM selects the most profitable algorithm by taking into account: Default profitability calculation factors relative to Scrypt GHs performance:

Algorithm Default profitability factor f Port
id=0 - Scrypt reference x 1.0 BTC/GH/Day 4333
id=2 - ScryptNf x 0.5 BTC/GH/Day 4335
id=3 - X11 x 15.0 BTC/GH/Day 4336
id=4 - X13 x 6.5 BTC/GH/Day 4337
id=5 - Keccak x 500.0 BTC/GH/Day 4338
id=6 - X15 x 5.0 BTC/GH/Day 4339
id=7 - Nist5 x 14.0 BTC/GH/Day 4340
id=8 - NeoScrypt x 0.45 BTC/GH/Day 4341
id=9 - Lyra2RE x 1.75 BTC/GH/Day 4342
id=10 - WhirlpoolX x 135.0 BTC/GH/Day 4343
id=11 - Qubit x 16.0 BTC/GH/Day 4344
id=12 - Quark x 21.0 BTC/GH/Day 4345
id=14 - Lyra2REv2 x 17.0 BTC/GH/Day 4347
id=15 - ScryptJaneNf16 x 0.0007 BTC/GH/Day 4348
id=16 - Blake256r8 x 3500.0 BTC/GH/Day 4349
id=17 - Blake256r14 x 1900.0 BTC/GH/Day 4350
id=18 - Blake256r8vnl x 3500.0 BTC/GH/Day 4351
id=20 - DaggerHashimoto x 29.0 BTC/GH/Day 4353
id=21 - Decred x 1900.0 BTC/GH/Day 4354
Example of a default profitability calculation without taking into account custom factors, speed or daily costs. In this example the most profitable algorithm is DaggerHashimoto:
Algorithm Currently Paying Normalised profitability
Scrypt 0.0275 BTC/GH/Day 0.0275 BTC/GH/Day
ScryptNf 0.0000 BTC/GH/Day 0.0000 BTC/GH/Day
X11 2.5935 BTC/TH/Day 0.0389 BTC/GH/Day
X13 0.0024 BTC/GH/Day 0.0157 BTC/GH/Day
Keccak 0.5673 BTC/TH/Day 0.2837 BTC/GH/Day
X15 0.0024 BTC/GH/Day 0.0120 BTC/GH/Day
Nist5 0.0096 BTC/GH/Day 0.1340 BTC/GH/Day
NeoScrypt 0.3878 BTC/GH/Day 0.1745 BTC/GH/Day
Lyra2RE 0.0281 BTC/GH/Day 0.0492 BTC/GH/Day
WhirlpoolX 0.0000 BTC/GH/Day 0.0000 BTC/GH/Day
Qubit 1.8070 BTC/TH/Day 0.0289 BTC/GH/Day
Quark 2.0118 BTC/TH/Day 0.0422 BTC/GH/Day
Lyra2REv2 0.0097 BTC/GH/Day 0.1642 BTC/GH/Day
ScryptJaneNf16 0.0000 BTC/MH/Day 0.0000 BTC/GH/Day
Blake256r8 0.0213 BTC/TH/Day 0.0746 BTC/GH/Day
Blake256r14 0.0000 BTC/TH/Day 0.0000 BTC/GH/Day
Blake256r8vnl 0.0000 BTC/TH/Day 0.0000 BTC/GH/Day
DaggerHashimoto 0.0168 BTC/GH/Day 0.4882 BTC/GH/Day
Decred 0.0993 BTC/TH/Day 0.1887 BTC/GH/Day
Warning! Factors for multi-algo ports 4342 (Lyra2RE), 4343 (WhirlpoolX), 4344 (Qubit), 4345 (Quark), 4347 (Lyra2REv2) are by default set to 0 and you have to manually specify factors in worker password parameter to enable them - see additional instructions below.

Fine tuning with custom speed factors and daily costs


A) Set custom factors or limit to a subset of switching algorithms:
You can set custom factor by providing factors for ALL algorithms (all 43xx NiceHash pools) within password parameter. See the table above for algorithm id's; f0 = scrypt, f2 = scrypt-N, etc.. Use f0=x;f2=x;f3=x;f4=x;f5=x;[etc] (note: [etc] is not a part of actual parameters, meaning you should put any other addition fX until you full fill all of your desired algorithms) for the password parameter (you can combine it with price limitation and difficulty parameters, see FAQ's for more info).

If you omit the f-parameters, defaults are taken as shown in the table above: f0=1;f2=0.5;f3=4;f4=3;f5=500;[etc].

With custom factors you can also omit certain algorithms to make BPASMAM switch to the best profitable algorithm from only the selected algorithms. This effectively lets you configure your miner, for example, to switch between X11 and X13 (whichever is more profitable) even if globally some other algorithm is more profitable.

Example: f0=0;f2=0;f3=4;f4=3.2;f5=0;f6=0;f7=0;[etc](set all fX except f3 and f4 to 0) will switch between X11 and X13 (whichever is more profitable) while taking into account your preference of X11/X13 ratio at 4/3.2. See also full example in the example section.

B) Set custom speed and daily costs in USD:
For BPASMAM to be able to take into account your electricity power consumption as well, you can set your daily power costs in USD with cX parameters. See the table above for algorithm id's; c0 = scrypt, c2 = scrypt-N, etc.. When using cX parameters, you must specify your rig speed as fX parameter. Use f0=x;f2=x;f3=x;f4=x;f5=x;[etc];c0=x;c2=x;c3=x;c4=x;c5=x;[etc] for the password parameter (you can combine it with price limitation and difficulty parameters, see FAQ's for more info). cX parameter sets your calculated daily USD costs for your rig as if it would be running a full day (24h) on a particular algorithm. See this spreadsheet to adjust your calculation.

Example: f0=4.2;f2=2.1;f3=15.5;f4=11.5;f5=400;f6=0;f7=0;[etc];c0=5.0;c2=5.0;c3=2.64;c4=2.64;c5=3.5;[etc] will switch between all algorithms (whichever is more profitable) while taking into account fX and cX settings. We specified our rig as 4.2 Mhs for Scrpyt, 2.1 Mhs for Scrypt-N, 15.5 Mhs for X11, 11.5 for X13 and 400 Mhs for Keccak ([etc] for additional algorithms). We also specified our daily costs at $5.0 for Scrypt and Scrypt-N, $2.64 for X11 and X13, $3.5 for Keccak. BPASMAM will now take all these settings into account and select the most profitable algorithm for you by calculating highest profit. See this spreadsheet for calculation examples. If you want to omit some algorithm out of the selection just set fX=0, see the above examples in A). See also full example in the example section..

Configuration examples

Below you can find an example of auto-switching multi-algorithm sgminer configuration with default factors. You can configure many different settings on a per-pool basis, take a look here for a complete list. We strongly suggest you to test all the configurations before you enable auto-switching mode.

Make sure you're using the latest sgminer-5.0 with algorithm-switching support - get it here.

For a complete test, follow these steps: We strongly suggest you to define all Auto-Switching ports/pools (4333, 4335, 4336, 4337, 4338, etc.) in the configuration file - only this way you'll always be mining on the most profitable NiceHash pool (see the sgminer full auto-switching configuration example below).

However, if Scrypt and Scrypt-N are unacceptable for you due to power consumption and heat, you can setup only a subset of algorithms on 43xx ports (see the sgminer X11 & X13 only auto-switching configuration example and sgminer power-aware auto-switching configuration example below).

Note if you will be using third-party backup pools: sgminer v5 introduced new stratum extranonce subscription; some pools ignores connection when sgminer sends extranonce subscription request, therefore you just have to add "no-extranonce" : true setting to the pool config for pools, that doesn't support extranonce-subscribe - this kind of pools appears Dead even if they are suposed to be working fine (you should never use this setting on nicehash pools since nicehash stratum proxy provides better efficiency with extranonce subscription):
{
     "url" : "stratum+tcp://some-third-party-backup-pool:3333",
     "no-extranonce" : true,
     "user" : "Username",
     "pass" : "x"
}


Note: Report any issues with sgminer to BitcoinTalk Thread.

Hint: When you are setting up your configuration file please verify it's syntax via JSON validator (configuration file is written in JSON).

{
"pools" : [
     {
          "name" : "NiceHash_Scrypt_multi",
          "url" : "stratum+tcp://scrypt.eu.nicehash.com:4333",
          "user" : "BTC_address",
          "pass" : "x",
          "nfactor" : "10",
          "algorithm" : "zuikkis"
     },
     {
          "name" : "NiceHash_Scrypt-N_multi",
          "url" : "stratum+tcp://scryptnf.eu.nicehash.com:4335",
          "user" : "BTC_address",
          "pass" : "x",
          "nfactor" : "11",
          "algorithm" : "zuikkis"
     },
     {
          "name" : "NiceHash_X11_multi",
          "url" : "stratum+tcp://x11.eu.nicehash.com:4336",
          "user" : "BTC_address",
          "pass" : "x",
          "nfactor" : "10",
          "algorithm" : "darkcoin-mod"
     },
     {
          "name" : "NiceHash_X13_multi",
          "url" : "stratum+tcp://x13.eu.nicehash.com:4337",
          "user" : "BTC_address",
          "pass" : "x",
          "nfactor" : "10",
          "algorithm" : "marucoin-mod"
     },
     {
          "name" : "NiceHash_Keccak_multi",
          "url" : "stratum+tcp://keccak.eu.nicehash.com:4338",
          "user" : "BTC_address",
          "pass" : "x",
          "nfactor" : "10",
          "algorithm" : "maxcoin"
     },
     {
          "name" : "NiceHash_X15_multi",
          "url" : "stratum+tcp://x15.eu.nicehash.com:4339",
          "user" : "BTC_address",
          "pass" : "x",
          "nfactor" : "10",
          "algorithm" : "bitblock"
     },
     {
          "name" : "NiceHash_NIST5_multi",
          "url" : "stratum+tcp://nist5.eu.nicehash.com:4340",
          "user" : "BTC_address",
          "pass" : "x",
          "nfactor" : "10",
          "algorithm" : "talkcoin-mod"
     },
     {
          "name" : "NiceHash_NeoScrypt_multi",
          "url" : "stratum+tcp://neoscrypt.eu.nicehash.com:4341",
          "user" : "BTC_address",
          "pass" : "x",
          "nfactor" : "10",
          "algorithm" : "neoscrypt"
     },
     {
          "name" : "NiceHash_Lyra2RE_multi",
          "url" : "stratum+tcp://lyra2re.eu.nicehash.com:4342",
          "user" : "BTC_address",
          "pass" : "x",
          "nfactor" : "10",
          "algorithm" : "Lyra2RE"
     },
     {
          "name" : "NiceHash_WhirlpoolX_multi",
          "url" : "stratum+tcp://whirlpoolx.eu.nicehash.com:4343",
          "user" : "BTC_address",
          "pass" : "x",
          "nfactor" : "10",
          "algorithm" : "whirlpoolx"
     },
     {
          "name" : "NiceHash_Qubit_multi",
          "url" : "stratum+tcp://qubit.eu.nicehash.com:4344",
          "user" : "BTC_address",
          "pass" : "x",
          "nfactor" : "10",
          "algorithm" : "qubitcoin"
     },
     {
          "name" : "NiceHash_Quark_multi",
          "url" : "stratum+tcp://quark.eu.nicehash.com:4345",
          "user" : "BTC_address",
          "pass" : "x",
          "nfactor" : "10",
          "algorithm" : "quarkcoin"
     },
     {
          "name" : "NiceHash_Lyra2REv2_multi",
          "url" : "stratum+tcp://lyra2rev2.eu.nicehash.com:4347",
          "user" : "BTC_address",
          "pass" : "x",
          "nfactor" : "10",
          "algorithm" : "Lyra2REv2"
     },
     {
          "name" : "NiceHash_X11_backup",
          "url" : "stratum+tcp://x11.eu.nicehash.com:3336",
          "user" : "BTC_address",
          "pass" : "x",
          "nfactor" : "10",
          "algorithm" : "darkcoin-mod"
     },
     {
          "name" : "some third-party backup pool",
          "url" : "stratum+tcp://backup-pool:1111",
          "user" : "user",
          "pass" : "pass",
          "nfactor" : "10",
          "algorithm" : "darkcoin-mod"
     }
],
"failover-only" : true,
"failover-switch-delay" : "300",
"queue" : "0",
... other configuration settings ...
}
In this example miner will only switch between X11 and X13 (whichever is more profitable) even if globally some other algorithm is more profitable (set all fX except f3 and f4 to 0).

{
"pools" : [
     {
          "name" : "NiceHash_X11_auto-switch",
          "url" : "stratum+tcp://x11.eu.nicehash.com:4336",
          "user" : "BTC_address",
          "pass" : "f0=0;f2=0;f3=4;f4=3;f5=0;f6=0;f7=0;f8=0;f9=0",
          "nfactor" : "10",
          "algorithm" : "darkcoin-mod"
     },
     {
          "name" : "NiceHash_X13_auto-switch",
          "url" : "stratum+tcp:/x13.eu.nicehash.com:4337",
          "user" : "BTC_address",
          "pass" : "f0=0;f2=0;f3=4;f4=3;f5=0;f6=0;f7=0;f8=0;f9=0",
          "nfactor" : "10",
          "algorithm" : "marucoin-mod"
     },
     {
          "name" : "some third-party X11 backup pool",
          "url" : "stratum+tcp://x11-backup-pool:3333",
          "user" : "user",
          "pass" : "pass",
          "nfactor" : "10",
          "algorithm" : "darkcoin-mod"
     }
],
"failover-only" : true,
"failover-switch-delay" : "300",
"queue" : "0",
... other configuration settings ...
}

We specified our rig as 4.2 Mhs for Scrpyt, 2.1 Mhs for Scrypt-N, 15.5 Mhs for X11, 11.5 for X13 and 400 Mhs for Keccak. We also specified our daily costs at $5.0 for Scrypt and Scrypt-N, $2.64 for X11 and X13, $3.5 for Keccak. BPASMAM will now take all these settings into account and select the most profitable algorithm for you by calculating highest profit. See this spreadsheet for calculation examples. This example only shows a subset of algorithms, set all fX and cX to get full algorithm support; you can also omit some algorithm by setting fX to 0).

{
"pools" : [
     {
          "name" : "NiceHash_Scrypt_AS",
          "url" : "stratum+tcp://scrypt.eu.nicehash.com:4333",
          "user" : "BTC_address",
          "pass" : "d=1024;f0=4.2;f2=2.1;f3=15.5;f4=11.5;f5=400;f6=0;f7=0;f8=0;f9=0;c0=5.0;c2=5.0;c3=2.64;c4=2.64;c5=3.5",
          "algorithm" : "zuikkis",
          "nfactor" : "10"
     },
     {
          "name" : "NiceHash_Scrypt-N_AS",
          "url" : "stratum+tcp://scryptnf.eu.nicehash.com:4335",
          "user" : "BTC_address",
          "pass" : "d=512;f0=4.2;f2=2.1;f3=15.5;f4=11.5;f5=400;f6=0;f7=0;f8=0;f9=0;c0=5.0;c2=5.0;c3=2.64;c4=2.64;c5=3.5",
          "algorithm" : "zuikkis",
          "nfactor" : "11"
     },
     {
          "name" : "NiceHash_X11_AS",
          "url" : "stratum+tcp://x11.eu.nicehash.com:4336",
          "user" : "BTC_address",
          "pass" : "d=0.08;f0=4.2;f2=2.1;f3=15.5;f4=11.5;f5=400;f6=0;f7=0;f8=0;f9=0;c0=5.0;c2=5.0;c3=2.64;c4=2.64;c5=3.5",
          "algorithm" : "darkcoin-mod",
          "nfactor" : "10"
     },
     {
          "name" : "NiceHash_X13_AS",
          "url" : "stratum+tcp://x13.eu.nicehash.com:4337",
          "user" : "BTC_address",
          "pass" : "d=0.08;f0=4.2;f2=2.1;f3=15.5;f4=11.5;f5=400;f6=0;f7=0;f8=0;f9=0;c0=5.0;c2=5.0;c3=2.64;c4=2.64;c5=3.5",
          "algorithm" : "marucoin-mod",
          "nfactor" : "10"
     },
     {
          "name" : "NiceHash_Keccak_AS",
          "url" : "stratum+tcp://keccak.eu.nicehash.com:4338",
          "user" : "BTC_address",
          "pass" : "d=1024;f0=4.2;f2=2.1;f3=15.5;f4=11.5;f5=400;f6=0;f7=0;f8=0;f9=0;c0=5.0;c2=5.0;c3=2.64;c4=2.64;c5=3.5",
          "algorithm" : "maxcoin",
          "nfactor" : "10"
     },
     {
          "name" : "some third-party scrypt backup pool",
          "url" : "stratum+tcp://backup-pool:3333",
          "user" : "user",
          "pass" : "pass",
          "nfactor" : "10",
          "algorithm" : "zuikkis"
     }
],
"failover-only" : true,
"failover-switch-delay" : "300",
"queue" : "0",
... other configuration settings ...
}