
Note
The users are encouraged to additionally consult the exceptionally made diagrams of Pendle architecture at the corresponding page and one for the vePENDLE system. The latter includes cross-chain and side-chain activity, which is omitted above.
1. IMPLEMENTATION OF YIELD-BEARING STAKING
A user who wishes to stake his Pendle does so (or increases his lock duration/value) through the vePENDLE contract. All these three use cases are covered by a single increaseLockPosition function (or, better yet, increaseLockPositionAndBroadcast to simultaneously broadcast to sidechains). Withdrawal is only available once the position expires, whereupon the withdraw method can be invoked to reclaim the freed-up tokens.
Thereafter, fees are claimable by using the claimRetail function of the fee distributor (formerly claimReward). As the function requires submission of a Merkle proof, it is usually invoked through the Pendle frontend.
2. IMPLEMENTATION OF YIELD-INCENTIVISED GOVERNANCE
Governance in Pendle is implemented by invoking the vote function of the voting controller contract. Thereafter, finalizeEpoch updates the pool slopes (for PENDLE incentive emission), and broadcastResults can be used to broadcast these values to sidechains. The snapshotting is done on Thursdays at 00:00 UTC.
Please note that the value of the incentives a pool can receive is capped, with all incentives above the cap retained by the protocol. The cap starts at 5% and is thereafter governed by a finite state automaton with the following transition rules with a hard cap of 20%:
