Skip to main content

High Level Architecture

High Level Architecture

Functions of Contracts

PendleRouter

PendleRouter is a contract that aggregates callers' actions with various different SYs, PTs, YTs, and Markets. It does not have any special permissions or whitelists on any contracts it interacts with. Therefore, any third-party protocols can freely embed the router's logic into their code for better gas efficiency.

You can read more about the PendleRouter here.

Standardized Yield (SY)

SY is a wrapped version of the interest-bearing token (ibToken) that can also be staked into other protocols to earn even more interest. In the Pendle system, SY is used instead of the ibToken for all operations, including trading on PendleMarket or minting Principal Token & Yield Token.

The following are true:

SYibToken (1 SY = 1 ib Token)Asset (ibToken appreciates against)
SY GLPGLPNIL, GLP doesn't appreciate
SY wstETHwstETHstETH
SY ETHxETHxETH locked in ETHx contract*
SY aUSDCNot 1-1 to aUSDC since it's rebasingaUSDC
SY rETH-WETH_BalancerLP AurarETH-WETH LP of Balancer staked into the corresponding Aura's gaugeLiquidity of rETH-WETH pool

For *: ETH locked in ETHx is different from normal ETH due to withdrawal from ETHx has delay. Under normal circumstances it's also normal for ETHx to trade at a market price lower than the amount of ETH it can be withdrawn to.

Principal Token (PT)

PT is a token that represents the right to redeem for the principal amount at maturity, and is tradable on PendleMarket. While PT represents a claim to a fixed amount of assets, SY wraps an ibToken that increases in value, meaning that 1 PT != 1 SY is usually true (except in exceptional cases). Instead, 1 PT = 1 Asset, where "Asset" refers to what SY's ibToken is denominated in.

The following are true:

PTAsset (1 PT = 1 Asset)
PT GLPGLP
PT wstETHstETH
PT ETHxETH locked in ETHx contract
PT aUSDCaUSDC

At redemption, 1 PT = X SY, where X satisfies the condition that X SY = 1 Asset. For example, assuming 1 wstETH = 1.2 stETH on 1/1/2024, 1 PT-wstETH-01JAN2024 will be redeemable to 0.8928 wstETH at maturity.

Yield Token (YT)

YT is a token that represents the rights to redeem the interest generated by the SY until it reaches maturity. It's important to note that the value of YT is zero once it reaches maturity. The yield can be redeemed at any time and it can be traded on PendleMarket using special methods. ibToken generates yield in two forms, which Pendle denotes as:

  • Interest (compounding yield): The yield is denominated in the same unit as the asset of ibToken. For example, as time goes on, wstETH becomes worth more in terms of stETH, and SY-aUSDC becomes worth more in terms of USDC.
  • Rewards (yield that does not compound): The yield is given out in a different unit than the ibToken. For example, GLP generates ETH.

The following are true:

YTInterestRewards
YT GLP-ETH
YT wstETHstETH-
YT ETHxETH locked in ETHx contract-
YT aUSDCaUSDC-
YT rETH-WETH_BalancerLP Auraliquidity of rETH-WETH poolAURA, BAL

PT and YT are minted and redeemed using the YT contract. To mint PT and YT, SY is utilized. 1 SY = X PT + X YT is created where 1 SY = X Asset. Prior to maturity, both PT and YT must be provided to redeem the underlying SY. After maturity, only PT is required for redemption.

PendleMarket

PendleMarket (or simply Market) is a contract that enables users to trade between PT and its corresponding SY, while still allowing liquidity provision as usual. Swap fees are directly compounded into the LP. Each Market also has its own built-in geometric-mean oracle, similar to UniswapV3.

Currently, there is no market to trade YT, but it is always tradable by the following algorithms:

  • SY ➝ YT = flashswap SY, mint PT & YT, payback PT, send YT to users.
  • YT ➝ SY = flashswap PT, use PT & YT, redeem SY, pay back, send excess to users.
YT Fungibility

All Yield Tokens (YT) of the same underlying asset are completely fungible. It is not programmatically possible to distinguish between YT acquired through minting, swapping, or LPing. User balances are queried on the SY contract, which treats all YT of a given type as identical. Any attempt to classify users or distribute rewards based on how they acquired their YT is not feasible on-chain.

Contract Factories

Pendle uses a factory pattern for deploying new markets, PTs, and YTs. This standardizes the creation process and provides a single source of truth for identifying valid protocol components.

Factory Versions

VersionTimeframeKey Changes
Pre-V3Early deploymentsInitial factory implementations
V3Late 2023Standard for all new deployments across all chains
V4/V5Mid-2024Removed Permit (EIP-2612) from all new PT, YT, and LP tokens to mitigate phishing attacks
V6Late 2025Current recommended version for all new market deployments
Security Note: Permit Removal

Starting with V4/V5 factories, the Permit function (EIP-2612) was completely removed from all newly created PT, YT, and LP tokens. The Permit function, which allows gasless approvals via off-chain signatures, was identified as a significant phishing attack vector. Tokens created by V4+ factories no longer support permit().

warning

Always use the latest factory version for new market deployments. Using deprecated factories can lead to issues including improper contract verification.

Immutability vs. Upgradability

  • Market contracts are immutable once deployed. Their fundamental parameters (including the concentrated yield range) cannot be changed. If a pool goes "out of range," a brand new market must be deployed and LPs must manually migrate.
  • SY contracts are upgradable proxies (for newer deployments). This allows adding support for new deposit assets or adjusting mechanisms without requiring a full market migration. When developing an SY externally, it is recommended to deploy it as an upgradeable contract using Pendle's proxy admin and transfer ownership to Pendle's pause controller.

Cross-Chain Principal Tokens

Cross-chain PTs allow Principal Tokens to be bridged and used on networks where Pendle may not have a full deployment, while concentrating deep trading liquidity on mainnet.

  • Standard: Uses LayerZero's Omnichain Fungible Token (OFT) standard.
  • Mechanism: Users can "zap in" to a PT position on a mainnet pool, then bridge the PT to a destination chain (e.g., Avalanche, HyperEVM) for use as collateral in local money markets.
  • Liquidation: The system handles liquidations without relying on DEX liquidity on the destination chain — the underlying asset is converted and bridged back from mainnet.
  • Initial Pilot: sUSDe/USDe PTs, with the goal of collateral support on money markets like Morpho.