Normal behavior: once a pool is resolved, payouts should go only to the predefined sponsor/staker participants based on immutable pool rules.
Issue: the settlement flow appears to allow outcome-driven fund distribution without enough recipient hardening, which can misroute funds when resolution data is incorrect, manipulated, or stale.
Likelihood:
Settlement runs every time a pool reaches resolution, so the bug is exercised on the normal lifecycle path rather than an edge-case admin action.
The system depends on registry/moderator state for the final branch, so stale or incorrect state can be consumed exactly when pools expire or are resolved.
Impact:
Funds can be sent to the wrong payout branch, causing users to receive less than intended or locking value in the contract.
A single bad settlement can affect the full pooled balance, including staked principal and sponsor bonus.
Hard-code recipient eligibility to known participants only.
Separate outcome resolution from payout execution.
Add invariant checks so settlement cannot proceed with arbitrary or zero-value recipients.
The contest is live. Earn rewards by submitting a finding.
This is your time to appeal against judgements on your submissions.
View preliminary resultsAppeals are being carefully reviewed by our judges.
The contest is complete and the rewards are being distributed.