57718 sc low staking tier error using erc4626 shares rather than assets to determine staking tiers leads to long term distortion in fees and commissions
Submitted on Oct 28th 2025 at 12:27:04 UTC by @s8olidity for Audit Comp | Belong
BelongCheckIn uses the "number of staked shares" to apply the "LONG asset thresholds (50k, 250k, 500k, 1M)" logic of Helper.stakingTiers. Early entrants receive more shares for the same amount of assets when share prices are low, while later entrants receive fewer shares for the same amount of assets after prices rise. This results in long-term discrepancies in platform fees and promotional commissions, leading to significant economic misalignment.
contracts/v2/utils/Helper.sol:39 (StakingTiers threshold based on "asset quantity")
Issues:
staking.balanceOf(addr) returns ERC4626 shares, not assets.
Helper.stakingTiers expects the input value to be in LONG assets (50_000e18 ... 1_000_000e18).
When the treasury distributes rewards (distributeRewards), share prices rise. New entrants receive fewer shares for the same assets, resulting in a lower balanceOf and incorrect placement in a lower tier. Early entrants who deposited when price-per-share was lower have more shares for the same asset amount and therefore receive higher-tier benefits.
Impact
The venue deposit fee rate (depositFeePercentage) and promoter settlement fee rate (PromoterStakingRewardInfo.usdcPercentage/longPercentage) are calculated using the tier mapping. Using shares instead of assets produces a persistent miscalculation of platform fees and commissions.
Systemic bias caused by a measurement error; does not require permissions or external conditions.
Users with the same amount of assets can be misclassified over time due to different deposit timing, causing persistent economic distortion:
Underestimation of platform fees (less from higher-tier users) or
Overestimation of customer/promoter rewards.
Recommended Severity: High (persistent economic deviation affects platform fees and profit distributions as TVL/trading volume grow)