The block explorer is back online and showing current Zcash network data
You are viewing Zcash Testnet. Testnet coins have no value.
⚒

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 (every 25 seconds from the NU7 network upgrade). 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 ÷ target block spacing

The 8,192 factor (213) is how many Equihash solutions one unit of difficulty represents on mainnet. It comes from the network's easiest allowed target (its proof-of-work limit). Testnet's limit is 256 times easier, so there the factor is 32 (25).

The target block spacing is 75 seconds, and 25 seconds from the NU7 upgrade, which trades three times as many blocks for a third of the difficulty. 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 Pools page, we don't just plot one number per block. Instead, we group blocks into time buckets, add up the work mined in each bucket (difficulty × 8,192 per block), and divide by the time those blocks actually took:

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 smooths out the natural variance in individual block times. A single block might take 30 seconds or 3 minutes, but over many blocks in a bucket, the trend is clear. Measuring the real elapsed time also means a bucket that spans the NU7 change from 75 to 25 seconds needs no special handling.

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 Pool Ranking 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.
  • Blocks don't always arrive on target. The headline estimate assumes blocks arrive at the target spacing. When they run far off it, as testnet often does after big swings in mining power, we divide the work mined by the time it actually took instead, and label the estimate “observed pace”.
  • Difficulty adjusts per-block on Zcash. Rather than adjusting on a fixed schedule, 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.

This content is for educational purposes only and does not constitute financial or investment advice. While we strive for accuracy, information may be outdated or incomplete. This site is independently operated and is not affiliated with the Zcash Foundation. Always verify information through official Zcash documentation before making decisions.