← Hypotenuse Labs

Pye Finance (via Hypotenuse Labs)

Principal / yield tokenization for ETH staking

Split an ETH staking position into independently tradable Principal (PT) and Yield (YT) tokens — Pendle-style — on top of StakeWise v3.

pye.fi ↗

Context

Pye separates the principal and the yield of a staking position into two tradable tokens. Depositing ETH stakes it in StakeWise v3 validators and mints a Principal Token (1:1 claim on capital) and a Yield Token (claim on future rewards), locked to a maturity. Principal holders keep capital liquidity; yield holders trade or hedge future staking returns; at maturity each tranche redeems against the yield actually generated.

Deposit → PT/YT → maturity → redeem

Contracts & standards

  • PyeRouterV1 — the entry point and bond registry. It whitelists StakeWise validator vaults and mints a separate Bond per (validatorVault, maturity) pair via a BeaconProxy (so all bonds share one upgradeable implementation), keyed by keccak256(vault, maturity). Exposes deposit, requestUnstake, unstake, and redeem, with configurable mintFee/redemptionFee in basis points.
  • PT & YT — bond-gated ERC-20 tranches (mint/burn restricted to their bond). The Principal Token supports an optional transfer-lock (isPtLocked) for positions that shouldn’t be transferred before maturity.
  • ERC-4626 / ERC-7540 vault interfaces — synchronous and asynchronous deposit/redeem to model StakeWise’s multi-day exit queue, where withdrawals settle later rather than instantly.
  • StakeWise v3 adapter — the router registers each bond as an access-managed entry on private validator vaults (updateWhitelist), stakes deposited ETH, and routes the exit queue back to redemptions. Fixed-point accounting uses WadRayMath.

My contribution

Designed and delivered the proof-of-concept end to end — the router, the BeaconProxy bond factory, the PT/YT token tranches, the ERC-4626/7540 vault interfaces, the StakeWise v3 adapter and exit-queue handling, and the fee mechanics. Built on EVM before the team pivoted to SVM.

Stack

  • Solidity ^0.8.22
  • Foundry
  • ERC-20 (PT / YT)
  • ERC-4626
  • ERC-7540
  • BeaconProxy
  • StakeWise v3
  • WadRayMath
  • Ethereum