KVORUM
lidoSource: Snapshot · #0x46d8df504c019be2be84a38c8705cd8bdbe4f5f4d2b141d4e8bd3e69af9ef5f3

Transition from GateSeals to CircuitBreaker

succeededMay 18, 2026, 04:00 PM UTCsignaling · non-bindingbyFF0xff64…1fceView on Snapshot ↗

01Summary

AISummary by Kvorum

An AI summary is not generated yet. Read the description →

02Description

885 words

TL;DR

It is proposed to replace GateSeals with CircuitBreaker, a permanent emergency pause contract. Unlike GateSeals, CircuitBreaker does not expire, does not require recurring redeployment, and allows committees to prolong their pause authority over assigned contracts by periodically submitting liveness checks ("heartbeats"). The full CircuitBreaker design is specified in LIP-34.

Motivation

During emergencies that require immediate protocol-level changes, the Lido DAO cannot react quickly enough via on-chain governance, as the on-chain governance flow takes several days to enact a decision. To address this operational constraint, GateSeal was introduced as a temporary emergency pause mechanism. GateSeal has proven to be an acceptable solution, enabling fast response without requiring a DAO vote. However, the current GateSeal design does not scale well and introduces significant operational overhead:

  • Each GateSeal is configured upon creation with immutable parameters — committee (pauser), pause duration, set of pausable contracts, and expiry — which cannot be changed without redeployment.
  • Once a GateSeal is used to pause any contract(s) within its scope, it is fully consumed and can no longer be used to pause the remaining contracts, leaving them unprotected.
  • GateSeals expire after a predefined period (up to 1 year) and must be renewed by a DAO vote periodically, even if unused.
  • Once triggered, a GateSeal becomes inactive and must be replaced.

As a result, even routine maintenance requires a full technical and governance cycle: new instance deployment, verification, Snapshot vote, and on-chain execution (example). As the number of pausable contracts grows (with Lido V3, Triggerable Withdrawals, and future releases), this overhead compounds.

CircuitBreaker addresses these design constraints by introducing a permanent mechanism that removes the need for recurring redeployment while preserving the existing safeguards.

Mechanism Design

CircuitBreaker is a single, permanent contract that manages all emergency pausing for the Lido protocol. CircuitBreaker maintains a mapping between pausable contracts and multisig committees ("pausers"). Each pausable contract has exactly one assigned pauser, while a single committee may be responsible for multiple contracts. Pausers can be registered, replaced, or removed via an on-chain vote.

Emergency pause. In an emergency, an authorized committee can selectively pause its assigned contract(s) by triggering CircuitBreaker. Once a contract is paused, the committee’s pause authority over that contract is revoked. The committee can still pause other contracts assigned to it. The DAO can restore pausing permissions via an on-chain vote. The pause expires automatically after a parameterized period or may be lifted earlier through an on-chain DAO vote.

Liveness check ("heartbeat"). Each pauser must periodically submit a heartbeat (a drill transaction) to remain authorized to pause assigned contracts. The heartbeat interval is defined by CircuitBreaker parameters. A single heartbeat confirms liveness across all contracts assigned to the pauser. If a heartbeat expires, the pauser loses the ability to pause or refresh its authorization. Authorization can only be restored by the DAO through reassignment of the pauser.

DAO control. The DAO can revoke CircuitBreaker pause permissions via on-chain governance, effectively disabling it if needed. This provides a safeguard in case of vulnerabilities, governance decisions, or migration to a new emergency mechanism.

More details can be found in LIP-34. Audit reports are published on the Research forum.

Parameters

Immutable parameters (set at deployment):

ParameterProposed valueDescription
ADMINLido DAO AgentCircuitBreaker admin
MIN_PAUSE_DURATION5 daysMinimum allowed pause duration
MAX_PAUSE_DURATION60 daysMaximum allowed pause duration
MIN_HEARTBEAT_INTERVAL30 daysMinimum interval between heartbeats
MAX_HEARTBEAT_INTERVAL3 yearsMaximum interval between heartbeats

Configurable parameters (may be adjusted via DAO governance after deployment within immutable bounds):

ParameterProposed valueDescription
pauseDuration21 daysPause duration
heartbeatInterval365 daysInterval for pauser liveness checks

Notes:

  • Lido DAO Agent is set as the admin, enabling on-chain governance over CircuitBreaker, including registering, replacing, and removing pausers, as well as updating pause duration and heartbeat interval
  • pauseDuration and heartbeatInterval apply globally to all pausable contracts and pausers; updates to heartbeatInterval affect only future heartbeats
  • Pause duration bounds are designed to accommodate possible changes in governance timing
  • Proposed pauseDuration (21 days) covers worst-case governance flow (14 days) and buffer for coordination (7 days)

Migration scope

It is proposed to migrate from GateSeals to CircuitBreaker as the emergency pause mechanism for all existing and future pausable contracts.

If this proposal is approved, the CircuitBreaker will replace the following currently active GateSeals:

GateSeal: 0x8A854C4E750CDf24f138f34A9061b2f556066912 Pauser: GateSeal Committee Contracts: WithdrawalQueue

GateSeal: 0xA6BC802fAa064414AA62117B4a53D27fFfF741F1 Pauser: GateSeal Committee Contracts: ValidatorsExitBusOracle, TriggerableWithdrawalsGateway

GateSeal: 0x881dAd714679A6FeaA636446A0499101375A365c Pauser: GateSeal Committee Contracts: VaultHub, PredepositGuarantee

GateSeal: 0xE1686C2E90eb41a48356c1cC7FaA17629af3ADB3 Pauser: CSM Committee Contracts: CSModule, CSAccounting, CSFeeOracle, CSVerifier, VettedGate, CSEjector

All addresses can be verified in the Lido Docs.

Following this migration, the GateSeal Committee will be renamed to CircuitBreaker Committee.

Next steps

If this proposal is approved:

  • An on-chain vote will be conducted to revoke pause roles from existing GateSeals, grant pause permissions to CircuitBreaker, and assign approved pausers to their respective contracts. Following execution, CircuitBreaker will become the primary emergency pause mechanism, and GateSeals will be deprecated.
  • The GateSeal committee will be renamed to the CircuitBreaker Committee.

03Mismatch analysis

AIMismatch analysis by Kvorum

A calldata-vs-description analysis is not generated yet. Review the decoded actions →

04Actions

0 total

This proposal carries no on-chain actions.

05Tally

Summed from votes

Voters47
VP participating0
Outcome (current)Support
Current support—

06Voters

47 total
Filter:
VoterChoice% of totalRationale
4A0x4af8…6a0bSupport016.56%—6mo ago
6C0x6cd6…b52eSupport013.17%—6mo ago
B60xb664…f890Support011.50%—6mo ago
A40xa418…b737Support011.08%—6mo ago
810x8172…922eSupport09.88%—6mo ago
1F0x1f76…5ed6Support09.78%—6mo ago
LIlido.banteg.eth0x55bc…f0faSupport06.40%—6mo ago
310x3133…5c00Support05.56%—6mo ago
510x510a…8d0eSupport05.14%—6mo ago
450x45bc…fd99Support03.76%—6mo ago
6D0x6d8d…0cccSupport03.04%—6mo ago
6F0x6f9b…8a1dSupport02.92%—6mo ago
E80xe80e…28e8Support00.42%—6mo ago
3D0x3ddc…05b0Support00.28%—6mo ago
060x06a9…bba0Support00.21%—6mo ago
360x36f7…a589Support00.11%—6mo ago
3D0x3d63…4afcSupport00.08%—6mo ago
220x2206…64fbSupport00.06%—6mo ago
B90xb933…8dd1Support00.06%—6mo ago
050x0579…ca09Support00.00%—6mo ago
3D0x3d5a…b97fSupport00.00%—6mo ago
F80xf804…9d2eSupport00.00%—6mo ago
B10xb1f8…4250Support00.00%—6mo ago
F10xf1cc…ac93Support00.00%—6mo ago
380x3805…0636Support00.00%—6mo ago
1D0x1dae…092bSupport00.00%—6mo ago
F60xf6dc…4e03Support00.00%—6mo ago
250x257b…9830Support00.00%—6mo ago
0A0x0ab1…7c6aSupport00.00%—6mo ago
7B0x7b27…a893Support00.00%—6mo ago
170x1729…b879Support00.00%—6mo ago
4D0x4d32…bbfaSupport00.00%—6mo ago
D50xd5d7…3c4dSupport00.00%—6mo ago
2F0x2f2f…f78aSupport00.00%—6mo ago
B30xb3bf…6ce4Support00.00%—6mo ago
AF0xaf90…7b3bSupport00.00%—6mo ago
010x0151…c3b9Support00.00%—6mo ago
CE0xce57…70f0Support00.00%—6mo ago
650x659f…dadcSupport00.00%—6mo ago
BF0xbfd1…4f66Support00.00%—6mo ago
340x3426…5404Support00.00%—6mo ago
3F0x3fb1…4c8aSupport00.00%—6mo ago
4D0x4d4a…1bdfSupport00.00%—6mo ago
470x475e…e10cSupport00.00%—6mo ago
4D0x4d9b…c7f5Support00.00%—6mo ago
470x477e…238bSupport00.00%—6mo ago
C30xc3a2…e6eeSupport00.00%—6mo ago
Showing 47

07Forum

No forum thread is confidently linked to this proposal.

08Similar proposals

AI · embeddings

No semantically similar proposals found yet.