Changes in version 3.0c (since 2.9e):
Implemented auto-tune function which will find the best GT value for each GPU. You can activate it by either omitting the -gt parameter in the command line, or by pressing 'z' in the console. Note that auto-tune process takes about 3 to 5 minutes on average and during this time the hashrate will be lower and will go up and down. You can abort the auto-tuning by pressing the 'g' key in the console window.
Added support for 'x' key in console window. This will allow you to select a single GPU for manual or automatic GT tuning.
Added support for direct mining (without DAG switching for DevFee) of the following coins: Nekonium (NUKO), MIX, EtherGem (EGEM), AURA, Hotelbyte Coin (HBC), Genom (GEN), EtherZero (ETZ), Callisto (CLO). See the -coin option documentation below for details how to specify the coin you are mining.
Added support for on-the-fly reload of config.txt file and applying the new options by pressing the key 'c' in the console window. Note that most options require restart in order to change. Currently the follwing options can be changed without restarting: -mi, -gt, -clf, -nvf, and all hardware control parameters (-tt, -fanmin, -fanmax, -powlim, -tmax, -cclock, -cvddc, -mclock, -mvddc). This allows more convenient adjustment and fine-tuning of the mining rigs
Added -cdmrs option to reload the settings if config.txt is edited/uploaded by a remote manager. This allows you to change and reload the config.txt options via remote manager without access to the console window of the miner.
Small improvements in AMD kernels
Added -nvf 3 setting that could solve some problems with unstable Nvidia cards (but may affect hashrate negatively)
Added option -acm to turn on AMD compute mode on the supported GPUs. This is equivalent of pressing 'y' in the miner console.
Added option -retrydelay that sets the pause between the reconnection attempts in seconds (min value 0, default value: 20)
Added option -resetoc to reset the HW overclocking setting on startup to their default values
Added option -gpureset, which forces full reset of the GPU when the miner is paused (or before DAG generation when switching DAG epochs). This is designed to avoid problems like the hashrate drop of GeForce GTX1080 Ti after pause/resume. This option can be specified per GPU and is turned on by default for GTX1080 Ti.
Added option -gser for serializing of DAG creation if your PSU(s) can't take all GPUs generating DAG simultaneously.
Graceful shutdown when closed by the close button of the console window (including reseting OC settings to defaults)
Added option -gsi to set the speed stats interval (5-30 seconds, default 5; 0 turns off the speed stats). The detailed stats are still shown every 45 seconds and aren't affected by the -gsi value
Fixed crashing with Vega cards with AMD drivers 18.4.1 and newer
Many small fixes and changes
PhoenixMiner is fast (arguably the fastest) Ethash (ETH, ETC, Muiscoin, EXP, UBQ, etc.) miner that supports
both AMD and Nvidia cards (including in mixed mining rigs). It runs under Windows x64
and has a developer fee of 0.65% (the lowest in the industry). This means that every 90
minutes the miner will mine for us, its developers, for 35 seconds.
The speed is generally faster than Claymore's Ethereum miner in eth only mode
(we have measured about 0.4-1.3% speed improvement but your results may be slightly lower or
higher depending on the GPUs). To achieve highest possible speed on AMD cards it may be needed
to manually adjust the GPU tune factor (a number from 8 to about 400, which can be changed
interactively with the + and - keys while the miner is running).
If you have used Claymore's Dual Ethereum miner, you can switch to PhoenixMiner with
minimal hassle as we support most of Claymore's command-line options and confirguration
files with the notable exception of the dual mining feature (yet).
Please note that PhoenixMiner is extensively tested on many mining rigs but this is the
first public release and there still may be some bugs. Additionally, we are actively working on
bringing many new features in the future releases. If you encounter any problems or have
feature requests, please post them here (in this thread). We will do our best to answer in timely
1. Quick start
You can download PhoenixMiner 3.0c from here:
Here are the command line parameters for some of the more popular pools and coins:
PhoenixMiner.exe -pool eu1.ethermine.org:4444 -pool2 us1.ethermine.org:4444 -wal YourEthWalletAddress.WorkerName -proto 3
ethermine.org (ETH, secure connection):
PhoenixMiner.exe -pool ssl://eu1.ethermine.org:5555 -pool2 ssl://us1.ethermine.org:5555 -wal YourEthWalletAddress.WorkerName -proto 3
PhoenixMiner.exe -pool eu1.ethpool.org:3333 -pool2 us1.ethpool.org:3333 -wal YourEthWalletAddress.WorkerName -proto 3
PhoenixMiner.exe -pool eth-eu.dwarfpool.com:8008 -wal YourEthWalletAddress/WorkerName -pass x
PhoenixMiner.exe -pool eu1.nanopool.org:9999 -wal YourEthWalletAddress/WorkerName -pass x
PhoenixMiner.exe -pool stratum+tcp://daggerhashimoto.eu.nicehash.com:3353 -wal YourBtcWalletAddress -pass x -proto 4 -stales 0
PhoenixMiner.exe -epool eth.f2pool.com:8008 -ewal YourEthWalletAddress -pass x -worker WorkerName
PhoenixMiner.exe -pool us-east.ethash-hub.miningpoolhub.com:20535 -wal YourLoginName.WorkerName -pass x -proto 1
PhoenixMiner.exe -pool coinotron.com:3344 -wal YourLoginName.WorkerName -pass x -proto 1
PhoenixMiner.exe -pool eu1-etc.ethermine.org:4444 -wal YourEtcWalletAddress.WorkerName
PhoenixMiner.exe -pool exp-eu.dwarfpool.com:8018 -wal YourExpWalletAddress/WorkerName
PhoenixMiner.exe -pool europe.ethash-hub.miningpoolhub.com:20585 -wal YourLoginName.WorkerName -pass x -proto 1
PhoenixMiner.exe -pool stratum+tcp://eu.ubiqpool.io:8008 -wal YourUbiqWalletAddress -pass x -worker WorkerName
PhoenixMiner.exe -pool pirl.minerpool.net:8002 -wal YourPirlWalletAddress -pass x -worker WorkerName
dodopool.com (Metaverse ETP):
PhoenixMiner.exe -pool etp.dodopool.com:8008 -wal YourMetaverseETPWalletAddress -worker Rig1 -pass x
PhoenixMiner.exe -pool ella.minerpool.net:8002 -wal YourEllaismWalletAddress -worker Rig1 -pass x
etherdig.net (ETH PPS):
PhoenixMiner.exe -pool etherdig.net:4444 -wal YourEthWalletAddress.WorkerName -proto 4 -pass x
etherdig.net (ETH HVPPS):
PhoenixMiner.exe -pool etherdig.net:3333 -wal YourEthWalletAddress.WorkerName -proto 4 -pass x
2. Features, requirements, and limitations
* Supports AMD Vega, 580/570/480/470, 460/560, Fury, 390/290 and older AMD GPUs with enough VRAM
* Supports Nvidia 10x0 and 9x0 series as well as older cards with enough VRAM
* Highly optimized OpenCL and CUDA cores for maximum ethash mining speed
* Lowest developer fee of 0.65% (35 seconds defvee mining per each 90 minutes)
* Advanced statistics: actual difficulty of each share as well as effective hashrate at the pool
* DAG file generation in the GPU for faster start-up and DAG epoch switches
* Supports all ethash mining pools and stratum protocols
* Supports secure pool connections (e.g. ssl://eu1.ethermine.org:5555) to prevent IP hijacking attacks
* Detailed statistics, including the individual cards hashrate, shares, temperature and fan speed
* Unlimited number of fail-over pools in epools.txt configuration file (or two on the command line)
* GPU tuning for the AMD GPUs to achieve maximum performance with your rig
* Supports devfee on alternative ethash currencies like ETC, EXP, Music, UBQ, Pirl, Ellaism, and Metaverse ETP. This allows you to use older cards with small VRAM or low hashate on current DAG epochs (e.g. GTX970).
* Full compatibility with the industry standard Claymore's Dual Ethereum miner, including most of command-line options, configuration files, and remote monitoring and management.
* More features coming soon!
PhoenixMiner requires Windows x64 (Windows 7, Windows 10, etc.). We are planning a Linux version in
the future but it may take some time.
PhenixMiner does not support dual mining. However we are working on this feature and will introduce it
soon. Solo mining is supported since version 2.7c.
While the miner is running, you can use some interactive commands. Press the key 'h' while the
miner's console window has the keyboard focus to see the list of the available commands. The
interactive commands are also listed at the end of the following section.
3. Command-line arguments
Note that PhoenixMiner supports most of the command-line options of Claymore's dual Ethereum miner
so you can use the same command line options as the ones you would have used with Claymore's miner.
-pool <host:port> Ethash pool address (prepend the host name with ssl:// for SSL pool, or http:// for solo mining)
-wal <wallet> Ethash wallet (some pools require appending of user name and/or worker)
-pass <password> Ethash password (most pools don't require it, use 'x' as password if unsure)
-worker <name> Ethash worker name (most pools accept it as part of wallet)
-proto <n> Selects the kind of stratum protocol for the ethash pool:
1: miner-proxy stratum spec (e.g. coinotron)
2: eth-proxy (e.g. dwarfpool, nanopool) - this is the default, works for most pools
3: qtminer (e.g. ethpool)
4: EthereumStratum/1.0.0 (e.g. nicehash)
-coin <coin> Ethash coin to use for devfee to avoid switching DAGs:
auto: Try to determine from the pool address (default)
etc: Ethereum Classic
etp: Metaverse ETP
hbc: Hotelbyte Coin
-stales <n> Submit stales to ethash pool: 1 - yes (default), 0 - no
-pool2 <host:port> Failover ethash pool address. Same as -pool but for the failover pool
-wal2 <wallet> Failover ethash wallet (if missing -wal will be used for the failover pool too)
-pass2 <password> Failover ethash password (if missing -pass will be used for the failover pool too)
-worker2 <name> Failover ethash worker name (if missing -worker will be used for the failover pool too)
-proto2 <n> Failover ethash stratum protocol (if missing -proto will be used for the failover pool too)
-coin2 <coin> Failover devfee Ethash coin (if missing -coin will be used for the failover pool too)
-stales2 <n> Submit stales to the failover pool: 1 - yes (default), 0 - no
General pool options:
-fret <n> Switch to next pool afer N failed connection attempts (default: 3)
-ftimeout <n> Reconnect if no new ethash job is receved for n seconds (default: 600)
-ptimeout <n> Switch back to primary pool after n minutes. This setting is 30 minutes by default;
set to 0 to disable automatic switch back to primary pool.
-retrydelay <n> Seconds to wait before reconnecting (default: 20)
-gwtime <n> Recheck period for Solo/GetWork mining (default: 200 ms)
-rate <n> Report hashrate to the pool: 1 - yes, 0 - no (1 is the default)
-bench [<n>],-benchmark [<n>] Benchmark mode, optionally specify DAG epoch. Use this to test your rig.
Remote control options:
-cdm <n> Selects the level of support of the CDM remote monitoring:
1: read-only - this is the default
2: full (only use on secure connections)
-cdmport <port> Set the CDM remote monitoring port (default is 3333). You can also specify
<ip_addr:port> if you have a secure VPN connection and want to bind the CDM port to it
-cdmpass <pass> Set the CDM remote monitoring password
-cdmrs Reload the settings if config.txt is edited/uploaded remotely. Note that most options require restart in order to change.
Currently the follwing options can be changed without restarting: -mi, -gt, -clf, -nvf, and all hardware control parameters
(-tt, -fanmin, -fanmax, -powlim, -tmax, -cclock, -cvddc, -mclock, -mvddc).
-amd Use only AMD cards
-acm Turn on AMD compute mode on the supported GPUs. This is equivalent of pressing 'y' in the miner console.
-nvidia Use only Nvidia cards
-gpus <123 ..n> Use only the specified GPUs (if more than 10, separate the indexes with comma)
-mi <n> Set the mining intensity (0 to 14; 12 is the default for the new kernels). You may specify this option per-GPU.
-gt <n> Set the GPU tuning parameter (6 to 400). The default is 15. You can change the
tuning parameter interactively with the '+' and '-' keys in the miner's console window.
If you don't specify -gt or you specify value 0, the miner will start auto-tuning to determine the best GT value for each GPU
-clKernel <n> Type of OpenCL kernel: 0 - generic, 1 - optimized, 2 - alternative (1 is the default)
-clNew <n> Use the new AMD kernels (0: no, 1: yes; default: 1)
-clf <n> AMD kernel sync (0: never, 1: periodic; 2: always; default: 1)
-nvNew <n> Use new Nvidia kernels if supported (0: no, 1: yes; default: 1)
-nvf <n> Nvidia kernel sync (0: never, 1: periodic; 2: always; 3: forced; default: 1). You may specify this option per-GPU.
-list List the detected GPUs devices and exit
-minRigSpeed <n> Restart the miner if avg 5 min speed is below <n> MH/s
-eres <n> Allocate DAG buffers big enough for n epochs ahead (default: 2) to
avoid allocating new buffers on each DAG epoch switch, which should improve DAG switch stability
-lidag <n> Slow down DAG generation to avoid crashes when swiching DAG epochs
(0-3, default: 0 - fastest, 3 - slowest). This option works only on AMD cards
-gser <n> Serializing DAG creation on multiple GPUs (0 - no serializing, all GPUs generate the DAG simultaneously, this is the default;
1 - partial overlap of DAG generation on each GPU; 2 - no overalp (each GPU waits until the previous one has finished generating the DAG);
3-10 - from 1 to 8 seconds delay after each GPU DAG generation before the next one)
-gpureset <n> Fully reset GPU when paused (0 - no, 1 - yes; default: no, except on 1080Ti). You may specify this option per-GPU.
-altinit Use alternative way to initialize AMD cards to prevent startup crashes
-wdog <n> Enable watchdog timer: 1 - yes, 0 - no (1 is the default). The watchdog timer checks
periodically if any of the GPUs freezes and if it does, restarts the miner (see the -rmode
command-line parameter for the restart modes)
-rmode <n> Selects the restart mode when a GPU crashes or freezes:
0: disabled - miner will shut down instead of restarting
1: restart with the same command line options - this is the default
2: reboot (shut down miner and execute reboot.bat)
-log <n> Selects the log file mode:
0: disabled - no log file will be written
1: write log file but don't show debug messages on screen (default)
2: write log file and show debug messages on screen
-logfile <name> Set the name of the logfile. If you place an asterisk (*) in the logfile name, it will be
replaced by the current date/time to create a unique name every time PhoenixMiner is started. If there
is no asterisk in the logfile name, the new log entries will be added to end of the same file. If you
want to use the same logfile but the contents to be overwritten every time when you start the miner,
put a dollar sign ($) character in the logfile name (e.g. -logfile my_log.txt$).
-logdir <path> Set a path where the logfile(s) will be created
-logsmaxsize <n> Maximum size of the logfiles in MB. The default is 200 MB (use 0 to turn off the limitation).
On startup, if the logfiles are larger than the specified limit, the oldest are deleted. If you use a
single logfile (by using -logfile), then it is truncated if it is bigger than the limit and a new one
-timeout <n> Restart miner according to -rmode after n minutes
-gswin <n> GPU stats time window (5-30 sec; default: 15; use 0 to revert to pre-2.8 way of showing momentary stats)
-gsi <n> Speed stats interval (5-30 sec; default: 5; use 0 to disable). The detailed stats are still
shown every 45 seconds and aren't affected by the -gsi value
-gpow <n> Lower the GPU usage to n% of maximum (default: 100). If you already use -mi 0 (or other low value) use -li instead
-li <n> Another way to lower the GPU usage. Bigger n values mean less GPU utilization; the default is 0.
-resetoc Reset the hardware overclocking settings on startup
Hardware control options (most are for AMD cards only, only tt 0-4, tstop, and tstart are supported on Nvidia GPUs), use comma to specify different values for each GPU:
-tt <n> Set fan control target temperature (special values: 0 - no HW monitoring on ALL cards,
1-4 - only monitoring on all cards with 30-120 seconds interval, negative - fixed fan speed at n %)
-fanmin <n> Set fan control min speed in % (-1 for default)
-fanmax <n> Set fan control max speed in % (-1 for default)
-tmax <n> Set fan control max temperature (0 for default)
-powlim <n> Set GPU power limit in % (from -75 to 75, 0 for default)
-cclock <n> Set GPU core clock in MHz (0 for default)
-cvddc <n> Set GPU core voltage in mV (0 for default)
-mclock <n> Set GPU memory clock in MHz (0 for default)
-mvddc <n> Set GPU memory voltage in mV (0 for default)
-tstop <n> Pause a GPU when temp is >= n deg C (0 for default; i.e. off)
-tstart <n> Resume a GPU when temp is <= n deg C (0 for default; i.e. off)
-v,--version Show the version and exit
-h,--help Show information about the command-line options and exit
Some of the PhoenixMiner options can provide either the same setting for all GPUs, or a different
setting for each of the GPUs. For example, to specify the -gt value for all cards you would write
-gt 90 but if you want to specify a different GT value for each of the cards, use something like this:
-gt 20,15,40,90,90 for a five-GPU mining rig. This would set GT to 20 for the first GPU, 15 for the second
GPU, and so on. If you specify less values than you have GPUs, the rest of the GPUs will use the default
value for the parameter.
Additionally, while the miner is running, you can use the following interactive commands
in the console window by pressing one of these keys:
s Print detailed statistics
1-9 Pause/resume GPU1 ... GPU9 (if you have more than 9 GPUs, type 010 for card 10, 011 for card 11, etc.)
p Pause/resume the whole miner
+,- Increase/decrease GPU tuning parameter
g Reset the GPU tuning parameter (and stop auto-tuning if active)
x Select the GPU(s) for manual or automatic GT tuning
z Start AMD auto-tune process
r Reload epools.txt and switch to primary ethash pool
e Select the current ethash pool (if you have more than 9 pools in the list, type 010 for pool 10, 011 for pool 11, etc.)
y Turn on AMD Compute mode if it is off on some of the GPUs
c Reload the config.txt file (some settings require restart, see -cdmrs option above for details)
h Print this short help