Frequently Asked Questions

What is the staking token and how does it work?

The staking token is an ERC20Votes token that represents your staking shares. It cannot be transferred and is used to track your proportional ownership of the staking pool. The token amount you receive is calculated based on the current exchange rate between underlying tokens and staking tokens.

Why is the amount of staking tokens received different from the staked underlying token amount?

The staking token amount is calculated based on current total staked amount and rewards, used to record staking shares. As rewards are released, the exchange ratio between staking tokens and underlying tokens will change.

Can staking tokens be transferred?

No. The transfer function for staking tokens is disabled and only used to record staking shares.

Can I unstake early during the staking period?

No, you must wait for the staking period to end before unstaking.

Why can't I withdraw immediately after unstaking?

The contract sets a 1-day withdraw delay to prevent malicious operations and protect user interests.

How is my reward calculated?

Rewards are calculated through an exponential decay mechanism, with higher rewards in early stages that gradually decrease.

What happens if the contract is paused?

If staking functionality is paused by DAO, you will not be able to perform new staking operations.

How are rewards distributed?

Rewards are distributed based on staking share ratio. Longer staking time and larger amounts result in more rewards. Rewards use an exponential decay mechanism with higher rewards in early stages.

How is contract security guaranteed?

The contract uses ReentrancyGuard to prevent reentrancy attacks, SafeERC20 to ensure secure token transfers, AccessControl for permission management, and multiple security mechanisms to protect user assets. Please read Security Considerations for more information.

What are the different admin roles in the staking system?

There are two types of admins:

  • Multisig wallet - can pause claims for specific addresses and enable/disable claimToDao feature, but cannot pause entire staking operations or withdraw user tokens;

  • DAO - can pause/unpause all staking operations and claim tokens to DAO if the feature is enabled by Multisig wallet.

What is the purpose of the two-tier admin system?

The two-tier admin system provides security through separation of powers: the multi-sig admin handles operational controls (specific claim pauses, feature toggles) while the DAO handles emergency controls (full system pause, emergency withdrawals). This prevents any single entity from having complete control over user funds.

How does the DAO claim feature work?

The DAO can claim tokens from the contract using claimToDao(amount) only if the multi-sig admin has enabled this feature using enableClaimToDao(). This is a safety mechanism that requires both DAO approval and multi-sig admin consent, providing an emergency option for contract upgrades or critical vulnerability responses.

Can admins withdraw user tokens directly?

No, admins cannot directly withdraw user tokens.

What happens when staking is paused by the DAO?

When pauseStaking() is called by the DAO, all staking, unstaking, and claiming operations are paused. Users cannot stake new tokens, unstake existing positions, or claim rewards until the DAO calls unpauseStaking().

Can the Multisig admin pause all staking operations?

No, the multi-sig admin can only pause claims for specific addresses using pauseClaim(address). They cannot pause the entire staking system - only the DAO has that capability through pauseStaking() and unpauseStaking().

Last updated