The TwentyOne contract accepts overpayments in startGame() without refunding excess ETH above the required 1 ETH bet, leading to permanent loss of player funds.
No Overpayment Handling:
Function only checks for minimum payment
Excess ETH remains trapped in contract
Players lose excess funds above 1 ETH
No mechanism to recover overpaid amounts
Poor user experience and potential loss of trust
Manual Code Review
Implement exact payment or refund excess:
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.