Reading Rejected Shares on a BTC-Only Pool Dashboard

When a client called us about “pool luck” last spring, their dashboard showed 4.2% rejected shares across four identical units. Pool variance does not cluster that tightly โ something local was wrong.
Step one: match firmware profiles
We remote-checked each unit. Two ran a custom overclock from a Telegram profile; two ran stock. Comparing them was meaningless until all four matched. After reflashing to factory, rejections on three units dropped under 0.8%.
Step two: clock drift and network
Stale shares spiked every time their cheap switch rebooted. Replacing the switch was cheaper than RMAing boards that were never faulty.
Step three: board-level isolation
The remaining unit still rejected 3.1%. Lab swap of hash board three confirmed a failing ASIC chain. Client used our serial photos in a warranty claim.
Takeaway
Log rejected share rate per unit, not farm average. A single outlier in a homogeneous row is almost never the pool’s fault.