How Polkadot produces and finalises a block

A secret lottery picks who writes each six-second relay block. Parachain blocks ride inside it, get checked by random validators, and a separate vote makes the chain final a few blocks later.

Read how it works

Click a step on the right, or use the arrow keys, to jump to it. Move your mouse to shift the view.

Just included on the relay chain

    parachain block (candidate) slot leader, backing signature, prevote erasure-coded chunk block author, GRANDPA prevote availability bitfields precommit, finalised hollow block: best chain, not final yet
    Parachain blocks by chain Waiting for the first block
    How this is counted

    Each column is one relay block, and each segment a parachain's share of the candidates backed in it. A chain with several candidates in one relay block is using elastic scaling across several cores. Read from the parachain inherent, paraInherent.enter.

      Parachain candidates backed in each relay block
      BlockCandidates per parachain
      Parachain blocks backed per relay block Waiting for the first block
      • finalised
      • best chain, not final yet

      Use the left and right arrow keys to read each block's counts.

      Recent relay blocks
      BlockParachain blocks backedExtrinsicsSignedStatusTime
      Relay chain 0 extrinsics in latest block head 0, final 0 (0) 600 validators era 0, session 0 of 6

        The parts that make this work

        Nominated proof of stake

        Anyone can offer to validate. Nominators bond DOT behind up to 16 validators they trust, and once per 24-hour era an election based on Phragmén's method picks 600 active validators, spreading the backing stake as evenly as it can. Eras split into six four-hour sessions. Since the Asset Hub migration in November 2025, balances, staking and the election run on the Asset Hub system chain, which hands the relay chain its validator set. Unbonding takes 28 days. A validator that equivocates or backs an invalid parachain block is slashed, and so are the nominators behind it.

        BABE: slots and a secret lottery

        BABE splits time into 6-second slots and 2,400-slot epochs, four hours each. In every slot each validator evaluates a VRF over the epoch's randomness. If the output falls under a threshold, it wins a primary slot and can prove it to everyone afterwards, but no one could have known beforehand, which makes the next author hard to target. Some slots have several winners, which forks the chain briefly. Others have none, and then a secondary author, derived from the epoch randomness so everyone can compute it, fills them, so no slot is left empty. A successor, SAFROLE, which avoids these forks with ring-VRF tickets, is planned for JAM, not for today's relay chain.

        GRANDPA: finality on chains, not blocks

        BABE alone only gives probabilistic finality, like Bitcoin. GRANDPA runs beside it: in each round validators prevote and then precommit for the highest block they see on the best chain. A vote for a block is also a vote for all its ancestors, so when more than two-thirds of validators (401 of 600) precommit to chains containing a block, that whole stretch is final in one step. Finality is deterministic: a finalised block is never reverted, even if the network splits. It normally trails the head by two to five blocks, about 12 to 30 seconds. If the network is partitioned it can stall while blocks keep coming, and catches up at once when it heals.

        Parachains: backing, availability, approval

        The relay chain doesn't run parachain logic. It makes sure their blocks are valid, through a protocol published as ELVES. Validators are split into backing groups of five, one per core, and rotate between cores every 10 blocks. A candidate needs backing signatures before an author can put it on chain. Then it must become available: the block is erasure-coded into one chunk per validator, and more than two-thirds of validators must confirm they hold theirs. Finally about 30 approval checkers, chosen by secret VRF draws, re-execute it. If any finds it invalid, a dispute brings in every validator and the backers who signed it lose stake.

        Async backing, agile coretime, elastic scaling

        Asynchronous backing, live since May 2024, lets collators build the next parachain block before the last one is included. That halved parachain block times from 12 to 6 seconds and gives each block 2 seconds of execution. Agile coretime, live since September 2024, replaced two-year slot auctions: chains buy bulk coretime in 28-day regions from the Coretime system chain, or pay per block on demand. The relay chain currently schedules 100 cores. Elastic scaling lets one chain use several cores at once, so it gets several blocks into each relay block, and some chains now use ten or more. JAM, the planned redesign behind "Polkadot 3.0", runs on test networks. At the time of writing it isn't on mainnet, and moving to it needs an on-chain referendum.

        Fees and DOT

        A transaction's fee is a base fee, plus a charge for its length in bytes, plus a charge for its weight (the execution time it's benchmarked to take), scaled by a multiplier that rises when blocks are full. An optional tip goes on top. On the relay chain 80 % of the fee goes to the treasury and 20 %, plus any tip, to the block author. An account needs an existential deposit to exist: 1 DOT on the relay chain, 0.01 DOT on Asset Hub, where most accounts now live. New DOT funds staking rewards and the treasury. Referendum 1710 in 2025 capped total supply at 2.1 billion DOT. From 14 March 2026 issuance fell from about 120 million DOT a year to less than half of that, and it steps down again every two years.

        What live mode shows

        Live mode opens a WebSocket to a public Polkadot node and subscribes to new and finalised heads. For each block it fetches the body and events, and decodes them with the chain's own metadata using the @polkadot/types library. The block numbers, hashes, authors, extrinsics, backed parachain candidates (from paraInherent.enter), bitfield counts, head and finalised heights, and session and era progress are all real. So are the GRANDPA vote weights, polled from grandpa_roundState. Since balances and staking moved to Asset Hub, the relay chain carries few signed transactions, and most blocks hold just the two inherents, the timestamp and the parachain data. The 24 dots each stand for 25 of the 600 validators, and parachain islands are drawn for the five chains with the most recent candidates.

        What the animation simplifies

        In reality all of this overlaps. While one block is being authored, candidates from earlier blocks are still becoming available and being approved, and GRANDPA rounds run continuously. Backing groups here have three validators, not five, and the chunks, approval checkers and vote counts are illustrative in step-by-step mode. Approval votes and chunk exchange never reach the chain, so live mode can't show them. Read the Polkadot wiki on consensus for the full protocol.