# Cauldron Pools

<figure><img src="https://3248998111-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FnVObPzq4yQ3FMBCdTt2E%2Fuploads%2FtD8LbU6BvSHVitZjsKj8%2Fcauldron.webp?alt=media&#x26;token=a1307cd9-6c46-4eaa-b2cf-6407ce62f2f0" alt=""><figcaption></figcaption></figure>

Merlin's Cauldron Pools are symbolic of the inert potency of our NFM staked positions. Each Cauldron is fixed-term in nature, built to receive [Non-Fungible-Magic (NFM's)](non-fungible-magic) from users. Thus providing a **new layer of yield potential** that naturally compounds onto what their initial position currently generates. Seamlessly allowing the synergy of objectives of both the Project that creates the Cauldron to incentivize liquidity mining activity and the user seeking the highest possible return on their capital, or as known on Merlin, **True Yield**.&#x20;

Merlin currently supports are two forms of Cauldron Pools on our platform:

* Official Cauldron's: created by Merlin or Verified Partners
* Community Cauldron Pools: openly deployed by anyone that participates in our Ecosystem

### Using your NFM via Staking on Merlin

Cauldron Pools are fundamentally designed to only receive staked positions NFM's as deposits. For which core architecture determines the below necessary parameters :

* A specific wrapped LP (or single asset). Only positions made from this deployer-defined asset can be deposited into the pool
* A reward token (additional rewards can be added any time)
* A deposit start time before which no one can stake
* A rewards' distribution phase duration (start and end time)
* An optional harvest start time before which no one can collect their earned rewards yet

#### Multi-staking of NFM's <a href="#multi-staking" id="multi-staking"></a>

Every user can deposit as much of their NFM as they determine necessary. The rewards calculation are consequently made based on the sum of all the user's current deposits. It is possible to add new positions anytime, as well as to withdraw staked positions, completely or partially at your discretion.&#x20;

#### Requirements

By design, Cauldron Pools only accept compatible NFM's , i.e. staking positions from a wrapped LP. Secondly, projects that deploy a Cauldron can optionally set their own requirements to accurately target specific positions or NFM staking users' profiles.

#### Amount <a href="#amount" id="amount"></a>

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

#### Locks <a href="#locks" id="locks"></a>

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_

#### Whitelist <a href="#whitelist" id="whitelist"></a>

Protocols can also setup a whitelist, to only authorize some addresses to interact with their Cauldron Pool on Merlin.

#### Custom requirement contract <a href="#custom-requirement-contract" id="custom-requirement-contract"></a>

There are also situations where some protocols will need to have very specific requirements that aren't available in the native Cauldron contracts. In this case, any project will have the possibility to plug in their own custom requirement contract to the Merlin Cauldron Pool.



