MochiYieldHook · live on Uniswap v4

TRADE YIELD.KEEP PRINCIPAL.

A Uniswap v4 hook that prices liquidity by time to maturity — fees scale with risk, implied rates stay sane, and PT/YT parity stays honest.

Maturity-aware feesImplied-rate guardCross-pool parityReactive callbacks

Market Overview

Live

Total Value Locked

0.00%
0.00 wstETH

Active Markets

2

Vault Deposits

0.00 wstETH

app.mochiyeild.xyz

Welcome back,

Trader

MY
Search markets, PT / YT pairs…

Overview

1D1W1M6M1Y

Total Value Locked

0.00 wstETH

0.00%

Implied APY

0.00%

PT @ 0.0000 ETH

Pool Fee

0.00%

0d to maturity

Parity Drift

100.00%

PT + YT vs underlying

Portfolio Performance

Last 30 days

0.00%

Watchlist

Most ViewedGainLose
wstETH

wstETH PT

0.0000 ETH

0.00%
wstETH

wstETH YT

0.0000 ETH

0.00% fee

THE PREMISE

In yield markets, risk isn't constant — it decays toward maturity. Flat-fee AMMs ignore that. So LPs get overpaid early, underpaid late, and nobody watches whether PT and YT still add up.

01

Yield liquidity is mispriced by default.

Flat fees sit on a position whose risk changes every single day as it approaches redemption.

02

PT and YT can silently drift apart.

Two pools, one underlying truth, and no referee making sure they still reconcile.

03

mochiyeild makes the hook the referee.

Every swap: re-price the fee by maturity, bound the implied rate, check parity, and emit an event Reactive can act on.

PT / YT CONVERGENCE

From now to maturity.

Split one yield-bearing asset into two. PT climbs toward 1.0 and redeems for principal at maturity. YT carries the yield and decays toward 0as it's earned. Together they always reconcile to the underlying — that's the parity the hook watches.

Principal Token (PT)Yield Token (YT)

Illustrative — normalized to underlying = 1.0. Shaded band marks yield earned so far.

THE HOOK DOES FOUR THINGS

Four checks, one swap.

Maturity fee

calculateFeeForMaturity()

~1% far out → ~0.05% near expiry

Implied-rate guard

beforeSwap()

rejects economically irrational PT prices

Parity monitor

afterSwap()

emits ParityDriftDetected across PT/YT

Reactive trigger

keeper react()

cross-chain callback to realign

Swap feeCurrent 0.00%

MATURITY FEE CURVE

Fees scale with risk.

~1% far from maturity, decaying to ~0.05% near redemption. Volatility falls as PT approaches par, so LP compensation tracks the risk that's actually there — not a flat number that overpays early and underpays late.

Far (>90d)

1.00%

Near (<7d)

0.05%

BEFORE / AFTER

What the hook changes for LPs.

Before — flat-fee AMM
  • Flat fee, regardless of risk
  • No implied-rate sanity check
  • Parity left unmonitored
  • LP eats impermanent loss blind
After — MochiYieldHook
  • Maturity-scaled fee
  • Bounded, sane implied rate
  • PT/YT parity watched every swap
  • Drift triggers a Reactive callback

ARCHITECTURE

What's live, and what's honest about being next.

The hook and vault run on Uniswap v4 today. The cross-chain loop is wired and tested on testnet — here's exactly where each layer stands.

Hook

beforeSwap / afterSwap

live

YieldVault

PT / YT mint + redeem

live

Markets UI + live hook events

on-chain event feed

live

ArbitrageRouter.restoreParity

records drift; full arb next

partial

Reactive Keeper E2E

Lasna; not on local Anvil

testnet

PROOF

Live numbers, straight from the hook.

Live on-chain

TVL

0.00 wstETH

Current fee

0.00%

Days to maturity

0

Parity drift

100.00%

BUILD STATUS

What ships today, what ships next.

Live

  • MochiYieldHook (beforeSwap / afterSwap)
  • YieldVault PT/YT mint + redeem
  • Markets UI + analytics feed
  • Live on-chain hook events

Next

  • Full ArbitrageRouter parity arbitrage
  • Mainnet Reactive keeper loop

READY TO TRADE YIELD?

Deposit wstETH, receive PT + YT, and choose your own risk profile.