1️⃣5️⃣ Uniswap V4 LPs
Reward liquidity providers on Uniswap V4 pools
Fuul enables projects to reward Liquidity Providers (LPs) on Uniswap V4 pools. Like Uniswap V3, V4 uses concentrated liquidity: LPs allocate capital to a price range, and only liquidity inside the current price range is actively used by the pool.
How rewards are distributed
Fuul uses Active Liquidity: each in-range position earns rewards proportional to its value relative to the pool's other in-range positions.
1. Fetch positions
Fuul reads every open position in the pool
2. Filter in-range
Only positions whose price range includes the pool's current price are considered
3. Value positions
Each in-range position is valued in one of the pool's two tokens at the current pool price. A wallet's positions in the pool are added together
4. Distribute rewards
Rewards are split proportionally: your share of the in-range value = your share of rewards
Out-of-range positions receive zero rewards, so incentives go to liquidity that is actively contributing to the pool.
Setting up a V4 trigger
Uniswap V4 pools have no contract address of their own: every pool lives inside Uniswap's singleton PoolManager and is identified by a pool ID. When creating a V4 trigger, provide the pool ID (0x followed by 64 hex characters). A 40-character contract address is rejected.
Networks
Ethereum mainnet
Pool identifier
Pool ID (bytes32)
Reward method
Active Liquidity: in-range positions earn, out-of-range positions earn zero
Who is credited
Positions opened through Uniswap's PositionManager (e.g., the Uniswap app) are credited to the current owner of the position NFT. Positions opened through a hook or another contract are credited to that contract
Differences from Uniswap V3
Pool identifier
Pool contract address
Pool ID
Networks
Many EVM chains
Ethereum mainnet
Position value
USD value of in-range liquidity
In-range value denominated in one of the pool's tokens
For Uniswap V3 and other concentrated liquidity AMMs, see CLAMM LPs.
Last updated