Lido DAO Token Rewards Plan (TRP). Operations plan


In the initial post about the Lido DAO TRP, the Steakhouse team described all the TRP accounting details. In the next few days, there will be a snapshot vote to support initial proposal. The current post describes the basic operations plan, technical and operational details of the TRP in case of the vote success.

General proposal

We propose the following scheme for TRP operations.

  1. Establish TRP Committee that will control basic TRP operations for Lido contributors

  2. Use 0x834560F580764Bc2e0B16925F8bF229bb00cB759 TRP Multisig that is controlled by the TRP Committee members (aka signers):

    • signer1: 0x9A3f38AF97b791C85c043D46a64f56f87E0283D4
    • signer2: 0xF3d5Fdb50154B1b3047F311485780Baa1D770492
    • signer3: 0xD516fce5737388b126d550B5a5CAf53bcBF73895
    • signer4: 0x5157CeE5ee585A8331C936e838591FaeBf9123D4
    • signer5: 0x8CeD94df9ddba8E38b6cb36639B6635F19Eb25C6
    • signer6: 0x806cAC2126F2a74ba04D712bA64Bd0792FE811d5
    • signer7: 0xAF0e81325a05a9F123907983F3F1a48864947127
  3. Deploy new EasyTrack EVM script factory to be used for TRP Multisig funding

  4. Use TRP Smart contracts as on-chain TRP Escrows.

Feel free to examine deployed mainnet setup and audit results by

  1. TRP Multisig has a manager role on the VestingEscrowFactory. This role allows TRP Multisig to perform routine TRP operations, namely:

    • Use LDO tokens to create individual (per-contributor) TRP escrow
    • Revoke unvested part of the TRP from the contributors’ escrow in the case when contributor terminates cooperation with Lido DAO
    • Manage individual promotions or repricings by revocation of the unvested part of the old TRP and creation of the new individual (per-contributor) TRP
  2. Lido DAO Agent has a owner role on the VestingEscrowFactory. This role allows Lido DAO Agent to perform all operations allowed for manager role, plus will make Lido DAO Agent a recipient of all revoked tokens from contributors vestings.

TRP Smart contracts

The TRP Smart contracts will facilitate the maintenance of the TRP schedule for contributors. Each TRP package will be represented in the form of smart contract with all params like amount, vesting_start, vesting_duration, cliff_duration, etc., written inside and immutable during all vesting periods.

The basic setup of the TRP Smart contracts consists of the following contracts:

VestingEscrowFactory contract will be used to deploy actual TRP Escrow for contributors. More detailed info can be found in the contracts spec and initial requirements discussion


As a part of this plan, a new EasyTrack factory will be deployed to reduce friction in TRP multisig funding. The factory setup parameters will be as follows:

Token: LDO 0x5A98FcBEA516Cf06857215779Fd812CA3beF1B32
Budget amount: 22’000’000 LDO
Budget period: 12 months
Trusted caller: TRP multisig 0x834560F580764Bc2e0B16925F8bF229bb00cB759
Recipient: TRP multisig 0x834560F580764Bc2e0B16925F8bF229bb00cB759


Thank you for the fantastic news!

I want to make an honorable mention of the fact that smart contracts were derived from Curve Finance & Yearn Finance ones. Apart from this, the changes made by the Lido automation team are extensive and tidy, without any significant findings by the well-experienced Statemind team.


The proposal and smart contract looks good!


EasyTrack factory has been deployed at TX 0x9c11c1e1ea3738009dfe2be823f0264c4607a6b73e6ef5983d0c00670fe1b662: