Staking 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.

FeatureDescriptionMandatory?
Input tokenSpecify the tokens to be staked by stakers.✅
Reward tokenSpecify the tokens to be distributed to participants.✅
Reward distributionInherited from the market templates.✅
DurationSet the start and end dates for the staking pool.✅
CapitalizationWhether there are
  • Minimum and maximum amounts to be staked for each staker
  • or soft and hard caps of the pool as a whole
❌
Lock periodsSet whether there are lock periods when stakers stake in the pool.❌
Multiplier by lock periodSet lock-period-based multipliers to reward stakers.❌
Multipliers by amountSet amount-based multipliers to reward stakers.❌

Did this page help you?