Time Til Next Block

Last block: loading...

Percent of blocks found by now: loading...

Next tier: loading...

More info: loading...

What is going on?

This is a bitcoin block time visualizer. In the world of bitcoin, users create lots of transactions every second, and bitcoin miners collect them together into batches called blocks, which they then add to the blockchain. Getting your transaction into a block on the blockchain is called getting it settled. Transactions can be canceled until they are settled so wallets (especially merchant wallets) typically don't consider them "legit" until they see them settle. New blocks/settlements happen *on average* every 10 minutes, but that number is not reliable, it's only an average. Typical times are a semi-random number of minutes between 1 and 60 and they average toward 10 *over time.*

Bitcoiners who use their wallet daily (like myself) frequently find themselves "stuck" waiting for a transaction to settle, refreshing their wallet constantly, even when their wallet says to please not do that. Wallet developers struggle to find ways to inform users of what's happening in a way that feels like miners are making progress. Ordinary progress bars don't suffice here because they need a solid target, and the target here is an unknown number likely-but-not-necessarily between 1 and 60.

However, statistical analysis of the blockchain, as well as a bit of number theory, has allowed bitcoin researchers to glean some *hard numbers* about how long it usually takes miners to find blocks. I call the following set of hard numbers "tiers," and this progress bar counts progress toward them:

The tiers

  1. 10% of blocks are mined within 1 minute 4 seconds
  2. 25% of blocks are mined within 2 minutes 53 seconds
  3. 50% of blocks are mined within 6 minutes 56 seconds
  4. 75% of blocks are mined within 13 minutes 52 seconds
  5. 90% of blocks are mined within 23 minutes 2 seconds
  6. 95% of blocks are mined within 29 minutes 56 seconds
  7. 97.5% of blocks are mined within 36 minutes 53 seconds
  8. 99% of blocks are mined within 46 minutes 6 seconds
  9. And so on

Since we have these hard numbers which nearly approach 100%, I made progress bars out of them. The tiers also have minute-and-second numbers associated with them so I use those to show a relatively smooth incrementation that at least makes it *feel like* miners are making measurable progress toward finding the next block.

The formula

The tiers are based on the following formula: 1 - e^(-1)

The number -1 is what you modify to calculate the tiers. -1 means a period of 10 minutes. -2 means a period of 20 minutes, and so on. It also works for decimals: -0.4 means a period of 4 minutes, -0.5 means a period of 5 minutes, and so on. To get the formula to give me "round percentages" I made this javascript version: ( 1 - Math.E**(-num_of_seconds / ( 10 * 60 ) ) ) * 100 -- and I modify the variable num_of_seconds til I get a percentage like 10% or 25% or whatever I want.