The owner should be able to withdraw or manage surplus ETH held by the contract.
Actual Behavior
All ETH sent to the contract remains permanently locked, inaccessible even to the owner.
Description:The faucet accepts ETH donations and refills but lacks any method for the owner to withdraw or reclaim funds.
Likelihood
High, since users or the team will frequently refill or donate ETH for faucet operations.
Over multiple cycles, this issue will lead to ETH buildup that can never be recovered, even by the owner.
Impact
1.Locked ETH funds: Any excess ETH beyond the daily distribution limit cannot be reclaimed or used for maintenance, migration, or upgrades.
2.Operational rigidity: The owner cannot rebalance ETH supply, migrate contracts, or fix overfunded faucets.
3.Lost resources: Over time, accumulated ETH becomes unrecoverable — potentially significant if users mistakenly send large amounts.
Explanation
The absence of a controlled withdrawal mechanism introduces a liquidity dead-end.
Even though the faucet accepts ETH via donations and refills, those funds are effectively unusable once sent, except through small user drips.
Over time, this makes the contract inefficient and unmanageable, especially for testing environments like Sepolia where drips might not match donation flow.
Add a secure withdrawal function restricted to the owner to prevent ETH from being permanently locked:
Benefits:
Enables recovery of excess ETH.
Maintains control for legitimate maintenance and rebalancing.
Prevents loss of assets from accidental overfunding.
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.