WENBlocks
  • Getting Started
    • Overview
      • Technical Architecture
    • Key Features
  • Staking
    • Overview
    • Creating a Stake
    • Withdrawing the Stake
    • Claiming Rewards
  • Liquidity Program
    • How It Works
  • WNT
    • WNT — The Engine of the WEN Ecosystem
  • Airdrops
    • Airdrop Schedule
    • Server Management
    • Penalty Structure
    • How It Works
    • Example
  • Smart Contracts
  • Security
    • Overview
    • Internal Audits
    • External Audits
    • AI Audits
      • Grok
  • CODE
    • WENBlocksManager.sol
    • wnmContract.sol
    • wblkToken.sol
    • wuniContract.sol
    • wntToken.sol
    • syncnode.py
    • airdropGenerator.js
    • dayTrigger.js
  • Conclusion
    • Conclusion
  • Socials
    • Links
Powered by GitBook
On this page
  • Early Reward Claiming Mechanism
  • wShares Penalty
  • What Happens When Claiming Early Rewards
  • Strategic Considerations
  1. Staking

Claiming Rewards

Users can claim rewards at any time during the staking period. However, claiming before the stake matures incurs a 10% penalty on the wShares. This penalty reduces the user’s portion of rewards for the future as it reduces the wShares but does not affect any of the WNM, WUNI and W.BLK rewards amounts.

  • Penalty is only on wShares, not the actual rewards (WNM, WBLK, WUNI, WNT).

  • No penalty is applied if the stake is claimed after the maturity period.

Early Reward Claiming Mechanism

To claim rewards without withdrawing the stake itself, users call the withdrawStake function with _amount = 0:

function withdrawStake(uint256 amount, uint256 stake_index) public nonReentrant {
    (uint256 wnmamount, uint256 wntamount, uint256 wblkamount, uint256 wuniamount) = _withdrawStake(0, stake_index);
    // Return rewards to user
    _mint(msg.sender, wnmamount);
    wntContract.mint(msg.sender, wntamount);
    wblkContract.mint(msg.sender, wblkamount);
    wuniContract.mint(msg.sender, wuniamount);
}

wShares Penalty

You can claim accumulated rewards from your stake at any time, but claiming before maturity incurs a penalty:

if (_amount == 0 && currentDay < stakeEndDay) {
    sharesFee = current_stake.wShares * 10 / 100;  // 10% penalty on wShares
    wblkBalance = 0;  // W.BLK is not returned on early claims
}

Important characteristics of this penalty:

  • The penalty reduces only your wShares by 10%, not your actual rewards

  • You receive 100% of all accumulated rewards (WNT, WNM, WUNI)

  • Your original staked WNM remains locked in the stake

  • W.BLK tokens are not returned on early claims

  • The penalty only affects future reward earnings (due to reduced wShares)

  • The stake continues until its original end date

  • Your WNM principal can only be withdrawn after the stake end-day; there is no partial or emergency principal exit

Note: The locked WBLK tokens are returned to you only when you fully withdraw the stake after maturity. If you claim rewards early (amount = 0), you forfeit the locked WBLK.

Important: After an early claim, the stake's start day is reset to the current WEN day, so new rewards accrue from that point forward.

What Happens When Claiming Early Rewards

stakeholders[user_index].address_stakes[index].claimableWNM = 0;
stakeholders[user_index].address_stakes[index].claimableWNT = 0;
stakeholders[user_index].address_stakes[index].claimableWBLK = 0;
stakeholders[user_index].address_stakes[index].claimableWUNI = 0;
stakeholders[user_index].address_stakes[index].startDay = currentDay;
stakeholders[user_index].address_stakes[index].wShares -= sharesFee;
  1. Reward Calculation: All accumulated rewards (WNT, WNM, WBLK, WUNI) are calculated from the stake's start day to the current day.

  2. Reward Distribution: The calculated rewards are minted directly to the user.

  3. wShares Penalty: 10% of the stake's wShares are deducted as a penalty.

  4. Stake Reset: The stake's reward counters are reset to zero, and the stake's start day is updated to the current day:

Example:

  • A user stakes 100 WNM for 30 days, earning 50 WNT, 5 WNM, 2 WBLK and 10 WUNI in rewards.

  • After 10 days, the user claims their reward. The wShares will be reduced by 10%.

    • If the user had 1,500 wShares initially, they would now have 1,350 wShares which would earn less rewards.

    • The user still receives 100% of their earned rewards (WNM, WBLK, WUNI, WNT).

Strategic Considerations

When deciding whether to claim rewards early, users should consider:

  1. Immediate Liquidity vs. Future Yield: Claiming provides immediate tokens but reduces future earning potential due to the 10% wShares penalty.

  2. Compound Staking: Some users might claim rewards to immediately create new stakes with favorable multipliers, potentially offsetting the wShares penalty.

  3. Market Conditions: In volatile markets, securing current rewards might outweigh the potential for maximized future yields.

The 10% wShares penalty creates a balanced mechanism that allows flexibility while still incentivizing users to hold their stakes until maturity for maximum rewards.

PreviousWithdrawing the StakeNextHow It Works

Last updated 1 month ago