CenturionDEX
Launch App

Overview

Last modified:

Introduction

Projects, token creators, and other parties can incentivise in-range liquidity on a CenturionDEX v3 pool by creating reward programs through the CenturionDEX v3 staker contract. This page describes the incentive model at a high level.

Incentive parameters

Each reward program (an Incentive) is defined by:

ParameterPurpose
rewardTokenThe ERC-20 token distributed as a reward.
poolThe CenturionDEX v3 pool in which liquidity must be provided.
startTimeUnix timestamp when reward distribution begins.
endTimeUnix timestamp when rewards begin to decay.
refundeeThe address that can reclaim unallocated rewards after the program concludes.

Every incentive also has a reward — the total amount of rewardToken allocated for distribution over the program's lifetime.

Reward distribution

The reward amount and the program duration together define a constant reward rate — tokens distributed per second. Each second between startTime and endTime, that rate is split proportionally among all in-range liquidity at that moment, whether or not the liquidity has opted into the program. Incentive creators should size their reward rate accordingly: it will be diluted across the full depth of in-range liquidity, not just participating positions.

Staking

Participation requires a basic understanding of CenturionDEX v3 position NFTs.

  1. Deposit — transfer the position NFT into the canonical staker contract, temporarily giving it custody. The staker needs custody so it can guarantee liquidity cannot be removed from staked positions mid-program.
  2. Stake — stake the deposited NFT into one or more active incentives for its pool. This can happen atomically with the deposit. Rewards begin accruing immediately.
  3. Claim — periodically claim accrued rewardToken while the program runs, or wait until it concludes.

Program conclusion

A program is considered concluded when both conditions are met:

  1. Duration expiredblock.timestamp >= endTime.
  2. All NFTs unstaked — every position that participated has been unstaked. After endTime, anyone may unstake any NFT (though only the owner can claim its outstanding rewards). This guarantees that programs can always reach a final state, even if some participants neglect to unstake.

Unclaimed rewards

The reward rate applies to all in-range liquidity, but only program participants can claim tokens. Any portion of the reward stream that accrued to non-participating liquidity remains in the contract. The refundee can reclaim this surplus once the program fully concludes — an incentive to bring stragglers to a close.

Post-endTime dynamics

Stakers who remain past endTime may see their rewards marginally augmented or (more likely) gradually diluted. The magnitude depends on their share of total active liquidity, time spent staked after endTime, and the sequence of unstaking. In the worst case rewards decay proportionally to duration — at 2 the duration, half could remain; at 3, a third; and so on.

In practice this can be ignored from a game-theoretic standpoint. Stakers should unstake and claim as soon as possible after endTime, and refundees will be motivated to mass-unstake stragglers so they can recover leftover rewards.