08 / 13

Chapter 08 · Beginner guide

The 194-second heartbeat

Why blocks need a steady pace, and how Pearl keeps it

Mining power on Pearl never sits still. New GPUs switch on, others switch off, whole mining pools appear overnight.

Yet blocks keep arriving at roughly the same pace: about one every 194 seconds on average. This page is about the rule that holds that rhythm.

Why does the pace matter?

Imagine the mining power doubled and nothing adjusted. Blocks would arrive twice as fast. Too fast, and two miners would more often find blocks at the same moment, wasting work on branches that get dropped.

Imagine it halved instead. Blocks would come twice as slowly, and every payment would wait twice as long for its first confirmation.

There’s a third reason. Pearl’s coin schedule is written in blocks, not days. Half of all PRL will have been created by block 650,226, and that works out to about four years only if blocks average 194 seconds.

Why 194 seconds?

194 seconds is 3 minutes 14 seconds. That’s about three times faster than Bitcoin’s 10 minutes, so payments get their first confirmation sooner.

Written as 3:14, it also looks a lot like the first digits of π. The code doesn’t explain the choice, so that may just be a nice coincidence.

What is difficulty?

Recall the mining lottery: a ticket wins if it comes in under a number called the target. The lower the target, the rarer a winning ticket, and the harder mining becomes.

The target is written in every block header in a compact form called bits. Because targets are huge, awkward numbers, people usually talk about difficulty instead: how many times harder winning is now than at the easiest setting Pearl allows, which is difficulty 1.

Pearl’s first block started at difficulty 1. On 2026-10-20, the difficulty was about 40,157,376. Right now it is 40.16 million.

How does Pearl adjust it?

After every single block, Pearl looks at how long that block took and nudges the target:

  • Slower than 194 seconds? The target rises a little, so the next block is slightly easier.
  • Faster? The target drops a little, so the next block is slightly harder.
  • Exactly on time? Nothing changes.

The nudges are tiny. A block that takes 300 seconds, 106 seconds late, eases the target by only about 0.0175 percent. That’s 106 divided by 604,800, the number of seconds in a week.

That week is the rule’s time constant. The target only moves a lot when blocks are late or early, on balance, by a total of days, not minutes. One unlucky block barely registers; a real change in mining power shows up steadily.

The rule is called WTEMA, short for weighted-target exponential moving average. Think of a ship’s captain making small, steady corrections to the wheel instead of yanking it every time a wave hits.

Try it yourself: change the mining power and watch how block times and the target react.

WTEMA simulator

Hashrate jumps; the target follows, a little after every block

Simulation Blocks arrive at random, as on the real network, but the hashrate and timeline are made up. Times are random draws, not chain data.

Demo run · Block 8,064 of 8,064 day 17.1 WTEMA avg 232 s · diff ×1.15 Bitcoin-style avg 272 s · diff ×1.36

After 8,064 blocks: hashrate ×1.00. WTEMA: last 144 blocks averaged 232 s, difficulty ×1.15. Bitcoin-style: 272 s, difficulty ×1.36.

This demo doubles the hashrate at block 1,500 and drops it back at 5,000. WTEMA starts correcting with the very next block and closes the gap smoothly, about 63% of it per week of clock time (its one-week time constant). The 2,016-block rule does nothing until its window ends, then jumps all at once, and lags again when the hashrate changes back: blocks run slow until its next window ends.

One step, exactly as pearld does it

The chart uses floating point for speed. pearld uses whole numbers: new target = old + ⌊(t − 194) × old ÷ 604,800⌋, clamped to [1, PowLimit], then rounded into bits.

old target
0x6af3a60000000000000000000000000000000000000000
t − T
300 − 194 = 106 s
adjustment
⌊106 × old ÷ 604,800⌋ = 0x4cc76689133bde689133bde689133bde689133bde68
new target
0x6af87276689133bde689133bde689133bde689133bde68
next bits
0x176af3a6 → 0x176af872
difficulty
40,157,376.49334089 → 40,150,342.21117200 (-0.0175%)

Slower than 194 s, so the target rises a little: the next block gets slightly easier. One block moves it by a fraction of a percent, but the steps compound: if blocks run late by 604,800 seconds in total (one week), the target grows by a factor of about e ≈ 2.72.

Runs in your browser · simulated, not chain data src/lib/wtema.ts · T = 194 s, τ = 604,800 s

What stops miners from faking the time?

If miners could write any time they liked into a block, they could pretend blocks were slow and make mining easier for themselves. So every node enforces two limits on a block’s timestamp:

  • It must be at least 1 second after the previous block’s.
  • It must be no more than 5 minutes ahead of the network’s clock.

Together with the slow, one-week reaction, that leaves very little room to game the clock.

Make a guess

Three blocks in a row arrive just 30 seconds apart. What happens to the difficulty?

Think of your answer first, then check it.

Answer It rises a tiny bit after each one.

Each quick block makes the target slightly lower, so the difficulty creeps up. But each step is only a few hundredths of a percent, so three fast blocks barely change anything. Only a sustained run of fast blocks pushes the difficulty up noticeably.

Is it working?

Mostly, yes. Over the 144 blocks before 2026-10-20, blocks averaged 174.3 seconds, a bit quicker than the 194-second goal. The average right now is 174.3 seconds.

That’s what a gentle rule looks like in practice. When mining power keeps growing, the target trails a little behind, and blocks run slightly fast until it catches up. Individual gaps also vary a lot: a lottery doesn’t produce a winner on a schedule, only on average.

A steady heartbeat also keeps the money supply on schedule. The next page shows how many new coins each beat creates.

Beginner guide

Suggested

Up and down arrows move through the results, Enter opens one, Escape closes. Anywhere on the site, slash or Command K opens this search, and the square brackets [ and ] go to the previous and next page.