ONE POSITION YIELD + RISK

The IL options market.

LPs sell impermanent loss risk at a price they choose. Protocols compete to buy it. The hook clears the market in one block.

LIVE · UNICHAIN SEPOLIA
PRISM
TICK
OPEN BIDS
POSITIONS
UNISWAP V4LP POSITIONin range-500+500currentpricePRISMLP-Yyieldearns feeszero ILLP-Ddeltaabsorbs ILfee share

oracle-free

IL computation via funded-LP formula

one tx

deposit, split, bid match, lock

0 to 100%

IL coverage spectrum

A new financial primitive

IL has always been the hidden cost of LP. Prism makes it a traded asset.

Every existing IL solution patches around the problem. Token emissions, rebalancing vaults, IL insurance — none of them create a market. Prism does: LPs price the risk, protocols bid on it, the hook settles it atomically. This is only possible on Uniswap v4.

settlementatomic inside afterAddLiquidity — one block, no keeper
pricingset by protocol competition, not by the protocol team
coverageilCoverageBps: 0% to 100%, chosen at deposit time

afterAddLiquidity · the hook callback that runs at deposit time

One deposit, one transaction.
The hook scores every active bid, selects the best match, locks collateral, and settles the split. All in the same block.

BLOCK N · afterAddLiquidity(key, params, delta, hookData)
01posId = keccak256(poolId ‖ lp ‖ ticks ‖ block.number)
02mint LP-Y → lp
03for each active bid: score = ilCoverageBps * (10000 - feeShareBpsLPD) / 10000
04best = bid with highest score where collateral covers maxIL
├─ YES, best bid fills
LP-D → winning protocol wallet
vault ← USDC (bid.ilCoverageBps fraction of maxIL)
pos.ilCoverageBps = bid.ilCoverageBps (frozen)
LP exits with chosen coverage level, zero IL up to that fraction
└─ NO, no adequate bid
LP-D → lp (held)
no vault, no collateral locked
deposit never reverts, LP retains both tokens
05emit PositionOpened(posId, sqrtPrice, tickLower, tickUpper, collateral)

bids[poolId] · the on-chain order book

Protocols post bids.
The best one fills each deposit.

Any protocol can post a bid with their coverage terms and USDC collateral. Multiple bids compete. Each deposit automatically matches the highest-scoring bid that has enough collateral to cover the position's maxIL. No keepers, no per-deposit approvals, no separate settlement step.

ilCoverageBps

Fraction of IL this bid commits to cover, in basis points. 10000 = 100%. Frozen into the position at fill time.

feeShareBpsLPD

Basis points of swap fees routed to LP-D holder. LP-Y earns the remainder. Lower demand = higher score.

maxCollateral

Total USDC budget. Allocated proportionally across matched deposits until exhausted.

ilCoverageBps · 0 ... 10000

IL is not binary.
Every point on the spectrum is a distinct trade.

One parameter unlocks the full range between standard AMM LP and full IL protection. LPs set their coverage level. Protocols compete to offer the best terms. The hook is the matching engine.

LP-Y · COVERAGE LEVEL · ilCoverageBps
100%
zero IL exposure, give up a slice of fees to LP-D holder
70%
70% of IL covered, keep a larger share of fees
50%
half the IL absorbed, minimal fee share surrendered
0%
standard AMM LP, full IL, 100% of fees kept
MARKET STRUCTURE · ATOMIC · ONE BLOCK
LPdeposits liquidityPRISM HOOKafterAddLiquidityscores bids, locks collateralPROTOCOLstanding bidliquidityLP-Y (zero IL)LP-DUSDC collateralall of this · one transaction · one block

AVAILABLE BIDS · ETH/USDC 0.3% · SORTED BY SCORE

BIDDERIL COVERAGEFEE SHAREUSDC LEFTSCORE
0xABC...defAUTO100%15%$8,4008,500
selected
0xDEF...12380%5%$2,2007,600
select
0x456...78960%0%$12,0006,000
select
no coverage--100%----select
score=ilCoverageBps*(10000 - feeShareBpsLPD)/10000|auto-fill picks the highest score

LP SIDE

Sell IL risk at a price you choose

Pick the coverage level. Pick the fee split. The hook encodes your choice into the deposit. No second transaction. No manual negotiation.

PROTOCOL SIDE

Buy IL exposure at a price you set

Post a bid with your coverage terms and USDC collateral. Compete for LP order flow. Best score wins the position.

THE HOOK

Clears the market in one block

No oracle, no keeper, no counterparty risk. Settlement runs atomically inside afterAddLiquidity. The block is the settlement layer.

THE DEMO THAT WINS THE ROOM

01

LP opens the app

Sees three live bids for ETH/USDC 0.3%. Sorted by score. Auto-selection highlights the best terms.

02

Picks 80% IL coverage at 5% fee share from Protocol B

Conscious decision. The deposit UI shows exact terms before any transaction is signed.

03

Deposits. One transaction.

LP-Y lands in wallet. LP-D transfers to Protocol B. USDC collateral locks in the vault. Settlement deferred.

04

ETH drops 15%. IL accrues.

The position is now underwater. IL is computed against the entry sqrtPrice using the funded-LP formula.

05

LP removes liquidity and claims.

Hook draws 80% of IL from the vault into lpYCompensation. LP receives $340 USDC. Principal intact.

POSITION · ETH/USDC · SETTLED80% PROTECTED
IL accrued$425 USDC
coverage80%
received$340 USDC
LP bore$85 USDC
fees earned$61 USDC

Protocol B absorbed the $340. In exchange for $17 in swap fees. That was their trade. They priced it. They took it.

No oracle told them what it was worth. Protocol B placed a bid. The hook matched it. The market did the rest.

Try the demo on Unichain Sepolia →

Token structure

One position, unbundled.
LP-Y takes the yield.
LP-D takes the delta.

WHO HOLDS LP-Y

LPs wanting predictable fee incomeStablecoin treasuriesDAOsYield-focused fundsAnyone long volume, short volatility

WHO HOLDS LP-D

Protocols bootstrapping liquidityVolatility tradersMarket makers long their tokenYield strategies with leveraged fee exposure

LP-Y

typeERC-1155, tokenId = positionId
yieldswap fees × (1 − feeShareBpsLPD)
delta0
IL on exit0, drawn from LP-D vault
transferableyes, IL rights follow the token

IL compensation follows the token, not the depositor. Transfer LP-Y and the protection goes with it. The contract checks your balance at claim time, not when you first deposited.

LP-D

typeERC-1155, tokenId = positionId
yieldswap fees × feeShareBpsLPD
deltaabsorbs IL on LP exit
collateralUSDC, proportional to maxIL
transferableyes, liability follows the token

Collateral only gets drawn when the LP exits underwater. If price holds or comes back, the LP-D holder keeps all of it. Plus whatever fee share they picked up along the way.

CASE: LP holds both

If you hold both tokens yourself, the IL settles internally. You end up in the same place as a regular Uniswap LP. The split still happens on-chain though, so the accounting stays clean if you need it.