Platform fees should be calculated based on the required service cost (claim fee) to provide predictable and fair fee structure for users.
The claimThrone
function accepts overpayments but calculates platform fees on the entire payment amount rather than just the required claim fee, resulting in unexpected additional fees.
Likelihood:
Users frequently overpay in DeFi interfaces due to frontend bugs or manual errors
Common user behavior when unsure about exact amounts needed
Impact:
Users pay unexpected additional platform fees on accidental overpayments
Platform owner receives unearned fees beyond documented service cost
Financial loss for users with no refund mechanism for excess payments
Common DeFi user error becomes financially penalized
Financial Impact:
User intended to pay: 1 ETH + 0.1 ETH fee = 1.1 ETH total
User actually pays: 2 ETH + 0.2 ETH fee = 2.2 ETH total
Extra loss: 1.1 ETH with no recourse
claimFee = 1 ETH
, platformFeePercentage = 10%
Expected: User pays 1 ETH, platform gets 0.1 ETH fee (10%)
User accidentally sends 2 ETH (common mistake in DeFi interfaces)
Result: Platform gets 0.2 ETH fee instead of 0.1 ETH (100% extra profit!)
User loses: Additional 0.1 ETH in unexpected platform fees
No refund mechanism - overpayment is permanently captured
Option 1: Require exact payment:
Option 2: Calculate fees on required amount only:
The contest is live. Earn rewards by submitting a finding.
This is your time to appeal against judgements on your submissions.
Appeals are being carefully reviewed by our judges.