Chain liveness & slot cadence

Cardano Block Cadence & Chain Liveness Telemetry

How far apart consecutive blocks were minted, and what share of the slots that could have produced one actually did. Ouroboros Praos draws block slots at random, so a 20 s mean arrives as an exponential spread: half of all gaps fall under 14 s and one in eight runs past 40 s. Peer-to-peer propagation delay is not measured in this deployment — it needs a node that timestamps block arrivals, and neither Blockfrost nor Koios expose an arrival time.

Mean block spacing · 24 h summary
-- liveness --
Slots are 1 s long; at f = 0.05 one slot in twenty is drawn
P95 Block Spacing (1h)
--
Top 5% of gaps
Block Size Ø (1h)
--
--
Script Memory Ø (1h)
--
Per Plutus block
Longest Gap (24h)
--
largest inter-block gap in the window

Interval regime & tail quantiles

The bar is the share of gaps measured in the observed hour; the tick is the share an exponential 20 s wait puts in the same band. The distance between them is the reading — not the bar.

Fast < 10 s --

expected 39.3%

Nominal 10–20 s --

expected 23.9%

Slower 20–30 s --

expected 14.5%

Gap ≥ 30 s --

expected 22.3%

Median gap (p50, 1 h) --
Interval jitter (σ, 1 h) --
Sampled (1 h) --

Block interval distribution

Share of gaps per 5-second bin. The dashed marker is what an exponential 20 s wait puts in the same bin — reading the two together is the whole point.

Overlay

Reading the sample…

Quantiles vs. the closed form

Quantile Observed Theory difference from theory
Mean interval -- 20.0 s --
90th percentile -- 46.1 s --
95th percentile -- 59.9 s --
Dispersion (σ / μ) -- 1.00 --

no sample to compare

no sample to judge against

The theory column is the protocol's own arithmetic, not a measurement: for a memoryless wait the median is λ ln 2, so half of all gaps land below 13.9 s even though the mean is 20 s. Δ is observed minus theory; only a difference the sample can resolve is tinted, and each statistic carries its own standard error at this sample size.

Empty slots & back-to-back blocks

Slots with no block -- no slot numbers in this sample
Back-to-back blocks -- no slot numbers in this sample
Longest empty run -- no slot numbers in this sample

Read off the blocks' absolute slot numbers, so this is a count of slots rather than an estimate from timestamps. Empty slots are the normal case: at f = 0.05 nineteen slots in twenty draw nobody.

How heavy the tail is

Gaps ≥ 40 s -- reading the sample…
Gaps ≥ 60 s -- reading the sample…
Gaps ≥ 120 s -- reading the sample…

The tail is where a cadence page earns its keep. A two-minute gap sounds alarming and is ordinary: at a 20 s mean one gap in 404 runs that long, so the share is compared against the frequency the protocol expects.

Block spacing timeline (1h)

Every inter-block gap of the sampled hour, in mint order. The line is expected to be spiky: most gaps sit well below 20 s and a few stand far above it.

Blocks per hour

The same cadence over days instead of an hour, against the 180 blocks a full hour of slots allows. An hour with no counted row stays blank rather than drawn as zero.

Loading hourly rollups...

Recent block cadence & slot intervals

Minting slot leader, byte payload, transaction count, consumed script memory and the spacing to the previous block. Click any SPO to open its full stake pool telemetry.

Recent blocks
Block / Slot Slot Leader (SPO) Block Size Script Memory Interval
Fetching live block telemetry...

How to read this page

Every figure here is either measured from on-chain block timestamps and slot numbers, or it is the protocol's own arithmetic and says so. Nothing is modelled, and nothing is estimated from a sampling of other nodes.

Ouroboros Praos slot timing

Slots are one second long and each slot's leader is drawn independently by a VRF with an active slot coefficient f = 0.05. Roughly one slot in twenty produces a block, which makes the wait between blocks geometric in slots and exponential in time: a 20 s mean, a 13.9 s median, and no fixed interval at all.

Why short and long gaps both happen

A short gap means two consecutive slots were both drawn; a long gap means a run of slots drew nobody. Both are the lottery working. A sustained run of long gaps is different: it shows up as the longest gap and as liveness (blocks produced divided by slots expected) falling below the 100 % the protocol allows.

What this page does not measure

Peer-to-peer propagation delay is not measured here, because no arrival time is recorded anywhere in this deployment (the propagation_delay column is empty in every row) and neither Blockfrost nor Koios exposes one. Orphaned and forked blocks are also absent: no indexer reports them. Both are left out rather than estimated.

Reference anchors & live protocol values

The slot length and f are protocol constants rather than API fields: neither Blockfrost's /epochs/latest/parameters nor Koios' /epoch_params exposes active_slot_coeff or slot_length, so the 20-second expectation is arithmetic on the protocol value and not a live reading. The block-size limit and the epoch block count are read live.

Anchor Value Source
Expected mean spacing 20 s slot length 1 s ÷ f = 0.05 protocol constant
Expected median spacing 13.9 s ln(2) × 20 s (skewed exponential distribution) protocol constant
Measured median spacing (1 h) -- median inter-block interval in the observed window
Poisson randomness CV (σ / μ) 1.00 theoretical coefficient of variation for memoryless lottery statistical
Measured CV (1 h) -- observed dispersion across recent blocks
Expected blocks per hour 180 3,600 slots × f protocol constant
Expected blocks per epoch 21,600 432,000 slots × f protocol constant
Maximum block size -- live protocol parameters live
Mean block size (1 h) -- measured against the live size limit
Blocks this epoch -- Blockfrost epoch summary, cached live

Epoch block count unavailable.