Token Allocation and Claiming

Token allocation and claiming involve distributing earned tokens to participants based on their contributions within the FeederPool.

Token Allocation

When a depositor withdraws all or part of their original deposit, the amount of tokens earned is calculated by multiplying the this amount by the difference between the FeederPool's RewardFactor, and the DepositorRewardFactor.
, where
= amount of original deposit being withdrawn, at transaction t.
= RewardFactor for FeederPool i, at transaction t.
= DepositorRewardFactor for Depositor in FeederPool i, at transaction t.
Adjusting token balances for each depositor every time a withdrawal occurs would be impractical and inefficient. Instead, when a depositor makes a withdrawal from the FeederPool, the amount of tokens owed to the depositor is calculated, and stored. When a depositor wishes to claim their tokens, this balance is reduced. This allows a depositor to withdraw from a FeederPool and claim their tokens in two separate transactions.

Token Claiming

When the depositor wishes to claim their tokens, their token balance is reduced. It is also possible for a depositor to claim tokens without withdrawing from the FeederPool. This simply requires an increase in the depositor’s DepositorRewardFactor.
If the depositor claims all their earned tokens, then their DepositorRewardFactor is reset to the FeederPool’s current RewardFactor (from the formula above, tokens owed will now be 0). This process allows a depositor to claim tokens, without withdrawing any of their deposit from the FeederPool.