Capital Layer
← all notes

2026-09-24 · Lending & DeFi protocols

Uniswap V3: immutable core, fee switch maxed out, losses at the edges

Data as of 24.09.2026 (DefiLlama, GeckoTerminal, on-chain reads at block 26,047,349).

Verdict: usable, with limits. The Uniswap V3 contracts themselves can be trusted: five years and four months without a core exploit, and nobody can change the code. Governance controls one dial — the protocol's share of swap fees — and in the fee-switched pools we read on-chain it is already turned all the way up, to 1/4 of fees. LP money has been lost not in the core but next to it: to phishing and to third-party position managers that were granted access to position NFTs. Token risk inside a pool is a separate question.

What it is

Uniswap V3 is an AMM launched on 05.05.2021. An LP deposits two tokens into a price range of their choosing and earns a share of swap fees on trades that pass through that range. Positions are minted as NFTs via the NonfungiblePositionManager contract. V3 TVL across all chains was $1.63bn on 24.09.2026, against a peak of $4.82bn on 08.08.2022 (DefiLlama). Uniswap as a whole, including V2 and V4, is at $3.90bn.

The worked example below is a generic one: a pool of two tokens tracking the same underlying, such as two USD stablecoins from different issuers (USDC/USDT, say).

Findings

1. The core is immutable; the factory owner can only take a cut of fees — and in fee-switched pools already takes the maximum

V3 pool contracts aren't upgradeable: there is no proxy. The factory owner can do three things: set the protocol's share of a pool's fees (1/10 to 1/4 per the code), add a new fee tier, and transfer ownership. It cannot touch LP liquidity. On 24.09.2026 the owner of factory 0x1F98…F984 was contract 0xf237…bf5a (read on-chain). According to the Uniswap/protocol-fees repo, that's a fee adapter, itself owned by the governance timelock 0x1a9C…35BC. That second step rests on a single source; we haven't verified it on-chain.

The dial has already been turned. In December 2025 the DAO passed "UNIfication" (over 125m votes for, 742 against): protocol fees on V2 and a subset of V3 pools now go to UNI burns (CoinDesk, 26.12.2025, via ForkLog; Uniswap blog). In slot0 of the fee-switched V3 pools we read, feeProtocol = 0x44 (block 26,047,349). That means 1/4 of every fee goes to the protocol and 3/4 to LPs. V3's code allows no more than that, so this risk has already played out and is capped.

2. LP losses happened next to the core: phishing and third-party position managers

July 2022: a phishing "UNI airdrop" drained about $8m from LPs — victims signed approvals on their own position NFTs. Uniswap's founder called it an attack unrelated to the protocol (Decrypt, 12.07.2022; BleepingComputer). 25.01.2026: SwapNet and Aperture Finance were exploited via an arbitrary-call bug in closed-source code — over $17m in total, about $3.67m of it at Aperture; victims included users who had granted access to their Uniswap V3 position NFTs (BlockSec).

Takeaway: the core and Uniswap Labs' position manager can be trusted. Any third-party "auto-rebalancer", vault or aggregator with NFT approvals is a separate risk, not covered by this verdict.

3. For a same-underlying pair, the main risk isn't the underlying's price — it's issuer divergence

Concentrated liquidity has a hard test: if fee income is below the structural loss to arbitrage (LVR ≈ σ²/8), the position loses. Empirically, Loesch et al. (2021, arXiv:2111.09192) found that across 17 V3 pools, losses from price divergence ($260m) exceeded fees collected ($199m).

When both tokens represent the same underlying — the same dollar — normal ratio volatility is low and so is LVR. The tail is different: if one issuer breaks, arbitrageurs will dump precisely the falling token into the pool, and the LP ends up holding it. In other words, an LP position in this pool is a short on the two issuers diverging. The precedent for the mechanism is Curve's 3pool in March 2023, when USDC traded at $0.87. Token-level risks (freezes, blacklists, redemption) are a separate topic.

4. Pool yield is low single digits — and jumpy

The quick estimate of LP yield from a daily snapshot is 24h volume × fee tier × 365 / pool liquidity, minus the protocol's 1/4 where the fee switch is on. For low-fee same-underlying pools, daily snapshots in September 2026 came out in the range of roughly 0.5–1.5% gross APR. Daily volume is noisy, so the estimate swings from day to day, and no single-day snapshot is a yield. Higher returns only come from a tighter range — and that's a strategy question, not a question of trusting the protocol. For context: by our data Uniswap's DEX market share has fallen from roughly 50% to 18%, and the fee switch is on — a protocol in its mature phase, not its growth phase.

On review articles quoting 3–12% APR for same-underlying pools: the on-chain estimates above don't support numbers of that size for full-range or wide-range positions.

What could go wrong

EventWhat happens to the LPHow to monitor
One issuer fails or freezesthe pool hands out the healthy token and fills up with the broken one; loss up to the whole position in the broken tokeneach token's premium or discount to the underlying on two venues the same day; monthly issuer reserve reports
Position NFT approval granted to a third-party contract (phishing, position manager)the position is taken in full; the core plays no partwallet approval list — before every signature
V3 core exploit (none in 5 years)tail of up to 100% of pool contents; the code can't be patchedincident feeds
Pool liquidity dries up or migrates to V4fees fall; exit is always available, no queuepool liquidity on GeckoTerminal

Forecast (made 24.09.2026)

On 24.12.2026 feeProtocol in the fee-switched Uniswap V3 pools read on 24.09.2026 will still be 0x44 — a 1/4 protocol share — and the factory owner will still be 0xf237…bf5a. This tests the thesis that "governance has one dial, and it's already maxed". A change of factory owner outside a public vote revokes the verdict immediately.

What we don't know

  • Who owns adapter 0xf237…bf5a and what the timelock delay is. Both are on-chain reads (owner() on the adapter, delay() on the timelock); today this rests on one source.
  • Realised LP yield over 30 and 90 days rather than a daily snapshot. That requires summing the pool's Swap events over the period.
  • V4 pools for the same pair run different code with hooks; this verdict doesn't cover them.
  • What happens to a same-underlying pair if one issuer's jurisdiction forces a contract-level freeze.

Verdict and limits

  1. Canonical contracts only. Open positions directly via factory 0x1F98…F984 and NonfungiblePositionManager 0xC364…FE88 on Ethereum. No third-party managers, auto-rebalancers, vaults or aggregators with position-NFT approvals — and no signatures in response to "airdrops".
  2. Vetted tokens only. A pool is no safer than the weaker of its two tokens. Treat a pool position as exposure to each issuer separately — and, under stress, to whichever one broke.
  3. Fees vs. structural loss. For pairs that aren't "same asset vs. same asset", 30-day fees must exceed σ²/8 or the position loses. A same-underlying pair passes by construction, but the test is blind to the tail in finding 3.

What revokes the verdict immediately: a V3 core or NonfungiblePositionManager exploit with LP losses · a change of factory owner outside a public vote, or a move to a contract without a timelock · for a same-underlying pool, either token deviating from the underlying by more than a few percent on a daily close.

What tightens the limit without revoking it: a pool's liquidity draining or migrating to V4 for a sustained period — time to revisit the pair itself.

Sources: GitHub Uniswap/v3-core, v3-periphery, protocol-fees · Uniswap blog, "UNIfication" · CoinDesk, 26.12.2025, via ForkLog · Coin Metrics, State of the Network #346 · Decrypt, 12.07.2022; BleepingComputer · BlockSec (SwapNet/Aperture, 25.01.2026) · GeckoTerminal · DefiLlama · Loesch et al., arXiv:2111.09192 · Ethereum RPC (publicnode, 1rpc), block 26,047,349, 24.09.2026 ≈12:30 UTC.

Research for information only. Not investment advice.