Definition
Vardiff, short for variable difficulty, is the system a mining pool uses to automatically set and adjust the share difficulty assigned to each connected miner. Rather than handing every device the same target, the pool raises or lowers your personal target based on how fast you find shares, aiming for a steady submission cadence regardless of whether you run a tiny hobby board or a large fleet. It is one of the quiet mechanisms that lets the same pool serve a Bitaxe at a few hundred gigahashes and an industrial container at hundreds of petahashes.
Why pools use vardiff
A good difficulty has two jobs. It must be easy enough that your miner submits shares regularly, so the pool can estimate your hashrate accurately and pay you smoothly. It must also be hard enough that the pool is not flooded with submissions from thousands of workers, which would waste server resources and bandwidth. Vardiff balances these by targeting a steady share rate — commonly on the order of one share every few seconds to every half minute, depending on the pool — scaling the target up for powerful machines and down for small ones. Without it, a pool would have to pick a single compromise difficulty that spams its servers from big farms while starving small miners of the feedback and payout granularity that regular shares provide.
How the adjustment travels over Stratum
On Stratum V1, the pool pushes a mining.set_difficulty notification to the miner, carrying a single scalar difficulty value; the new value applies to jobs delivered after it, and the miner filters its own results locally, only submitting hashes that clear the target. Stratum V2 replaces this with the SetTarget message, which sends a full 256-bit target rather than a scalar difficulty — a cleaner encoding of the same idea. Either way, the loop is continuous: the pool watches your actual share arrival rate, and when it drifts away from the target cadence, it nudges your difficulty up or down until the rate settles.
What miners see on the dashboard
When vardiff raises your difficulty, you submit fewer but heavier shares; your expected payout is unchanged because each share counts proportionally more — a share at difficulty 65,536 is worth exactly as much as 65,536 shares at difficulty 1. During the brief moment a difficulty change takes effect, a small burst of rejected or stale shares is normal as the miner catches up to the new target; sustained rejects are a different problem worth investigating. Vardiff also explains why your pool-side hashrate graph looks jumpier at high difficulty: with fewer shares per hour, each one moves the estimate more, so short-term wobble on the chart is usually statistics, not hardware. Low-power devices especially benefit, because vardiff prevents them from spamming easy shares while still giving them enough submissions to prove their work. Some pools additionally let you pin a fixed or minimum difficulty via the password field — useful for share-log analysis or fleet monitoring — but for most operators the automatic behaviour is exactly what you want.
Tuning notes from the field
A few practical habits make vardiff work for you rather than against you. When benchmarking a machine after repair or firmware changes, give the pool-side graph several hours to settle — the first stretch after connection reflects the vardiff ramp as much as the hardware, and judging a fresh connection by its first thirty minutes is a classic false alarm. If you run mixed fleets, expect wildly different assigned difficulties between machine classes on the same account; that is the system working, not a misconfiguration. And when a pool's assigned difficulty seems permanently mismatched to a very small device, check whether the pool documents a minimum difficulty floor — some do, and a floor set above a tiny miner's natural share rate produces the long silent gaps between shares that new Bitaxe owners often mistake for a fault.
The value vardiff is tuning is the worker's share difficulty, and transient changes can momentarily bump your reject rate.
In Simple Terms
Vardiff, short for variable difficulty, is the system a mining pool uses to automatically set and adjust the share difficulty assigned to each connected miner.…
