Skip to content
⬡
THORChain Wiki
Deep DiveCurated

Churning and Node Lifecycle

Validator rotation, node lifecycle, vault migration, standby competition, and why current churn state must be checked live.

About this article's sourcing
CuratedChecked 2026-07-14·
THORNode node operations
retrieval details
Source retrieved 2026-07-14Official node lifecycle and churn reference for Whitelisted, Standby, Ready, Active, and Disabled status, churn-out criteria, and the Standby-only unbond boundary.
+5 sources
Leaving THORChain as a node operator
retrieval details
Source retrieved 2026-07-14Official LEAVE and UNBOND procedure reference; a node must be Standby and outside vault migration before unbonding, and the original operator address controls the action.
Bifrost, TSS and Vaults
retrieval details
Source retrieved 2026-07-05Official technology docs for Bifrost, TSS, Asgard vaults, vault migration, and churn-related mechanics; pair with dated security sources for the current signing scheme and incident posture.
THORNode vault behaviors
retrieval details
Source retrieved 2026-07-14Pinned official THORNode source-tree snapshot for physical-vault lifecycle, inbound-vault selection, migration, and the distinction between slash points and bond-principal slashing.
THORNode risks, costs and rewards
retrieval details
Source retrieved 2026-07-05Official node-operator source for slash points, bond rewards, operator fees, and node reward mechanics.
THORChain constants and Mimirs
retrieval details
Source retrieved 2026-07-05Official constants and Mimir reference; live Mimir reads still own current override state.

Use this article for: A validator-lifecycle guide for churn timing, vault rotation, membership changes, and why scheduled rotation is not the same as current signing health.

Verify elsewhere before claiming: Current churn schedule, active validator set, vault migration state, signing availability, node status, and whether a chain is paused during rotation.

Your reading path

Path selection stays in this URL. Progress is stored only on this browser after you enable it. Reading marks describe navigation, not understanding or competence.

Import a progress file

Churning and Node Lifecycle

Churning is the mechanism that keeps the THORChain validator set fresh, secure, and decentralized over time.

This article explains the validator-life-cycle idea. It does not prove the current churn interval, next churn height, active set, readiness state, slash-point threshold, or bond-withdrawal availability.

What is Churning?

At configured churn intervals, active nodes can rotate out and eligible Ready nodes can rotate in. Official node docs currently describe the normal cadence as roughly 43,200 blocks, or about 2.5 days, but ChurnInterval, HaltChurning, failed keygen, and migration state can change or delay what happens. Treat the quoted cadence as a documentation snapshot, not a next-churn promise.

During a churn event:

  • A churned-out node moves back to standby; its bond is not automatically returned.
  • A new Asgard vault is created with fresh TSS keys.
  • All active nodes begin observing and signing with the new vault.

Why Churning Matters

Security through rotation: Regular key rotation limits the window for key compromise accumulation.

Economic incentives: Ready nodes can compete for selection through bond and current eligibility, while churn-out rules can consider leave requests, bans, age, bad performance, low version, and low bond. The exact selection set remains protocol-state dependent.

Fault tolerance: If a node becomes unresponsive or malicious, churn and slash-point mechanics can remove it from the active set, subject to current protocol state.

Node Lifecycle

The documented progression is Whitelisted → Standby → Ready → Active, with Disabled as the permanent-leave state for that node account:

  1. Whitelisted → Bonded, but required node keys have not yet been set.
  2. Standby → Bonded but not active; current requirements are evaluated during churn. Only a Standby node outside vault migration may unbond.
  3. Ready → Passed current preflight requirements and is eligible for churn selection. A Ready node cannot unbond.
  4. Active → Participates in consensus, observation, and signing. An Active node cannot unbond; a LEAVE request marks it for churn-out handling.
  5. Disabled → A Standby node that completed the permanent-leave path; it cannot rejoin with the same node account.

Slash Points and Forced Churn

Nodes accumulate slash points for failures such as missing observations, block signing, keygen, or keysign participation. MinSlashPointsForBadValidator is one churn-out input, alongside other current criteria; slash points do not prove immediate removal or bond-principal confiscation. See the Slashing deep dive for the full breakdown of slash point types, bond-principal slashing, and common misconceptions.

The combination of churning and economic penalties is intended to reduce long-lived validator and vault risk, but exact behavior should be checked against current protocol constants and Mimir state.

Vault Migration

Churn is also a vault-management event. When the active validator set changes, new vault keys can be created and assets may migrate from older vaults to newer vaults. Official technology docs describe vault migration as a multi-round process designed to maintain service availability during validator-set changes.

That makes churn relevant to users even if they never run a node: vault addresses, signing responsibility, outbound queues, and operational pause controls can all matter during sensitive migration windows. A churned-out node returning to Standby is still not automatically free to unbond while its key remains part of a migrating vault.

Ethereum router call carrying a MIGRATE memo

Blockscout reports a 2024 Ethereum transferAllowance call with a decoded MIGRATE memo. The exact Midgard transaction lookup returned no actions, so the THORChain lifecycle remains unmatched.

Example evidence reviewed .

Original memo evidence

Blockscout-decoded transferAllowance calldata

MIGRATE:17894403

THORNode v3.20.3 maps MIGRATE to migrate. This decoded EVM call is source-chain evidence; it does not establish a matched or completed vault migration.

THORChain memo height
17894403
Router
0xD37BbE5744D730a1d98d8DC97c42F0Ca46aD7146
New vault
0xcbF8EC65CA8D01bE30669FC22eAA2f1504ED6C07
Asset contract
0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48

What each source reports

Source-chain blocks and THORChain indexer heights belong to separate layers.

Ethereum transaction (Blockscout report)

Evidence layer
Source-chain record
Action or role
transferAllowance
Reported status
Blockscout reports status ok; EVM result success
Record time
Source-chain block
20844210 · Ethereum block 20844210 (Blockscout)
Transaction ID
0x5d8d1807308d7018e49eefb07dcd4613b6b6a174daa7c5906e22f7479d505586
Decoded method
transferAllowance(address router,address newVault,address asset,uint256 amount,string memo)
Decoded amount parameter
544915588553 USDC raw Ethereum token uint256; not THORChain 1e8 units
Ethereum block field
block_number=20844210; the response block field is null
Evidence source
Ethereum migration-memo transaction (Blockscout) · captured 2026-10-03

Midgard exact transaction lookup

Evidence layer
THORChain indexer record
Action or role
exact transaction lookup
Reported status
0 actions returned for exact transaction lookup
Transaction ID
0x5d8d1807308d7018e49eefb07dcd4613b6b6a174daa7c5906e22f7479d505586
Evidence source
Midgard exact-transaction migration lookup · captured 2026-10-03

What remains unknown

  • A matched THORChain migration lifecycle, observed vault move, and migration completion are unknown.
  • The developer-docs transaction 8330CAC064370F86352D247DE3046C9AA8C3E53C78760E5D35CFC7CAA3068DC6 is excluded here because the captured Midgard record classifies it as a swap.
Sources, capture dates, and response hashes
  • Ethereum migration-memo transaction (Blockscout) · captured 2026-10-03

    Captured Blockscout API body from https://eth.blockscout.com/api/v2/transactions/0x5d8d1807308d7018e49eefb07dcd4613b6b6a174daa7c5906e22f7479d505586; SHA-256 07a3b59c0c7192558bf51f45199c7fe0e90c6ba5edd8a4697502619590d9a5a5. The response reports status ok, result success, block_number 20844210, transferAllowance calldata, and decoded memo MIGRATE:17894403. This is source-chain/provider evidence only.

  • Ethereum block 20844210 (Blockscout) · captured 2026-10-03

    Block number comes from the captured transaction response block_number field; its separate block field is null. The memo parameter 17894403 is a THORChain height, not this Ethereum block number.

  • Midgard exact-transaction migration lookup · captured 2026-10-03

    Captured 94-byte response SHA-256 1f5cc360dd9cc583655e8667412170fefce44e7780a5ae5c8ccda3aa88e48d83; exact transaction lookup returned zero actions. This leaves a matched THORChain migration lifecycle unknown.

  • THORNode v3.20.3 memo type map · captured 2026-10-03

    Pinned official source for memo action interpretation: = and s map to swap, OUT maps to outbound, refund maps to refund, and MIGRATE maps to migrate. The original memo text remains separate from this interpretation.

  • THORChain developer memo documentation · captured 2026-10-03

    Official developer memo reference. Its migration example is not used as a real migration fixture; the example record below is a separately captured Ethereum transaction.

Current churn claims need Network diagnostics, THORNode node/churn state, current Mimir constants, the exact node lifecycle stage, and release-dated evidence. This design does not reveal the next rotation, current eligibility, migration completion, or chain-client readiness.

Delegated Node Operations (ADR-030)

ADR-030 is a proposed design for separating node management authority from bond custody. Under the proposal, an operator could register delegate addresses with permission bits for MAINT, LEAVE, bond-provider-whitelist changes, and operator-fee updates, each with an optional block-offset expiry. Custody of bonded RUNE and fee rewards would stay with the operator key, and OPERATOR_ROTATE, UNBOND, and delegation management would remain non-delegable.

That is design context only. The develop ADR is still marked Proposed; the official v3.20 blog recap says the framework ships in v3.20 code with activation expected in v3.21, so no delegate registry is active on mainnet yet. Node-lifecycle claims should keep using current THORNode state; do not describe delegated maintenance, leave requests, or fee changes as available behavior until activation lands.

Common Misreadings

  • "Churn interval is always 2.5 days." Official docs currently describe the normal cadence as roughly 43,200 blocks, but ChurnInterval, HaltChurning, failed keygen, and migration state can change or delay what happens. Treat the quoted cadence as a documentation snapshot, not a next-churn promise.
  • "Higher slash points = immediate churn out." Slash points are one churn-out input alongside leave requests, bans, age, bad performance, low version, and low bond. MinSlashPointsForBadValidator is a threshold, not an immediate-trigger guarantee; the exact selection set remains protocol-state dependent.
Glossarynodeschurning
Reader paths for this article

Use these paths to connect this explainer with the current-state checks needed before making live protocol claims.

View all paths
Network Security

Readers tracing vault safety, observation, node rotation, slash exposure, and current pause controls.

Step 4 of 5

Verify Before Claiming

  • Current signing, observation, trading, or chain-specific Mimir state.
  • Whether a dated exploit or upgrade source applies to the current release.

Continue This Path

Continue with Slashing and Economic Security before treating this path as complete.

Network Security step 4/5
Historical Recovery

Readers separating deprecated THORFi context, TCY framing, exploit history, and current recovery state.

Step 5 of 5

Verify Before Claiming

  • Current TCY operations, balances, distributions, or recovery progress.
  • That archived memo or product documentation represents an enabled action rather than preserved historical syntax.
  • Current solvency, restart, or safety state beyond dated incident and upgrade reports.

Continue This Path

This is the final article in this path; use the follow-up checks before making live or current-state claims.

Historical Recovery step 5/5
Previous in pathSlashing and Economic Security
Path completeMove to the follow-up checks above.

Browse All Deep Dives

Article library order, separate from reader-path order.