All ETH sent to the contract should either be part of the game mechanics (pot/fees) or be rejected.
Specific issue:
The contract has a receive()
function that accepts ETH but doesn't update any state variables. This ETH becomes orphaned - it exists in the contract balance but is not tracked in pot, platform fees, or winnings.
Likelihood:
Users accidentally send ETH directly to contract address.
UI bugs cause incorrect transaction formatting.
Users confuse direct transfers with game participation.
Impact:
ETH becomes permanently orphaned and unrecoverable.
Contract balance exceeds tracked amounts (pot + platform fees + winnings).
Value is lost with no way to recover through game mechanics.
Reject direct transfers
There is no reason for a user to directly send ETH or anything to this contract. Basic user mistake, info, invalid according to CH Docs.
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.