Project

One World
NFTDeFi
15,000 USDC
View results
Submission Details
Severity: medium
Invalid

Circumventing Platform Fees Through Temporary Price Reductions in `joinDAO`

Summary

The ability for DAO creators and members to collude and lower membership prices before purchase permits fee circumvention.

Vulnerability Details

In the joinDAO function, platformFees are calculated as 20% of the DAO membership price:

uint256 tierPrice = daos[daoMembershipAddress].tiers[tierIndex].price;
uint256 platformFees = (20 * tierPrice) / 100;

However, the DAO creator and a member could collude to avoid this fee by calling updateDAOMembership to temporarily lower the price to near-zero before purchase, effectively bypassing the protocol fees. (The real price is paid elsewhere.)

function updateDAOMembership(string calldata ensName, TierConfig[] memory tierConfigs)
{
...
}

Impact

This loophole allows DAO creators and members to avoid paying platform fees, reducing protocol revenue and compromising the fee model.

Tools Used

Manual

Recommendations

It is recommended to take this scenario into consideration. Potential solutions include setting a minimum floor price or limiting frequent price changes.

Updates

Lead Judging Commences

0xbrivan2 Lead Judge about 1 year ago
Submission Judgement Published
Invalidated
Reason: Incorrect statement

Support

FAQs

Can't find an answer? Chat with us on Discord, Twitter or Linkedin.

Give us feedback!