Achievement Rewards
On-chain achievement system rewarding users for staking milestones.
Address (Sepolia): 0xbb0805254d328d1a542efb197b3a922c3fd97063
Overview
The AchievementRewards contract tracks 6 staking achievements, each with eligibility criteria checked against the staking contract state. Users can claim OEC rewards for achievements they've completed. Each achievement can only be claimed once per address.
Achievements
0
First Stake
Complete first staking transaction
5 OEC
Beginner
1
Diamond Hands
Hold staked tokens in 30-day+ pool for 30 days
50 OEC
Loyalty
2
Pool Explorer
Stake 100+ OEC in 2 different long-term pools
100 OEC
Explorer
3
High Roller
Stake 10,000+ OEC across 30-day+ pools
500 OEC
Whale
4
Reward Hunter
Earn 100+ OEC in staking rewards
200 OEC
Strategy
5
Hodler
Stake 2,000+ OEC in a long-term pool
1,000 OEC
Dedication
Maximum per user: 1,855 OEC (if all 6 achievements are claimed)
Functions
getUserStatus(account)
Returns (bool[] eligible, bool[] claimed) arrays
claim(achievementId)
Claim a single achievement reward
claimAll()
Claim all eligible achievements in one transaction
How It Works
The contract reads staking state from the MultiPoolStakingV2 contract
getUserStatus()checks each achievement's criteria against on-chain dataReturns two boolean arrays: which achievements are eligible, which are already claimed
User calls
claim(id)orclaimAll()to receive OEC rewardsClaimed achievements are marked and cannot be claimed again
Funding: The AchievementRewards contract must hold sufficient OEC tokens to pay out rewards. The faucet page displays the contract's current OEC balance.
Last updated