The queue
You are looking at an old version of this page: revision #133 by zoobc.how, 2026-10-26 21:37 UTC. See the current version
Every new node waits in a public queue between its registration and its admission. The queue decides who is admitted next; the admission timer decides when. The order balances commitment against patience: what counts is the stake multiplied by the time already waited.
The order
Queued nodes are ranked by their stake multiplied by the number of blocks they have waited. Ties go to the earlier registration height, then to the lower node id. A queued node may raise its stake at any time and keeps the wait it has built up; the raise costs only the transaction's fee and needs the same proof of ownership as the registration (registering a node).
The product means that to pass someone who has waited ten times longer, you must lock ten times more.
Queued nodes have no participation score. A node receives the default score of 20 % when it is admitted, and the admission timer lets in one node at a time, so two nodes never enter together.
Showing up: attendance
A seat is meant for a node that works, so a queued node must show that it is online once in every window of 5,760 blocks (one day). Any sign of the node on the chain counts, for example an attestation it signed. If there is none, the node software sends a QueueAttendance transaction (type 59) by itself. Its fee is taken from the stake, but it never takes the stake below the minimum.
A window without any sign restarts the node's wait. The queue tolerates one admission cycle's worth of missed windows: max(2, maximum admission delay ÷ one day), which is 90 windows on mainnet, where the maximum delay is 90 days. A node that runs past that allowance is dropped from the queue. To be admitted, a node must also have attended the last window evaluated.
Leaving the queue costs 10 %
Withdrawing a queued node costs 10 % of its stake, even when the owner uses the proper RemoveNodeRegistration transaction. A drop for missed attendance costs the same 10 %. In both cases the other 90 % returns to the owner, and the 10 % goes to the longevity pool, which pays the working nodes (pools). Nothing is burned (ZBC is never burned).
The charge exists because of the entry minimum. A newcomer must lock at least half the median stake of the nodes already queued. Without a charge for leaving, someone could park a large stake in the queue to push that minimum up for everyone else, then withdraw it for free.
When every active node is suspended
The queue also serves as a reserve. If every active node is suspended, the best-placed queued node that has attended may make a block, and that block admits it at once. The chain can therefore resume even when the whole registry has fallen silent.
Reading the queue
The queue is public. GET /api/v1/nodes?status=queued lists every queued node with its stake and registration height, so anyone can compute the order and see who is next.