The MultiSigWallet deployed per match requires BOTH owners to approve before any transaction executes (line 72), and provides no timeout, no single-owner recovery, and no way to rotate owners. If one matched partner loses their key, dies, or simply refuses to sign, the matched rewards are permanently locked.
Likelihood: Low to medium. Lost keys, abandoned accounts, and disputes between former matches are ordinary occurrences in a consumer dating app, and any one of them is sufficient. There is no adversary needed — passive non-cooperation triggers the freeze.
Impact: High for the affected funds. Every match's reward ETH is sent to a fresh 2-of-2 wallet (LikeRegistry line 62-65). With strictly both approvals mandatory and no recovery path or owner change function, a single non-signing party renders that wallet's entire balance unrecoverable for both users. Funds are not stolen but are permanently frozen, which is an equivalent economic loss to the depositors.
One owner approves, the other never does; the balance can never leave the wallet.
Add a recovery mechanism: a timelocked single-owner withdrawal after a long inactivity window, or an owner-rotation/guardian function.
The contest is live. Earn rewards by submitting a finding.
Submissions are being reviewed by our AI judge. Results will be available in a few minutes.
View all submissionsThe contest is complete and the rewards are being distributed.