Super DCA (@super_dca) header
Super DCA (@super_dca) profile picture

The best way to DCA

🇺🇸
Joined December 2024
Photo by Super DCA (@super_dca)Photo by Super DCA (@super_dca)Photo by Super DCA (@super_dca)Photo by Super DCA (@super_dca)Photo by Super DCA (@super_dca)Photo by Super DCA (@super_dca)
Super DCA is the only project on @Optimism currently incentivizing @Uniswap liquidity providers through @merkl_xyz. Thank you to @UniswapFND and @OptimismGov for providing the grant support to make it possible! Start earning OP rewards through Merkl: app.merkl.xyz/?search=DCA&ac…
1
7
446
You could DCA on coinbase with 120bp fees. Or Super DCA app with zero fees and 50bp USDC reward every 2 weeks.
You could trade on coinbase apps with 120bp Or Uniswap apps with zero fees Tough decision
1
3
163
Claim 0.5% USDC back every 2 weeks on Super DCA.
1
78
Super DCA retweeted
the new hype is no hype and a working product
117
21
10
287
26,503
Super DCA retweeted
We are excited to announce that 6 of the 11 teams awarded @OptimismGov Season 8 OP Audit Grants applied with Sherlock, the most of any audit firm. We are proud to continue to support growth and security in the @Optimism ecosystem through their generous grant program. Congratulations to our awarded partner teams! @40acres_Finance - 75,000 OP @ArcadiaFi - 53,950 OP @HighwayFi - 52,800 OP @ownfinanceHQ - 48,250 OP @super_dca - 33,000 OP @metromxyz - 28,000 OP
5
3
5
45
6,281
Welcome back to Sherlock’s Vulnerability Spotlight, where we highlight an impactful vulnerability uncovered during a Sherlock audit. This week, we examine an unfair rewards distribution vulnerability found in the @super_dca Super DCA Liquidity Network contest by @vinicaboy and @patitonar. Summary of the Vulnerability In the SuperDCA protocol, rewards for liquidity providers are distributed during liquidity operations (add/remove) through the _handleDistributionAndSettlement() function, which uses Uniswap v4's donate mechanism. This mechanism distributes rewards only to in-range LPs at the current slot0.tick when distribution occurs. The problem is that rewards accumulated over an extended period are distributed based on the current tick position at the moment of distribution, regardless of which positions actually provided active liquidity during the reward accrual period. Attack Steps 1. Initial Setup and Monitoring - An attacker deploys a liquidity position with an extremely tight tick range (e.g., single tick width) - The position is placed out of range at a predictable tick where the attacker can manipulate the price - The attacker monitors the pool for reward accumulation without distribution events 2. Accumulation Period - Time passes and rewards accrue in the staking contract based on mintRate and elapsed time - Multiple swaps occur naturally, moving the tick within the range where honest LPs are active - No liquidity operations trigger distribution, so rewards continue to accumulate 3. Price Manipulation (Tick Movement) - The attacker executes a swap to move the current slot0.tick to their predetermined tick (t2) - The attacker's tight-range position is now the only (or dominant) in-range position - Transaction structure: swap → addLiquidity/removeLiquidity → swap back (can be atomic) 4. Distribution Trigger - With the tick now at t2, the attacker triggers a liquidity operation (add or remove) - This calls _beforeAddLiquidity()` оr _beforeRemoveLiquidity()` hooks - The hooks execute _handleDistributionAndSettlement(): - Calls staking.accrueReward(otherToken) to calculate accumulated rewards - Mints new DCA tokens as rewards - Calls `poolManager.donate()` to distribute rewards 5. Reward Theft via Donate Mechanism - The `donate()` function distributes rewards to in-range LPs at the current tick (t2) - The attacker's tight range means they receive maximum concentration of the donated tokens - Honest LPs who provided liquidity during accrual receive nothing or minimal rewards 6. Reversion and Exit - The attacker executes another swap to move the tick back to its original position - The attacker exits with rewards that should have gone to honest LPs - Net cost: gas fees + swap fees (can be calculated to ensure profitability) - Net gain: All accumulated rewards for the period The Root Cause The vulnerability stems from a fundamental mismatch between when rewards accrue and how rewards are distributed. Rewards accrue continuously based on time elapsed (block.timestamp - lastMinted) and are calculated for the entire period since the last distribution, regardless of which LPs were in-range. The protocol has no way to: - Track which positions were in-range during the reward accrual period - Weight reward distribution based on time spent in-range - Prevent manipulation of the tick before distribution - Attribute rewards to positions that earned them over time This results in a last-position-wins scenario where whoever is in-range at distribution time captures rewards, regardless of who deserved them. Distribution only occurs during liquidity operations, creating predictable trigger points that attackers can exploit. What's the Impact? Direct Economic Loss: - Honest LPs lose rewards - Disproportionate gains for attackers - Compounding effect over time The Mitigation The recommended fix requires implementing a mechanism to track and account for which positions provided active liquidity during reward accrual periods. Option 1: Time-Locked Distribution with Active Liquidity Tracking Option 2: Swap-Triggered Reward Distribution Critical Requirements for Any Mitigation: • Time-weighted tracking • Manipulation resistance • Atomicity prevention • Fair reward attribution We are proud to have helped secure @super_dca through this discovery. When it absolutely needs to be secure, Sherlock is the right choice.
3
2
1
30
3,106
Big news for the DCA fans: We're boosting rewards. 🚀 300 OP is up for grabs this week for everyone DCA'ing USDC into ETH, WBTC, or OP. The more you DCA, the more you earn. Thanks to @Optimism's Season 8 Growth Grant 🔴 Read the guide to get started: superdca.org/docs/trading
2
5
171
Do you remember when you joined X? I do! #MyXAnniversary
3
64
Super DCA retweeted
89
78
9
1,327
35,317
Super DCA retweeted
Super DCA Trader Rewards are made possible thanks to @Optimism's Season 8 Growth Grant 🔴 And, we have the following supporters to thank for getting Super DCA to this point: @UniswapFND, @sherlockdefi, @encodeclub, @gitcoin!
3
7
105
Super DCA retweeted
📊 Last week, Super DCA traders earned nearly 100% back in OP per USDC spent. That's not a typo. - 0% swap fees - Weekly OP incentives - Rewards scale with long-term DCA If you’re already DCA'ing, you should be doing it on Super DCA. Powered by @Uniswap, @Optimism.
3
2
143
Super DCA retweeted
🧠 Trader alpha on Super DCA: Each pool (ETH, WBTC, and OP) gets 50 OP/week. USDC to ETH is popular, USDC to WBTC & OP have higher OP per USDC swapped. Same 0% fees — different reward dynamics.
4
4
226
The market has noticed. Super DCA Rewards are live with 150 OP distributed weekly to buyers of ETH, WBTC, and OP thanks to @Optimism's Season 8 Growth Grant program. 🟡 Growing share of volume is now DCA'ing into WBTC, especially this past week.
2
5
107
Super DCA retweeted
How Super DCA Trader Rewards work: 1️⃣ Stream USDC to buy ETH, WBTC, or OP 2️⃣ Super DCA charges 0% swap fees 3️⃣ OP rewards are distributed every Monday via @Merkl_xyz 💡 The longer you DCA and the more USDC you spend, the more OP you earn. Simple. Transparent. Onchain.
1
2
6
114
Super DCA retweeted
🚀 Trader Rewards are LIVE Every week, 150 OP is distributed to traders buying ETH, WBTC, or OP with USDC — proportional to how much you DCA. ✅ 0% swap fees ✅ Weekly OP rewards ✅ Powered by @Optimism S8 Growth Grant There’s no better onchain DCA incentive right now.
2
4
143
Super DCA Trader Rewards are made possible thanks to @Optimism's Season 8 Growth Grant 🔴 And, we have the following supporters to thank for getting Super DCA to this point: @UniswapFND, @sherlockdefi, @encodeclub, @gitcoin!
3
7
105
📊 Last week, Super DCA traders earned nearly 100% back in OP per USDC spent. That's not a typo. - 0% swap fees - Weekly OP incentives - Rewards scale with long-term DCA If you’re already DCA'ing, you should be doing it on Super DCA. Powered by @Uniswap, @Optimism.
3
2
143