The protocol is designed to enforce per-user anti-bot protections during token launches by applying swap limits, cooldowns, and penalties to individual swappers in early phases.
The hook tracks swap activity using the sender parameter of the beforeSwap hook, which corresponds to the swap router rather than the actual swap initiator. As a result, limits and cooldowns are enforced per router instead of per user.
Because most users interact through the same router, swap limits and cooldowns become shared across all users instead of being enforced individually.
Likelihood:
The issue occurs for every swap executed through a Uniswap V4 router, which is the standard interaction path.
All users interacting through the same router are automatically subject to shared state tracking.
Impact:
Bots can rotate EOAs to bypass per-user protections while continuing to trade through the same router.
Legitimate users may trigger penalties or cooldowns due to other users’ activity.
The protocol’s advertised per-user anti-bot guarantees during launch phases are significantly weakened.
This behavior is also observable in the test suite, where swap activity is asserted against the router address rather than individual users.
If feasible within Uniswap V4 constraints, enforce limits based on the actual swap initiator rather than the router.
If per-user identification is not possible, explicitly document router-level enforcement and adjust protocol guarantees accordingly to avoid misleading assumptions about per-user protection.
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.