Leaving the registry
You are looking at an old version of this page: revision #1071 by zoobc.how, 2026-10-27 00:42 UTC. See the current version
A seat in the ZooBC registry ends in one of three ways: the owner removes the node, the chain expels it when its participation score reaches zero, or someone holding the node key claims the stake. In each case the stake comes back to an account, either in full or less a tenth. The stake was always a bond, not a fee, and the rules make sure that leaving cannot be used to dodge a penalty.
Removing a node
The owner removes a node with RemoveNodeRegistration (type 514), signed by the owner key. The seat closes in that block. The stake, less the removal's own fee, is then held for a cool-down of 40,320 blocks, 7 days at 15 seconds a block. In the block where the cool-down ends, the chain credits it to the owner's account automatically; no second transaction is needed.
How much comes back depends on the node's state when it leaves:
- A healthy node, one with no skipped turn since its last own block, gets its whole stake back.
- A node that is missing (it skipped a turn and has made no block since) or suspended loses 10 %. This includes an honest node that skipped a single turn and leaves before its next block, so an operator who wants the full stake back should let the node make its next block before removing it.
The cool-down keeps the stake at risk while the node leaves, and together with the 10 % rule it makes leaving no way to dodge a penalty.
Expulsion
A registered node that stops making its blocks is not expelled at once. It walks a gradual road (missed turns, suspension and expulsion):
- From its first skipped turn it is missing: it earns nothing, and its participation score falls by 5 points (out of 100) per score unit, spread evenly over the unit's blocks.
- At the fourth missed turn in a row it is suspended and leaves the producer draw, still missing.
- When its score reaches zero it is expelled: 90 % of the stake returns to the owner at once and 10 % goes to the longevity pool.
On a network of fewer than 2,880 nodes a score unit is 12 hours, so a silent node lasts:
| Score when it falls silent | Time until expulsion |
|---|---|
| 100 % | about 10 days |
| 60 % | about 6 days |
| 20 % (the starting score) | about 2 days |
On a larger network the unit grows with the number of nodes, so the road is longer. A short outage costs income and some score, not the seat. The chain also never expels a node if fewer than three active nodes would remain; when several nodes are at risk, the time each was last seen decides who is spared first.
Claiming with the node key
ClaimNodeRegistration (type 770) lets whoever holds the node key claim the stake to an account they control. It exists for an owner who has lost access to the owner account, and it carries a proof of ownership signed by the node key. The owner's own claim is treated as a removal: the same 7-day cool-down, and the same 10 % to the longevity pool if the node was missing or suspended when it left. A claim backed by the node key alone, sent from any other account, is announced and paid 40,320 blocks (7 days) later, unless the owner removes the node first; 10 % goes to the pool if the node is missing then (keys of a node). An owner who has lost the owner key claims from another account, so its claim also waits those 40,320 blocks.
The 10 % at risk
| Event | Back to the owner |
|---|---|
| removal of a healthy node | 100 %, after 7 days |
| removal while missing or suspended | 90 %, after 7 days |
| expulsion at score zero | 90 %, at once |
| withdrawal from the queue before admission | 90 % |
| drop from the queue for missed attendance | 90 %, at once |
The 10 % is never burned. It goes to the longevity pool, which pays the working nodes through the coinbase lottery (ZBC is never burned). The queue cases are explained in queue. Raising a stake, by contrast, costs only the transaction's fee.
Coming back
A node key whose seat was deleted may register again. It starts a fresh queue record, inherits no missed turns, and waits in the queue like any newcomer (registering a node).