Skip to content

Conversation

@joeljkrb
Copy link
Collaborator

Summary
Addresses user feedback regarding inaccurate reward forecasts (5-10% overestimation). Implements validator-specific performance calculations, conservative adjustments for real-world factors.

Root Cause Analysis

  • Reward calculations used simplified network averages instead of actual nominated validator performance
  • Missing era points performance factor in calculations
  • Commission rates applied as blanket percentage rather than validator-specific rates
  • No adjustment for real-world factors (era timing, validator downtime, network effects)

Solution Implementation
New useEnhancedRewardRate Hook:

  • Calculates era points performance multiplier based on nominated validators vs network average
  • Uses actual commission rates from user's nominated validators
  • Applies 15% conservative adjustment factor to account for real-world conditions
  • Maintains backward compatibility with existing calculation methods

Key Improvements:

  • Era points factor: Accounts for validator performance variance
  • Validator-specific commissions: Replaces network averages with actual rates
  • Conservative adjustment: 15% reduction aligned with historical performance data
  • Performance optimisation: Memoized calculations prevent excessive re-computation

Addresses user feedback regarding inaccurate reward forecasts (5-10% overestimation). Implements validator-specific performance calculations, conservative adjustments for real-world factors.
@joeljkrb joeljkrb requested a review from rossbulat August 15, 2025 15:29
@rossbulat
Copy link
Collaborator

The average reward rate calculation using node data only is just a fallback for networks who do not support the Staking API, I don't think it is worth introducing this much boilerplate for a feature that is only a fallback. The real ARR calculations are done on the Staking API side. It is probably worth revisiting the rate on the API side - but only then tweaking it with fixes rather than a new integration

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants