Skip to content

Stale, Rejected and Invalid Shares: A Field Guide

A stale share arrived after the network had already moved on, a rejected share was refused by the pool, and an invalid share failed the pool's own validation — three different problems with three different fixes. They matter because every unpaid share is income you already did the work for: at a 2 PH/s hashrate, a 2% rejection rate removes roughly 0.0000179 BTC, about $1.52, from each day of production at a BTC price of $84,692.

A stack of aluminium mining machines on a pallet in a bright warehouse
Most rejections are network or configuration problems, not dead hardware. The pile of spares is often the least useful thing in the room. Image: editorial.

Key takeaways

  • Stale and rejected shares are usually a latency or configuration issue; a rising invalid-share count is usually a hardware or overclock issue.
  • At 2 PH/s, every 1% of rejected work costs about 0.00000897 BTC a day, roughly $0.76 — small per day, about $22.80 per month.
  • PPS+ pays against accepted shares at current difficulty, so rejected work earns nothing on either payment method; only the variance differs.[1]
  • Chase reject rates above 2%. Below that, latency tuning costs more engineer time than it recovers in coin.

Context in 2026

Mining pools do not pay for effort, they pay for provable work. A miner submits shares — hashes that beat an easier pool-assigned target — and the pool credits only those it can use. Anything the pool throws away is hashrate you paid electricity for and then handed over for nothing.

The categories have specific meanings, and mixing them up is why miners spend days on the wrong fix. Stale shares were valid when computed but arrived after the job they belonged to had been replaced, usually because of network latency or a slow stratum round trip. Rejected shares were refused by the pool, often as duplicates, as low-difficulty submissions, or because the worker authenticated incorrectly. Invalid shares fail validation outright, which points at the machine: a memory error, a degraded overclock, or ageing silicon.

Those distinctions travel across chains, which matters for multi-coin operators. A pool that supports BTC, BCH, LTC/DOGE merged mining, KAS, ZEC, HNS, CKB, ETC and a couple of dozen other networks applies the same accounting to each one, so a latency habit you develop on one chain follows you to the next.[2]

The two variables that matter

Almost every reject diagnosis reduces to latency and difficulty. Latency is the distance between your miner and the pool: a job sent from a distant node may be superseded before your machine finishes working on it, and each superseded job is a small pool of potentially stale shares. Moving the connection closer, or routing many rigs through one well-placed proxy, is often worth more than any firmware tweak.

Difficulty is subtler. Pools assign each worker a share difficulty that trades submission frequency against validation load. A difficulty set far too low makes a fast rig flood the pool with shares, and the overflow is discarded as duplicates or as below-target work. Set far too high, and rejected shares become rare but the dashboard loses resolution — a struggling machine looks indistinguishable from a healthy one because both report few shares.

Symptom to cause to first check, in the order most farms should investigate them.
What the log saysMost likely causeFirst check
Stale shareJob replaced while the share was in flightRound-trip latency to the pool node; consider the nearest region or a proxy
Rejected — duplicateShare difficulty set too low for the rig's speedRequest a higher per-worker difficulty or move to a matching stratum port
Rejected — unauthorisedWorker name or password string mismatchCompare the firmware string character by character with the worker list
Invalid shareInstability: thermal, power or overclockBack off the overclock, check inlet temperature and the PSU's load margin
Hardware error counter risingFailing hash board or memoryIsolate the machine, then open an RMA before it damages neighbours

Numbers from a real rig

Put a number on the leakage. A single machine running at 100 TH/s earns about 0.000044861 BTC per day against today's network hashrate and difficulty — roughly $3.80 gross, or $3.65 after the listed 4% fee on the PPS-settled block-reward component. If that machine runs a 3% reject rate, it forgoes about 0.00000135 BTC a day, which is eleven cents. Immaterial for one rig; a salary line for a farm.

Scale it to a 2 PH/s site, which produces roughly 0.000897212 BTC — $75.99 — per day gross. A 2% rejection rate there costs about 0.0000179 BTC a day, near $1.52, or roughly $45.60 across a month. A 5% rate, which is what misconfigured stratum difficulty looks like, quietly removes $114 of monthly output and never appears in the power bill as anything but a slightly worse margin.

Line chart of days needed to mine 0.001 BTC at 1 TH/s, 10 TH/s, 100 TH/s and 1 PH/s
How long a given hashrate takes to accumulate 0.001 BTC, computed from current difficulty and network hashrate. Fractions of a percent of lost work translate into days at these scales. Own calculation, 21 September 2026.

Two more rig-level numbers worth keeping on a whiteboard. At 0.000044861 BTC per day, a 100 TH/s machine needs about 22.3 days to produce 0.001 BTC — which is why a week of undetected 5% leakage is invisible in any single payout. And because network difficulty is retargeted roughly every two weeks (the estimate on 21 September 2026 was -2.12%), a reject rate and a difficulty shift can arrive in the same statement and get blamed on each other.

Decision guide

  1. Reject rate under 2%. Leave it alone. Log it weekly and spend your time on uptime instead.
  2. Stale-dominated rejects. Attack latency: connect to the closest node, reduce hop count, or aggregate rigs behind a single proxy near the pool.
  3. Duplicate-dominated rejects. Change difficulty or stratum port before touching firmware. This is a configuration symptom, not a hardware symptom.
  4. Invalid shares or a rising hardware-error count. Treat it as a hardware problem: reduce overclock, verify inlet temperature, then RMA the board.
  5. Wallet-level view. Compare expected and received income with the income calculator; a persistent shortfall of one or two percent is the signature of rejections, not of fees.
  6. Model-level view. Use a miner profitability ranking to see whether a struggling model is still worth repairing at current price and difficulty before you spend a shift on it.
  7. Pool-level view. Cross-check your own accept rate against your pool's published totals on the ViaBTC KAS Mining Pool state page, because a pool-wide latency event will show up there as a fleet problem rather than a rig problem.

Frequently asked questions

Does the payout method change my average income?

It changes the variance and the fee, not the underlying expected value: your share of network hashrate still sets the ceiling. Both PPS+ and PPLNS pay on accepted shares only, so a rejection costs the same either way — it just hurts less visibly when payouts arrive hourly than when they arrive with blocks.

How often should a miner check pool statistics?

Weekly is enough for cash flow, daily if you are reconciling worker uptime or chasing a hashrate fault. Rejections are a rate, not an event, so a single reading means little; the trend over a week tells you whether a change you made actually helped.

Is a stale share the same as a rejected share?

No. A stale share was valid work that arrived too late to be useful, which is a latency symptom. A rejected share was refused at submission for reasons including duplicates, low difficulty or authentication, which is usually a configuration symptom. Only invalid shares point directly at hardware.

Fix the biggest source first

Sort your farm's reject reasons by count, and fix only the top one for a fortnight. In most operations that is either stratum difficulty or network distance, and both are configuration changes rather than capital expenditure. Log the reject rate weekly, and revisit only when it moves more than half a percentage point.

Data and sources: ViaBTC fee schedule and payout methods[1][2], ViaBTC earnings calculator[3]. Network difficulty 132.76 T, network hashrate, the 3.125 BTC block subsidy, 144 blocks per day and a BTC price of $84,692 were read from public chain data and market feeds on 21 September 2026. Figures are illustrative own calculations, not forecasts.