Livepeer Foundation — Review summary (IDOL / Arrakis DEX liquidity proposal)
As-of snapshot: 2025-12-20 (re-run scripts to refresh numbers; results depend on onchain state and prices).
This document summarizes (1) what the proposal asks for, (2) the research we ran to evaluate it, and (3) the key results + recommended guardrails.
1) Proposal overview (what’s being asked)
From the forum pre-proposal (“IDOL – Improving Dex / Onchain Liquidity”, topic 3151):
- Allocate 250,000 LPT (~$1M) from the DAO treasury.
- Move funds to a Livepeer Foundation-controlled multisig (proposal describes a 2/3 multisig).
- Deposit into an Arrakis Pro-managed concentrated-liquidity vault for LPT/ETH.
- The proposal references “Uniswap v4”, while also referencing an “existing 0.3% LPT/ETH pool” (which, on Arbitrum today, is a Uniswap v3 pool).
- Fees described:
- AUM fee: 1% / year (waived for first 6 months)
- Performance fee: 50% of trading fees generated by the vault
- Strategy intent: begin with one-sided LPT and bootstrap toward ~50/50 LPT/ETH inventory over time.
2) Research performed (reproducible artifacts)
All results below are derived from scripts + cached artifacts in this working folder:
- Forum snapshot: cached under
data/forum-posts-3151/ - Onchain slippage quoting (live state via Uniswap v3 Quoter) for the Arbitrum LPT/WETH 0.30% pool:
- Script:
scripts/onchain_slippage_univ3.py - Output:
outputs/onchain-slippage.csv
- Script:
- Onchain swap analytics (volume/fees + directional flow) via
Swaplogs:- Script:
scripts/univ3_swap_analytics.py - Outputs:
outputs/lpt-univ3-swap-analytics-24h.json,outputs/lpt-univ3-swap-analytics-30d.json
- Script:
- Address concentration analytics (“wash-trade surface”) via
Swaplogs:- Script:
scripts/univ3_swap_address_analytics.py - Outputs:
outputs/lpt-univ3-swap-address-analytics-24h.json,outputs/lpt-univ3-swap-address-analytics-30d.json
- Script:
- Empirical reversion + chunking analysis (how quickly the pool reverts after small swaps; best-case chunked execution):
- Scripts:
scripts/univ3_reversion_analysis.py,scripts/chunked_trade_analysis.py - Outputs:
outputs/univ3-reversion-lpt-1d.json,outputs/chunked-trade-lpt-25k-by-1k.json
- Scripts:
- Fork-based “does ~$1M liquidity move the needle?” sanity check (Hardhat Arbitrum fork; mint additional 50/50 liquidity into the existing pool; re-quote via Quoter):
- Output examples:
outputs/fork-liquidity-impact-782k-range60.json,outputs/fork-liquidity-impact-782k-range200.json,outputs/fork-liquidity-impact-1m-range200.json
- Output examples:
- IL + breakeven economics model (historical LPT/ETH ratio volatility; passive 50/50 IL to highlight required volume):
- Script:
scripts/il_models.py - Outputs:
outputs/il-model-summary.json,outputs/breakeven-volume.csv
- Script:
- Audit PDF extraction + summaries (Arrakis modular core + Uniswap v4 module):
- Script:
scripts/audit_summaries.py - Output:
outputs/arrakis-audit-summary.md
- Script:
3) Key results (as-of 2025-12-20)
A) Onchain slippage is severe at $25k–$50k sizes (today)
Arbitrum LPT/WETH Uniswap v3 0.30% pool: 0x4fD47e5102DFBF95541F64ED6FE13d4eD26D2546
Quoted against live onchain state via Uniswap v3 Quoter (note: these “impact” numbers include the 0.30% LP fee):
| Notional (USD) | Buy impact | Sell impact |
|---|---|---|
| $1,000 | ~0.60% | ~0.59% |
| $5,000 | ~1.78% | ~1.73% |
| $10,000 | ~3.25% | ~3.12% |
| $25,000 | ~7.67% | ~7.14% |
| $50,000 | ~15.04% | ~45.26% |
Source: outputs/onchain-slippage.csv
B) Current DEX flow is modest (fee income is small at today’s volume)
Computed from onchain Swap logs (same pool, 0.30% tier):
- 24h: ~$74k volume, ~$223 total fees
- 30d: ~$1.35M volume, ~$4,053 total fees
Illustration (if a vault captured ~100% of fees, and the DAO receives 50% of trading fees):
- 24h: DAO fees ≈ $112/day
- 30d: DAO fees ≈ $2,027/30d
Sources: outputs/lpt-univ3-swap-analytics-24h.json, outputs/lpt-univ3-swap-analytics-30d.json
C) “Chunking” can reduce effective slippage for sophisticated users, but it’s not one-click UX
Empirical reversion (24h window; swaps $500–$2,000 notional; “revert” defined as returning within ±2 ticks within next 10 swaps):
- candidates: 32
- revert rate: 46.9%
- median revert latency: ~22s (p90 ~61s)
Best-case chunked execution (assume full revert between chunks):
- $25k single swap impact: ~7.67% buy / ~7.14% sell
- $25k split into 25× $1k chunks: ~0.60% buy / ~0.59% sell
Sources: outputs/univ3-reversion-lpt-1d.json, outputs/chunked-trade-lpt-25k-by-1k.json
D) Adding ~$1M liquidity can plausibly “fix depth”, but placement matters (fork sanity check)
Hardhat fork experiment: mint additional 50/50 liquidity into the existing pool, then re-quote.
This is not a forecast of Arrakis performance (no active management), but it is useful for magnitude:
- Add ~$782k 50/50 liquidity:
- “Moderate” range (±60×tickSpacing): $25k impact ≈ ~1.24%, $50k sell ≈ ~2.12%
- “Wide” range (±200×tickSpacing): $25k impact ≈ ~2.40%, $50k sell ≈ ~4.26%
- Add ~$1M 50/50 liquidity (±200×tickSpacing): $25k impact ≈ ~2.05%, $50k sell ≈ ~3.62%
Sources: outputs/fork-liquidity-impact-782k-range60.json, outputs/fork-liquidity-impact-782k-range200.json, outputs/fork-liquidity-impact-1m-range200.json
E) Fee economics: breakeven volume is far above today’s volume under a 50% fee split
Using a simplified passive 50/50 IL model to illustrate scale (for $1,000,000 capital, 0.30% fee tier, DAO retains 50% of trading fees → effective capture ~0.15% of volume):
- 180d “median” IL (
4.56%): requires **$169k/day** sustained volume to breakeven on fees alone - 180d “worst” IL (
16.78%): requires **$622k/day**
Source: outputs/breakeven-volume.csv (see also outputs/il-model-summary.json)
F) Asymmetric / hidden-risk highlights (even with honest actors)
- Incentive mismatch: vendor fee is on gross trading fees; treasury bears IL/LVR + tail risk (fees ≠ net performance).
- “Exit liquidity” dynamic: deeper DEX liquidity disproportionately benefits large sellers; inventory drift can leave the vault LPT-heavy.
- Wash trading is not free by default, but becomes profitable quickly if any external per-volume reward exists.
- Rule-of-thumb break-even external reward rate ≈
(DAO fee share) × (pool fee tier)(e.g., 50% × 0.30% ≈ 0.15% of volume), plus gas/slippage.
- Rule-of-thumb break-even external reward rate ≈
- If Uniswap v4/hooks are involved, audit summaries highlight approvals + hook surfaces that require strict role/approval hygiene.
Supporting docs: reports/risk-assessment.md, reports/asymmetric-opportunities.md, outputs/arrakis-audit-summary.md
4) Recommendation: treat as a pilot with explicit guardrails
If improving onchain liquidity is a priority, a staged pilot is the highest-signal / lowest-regret structure:
- Clarify chain + exact deployment: v3 vs v4, pool/vault/module/hook addresses, and whether anything is upgradeable.
- Tranche funding: start smaller (e.g., $100k–$250k equivalent), time-boxed (e.g., 6–8 weeks), with explicit scale/stop checkpoints.
- Pre-commit KPIs:
- repeated quoter-based slippage at $5k/$10k/$25k both directions
- 7d/30d volume + fee generation
- inventory drift bounds + time-to-reach target inventory ratio (if bootstrapping)
- net performance vs a benchmark (e.g., HODL and/or passive LP proxy)
- Stop conditions: mandate breach, drift outside bounds, material underperformance, or any security incident.
- Fee-structure improvements (if possible): lower/cap the performance fee and/or tie performance fee to net performance vs benchmark.
- Operational safety: Foundation multisig should retain practical “kill switch” withdrawal ability; enforce least-privilege approvals/roles.
5) Supporting materials (full writeups)
- Executive summary:
reports/executive-summary.md - Risk assessment:
reports/risk-assessment.md - Adversarial deep dive:
reports/asymmetric-opportunities.md - Cross-pool case studies:
reports/arrakis-case-studies.md
6) Re-run / reproduce (from blockchain/proposal-review/livepeer-idol-dex-liquidity/)
- Forum snapshot:
python3 scripts/fetch_forum_topic.py - Onchain slippage (includes tick-depth estimate):
python3 scripts/onchain_slippage_univ3.py --pool 0x4fD47e5102DFBF95541F64ED6FE13d4eD26D2546 --include-tick-depth - Pool volume/fees:
- 24h:
python3 scripts/univ3_swap_analytics.py --pool 0x4fD47e5102DFBF95541F64ED6FE13d4eD26D2546 --token0-coingecko-id livepeer --token1-coingecko-id ethereum --days 1 - 30d:
python3 scripts/univ3_swap_analytics.py --pool 0x4fD47e5102DFBF95541F64ED6FE13d4eD26D2546 --token0-coingecko-id livepeer --token1-coingecko-id ethereum --days 30
- 24h:
- Address concentration:
python3 scripts/univ3_swap_address_analytics.py --pool 0x4fD47e5102DFBF95541F64ED6FE13d4eD26D2546 --token0-coingecko-id livepeer --token1-coingecko-id ethereum --days 30 - Reversion + chunking:
python3 scripts/univ3_reversion_analysis.py --pool 0x4fD47e5102DFBF95541F64ED6FE13d4eD26D2546 --token0-coingecko-id livepeer --token1-coingecko-id ethereum --days 1 --include-timeandpython3 scripts/chunked_trade_analysis.py --pool 0x4fD47e5102DFBF95541F64ED6FE13d4eD26D2546 --token0-coingecko-id livepeer --token1-coingecko-id ethereum --total-usd 25000 --chunk-usd 1000 - IL + breakeven model:
python3 scripts/il_models.py - Audit summaries:
python3 scripts/audit_summaries.py