By default, Nitro Pools only accept compatible spNFTs, i.e. staking positions from a wrapped LP.

On top of that, protocols deploying a Nitro Pool can optionally set their own requirements to accurately target specific positions or staking users' profiles.


The most straightforward and obvious requirement, only staked positions with at least the required amount can be deposited into the Nitro Pool.

The unit taken into account for the amount will be the one of the position's LP.


It's also possible to require specific lock settings on staked positions to validate its deposit:

  • A duration: the staked position should have a total lock duration of at least x days

  • An end time: the staked position should be locked until at least xx/xx/xxxx


Protocols can also setup a whitelist, to only authorize some addresses to interact with their Nitro Pools.

The uses of this mechanism are numerous: reward their most loyal users, the winners of a competition, distribute a targeted compensation, replace an airdrop...

Custom requirement contract

There are also situations where some protocols will need to have very specific requirements that aren't available in the native Nitro contracts.

In this case, any project will have the possibility to plug in their own custom requirement contract to a Nitro pool.

Last updated