Medium
High
Paid likes have no cancellation or refund path, so unmatched user funds can remain locked indefinitely.
The expected behavior is that once a user pays to like another profile, the deposited ETH should either participate in a completed match flow or remain recoverable if the match never happens.
Instead, the protocol accepts ETH for one-sided likes but provides no cancellation, timeout, or refund mechanism when the counterparty never reciprocates. As a result, funds tied to an unmatched like can remain trapped in the protocol indefinitely.
Likelihood: High
This occurs during the normal protocol flow whenever a user pays to like another profile and the counterparty never sends a reciprocal like.
The condition can persist indefinitely because the protocol does not provide any user-accessible resolution path for unmatched deposits.
Impact: Medium
User funds can remain locked for an unlimited duration without being matched, refunded, or otherwise recoverable.
This disrupts the protocol's paid-like flow by allowing normal user deposits to become economically stranded.
The following test shows that after wallet_A pays to like wallet_B, the deposited ETH remains recorded for wallet_A, but no function exists to cancel the unmatched like or recover the funds when wallet_B never reciprocates.
Allow users to cancel an unmatched like and recover the fixed 1 ether deposit tied to that like before a mutual match occurs.
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.