Root Cause: list() enforces a minimum price of 1 USDC via MIN_PRICE but updatePrice() only checks that the new price is greater than 0, allowing sellers to bypass MIN_PRICE after listing.
Impact: Sellers can set prices below MIN_PRICE after listing, causing fee calculations to round down to 0 and the owner to collect no fees.
Description:
When a user first lists an NFT, the price is validated against MIN_PRICE. However after listing, the seller can call updatePrice() to set the price to as low as 1 wei. At such low prices, the fee calculation returns 0 due to integer division, meaning the owner collects nothing on the sale.
Likelihood: Low
Requires a seller to deliberately update their price below MIN_PRICE
Only affects fee collection, not user funds directly
Impact: Low
Owner collects zero fees on sales with prices below MIN_PRICE due to integer division rounding down
Enables dust listings that pollute the marketplace
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.