The protocol defines three progressive fee tiers: 1% (up to 1,000 USDC), 3% (up to 10,000 USDC), and 5% (above 10,000 USDC).
Listing.price is uint32 (max 4,294,967,295). With 6 decimals, max price is ~4,294 USDC. HIGH_FEE_THRESHOLD is 10,000e6 = 10,000,000,000 which exceeds uint32 max, making the 5% tier dead code. Listings above ~4,294 USDC are impossible.
Likelihood:
Every listing above ~4,294 USDC is impossible — the uint32 parameter rejects it at the ABI level
Impact:
Protocol loses fee revenue (3% instead of 5% on high-value sales) and sellers cannot list above ~4,294 USDC
The fee at max uint32 price (~4,294 USDC) returns 3% (MID_FEE_BPS). The 5% tier requires price > 10,000e6 which exceeds uint32 range, so HIGH_FEE_BPS is dead code.
Change price to uint256 so the full fee schedule works as designed. This also prevents silent truncation for high-value NFTs.
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.