LST Architecture
Endur's liquid staking system employs a three-component architecture:
a) LST Contract (Main Contract)
Implementation: ERC-4626 vault contract
Manages deposits and withdrawal requests
Primary interface for users interacting with the system
b) Withdraw Queue Contract
Issues unique NFTs for withdrawal requests
Each NFT represents:
Amount of STRK requested for withdrawal
Timestamp of request
Position in the queue
Manages the orderly processing of withdrawals (first come, first serve)
Fund settlement sources (learn more here):
New deposits (prioritized for pending withdrawals)
Unstaked funds from delegators
c) Delegator System
Multiple delegator contracts manage actual staking with Starknet
The system acts as an intermediary between the LST system and Starknet's staking system
It handles the actual staking operations.
Here's how the fund flows:
Excess funds from LST → Delegators -> stake STRK
When withdrawing: Unstaked funds -> Withdraw Queue
Flow chart of interactions:
Deposit Flow:
User deposits STRK to LST Contract
System checks withdrawal queue demands
Excess funds distributed to delegators
Delegators stake on Starknet
Withdrawal Flow:
User requests withdrawal
NFT issued to user
Protocol either:
Matches with available funds
OR initiates unstaking through delegators
Funds released according to queue position
This architecture ensures:
Efficient capital utilisation
Efficient unstaking time through multiple delegators
Transparent withdrawal process as you can see in withdraw log
Automated reward distribution
Failsafe withdrawal mechanisms
Last updated