stkIDLE Whitelisting Process Implementation


Treasury League: @Davide @Teo @William



This proposal starts the process to decentrally enable any contract to interact with IDLE staking (stkIDLE module).

With the execution of the proposed solution, Idle DAO would make the staking feature & Gauges boost accessible to multisig wallets and other DAOs, unlocking meta-governance mechanisms.


In June ‘21, Idle DAO implemented the stkIDLE minting (locking system) and the fee-sharing mechanism.

The locking module can be called only by EOA (no smart contracts) to avoid the tokenization and the transferability of the staked tokens, which would nullify the effectiveness of the locking.

The whitelisting process was initially conceived by Curve to prevent governance attacks while empowering smart contracts to interact with staking.

In this insightful discussion in the Curve forum, community members pointed out how the whitelisting has failed in its intended purpose. On the contrary, it creates a walled garden that has the detrimental consequence of stifling innovation, deterring developers from building applications that integrate with Curve DAO.
Only 3 protocols have been successfully whitelisted (Yearn, Convex, StakeDAO), with multiple whitelisting proposals stopped due to failed voting sessions.

The stkIDLE whitelisting process represents an onboarding barrier, potentially reducing the Idle DAO’s efforts in supporting the development of an open and composable ecosystem.
By removing the whitelisting, novel applications can compete to improve the stkIDLE ecosystem with products unlocking Voters Extractable Value or releasing backscratcher vaults).

At the same time, today no contracts are allowed to mint stkIDLE.

This proposal introduces the implementation of the SmartWalletWhitelist contract to manage the contracts interacting with the staking module.

This design would create an on-top whitelisting layer, with no core changes to the underlying governance infrastructure. A similar approach was originally implemented by Curve.


There are 3 actors that can finalize the whitelisting process via SmartWalletWhitelist:

  1. Idle DAO: applicants need to post a request in the forum, the DAO votes via Temperature Check, and then an IIP finalizes the whitelisting on-chain. It requires applicants to publicly unveil their addresses, and the process lasts about 2 weeks.

  2. Treasury League: applicants get in contact with TL members to be whitelisted. While addresses can be publicly revealed, the owners are not disclosed to preserve their privacy. The process requires a few days.

  3. No actors: fully permissionless whitelisting, with all the contracts directly allowed to interact with the staking module. The whitelisting is immediate.

This proposal suggests a two-phase journey to gradually enable the decentralization of the whitelisting.

While the final aim is the removal of decisional actors, the consequences of that decision are unknown and the process is irreversible. Indeed, once the process is fully open, the creation of a whitelist would lock indefinitely contracts that already staked IDLE.

For this reason, the Treasury League can temporarily process the whitelisting requests. This intermediary phase would reduce the frictions to onboard new smart contract-based liquidity providers.
The TL would accept all the requests unless there are clear proofs that a specific whitelisting would harm the protocol. In that case, the issue would be publicly discussed among the Idle Governance.

Once Idle DAO and its stakeholders get familiar with the stkIDLE whitelisting process and there is no evidence of unexpected scenarios, the Governance can fully decentralize the process and remove the appointed actor.

After the implementation of SmartWalletWhitelist, which requires an on-chain IIP, the contract address will be available.

Temperature Check - Voting phase

:arrow_right: Poll for $IDLE holders: HERE

:arrow_right: Poll for $IDLE Stakers (stkIDLE holders): HERE

:alarm_clock: Polls will close on 2022-04-15T08:00:00Z.

The final $IDLE voting weights will be calculated using the approved calculator.

Cast your vote :writing_hand:


Snapshot approved! :white_check_mark:

The proposal moves to on-chain IIP phase :tada: