The parts that make this work
The Snow family: sampling instead of voting
Classical consensus has every validator talk to every other, which stops scaling past a hundred or so nodes. Avalanche's Snow protocols replace that with repeated random sampling. A validator polls k = 20 others, drawn with probability proportional to their stake. If α = 15 or more give the same answer it adopts that answer and bumps a confidence counter; a poll that falls short resets it. Once the counter reaches β = 20 the validator decides. Because everyone is sampling everyone, a small early lead snowballs into unanimity, which is why the protocols are called Slush, Snowflake, Snowball and Snowman. The Primary Network uses these exact parameters; they can't be changed per node.
Snowman++ and the soft proposer
Snowman decides on a linear chain of blocks, one height at a time. Left alone, any validator could propose a block for the next height and the network would spend its polls choosing between competing ones. Snowman++ removes most of that contention: for each height it samples a short list of proposers by stake and gives each a window, five seconds long, in order. A validator can't submit before its window opens, but a late one keeps competing with those after it, and if every window passes without a block, anyone may propose. That's why the proposer is "soft": it's a head start, not a monopoly, so a crashed proposer only costs a few seconds.
Why finality is fast and there are no forks
A validator only accepts a block after twenty consecutive polls agreed on it, and every honest validator that reaches that point has seen overwhelming agreement. Once accepted, a block is never rolled back, so there's no notion of waiting for six confirmations. On the C-Chain the whole process from proposal to acceptance takes about a second. Since the Helicon upgrade (September 2026, ACP-194), consensus accepts blocks before executing them: validators check only that each transaction can pay in the worst case, execution runs continuously in the background, and the state root settles about five seconds later. That's why a block's receipts appear a moment after the block itself.
P-Chain, X-Chain, C-Chain, and Avalanche L1s
The Primary Network is three chains run by the same validators. The P-Chain records staking and validator sets, the X-Chain moves assets between chains, and the C-Chain is an EVM where almost all activity happens. Since the Etna upgrade (December 2024, ACP-77) other chains are Avalanche L1s rather than subnets: their validators register on the P-Chain and pay a small continuous fee there, but no longer have to stake 2,000 AVAX and validate the Primary Network themselves. The Granite upgrade (November 2025) added epoched views of the validator set (ACP-181), so cross-chain messages verify against a set that's stable for five minutes, and let validators steer the minimum block delay by vote (ACP-226), which is how C-Chain blocks came down from two seconds to about one.
Staking and validators
Running a Primary Network validator takes at least 2,000 AVAX, staked for anywhere from 48 hours to a year; the minimum was two weeks until Helicon (ACP-273), which also added automatic renewal (ACP-236) and raised the uptime needed to earn rewards from 80 % to 90 % (ACP-267). Holders with less can delegate, from 25 AVAX, to a validator, who takes a fee of at least 2 %. Stake sets a validator's weight: how often it's sampled in polls and how often it's picked as a proposer. When this page was built the P-Chain reported about 590 validators with roughly 159 million AVAX of their own stake and another 40 million delegated. Live mode reads the current figures.
Fees and burning
C-Chain fees work like Ethereum's EIP-1559: a base fee per gas that the protocol adjusts with demand, plus an optional tip. Unlike Ethereum, both parts are burned; the proposer earns nothing from the block and validators are paid from staking rewards instead. Since the Fortuna upgrade (April 2025, ACP-176) the gas target and the fee curve are set by validator preference rather than hard-coded, and since Helicon (ACP-283) the same goes for the minimum price, which validators have kept at a few nAVAX (a nAVAX is a billionth of an AVAX, the C-Chain's "gwei"). A plain transfer costs 21,000 gas, so at 5 nAVAX it burns about 0.0001 AVAX.
What live mode shows
Live mode subscribes to new C-Chain block headers over a public WebSocket, then fetches each block with its transactions and receipts over JSON-RPC. Block numbers, hashes, transaction counts, gas, base fees, the split between succeeded and reverted transactions and the AVAX burned are all real. The validators on the ring come from the P-Chain: the 80 heaviest of the current set, drawn to scale by stake, with the count and total stake in the strip refreshed every few minutes. What the public API doesn't publish is consensus itself: which validator proposed the block, and the polls that accepted it. The blue bursts are a replay of what sampling looks like, timed to each real block, not observations of it.
What the animation simplifies
Real polling is continuous and concurrent: each validator runs several polls at once, on the block and on its ancestors, and the twenty successes take a few hundred milliseconds rather than the seconds shown here. Gossip, proposer windows and fee sizes are illustrative. The full protocol, parameters and upgrade notes are in the Avalanche consensus documentation.