How VeChainThor makes a block final

Up to 101 staked validators take turns in a seeded, stake-weighted order. One block every 10 seconds; one bit in each header votes an epoch of 180 blocks final.

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

    pending transaction this slot's proposer vote, or finalised base fee burned signed the latest block succeeded, or finalised reverted, fee still paid has signed a block this epoch arc: share of stake weight that has signed
    Transaction kinds, by share of each block Waiting for the first block
    How this is counted

    Every transaction in a block counts once. A transaction with two or more clauses is "multi-clause" whatever the clauses do. Otherwise it's a VET transfer (value, no data), a VTHO transfer (a call to the Energy contract), or a contract call. Fee-delegated transactions are counted in the summary separately, since delegation is about who pays, not what the transaction does.

      Transaction kinds in each block since you connected
      BlockTransactions per kind
      Transactions per block Waiting for the first block
      • succeeded
      • reverted (included, fee paid)
      • before you connected

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

      Transactions in each recent block
      BlockTransactionsSucceededRevertedSigned
      Block chain 0 tx in latest block 0.00 VTHO burned 0 validators final 0 of 0

        The parts that make this work

        From known identities to staked validators

        For seven years VeChainThor ran Proof of Authority: 101 Authority Masternodes, each a named organisation vetted by the VeChain Foundation, took turns in a pseudo-random order. Their reputation, not a deposit, was what they risked. The Hayabusa hard fork, activated on 2 December 2025 at block 23,414,400, replaced that with a weighted delegated proof of stake. Anyone who locks 25 million VET in the Staker built-in contract can join the validator set, which is capped at 101. Today 100 are active, with about 14.3 billion VET locked between them.

        Who proposes the next block

        There is no race. Once a day the network takes the VRF output written into a block header and uses it as a seed; that seed and the parent block's number feed a deterministic, stake-weighted draw that every node computes identically. The result is an ordered list of proposers for the coming 10-second slot. The first in line signs the block; if it misses its slot, the next in line takes over and the absentee is marked offline until it proposes again. Because the seed comes from a VRF, no validator can steer it toward itself.

        Finality with one bit

        VeChain's finality gadget, "Finality with One Bit" (VIP-220), went live on 17 November 2022 as the last stage of Proof of Authority 2.0, and carried over to staking. Blocks are grouped into epochs of 180, and the first block of each is its checkpoint. Signing a block is a vote in that epoch, and every header carries one extra bit, com, the signer's commit vote. Once validators holding more than two thirds of the stake weight have signed in an epoch, it is justified; the justified checkpoint before it then becomes final. In practice a block is final 60 to 90 minutes after it was made. The network never stalls waiting for votes: blocks keep coming and finality catches up behind them.

        Two tokens, many clauses

        VET is the asset you stake or hold; VTHO is what you spend on gas. Since Hayabusa, VTHO is no longer generated by simply holding VET: it is minted each block in proportion to the square root of the VET staked, about 2,900 VTHO per block at today's stake, and paid to validators and their delegators. A transaction bundles any number of clauses, each with its own recipient, value and data, executed together or not at all. Fee delegation lets a designated gas payer settle the VTHO, which is why so many transactions here list a delegator.

        What a transaction costs

        Since the Galactica upgrade, fees work like Ethereum's EIP-1559: a base fee per unit of gas, currently 0.00001 VTHO, rises and falls with demand and is burned in full. Whatever a transaction pays above it is the tip, and the receipt reports it as the block signer's reward. Older-style transactions still use a gas price coefficient from 0 to 255, which sets the price at the base fee times one plus the coefficient over 255; the excess is again the tip. A reverted transaction stays in the block and pays its gas.

        What live mode shows

        Live mode polls a public VeChainThor node's REST API every three seconds. Each block is real: its number, signer, gas, transaction count, how many reverted, and whether it lies at or below the finalised height. The validator ring is read from the Staker contract, one node per active validator, sized by its stake weight; the node that lit up amber is the real signer of the newest block. The VTHO burned is summed from each receipt as the amount paid minus the signer's reward. The feed types real transactions by their clauses. Justified and finalised heights come straight from the node.

        What the animation simplifies

        The step-by-step model shows the proposer draw, the vote and the epoch as separate moments; in the protocol they overlap, and a vote is just a bit in a header the proposer was signing anyway. Justification is weighed by stake, and the weights shown are the current period's; delegations change them every period. The seed is taken from a block one day old, which the model does not draw. Read the VeChain documentation and the vechain/thor source for the full rules.