How Solrate Is Estimated

Solrate is Zcash's term for hashrate. Like hashrate, it can be inferred from block difficulty. This guide explains the math, how we build the charts, and why the numbers are estimates.

Why it's an estimate

No one can observe every miner on the Zcash network. Miners connect and disconnect freely, run different hardware at varying speeds, and are distributed across the globe. There's no central registry of mining power.

Instead, we work backwards from something the network does reveal: difficulty. Zcash is designed so that new blocks are found roughly every 75 seconds on average. To maintain this pace, the network automatically adjusts difficulty after every block. When more miners join and blocks are found too quickly, difficulty increases. When miners leave and blocks slow down, difficulty decreases.

Because difficulty tracks how hard it is to find a block, and we know the target block rate, we can reverse-engineer the total computational power.

The formula

Here's the formula:

Estimated Solrate = Difficulty × 8,192 ÷ 75

The 8,192 factor (213) comes from the Equihash mining algorithm that Zcash uses. 75 is the target block spacing in seconds. The result is expressed in solutions per second (Sol/s).

Because the numbers are large, you'll see them abbreviated throughout the explorer:

  • KSol/s: thousands (103)
  • MSol/s: millions (106)
  • GSol/s: billions (109). Most common for the current network.
  • TSol/s: trillions (1012)

Building the charts

When you view solrate over time on the Mining page, we don't just plot one number per block. Instead, we group blocks into time buckets and average the difficulty within each bucket:

72M68M64MDifficulty12:0013:0014:0015:0068.2M70.0M66.7M68.6MIndividual block difficultiesAveraged per bucket → becomes one chart pointIllustrative, not real network data

The bucket width depends on the time range you've selected:

  • 24 hours: hourly buckets
  • 1 week: 4-hour buckets
  • 1 month: daily buckets
  • 3 months: daily buckets
  • 1 year / all time: weekly buckets

This averaging smooths out the natural variance in individual block times. A single block might take 30 seconds or 3 minutes, but averaged over many blocks in a bucket, the trend is clear.

Per-pool solrate

For individual mining pools, we take it one step further. Within each time period, we look at which pool mined each block, identified by signatures pools leave in each block. A pool's estimated solrate is then proportional to their share of blocks:

Pool Solrate = (Blocks Found by Pool ÷ Total Blocks) × Network Solrate
100 blocks in period — network solrate: 5.00 GSol/sPool A (30%)Pool B (45%)Pool C (15%)10%Pool A: 30 blocks ÷ 100 total × 5.00 GSol/s = 1.50 GSol/sPool B: 45 blocks ÷ 100 total × 5.00 GSol/s = 2.25 GSol/sPool C: 15 blocks ÷ 100 total × 5.00 GSol/s = 0.75 GSol/sUnknown: 10 blocks ÷ 100 total × 5.00 GSol/s = 0.50 GSol/s

You can see per-pool estimated solrates on the Pools page (24-hour view) and on individual pool detail pages. These are labeled "Est. Solrate" to make it clear they are estimates.

Important caveats

  • This is an estimate, not a measurement. The actual solrate fluctuates moment to moment, but difficulty adjustments smooth this out over time.
  • Only confirmed blocks are counted. Orphaned or stale blocks (which didn't make it into the final blockchain) are excluded from the calculation.
  • Pool attribution relies on identification. Blocks from miners who don't leave identifiable signatures show up as "Unknown" on the Pools page.
  • Short-term variance is normal. Over small time windows, a pool might find more or fewer blocks than their solrate would predict, just like flipping a coin doesn't always give you exactly 50/50. The estimates become more accurate over longer periods.
  • Difficulty adjusts per-block on Zcash. Unlike Bitcoin's 2-week adjustment cycles, Zcash uses a smoothing algorithm that adjusts difficulty with every block, so the solrate estimate is responsive but short-term spikes in difficulty can appear in the data.