πŸ“Œ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):

    1. New deposits (prioritized for pending withdrawals)

    2. 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:

    1. Excess funds from LST β†’ Delegators -> stake STRK

    2. When withdrawing: Unstaked funds -> Withdraw Queue

Flow chart of interactions:

Deposit Flow:

  1. User deposits STRK to LST Contract

  2. System checks withdrawal queue demands

  3. Excess funds distributed to delegators

  4. Delegators stake on Starknet

Withdrawal Flow:

  1. User requests withdrawal

  2. NFT issued to user

  3. Protocol either:

    • Matches with available funds

    • OR initiates unstaking through delegators

  4. 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