While mining with cgminer on TripleMining, I noticed that I was getting something like:

[2013-09-14 19:02:12] Rejected 88dde730 Diff #/1 GPU 0  (H-not-zero)

What does this error mean, why is it causing my shares to be rejected, and what can be done to fix it?

I did some reasearch and it has something to do with the header not starting with zero. What does that mean?

I have the latest version of cgminer.

I switched pools, and now it is saying "Share is above target". What can I do about that?

  • I have the same problem, above target
    – user12120
    Jan 12, 2014 at 13:01
  • I've experienced that same issue with poolers-cpu & stratum-mining pool, every share is rejected, so maybe it's not only a cgminer issue.
    – m3nda
    Dec 29, 2015 at 4:09

2 Answers 2


I was having the same H-not-zero issue when downloading and running a different/newer version of cgminer than what I had been using. I compared the two config files and made changes to the new version. Then I started getting the second error of Share is above target.

After playing with it a little more, the hardware was declared a dead stream and shut down. I then renamed the config file as .bak just to keep it, copied the config file from the older version which worked and pasted it into the new version.

Immediately after restarting it did start to report accepted hashes. Since the newer version has more settings than the original, I saved the config file using the s (settings) w (write config file) to rewrite the file with the additional information/settings of the newer version.

With the newer options written in the config file, I now can play with the newer configuration settings at my discretion. Hope this helps others in the future!


H-not-zero means the hash of the header isn't zero for the first 32-bits. In other words, it indicates a share that was inherently invalid and could never have been valid. This is generally caused by overclocking, overheating, or undervolting. You can probably get these errors to go away by lowering the clock speed, raising the voltage, or improving your cooling.

If you aren't getting very many of them, you may prefer to just ignore them. All that matters is the rate at which you are generating valid shares. If 1% of your shares are invalid and you can only get the errors to go away by reducing your clock speed so that you generate 2% fewer shares, it's not worth it. On the other hand, if 5% of your shares are invalid and you can get the errors to go away by dropping the clock speed by 2%, it's probably worth it.

In one specific case, I was getting that message while mining with bfgminer and made the mistake of sha-256 mining on a scrypt pool = invalid hashing.

  • All my shares are invalid
    – user6398
    Sep 15, 2013 at 3:27
  • Update to the latest cgminer. There were bugs in versions prior to 3.1.1 Sep 15, 2013 at 3:34
  • It only happens when mining bitcoins though. Mining scrypt is okay.
    – user6398
    Sep 15, 2013 at 3:37
  • It's still happening. Just updated to the latest cgminer
    – user6398
    Sep 15, 2013 at 17:38

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.