Home

Why does XMRig report "rejected" shares?

XMRig reports a “rejected” share when your mining pool receives your work but does not accept it as valid for payment. An occasional rejection can happen during normal mining, but repeated rejections usually point to connection delays, incorrect settings, unstable hardware, or a pool problem.

What a rejected share means

XMRig is mining software that uses your computer to help secure Monero. A mining pool combines work from many miners and divides rewards according to its payment rules.

A share is a piece of work that proves your computer is contributing. Most shares do not create a Monero block; they let the pool measure your contribution.

When XMRig submits a share, the pool checks it against the job and difficulty it assigned. Difficulty means how hard the required calculation must be. If the share fails those checks, the pool rejects it.

Your computer still used electricity to produce that share. The pool normally gives you no credit for rejected work, although some pools treat late shares differently.

Read the rejection reason first

The message beside “rejected” is more useful than the rejection count alone. Wording varies by pool, but common messages include:

  • “Stale share” or “job not found”: Your share belongs to a job the pool no longer accepts. It may have arrived late, followed a connection interruption, or referenced a job that expired.
  • “Low difficulty share”: Your result did not meet the pool’s required target. This can indicate a difficulty-setting mismatch, incompatible mining proxy, or software problem. A proxy is a program that passes mining traffic between miners and a pool.
  • “Invalid result” or “invalid share”: The pool could not validate the calculation. Unstable hardware, incorrect mining settings, or software bugs can cause this.
  • “Duplicate share”: The same result was submitted more than once. Look for reconnect issues, a misconfigured proxy, or a software fault.

Do not confuse share difficulty, which your pool assigns, with Monero’s network difficulty. Changing your settings to make shares easier does not automatically increase your earnings.

Match the fix to the message

For stale shares, start with your connection:

  • Choose a nearby server offered by your pool.
  • Try a stable wired connection instead of unreliable Wi-Fi.
  • Check for repeated disconnects, packet loss, or heavy uploads.
  • Check whether the pool reports an outage.

For invalid results, restore your CPU and memory to their standard settings. Overclocking means running hardware faster than its standard settings; undervolting means reducing its operating voltage. Either can produce incorrect calculations if pushed too far.

Also check temperatures and test memory stability. Monero uses RandomX, a mining calculation designed to favor CPUs, so CPU and memory stability matter.

For difficulty or job errors, compare your configuration with the pool’s current XMRig instructions. Confirm the server address, port, and coin settings. Remove manually forced difficulty settings unless the pool specifically supports them. Use a current XMRig release from its official project source, not an unknown “optimized” download.

Judge the pattern, not one share

Compare rejected shares with total submissions over a meaningful period. One rejection among a handful of shares tells you little.

Watch whether rejections cluster after reconnects, hardware changes, or switching pools. Change one thing at a time so you can identify the cause.

Missing huge pages—a memory feature that can improve mining speed—usually reduces performance rather than directly causing rejected shares.

The bottom line

Start with the pool’s exact rejection message. Occasional late shares may be normal; persistent rejections deserve investigation because they waste work. Focus on connection quality for stale shares and calculation stability for invalid ones.

All 1,000 questions

MyAiMiner.com

MyAiMiner.com — Monero mining blog. 1,000 questions. Clear answers.

Monero (XMR) Mining BLOG

Hashes0
Blocks accepted0
Blocks rejected0
Runtime00:00:00