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.
Appeals are being carefully reviewed by our judges.
The contest is complete and the rewards are being distributed.