Перейти к содержимому
5 человек
в команде
5 месяцев
в работе
Спроектировали и разработали совместно с IOHK децентрализованное приложение на платформе Plutus. Созданный DApp — это один из первых NFT-маркетплейсов на Cardano
Узнать больше

Разбор Pendle: как работает токенизация доходности в самом обсуждаемом протоколе 2025 года

pendle

Подготовили гайд по, возможно, самому интересному DeFi-проекту года — Pendle. Рассказываем, как он работает, какие функции в него заложены, что он позаимствовал у других протоколов и почему сейчас о нём так много говорят.

О Pendle

Pendle — это протокол токенизации доходности c элементами трейдинга на вторичном рынке (yield-trading protocol). Поддерживает несколько EVM-совместимых сетей.

Основная идея Pendle заключается в разделении активов, которые приносят доход (yield-bearing token), на две части: principal (основная) and yield (доходная), где основная часть отождествляет эквивалент доходного токена, а доходная часть - прибыль.

В традиционных финансах подобный инструмент существует очень давно. Strip bonds или stripped securities. Разделение облигации на "тело" (principal) и купоны (coupons).

Ещё более наглядная аналогия – разделение прав на недвижимость:

• Право собственности – аналог "тела" актива.
• Право на арендные платежи – аналог "доходной части".

В Pendle возможно приобрести доходность базового актива отдельно от самого актива с расчетом, что доходность изменится в положительную сторону и покупатель получит доход. Например, стейкинг базового актива ETH дает плавающую доходность. Она меняется с течением времени. Поэтому в будущем доход может увеличиться.

Есть три ключевые функциональности, которые характеризуют протокол Pendle:

1. Создание обертки для токенов, которые приносят доходность.
2. AMM для торговли обернутыми токенами.
3. vePENDLE для создания безопасной экосистемы и дополнительных стимулов для пользователей.

Обертка токенов

Pendle оборачивает токены, приносящие доход. Примерами таких токенов могут быть любые токены генерирующие доходность: stETH, GLP, gDAI и так далее.

Протокол вводит аббревиатуру SY (Standardized Yield token) для обертки. Например, SY-stETH - это обертка для stETH.

SY — это не просто токен, как WETH. Он разбивается на две части:

PT (principal token). Представляет эквивалент базового токена.
YT (yield token). Представляет доходность базового токена.

Процесс разделения SY на два токен называется токенизацией доходности, где доходность токенизируется в отдельный токен YT.

Важно! Пользователь может оборачивать в SY, как доходный токен (stETH), так и базовое представление (ETH) в некоторых случаях. Под капотом будет произведена сначала конвертация из ETH —> stETH, затем из stETH —> SY-stETH. Это работает так, за исключением некоторых случаев, когда доходный токен сам является базовым представлением, например токен GLP от GMX.

C PT и YT связан еще один термин — maturity. Это срок погашения, когда YT перестает приносить доходность, а PT может быть полностью поменян на базовый актив в соотношении 1:1.

PT можно обменять через AMM до наступления срока погашения (со скидкой относительно номинальной стоимости), но 1:1 обменять на базовый актив — только после наступления срока погашения.

AMM

Обе части обернутого токена PT и YT могут торговаться на специальной площадке протокола под названием Pendle AMM.

AMM является ключевым функционалом протокола. Математическая база взята из протокола Notional Finance. Кривая AMM сужает ценовой диапазон с приближением ко времени погашения (maturity). Но по сути, все это напоминает Uniswap v2 с его формулой постоянного произведения x * y = k.

Для AMM также необходимы поставщики ликвидности, которые готовы предоставить свои токены SY и PT. Взамен они получат LP токен, в качестве притязаний на свою часть ликвидности в пуле.

Не смотря на то, что в пуле два актива (PT и SY) при помощи AMM также может обмениваться и YT токен. Такой обмен называется Flash своп. Flash, потому что множество преобразований для свопа происходят в рамках одного блока.

Flash своп работают поверх математической связи P(PT) + P(YT) = P(SY) при создании обертки SY, где:

P(PT) — цена токена PT,
P(YT) — цена токена YT,
S(SY) — цена токена SY.

Таким образом, математика гарантирует, что разделение SY на PT + YT (или их объединение обратно в SY) всегда экономически сбалансировано в момент создания или погашения SY.

Если пользователь хочет купить YT, то он отдает SY в пул (для получения SY он оборачивает базовый актив), так как в природе SY становится больше, то для сохранения баланса нужно доминтить PT и YT. После этого часть YT отправляется пользователю, а в пул отправляется некоторое количество PT, которое будет соблюдать баланс по формуле P(PT) + P(YT) = P(SY).

// Схема взята из документации протокола Pendle

vePENDLE

Это vote-escrowed токен, который используется владельцами в управлении протоколом. Владельцы vePENDLE получат доступ ко множеству функций протокола:

Дополнительный доход.
Голосование за пулы, которые получат дополнительное вознаграждение.
Увеличение награды для поставщика ликвидности.

vePENDLE также служит механизмом для сокращения свободного предложения токенов PENDLE, за счет того, что получении vePENDLE требует застейкать PENDLE. C течением времени количество vePENDLE уменьшается и PENDLE разблокируется.

Таким образом протокол повышает стабильность токена PENDLE и общую надежность протокола.

Для пользователей из L2 сетей все немного сложнее. Чтобы получить максимальную прибыль, пользователи, предоставляющие ликвидность на Arbitrum, должны заблокировать PENDLE на Ethereum и синхронизировать информацию с Arbitrum с помощью кроссчейн-сообщений.

При этом для получения дохода с LP токенов этого не требуется, так как распределение вознаграждения происходит непосредственно в сети Arbitrum (аналогично в другой L2 сети).

Типы APY

Внутри протокола можно столкнуться с разными типами APY. Всего их четыре вида и необходимо понимать, что каждый из них обозначает. Это поможет эффективно пользоваться протоколом или понимать кодовую базу.

Underlying APY

Представляет собой 7-ми дневную скользящую средней доходности базового актива.

Implied APY

Рыночная стоимость базового актива, рассчитанная на основании стоимости YT и PT.

Fixed APY

Гарантированная доходность, которую можно получить при наличии PT на своем кошельке до времени погашения (maturity). Она определяется Implied APY в момент создания PT.

Long Yield APY

Приблизительная годовая доходность при покупке YT по текущей стоимости. Актуально, при условии, что базовая годовая процентная доходность остается постоянной.

Ключевые механики PT и YT

И PT и YT тесно связаны со временем погашения (maturity). Это мы уже обсуждали выше.

Магия с PT токеном

PT представляет собой эквивалент базового токена, который может быть погашен после наступления maturity. Это означает, что обменять PT на базовый токен в соотношение 1:1 можно только по истечение определенного времени.

В начале maturity PT торгуется со скидкой. Это возможно благодаря тому, что доходность базового актива представлена в отдельном токене YT.

В течении периода maturity, PT будет приближаться к стоимости базового актива и в конечном итоге соответствовать ей, когда погашение будет возможно. Подобный рост стоимости базового актива и определяет фиксированную годовую доходность (Fixed APY).

Важно понимать, что stETH — это доходный токен, который растет относительно базового ETH за счет начисления вознаграждения за стейкинг. Приобретая PT токен, обратный обмен 1:1 (redeems на схеме) может быть произведен только в ETH, не в stETH, который по прежнему растет относительно ETH в стоимости.

Магия с YT токеном

Обладатель YT претендует на всю доходность от базового актива вплоть до наступления времени погашения (maturity).

Например, владея 10 YT-stETH в течение 5 дней, получаешь доход эквивалентный застейканным 10 ETH на Lido за тот же период времени.

Стоимость YT стремится к 0 по мере приближения к maturity. И здесь важным показателем является Implied APY. Пользователи получают прибыль, когда доходность, собранная на YT, выше, чем покупка этого YT.

Важно! Можно получить собранную доходность с токена YT в любой момент времени, даже до наступления времени погашения (maturity).

OrderBook

Пользователи могут создавать лимитные ордера на покупку или продажу. Особенность лимитного ордера заключается в том, что исполнен он будет при достижение заданного Implied APY.

Ордербук работает в связке с AMM, но любые свопы в первую очередь исполняют лимитные ордер и только во вторую очередь переходят к исполнениям на AMM. Однако ордербук опционален, то есть протокол может работать на одном AMM.

Согласно документации у Pendle существует арбитражный бот, который выравнивает цены между AMM и ордербуком. Это гарантирует, что любые расхождения в ценах из-за разницы в ликвидности (между AMM и ордербук) будут быстро исправлены.

Работают ордера по гибридной схеме: создаются и хранятся off-chain, исполняются on-chain.

Для создания ордера пользователь подписывает структуру данных с полями, описывающими ордер и передает ордер на бекенд. Исполнение ордера будет происходить на смарт-контракте PendleLimitRouter.sol.

Стоит отметить, что создание ордера не требует от пользователя совершать транзакцию, но для отмены созданного ордера транзакцию сделать необходимо. Смарт-контракт должен знать, что подпись данная пользователем бекенду больше не актуальна.

Документация для работы с API лимитных ордеров.

ERC-5115: SY Token

Для реализации SY токена протокол разработал и предложил собственный стандарт ERC-5115: SY Token, который описывает расширение ERC-20 с необходимыми функциями для создания обертки (deposit, withdraw и так далее).

Основная мотивация создания стандарта заключается в том, что ERC-4626 Tokenized Vault не покрывал все типы доходных токенов. Например, нативные reward-токены (COMP, CRV и другие) или LP токены AMM, которые измеряется в «единицах ликвидности», а не в базовых токенах.

Поэтому со своей стороны ERC-5115 предложил расширить ERC-4626, чтобы поддерживать любые yield-механизмы. Для этого стандарт разделяет понятия «входного токена» (токена для начала получения доходности) и «базового актива» (с которого доход будет получен).

Таким образом SY-токены стандарта могут оборачивать ERC-4626, добавляя им недостающую функциональность.

Обзор архитектуры смарт-контрактов

В этом разделе будут рассмотрены смарт-контракты на верхнем уровне. Глубоких деталей реализации не будет, поэтому доступно для чтения всем.

Репозитории

Стоит отметить, что на момент написания статьи у протокола две версии. Для двух версий смарт-контрактов у протокола три репозитория:

Первая версия.
Вторая версия.
Standardized Yield (SY).

Первая версия устаревшая, но нам она может быть интересна с точки зрения смарт-контрактов, которые были задеплоены давно и не менялись. К таким смарт-контрактам относится токен протокола PENDLE.

Вторая версия протокола, она же core функционал, отвечает за несколько фичей:

• Токенизация (реализации токенов PT и YT).
• AMM (три контракта: фабрика, маркет и математика AMM).
• Маршрутизация (смарт-контракт роутера и различных вспомогательных контрактов).
• И несколько других, включая оракул, исполнение лимитных ордеров, распределение вознаграждения.

Смарт-контракты для оборачивания токена находятся в отдельном репозитории. Основной функционал обертки находится в абстрактном смарт-контракте SYBase.sol.

Flow вызова смарт-контрактов

Не смотря на то, что смарт-контракты распределены по разным репозиториям, в большинстве случаев для пользователя есть одна основная точка входа — это группа смарт-контрактов отвечающих за маршрутизацию (на схеме Router).

Router

Последняя версия смарт-контракта роутера является прокси смарт-контрактом и основная его задача делегировать вызов к нужным смарт-контрактам. При необходимости роутер комбинирует вызовы.

Для создания обертки вокруг базового актива вызов будет отправлен на смарт-контракт SY, для токенизации на YT (YT сам перенаправит вызов на PT), для свопа на PendleMarket.

Реализация роутера находится в смарт-контракте PendleRouterV4.sol. На схеме ниже посмотрим, как работает делегирование вызова.

PendleRouterV4 наследуется от смарт-контракта RouterStorage.sol и стандартного смарт-контракта от OpenZeppelin Proxy.sol.

RouterStorage.sol хранит список смарт-контрактов на которые прокси может делегировать вызовы. В зависимости от типа вызова, вызов делегируется на смарт-контракт работы с ликвидностью, свопа и так далее (ActionAddRemoveLiqV3.sol, ActionSwapPTV3.sol и другие).

SY токен

SY — это обернутая версия доходного токена. Напоминаю, токен торгуется на PendleMarket в паре с PT.

С точки зрения обертки здесь мало чего интересного. Базовый актив блокируется на смарт-контракте обертки с вызовом функции deposit() и разблокируется обратно с вызовом функции redeem().

Однако когда дело доходит до конкретного доходного токена, то есть нюансы. Стоит посмотреть сколько разных имплементаций SY существует (PendleAaveV3SY, PendleAerodromeVolatile и так далее). Складывается ощущение, что сколько есть токенов, столько существует и модификаций.

Да, имплементации несложные, но у каждого есть свою нюанс. Одни доходные токены приносят доход за счет механизма ребейза, другие за счет механизма вознаграждения и так далее. Для каждого SY должна быть реализована функция, которая будет рассчитывать exchangeRate, регламентирующего сколько SY будет получено при депозите.

Например, токен SY для AaveV3 будет работать, как отображено на схеме ниже.

Именно поэтому и существует несколько базовых смарт-контрактов (SYBase, SYBaseWithRewards). Однако основная базова логика находится в смарт-контракте SYBase.sol.

Важно! Обратите внимание, существуют обертки с механизмом upgradeable.

PendleMarket

Или просто маркет — это смарт-контракт, который представляет собой пул пары токенов PT и SY. Комиссия за своп уходит напрямую поставщикам ликвидности. Каждый маркет имеет свой собственный встроенный оракул, аналогично UniswapV3.

Версий реализаций маркета уже было несколько. Последняя третья версия находится в смарт-контракте PendleMarketV3.sol.

Смарт-контракт маркета наследуется от двух других смарт-контрактов:

PendleERC20.sol. Реализует LP токен для поставщиков ликвидности, которые вкладывают в пул SY и PT токены.
PendleGauge.sol. Смарт-контракт, который распределяет PENDLE и другие вознаграждения, сгенерированные SY, среди держателей Market LP.

Основная математика пула (логика AMM) реализована в отдельной библиотеки MarketMathCore.sol. Сюда входит добавление/удаление ликвидности и свап одного актива на другой. Все по классике AMM!

VotingController и GaugeController

VotingController — это смарт-контракт, который позволяет держателям vePENDLE в голосованиии за маркеты. Предварительно vePENDLE можно получить путем стейкинга основного токена протокола PENDLE на смарт-контракте VotingEscrowPendleMainchain.sol для мейннет и VotingEscrowPendleSidechain.sol для сайдчейн.

Версий реализаций маркета уже было несколько. Последняя третья версия находится в смарт-контракте PendleMarketV3.sol.

GaugeController — это смарт-контракт, который получает результаты голосования от VotingController и распределяет PENDLE среди gauges разных маркетов (помним, что gauge встроен внутрь каждого маркета). Есть две версии для мейннет и сайдчейна.

Две версии для мейннет и сайдчейна нужны потому, что голосование происходит только в сети мейннет. Результаты голосования доставляются в сеть через кроссчейн сообшения, которые реализованы на базе LayerZero.

Важно! Баланс vePENDLE у пользователя будет уменьшаться еженедельно, пока не станет нулевым по истечении срока действия, аналогично модели veCRV у Curve. Это модель заимствована многими протоколами.

Комиссии

Протокол имеет два источника дохода:

YT Fees. Pendle взимает комиссию (до 5%) с доходности YT. Точный размер определяется голосованием владельцев vePENDLE. Плюс комиссия взимается с поинтов (YT Fees on Points), которые работают off-chain в качестве вознаграждения пользователей и тоже считаются доходом.
Swap Fees. Pendle взимает комиссию со всех свопов PT. Размер комиссии определяется тем, кто разворачивает пул, то есть создает пару токенов. Чем ближе наступление периода погашения PT (maturity), тем ниже комиссии.

Собранные комиссии собираются на отдельные кошельки и позже отправляются владельцам токена vePENDLE. Протокол ничего не оставляет себе, но имеет возможность изменить это в будущем.

Вывод

Секрет протокола Pendle прост — возьми все что уже хорошо работает, скомбинируй и популярность найдет тебя сама!

Что я имею ввиду?

Идея токенизации, как у Yearn.
AMM, как у Notional с базой Uniswap.
vePENDLE, как veCRV у Curve.
Обмен сообщениями между сетями. Использован LayerZero.
Разделение актива на доходность и основную стоимость, как в традиционных финансах на рынке облигаций.

Все эти концепты многократно обкатаны различными протоколами и доказали свою состоятельность. В свою очередь, Pendle систематизировал различный опыт в области токенизации и унифицировал стандарт токенизации (ERC-5115: SY Token).

Благодаря новому стандарту удалось расширить список доходных токенов, а благодаря AMM нивелировать непостоянные потери для поставщиков ликвидности, которые преследуют их при предоставлении ликвидности.

Вкусно! Смарт-контракты Pendle под лицензией GPL-3.0-or-later. Это означает, что разрешено личное и коммерческое использование, модификация кодовой базы и построение новых продуктов поверх. Важно понимать, что использованный код должен оставаться публичным.

Также можно развернуть новый токен Standardized Yield (SY) без одобрения команды Pendle. Чтобы внедрить токен SY, необходимо следовать стандарту Pendle SY Token, обеспечивая совместимость с экосистемой.

Бекенд протокола открыт для интеграций (Restful API, Pendle Hosted SDK).

Однако протокол не является полностью безрисковым. Ликвидность в пулах Pendle подвержена риску изменения доходности базового актива. Например, если APY stETH упадет, спрос на YT снизится, и цена PT может не достичь номинала (соотношения обмена 1:1) ко времени погашения.

article-logo
Получите бесплатную консультацию
Заполните форму, чтобы связаться с нашим менеджером.
Или можно запланировать встречу в Calendly calendly

Ещё статьи этого автора

polymarket_article

Статьи

web3
business

Что такое Polymarket и как работает рынок предсказаний?

Павел Найданов

Solidity разработчик

выбор редакции
uma_protocol

Статьи

education
web3
dApps

UMA протокол: как работает популярный оптимистичный оракул в блокчейне?

Павел Найданов

Solidity разработчик

выбор редакции
nft_stacking

Статьи

ethereum
web3
dApps

Понимание стейкинга NFT: механизмы и преимущества

Павел Найданов

Solidity разработчик

выбор редакции
crypto wallets

Статьи

ethereum
web3
business

Абстракция аккаунтов: необходимость для криптовалютного мира

Павел Найданов

Solidity разработчик

pendle
горячее
eth_giant
ai_agent
выбор редакции
ton_news
выбор редакции
ai_blockchain
выбор редакции
ton_doc
выбор редакции
ton_predictions
выбор редакции
ton_results
выбор редакции
eigenlayer
выбор редакции
Polygon_zkEVM

Обзор Polygon zkEVM: принцип работы L2-решения для Ethereum

Алексей Куценко

Solidity разработчик

Статьи

ethereum
web3
zkp
bridges_overview
выбор редакции
5_rules
layer_zero

Обзор и архитектура протокола LayerZero v2

Роман Ярлыков

Solidity разработчик

Статьи

ethereum
web3
bridges
Solana
выбор редакции
TON_Mintless_Jettons
L2_Bitcoin
выбор редакции
polymarket_article

Что такое Polymarket и как работает рынок предсказаний?

Павел Найданов

Solidity разработчик

Статьи

web3
business
package_solutions
выбор редакции
tapalki
выбор редакции
uma_protocol
выбор редакции
AdsGram
выбор редакции

Способ монетизировать игры в Telegram

Алексей Федин

Исполнительный директор Magnetto.pro

Статьи

web3
mobile
TON
hamster_tma
выбор редакции

Как хомяк, но для трафика: привлекаем аудиторию тапалкой

Николай Бордуненко

Бизнес-аналитик MetaLamp

Статьи

web3
dApps
mobile
dao

Что такое DAO?

Павел Найданов

Solidity разработчик

Статьи

education
web3
ethereum_gas
scroll

Как работает блокчейн Scroll: технический обзор

Алексей Куценко

Solidity разработчик

Статьи

ethereum
web3
dApps
L2
nft_stacking
выбор редакции

Понимание стейкинга NFT: механизмы и преимущества

Павел Найданов

Solidity разработчик

Статьи

ethereum
web3
dApps
legendary_play
выбор редакции
payments
sharding
выбор редакции
ton
выбор редакции
bottle_wine
выбор редакции
launchpad
twa
выбор редакции
buildings
выбор редакции
anonymus

Zero-Knowledge Proofs: важный тренд в блокчейне на 2024 год

Евгений Биктимиров

Венчурный аналитик

Статьи

ethereum
web3
dApps
cpay
AA zksync
zero knowledge proofs
stock market chart
planets
fundraising
cto
wallet
tokens
выбор редакции
rocket computer
выбор редакции

Как создать дизайн для MVP за 7 дней

Юлия Черепанова

Head of Design Office

Статьи

startup
MVP
design
nft
AI
crypto wallets
выбор редакции
red space
выбор редакции
speed up development
myths
выбор редакции
launching
выбор редакции

Кого нанимать для успешного запуска MVP

Алексей Сухарев

Head of Sales Department

Статьи

business
startup
MVP
galaxy
magazine
spaceman
выбор редакции
coffee
investors
nft

Как мы создали первый NFT-маркетплейс на Cardano

Станислав Жданович

Haskell разработчик

Статьи

cardano
web3
nft
stair
выбор редакции
bridge
rocket
abstraction

Как мы нанимаем инженеров Plutus через собственную программу обучения

Светлана Дульцева

Супервизор программы обучения

Статьи

education
cardano
web3
mountains
salary
salary increase
app
developer with books
keyboard
abstract
blockchain
VKontakte GitHub Telegram vc.ru