Lido protocols deployed on Ethereum (and possibly other chains) require significant amount of native currency to cover the cost of executing scheduled operations like reward distribution and delegation of funds.
Here are the examples of transactions executed daily to keep Lido for Polygon operating properly:
Rewards distribution
Delegation
Lido developed in-house automation program that executes these transactions while also checking the current gas price on Ethereum to avoid spending unnecessary amount of ETH during short term gas price spikes.
Depositor bot: GitHub - lidofinance/depositor-bot
Depositor bot Lido for Polygon: GitHub - Shard-Labs/depositor-bot
I propose that teams who are running this gas-optimizing bot for Lido operations get compensated each month in the equivalent amount of $LDO tokens from the treasury.
Currently, the most affected protocols are Lido for Ethereum and Lido for Polygon due to their contracts being deployed on Ethereum mainnet, but this may also affect other Lido-on-X protocols in the future.
Here are some estimates for Polygon:
Delegation uses 319k-350k units of gas with 1 node operator. On our Goerli testnet deployment, we have 4 node operators and the cost increased to ~800k units of gas per delegation.
Reward distribution uses 277k units of gas with 1 node operator. With 4 of them on the testnet it is around 700k units of gas.
Until we onboard the first batch of validators, transactions will cost ~0.03 ETH per day after which it will likely increase to ~0.08 ETH per day. These calculations were made with the current gasPrice which is around 50 gwei.
In the long term, delegations will not happen that often when submissions stabilise, where reward distribution will always happen daily.
Also, delegations might execute more frequently in the begging because the bot will delegate funds earlier if deposited tokens are greater than 3% of the current total staked amount.