Tuo docs

Concentrated liquidity

How Uniswap V3 ranges earn fees, why they stop earning when the price leaves, and how Tuo sizes and manages them.

Tuo's fee income comes from concentrated liquidity on Uniswap V3. This page explains what that is and how the two products use it.

What a range is

On Uniswap V3 a liquidity provider does not spread capital across every possible price. They pick a price range, say 6% either side of the current price, and their capital only serves trades that happen inside it. Inside the range, the position earns a share of every trade's fee in proportion to its share of the liquidity there. Concentrating on a narrow band means a large share of the fees for a given amount of capital.

The cost is that a range holds the pool's two tokens in a proportion that shifts with the price. As the price rises toward the top of the range, the position converts to more USDC. As it falls toward the bottom, it converts to more of the volatile token. At the edge, it is entirely one token, and it stops earning.

Why a range stops earning

Fees accrue only while the current price is inside the range. When the price leaves:

  • The range earns nothing until the price comes back or the engine closes and re-centres it.
  • The position is left holding more of whichever asset fell.
  • The hedge keeps working, because the short is sized to the exposure the range carried.

The engine allows a range to sit out of range for a set number of days, the patience window, before it forces an exit. That patience is deliberate: closing and reopening a range costs swap spread and gas, and a price that comes back within a few days would have earned again for free.

The ranges Tuo runs

SleevePoolWidth around the entry priceUsed by
Alpha, ETHWETH/USDC 0.05%+/-6%Basis Plus Core
Alpha, BTCWBTC/USDC 0.05%+/-6%Basis Plus Core
DynHedge, BTCWBTC/USDC 0.05%+/-20%Basis Plus Core and Delta Hedge Standalone

The narrow Alpha ranges earn more per dollar and leave their range sooner. They open only when the engine's entry signal fires and close when it flips. The wide DynHedge range is always on: it earns less per dollar, stays in range through larger moves, and carries a hedge that is resized as the exposure shifts. See Products for how the sleeves combine.

Both pools are Uniswap's own 0.05% fee-tier pools on Arbitrum One, and every allowlisted pool pairs its token with USDC. There is no WBTC/WETH pool and no other pair.

How the vault protects a range

The keeper mints and burns ranges, but the vault decides whether each call is acceptable:

CheckValueWhy
Pool allowlistFixed at deployment, no setterA range can only ever be opened in a pool Tuo chose before launch
Minimum range width200 ticks, about 2%Blocks dust-thin ranges that would be out of range within minutes
Maximum open ranges3 for Basis Plus Core, 1 for Delta Hedge StandaloneKeeps the emergency exit, which closes every range in one transaction, within gas limits
Spot versus average priceSpot must be within 200 ticks, about 2%, of the pool's 30-minute averageA range cannot be minted or burned into a manipulated or fast-moving price
Burn floorThe two legs together must return at least 99.5% of their value at the 30-minute average priceA burn cannot hand value to a sandwich

Ranges are snapped to the pool's tick spacing by the backend before the call; the engine returns raw ticks.

Fees, valuation and what the dashboard shows

Uniswap V3 does not credit fees to a position until it is touched. A range minted once and never adjusted reports zero fees owed on-chain, however much it has earned. Tuo's off-chain valuation therefore simulates a fee collection every five minutes to show the true accrued fees. The on-chain settlement value, which the contract uses at withdrawal, counts only what the contract itself sees, so it can understate a range's fees until the keeper's burn realises them. That understatement is conservative and favours the position owner. See Valuation.

Uniswap V3 has the usual liquidity-provider risk: a range that leaves its band holds the asset that fell. Tuo's hedge is designed to offset most of that, not all of it. See Market and strategy risk.

For integrators

Ranges are Uniswap V3 NonfungiblePositionManager tokens owned by the vault. The vault keeps the list of LP token ids per position and a reverse index from LP token to position. Valuation on-chain uses the pool's 30-minute arithmetic-mean tick, never the spot price. The relevant events are on Events and integration.

On this page