Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 22 additions & 0 deletions docs/guides/tooling.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,28 @@ The Lido Council Daemon monitors deposit contract keys.
- [**Repository**](https://github.com/lidofinance/lido-council-daemon/tree/3.7.0)
- [**Documentation**](/guides/deposit-security-manual)

## Depositor Bot

Bot that submits deposit transactions to the Lido protocol once the Deposit Security Committee quorum is reached.

- **Version**: 5.5.1
- **Docker image**: sha256:bbacf8afbbb2be8b14efcfa0d03b4e8b01a0abe4ba87793d1684eeff5b4eb1a8, [lidofinance/depositor-bot@sha256-bbacf8afbbb2be8b14efcfa0d03b4e8b01a0abe4ba87793d1684eeff5b4eb1a8](https://hub.docker.com/layers/lidofinance/depositor-bot/5.5.1/images/sha256-bbacf8afbbb2be8b14efcfa0d03b4e8b01a0abe4ba87793d1684eeff5b4eb1a8)
- **Commit hash**: [lidofinance/depositor-bot@89fbbf8](https://github.com/lidofinance/depositor-bot/commit/89fbbf8deae2b93841f5b657b8865ff3d0c762d5)
- **Last update date**: 21 April, 2026
- [**Repository**](https://github.com/lidofinance/depositor-bot/tree/5.5.1)
- [**Documentation**](/guides/depositor-bot)

## Reward Distribution Bot

Bot that distributes node-operator rewards in the Curated and Simple DVT staking modules.

- **Version**: 1.1.0
- **Docker image**: sha256:610609ad79a31bd4973299f3744170199732ad8456a18dccd19a9a5b5798977e, [lidofinance/nor-reward-distribution-bot@sha256-610609ad79a31bd4973299f3744170199732ad8456a18dccd19a9a5b5798977e](https://hub.docker.com/layers/lidofinance/nor-reward-distribution-bot/1.1.0/images/sha256-610609ad79a31bd4973299f3744170199732ad8456a18dccd19a9a5b5798977e)
- **Commit hash**: [lidofinance/nor-reward-distribution-bot@1e37b0a](https://github.com/lidofinance/nor-reward-distribution-bot/commit/1e37b0abb72200cbfed6590704e0bdab3da789dc)
- **Last update date**: 21 April, 2026
- [**Repository**](https://github.com/lidofinance/nor-reward-distribution-bot/tree/1.1.0)
- [**Documentation**](/guides/reward-distributor-bot)

## Keys API

Lido keys HTTP API.
Expand Down
23 changes: 23 additions & 0 deletions docs/holders/lido-council-daemon.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# Lido Council Daemon

[Lido Council Daemon](https://github.com/lidofinance/lido-council-daemon) is the off-chain service run by every member of the Deposit Security Committee (DSC). It monitors validator public keys in the `DepositContract` and across all Lido staking modules, signs `(depositRoot, keysOpIndex)` messages with the guardian's EOA key to permit deposits, and — if a malicious pre-deposit is detected — broadcasts a `pause` message that any single guardian can use to halt deposits, providing one-honest-participant safety against supermajority collusion.

For the full description of the threat model, daemon configuration and on-chain interactions, see the [Deposit Security Committee manual](/guides/deposit-security-manual) and the [`DepositSecurityModule`](/contracts/deposit-security-module) contract reference.

The committee was originally formed as part of [LIP-5: Mitigations for deposit front-running vulnerability](https://research.lido.fi/t/mitigations-for-deposit-front-running-vulnerability/1239); funding for guardian infrastructure is tracked in the [Council Daemons Funding](https://research.lido.fi/t/council-daemons-funding/8526) thread.

## Mainnet members
Comment thread
TheDZhon marked this conversation as resolved.

| Operator | Address | Announcement |
|--------------------|-------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------|
| Blockscape | [`0x7912Fa976BcDe9c2cf728e213e892AD7588E6AaF`](https://etherscan.io/address/0x7912Fa976BcDe9c2cf728e213e892AD7588E6AaF) | [post on x.com](https://x.com/BlockscapeLab/status/1452902878885068803) |
| Kiln | [`0x6d22aE126eB2c37F67a1391B37FF4f2863e61389`](https://etherscan.io/address/0x6d22aE126eB2c37F67a1391B37FF4f2863e61389) | [post on x.com](https://x.com/Kiln_finance/status/1969039576170745945) |
| Staking Facilities | [`0xf82D88217C249297C6037BA77CE34b3d8a90ab43`](https://etherscan.io/address/0xf82D88217C249297C6037BA77CE34b3d8a90ab43) | [post on x.com](https://x.com/StakingFac/status/1452656210927394818) |
| Lido dev team | [`0x5fd0dDbC3351d009eb3f88DE7Cd081a614C519F1`](https://etherscan.io/address/0x5fd0dDbC3351d009eb3f88DE7Cd081a614C519F1) | [post on x.com](https://x.com/LidoFinance/status/1452973085557149709) |
| P2P | [`0xa56b128Ea2Ea237052b0fA2a96a387C0E43157d8`](https://etherscan.io/address/0xa56b128Ea2Ea237052b0fA2a96a387C0E43157d8) | [post on x.com](https://x.com/P2Pvalidator/status/1452970276480819208) |
| Stakefish | [`0x4B87F16B8d32cb5a859a4C48a88edB5adBe3498E`](https://etherscan.io/address/0x4B87F16B8d32cb5a859a4C48a88edB5adBe3498E) | [post on x.com](https://x.com/stakefish/status/2041526695866323442) |

**Signing quorum:**

- **Deposit intent** — 4 out of 6 guardian signatures are required to permit a deposit. The current value is enforced on-chain and is readable via [`getGuardianQuorum()`](/contracts/deposit-security-module#getguardianquorum) on the [`DepositSecurityModule`](/contracts/deposit-security-module).
- **Pause** — a single guardian signature is sufficient to pause deposits via [`pauseDeposits()`](/contracts/deposit-security-module#pausedeposits). This gives any one honest member the ability to halt further deposits even if the rest of the committee colludes.
25 changes: 25 additions & 0 deletions docs/holders/lido-oracle.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# Lido Oracle

[Lido Oracle](https://github.com/lidofinance/lido-oracle) is the off-chain daemon, run independently by each oracle member, that bridges Ethereum's Consensus and Execution layers for the Lido protocol. Members build reports off-chain and reach consensus on them via the on-chain `HashConsensus` contract; the agreed-upon report is then submitted on-chain and applied by Lido contracts.

For a deep technical overview, see the [Oracle Operator Manual](/guides/oracle-operator-manual) and the [Oracle specification](/guides/oracle-spec/accounting-oracle).

Onboarding of new oracle members and rotation of existing members is coordinated on the research forum in the [Expansion of Lido's Ethereum Oracle set](https://research.lido.fi/t/expansion-of-lidos-ethereum-oracle-set/2836) thread.
Comment thread
TheDZhon marked this conversation as resolved.

## Mainnet members

| Operator | Address | Forum post |
|----------------------|-------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------|
| Chorus One (Bitwise) | [`0x8dB977C13CAA938BC58464bFD622DF0570564b78`](https://etherscan.io/address/0x8dB977C13CAA938BC58464bFD622DF0570564b78) | [address rotation](https://research.lido.fi/t/expansion-of-lidos-ethereum-oracle-set/2836/80) |
| Staking Facilities | [`0x404335BcE530400a5814375E7Ec1FB55fAff3eA2`](https://etherscan.io/address/0x404335BcE530400a5814375E7Ec1FB55fAff3eA2) | [post on x.com](https://x.com/StakingFac/status/1346557400057327616), [Lido post](https://x.com/LidoFinance/status/1346555154007470088) |
| Stakefish | [`0x042a9e5acCfa17e28300F1b5967f20891E973922`](https://etherscan.io/address/0x042a9e5acCfa17e28300F1b5967f20891E973922) | [address rotation](https://research.lido.fi/t/expansion-of-lidos-ethereum-oracle-set/2836/81) |
| P2P | [`0x007DE4a5F7bc37E2F26c0cb2E8A95006EE9B89b5`](https://etherscan.io/address/0x007DE4a5F7bc37E2F26c0cb2E8A95006EE9B89b5) | [address declaration](https://research.lido.fi/t/expansion-of-lidos-ethereum-oracle-set/2836/68) |
Comment thread
dgusakov marked this conversation as resolved.
| bloXroute | [`0x61c91ECd902EB56e314bB2D5c5C07785444Ea1c8`](https://etherscan.io/address/0x61c91ECd902EB56e314bB2D5c5C07785444Ea1c8) | [intent to join](https://research.lido.fi/t/expansion-of-lidos-ethereum-oracle-set/2836/29), [address declaration](https://research.lido.fi/t/expansion-of-lidos-ethereum-oracle-set/2836/54) |
| Instadapp | [`0x73181107c8D9ED4ce0bbeF7A0b4ccf3320C41d12`](https://etherscan.io/address/0x73181107c8D9ED4ce0bbeF7A0b4ccf3320C41d12) | [intent to join](https://research.lido.fi/t/expansion-of-lidos-ethereum-oracle-set/2836/30), [address declaration](https://research.lido.fi/t/expansion-of-lidos-ethereum-oracle-set/2836/71) |
| Chainlayer | [`0xc79F702202E3A6B0B6310B537E786B9ACAA19BAf`](https://etherscan.io/address/0xc79F702202E3A6B0B6310B537E786B9ACAA19BAf) | [intent to join](https://research.lido.fi/t/expansion-of-lidos-ethereum-oracle-set/2836/17), [replacing Jump Crypto](https://research.lido.fi/t/jump-crypto-replacement-in-the-oracle-set/5620/8) |
| MatrixedLink | [`0xe57B3792aDCc5da47EF4fF588883F0ee0c9835C9`](https://etherscan.io/address/0xe57B3792aDCc5da47EF4fF588883F0ee0c9835C9) | [intent to join (replacing Rated)](https://research.lido.fi/t/rated-labs-replacement-in-the-oracle-set/7850/2), [address declaration](https://research.lido.fi/t/rated-labs-replacement-in-the-oracle-set/7850/14) |
| Caliber | [`0x4118DAD7f348A4063bD15786c299De2f3B1333F3`](https://etherscan.io/address/0x4118DAD7f348A4063bD15786c299De2f3B1333F3) | [intent to join (replacing Kyber)](https://research.lido.fi/t/expansion-of-lidos-ethereum-oracle-set/2836/78) |

**Consensus quorum:** 5 out of 9 identical report hashes are required to finalize a report. The current value is enforced on-chain and is readable via [`getQuorum()`](/contracts/hash-consensus#getquorum) on each `HashConsensus` instance.

The authoritative on-chain set is maintained by the [`HashConsensus`](/contracts/hash-consensus) contract; the values above can be cross-checked via [`getMembers()`](/contracts/hash-consensus#getmembers) on the `HashConsensus` instances bound to the [`AccountingOracle`](/contracts/accounting-oracle), [`ValidatorsExitBusOracle`](/contracts/validators-exit-bus-oracle) and [`CSFeeOracle`](/staking-modules/csm/contracts/CSFeeOracle).
8 changes: 8 additions & 0 deletions sidebars.js
Original file line number Diff line number Diff line change
Expand Up @@ -183,6 +183,14 @@ module.exports = {
'multisigs/other',
],
},
{
type: 'category',
label: 'Holders',
items: [
'holders/lido-oracle',
'holders/lido-council-daemon',
],
},
{
type: 'category',
label: 'IPFS',
Expand Down
Loading