How IOTA commits a checkpoint

No coordinator, no single chain of blocks. Validators chosen by stake each publish a block many times a second, link them into a graph, and read the agreement out of the graph itself.

Read how it works

Click a step on the right, or use the arrow keys, to jump to it. Hover a validator to see its stake.

Just checkpointed

    transaction waiting for a block block in the DAG leader block, votes, certificates certified or committed submitted, not yet in a checkpoint consensus round, drawn for 16 of the validators (blocks aren't published) in a checkpoint, final in a checkpoint but failed, gas still paid
    Transaction kinds, by share of each checkpoint Waiting for the first full second
    How this is counted

    Mainnet seals about five checkpoints a second, so live mode groups them by the second: each column is one second and every transaction in its checkpoints counts once. Consensus commits are the system transactions that mark each committed leader; the rest are user transactions grouped by what they do: Move calls, coin transfers, staking, package publishing, and other system work such as randomness updates. On a quiet network most rows are consensus commits.

      Transaction kinds in each second's checkpoints since you connected
      CheckpointsTransactions per kind
      Transactions per checkpoint Waiting for the first checkpoint
      • succeeded
      • failed, gas still paid
      • before you connected

      Use the left and right arrow keys to read each column's count. In live mode a column is one second of checkpoints.

      Transactions in each recent checkpoint, or each second of checkpoints in live mode
      CheckpointsTransactionsSucceededFailedSealed
      Checkpoints 0 tx in latest checkpoint 0.000 IOTA burned so far 16 validators, 0 IOTA staked epoch 0, 0 % through

        The parts that make this work

        From the Tangle to Rebased

        IOTA's original ledger, the Tangle, was a graph of transactions rather than a chain: each new transaction approved two earlier ones, and there were no fees. It never ran without help, though. A Coordinator node run by the IOTA Foundation issued signed milestones that decided what was final, through the Chrysalis (2021) and Stardust (2023) versions of the protocol, and the plan to remove it, Coordicide, was tested but never shipped to mainnet. On 5 May 2025 the network was replaced instead: IOTA Rebased is a new Move-based, object-centric ledger derived from Sui's design, with delegated proof of stake, gas fees, and no Coordinator. The graph survived, but it's now a graph of validator blocks, not of user transactions.

        A DAG of blocks, not a chain

        In a chain one block is proposed at a time, so bandwidth and latency are bounded by one proposer. Here every validator proposes a block every round, and each block references at least 2f + 1 blocks of the previous round, where f is the largest number of faulty validators the network tolerates, a third of the stake. Because of the references, receiving a block means learning what its author had seen, and a leader block's committed history brings in every other validator's blocks along with it. The consensus engine that does this was Mysticeti at launch and, since April 2026, Starfish, an evolution of it by the IOTA Foundation that keeps the same DAG and commit rule but ships block headers separately from their payload, so a validator that falls behind never stalls the others.

        Why nobody sends a vote

        Classic Byzantine agreement spends round trips on proposals, votes and vote certificates. In an uncertified DAG those messages are all implied by the blocks themselves: a block that references the leader is a vote, a block whose history holds 2f + 1 votes is a certificate, and 2f + 1 certificates commit the leader. The leader for each round is known in advance, so there is no election. If a leader is slow or absent, 2f + 1 blocks that don't reference it skip its slot, and if the pattern is inconclusive a later committed leader decides it indirectly. Starfish's whitepaper adds a "push" rule that makes every validator publish its own block before moving on, which is what makes the liveness proof go through.

        Fast path and consensus path

        Everything on the ledger is an object, and each object is either owned by one address or shared. A transaction that touches only owned objects can't conflict with anyone else's, so validators sign it as soon as they see it; a certificate of signatures from more than two thirds of the stake makes it final without waiting for consensus. Transactions on shared objects must be sequenced by the DAG first, because their order changes the result. Both kinds end up in checkpoints, which is what full nodes and explorers read.

        Finality in under a second

        A committed leader is final: the quorum-intersection argument means no honest validator can ever commit a conflicting order. On mainnet a new consensus round begins several times a second and checkpoints are sealed roughly every 200 milliseconds, each covering the commits since the last one. The IOTA Foundation reports that the Starfish upgrade brought 99th-percentile commit latency from about 486 ms to about 312 ms. Owned-object transactions on the fast path are final as soon as their certificate exists.

        Validators, staking and epochs

        Anyone with at least 2 million IOTA staked to them can join the validator set, which is capped at 150; in September 2026 there are 63 active validators with about 2.4 billion IOTA staked. Voting power follows stake, and a validator whose stake falls below 1.5 million IOTA is given seven epochs to recover. Epochs last 24 hours. At each boundary the committee is recomputed, and 767,000 newly minted IOTA plus any tips are distributed to the staking pools in proportion to stake, less a commission of at most 20 %.

        What a transaction costs

        Gas is priced in nanos, a billionth of an IOTA. Validators set the reference gas price each epoch, 1,000 nanos per computation unit at present, and a simple transfer costs roughly 0.001 to 0.005 IOTA. Everything paid at the reference price is burned; anything above it is a tip to the validators. Storing new objects also takes a deposit, which is refunded in full when the object is deleted. A transaction that fails still pays its computation gas.

        What live mode shows

        Live mode polls the public IOTA mainnet JSON-RPC once a second for new checkpoints and fetches their transactions. Mainnet seals about five checkpoints and commits about twenty consensus rounds every second, more than an animation can show one at a time, so live mode generalises: the strip and the charts group checkpoints by the second, each card giving the range of sequence numbers, the count and the last digest, and the DAG rises a couple of rounds a second, each visual round standing for the real rounds committed since the one before, with the latest real round number on the open card. Blocks and their references aren't published, so the live DAG is drawn schematically for the sixteen largest stakes rather than all sixty-odd validators. Every dot is still a real transaction flying into the checkpoint that sealed it, coloured by whether it succeeded, and the feed shows its digest and kind. The validator ring is the current committee, sized by stake. Which validator a transaction was sent to, and which blocks voted for which leader, aren't published, so those parts stay schematic.

        What the animation simplifies

        Sixteen validators stand in for the real committee, so f is 5 and a quorum is 11; the real network has more and weights every quorum by stake. Rounds here take seconds rather than tens of milliseconds, the leader always gets its votes, and Starfish's payload acknowledgements, erasure-coded fragments and data-availability certificates, which add rounds between a block and its sequencing, aren't drawn. Read the IOTA consensus documentation or the Starfish paper for the full protocol.