Create Pools
Definition
Staking pools live inside a staking market and inherit their rules. Issuer deploys staking pool and specifies how it operates:
- it accepts one or many tokens to be locked
- in order to issue rewards
- that follow a reward distribution algorithm
In other words, stakers lock an input asset in a staking pool to get a new "reward" token.
Tokens and Packets
Input & output
The protocol differentiates input and output tokens in a staking pool:
- Input tokens: tokens to be transferred by the staker to the pool. The staking pool holds custody of the input tokens until the user withdraws them.
- Output tokens: tokens to be claimed as a reward by the staker after locking the input token. The pool can have access to the tokens 2 ways
- through manual transfers (RWA template)
- via mint permission where the pool is allowed to mint new tokens (Reputation template)
Packets
Staking pools are compatible with multiple input and output tokens through "packets".
A packet encapsulates a predefined ratio of multiple tokens to facilitate locking or claiming various input or output tokens from the same pool. Therefore, a packet represents the smallest indivisible unit that can be staked inside a staking pool.
For instance, a staking pool can accept 2 tokens: "Token A" (ERC-20) and "Token B" (ERC-1155) with the following formula:
- Packet = [2 Token A, 3 Token B with id 1]
In this scenario, the user must stake at least 1 Packet in the pool. Therefore, staking 1000 Packets translates to staking 2000 Token A and 3000 Token B.
Deploying a pool
Users with the issuer role can create pools within a staking market. Each feature below is inherited by the configuration of the staking market where the pool is created
Feature | Description | Mandatory? |
---|---|---|
Input token | Specify the tokens to be staked by stakers | ✅ |
Reward token | Specify the tokens to be distributed to participants | ✅ |
Reward distribution | Inherited from the market templates. | ✅ |
Duration | Set the start and end dates for the staking pool. | ✅ |
Capitalization | Whether there are - Minimum and maximum amounts to be staked for each staker - or soft and hard caps of the pool as a whole | ❌ |
Lock periods | Set whether there are lock periods when stakers stake in the pool | ❌ |
Multiplier by lock period | Set lock-period-based multipliers to reward stakers | ❌ |
Multipliers by amount | Set amount-based multipliers to reward stakers | ❌ |
Updated 17 days ago