Liquid Staking Token
Why Liquid Staking?
Traditional staking locks assets, reducing flexibility. When a user stake its LYX in Stakingverse's vault, their stake is essentially "locked". In Defi term, this is defined as "illiquid stake".
Liquid staking enables users to access their stake as tokens and access Defi opportuities while still earning staking rewards.
What is sLYX?
Stakingverse offers a liquid staking solution in the form of a Liquid Staking Token called sLYX. It enable users that staked LYX on the vault to make their stake liquid by representing it in the form of a transferable tokens.
sLYX is a liquid staking token that represents staked LYX tokens in the StakingVerse protocol. It allows users to earn staking rewards while retaining liquidity for use in DeFi applications.
sLYX is built on LUKSOโs LSP7 standard for digital assets. Designed for seamless integration with DeFi protocols.
Benefits of sLYX in Defi
By making their stake liquid in the form of sLYX tokens, users can access their funds staked in the vault without having to unstake and stop earning staking rewards.
They can therefore access their funds staked in the form of sLYX tokens, use these tokens in other applications like Defi while still earning staking rewards.
For instance, a user can use sLYX in DeFi protocols in various ways:
Example use case | Description |
---|---|
Collateral in lending / borrowing protocols | Loans and borrowing assets against sLYX in lending platforms. |
Provide liquidity in decentralized exchanges (DEX) | For instance in a swapping pair that includes sLYX and earn part of the fees on swaps transactions. |
Finally, sLYX tokens can be transferred to any users. A user transferring sLYX to a user essentially transfer its initial stake and all the rewards it accumulated.
Note: a user can decide to convert either all of its stake or part of its stake into sLYX tokens.
How sLYX works?
sLYX is a non-rebasing token, meaning the value of sLYX increases overtime as the Stakingverse's vault accumulates staking rewards. Users can make their stake liquid in the form of sLYX tokens through the Stakingverse app.
For developers
This section explains the internal working of the sLYX token and how to mint and burn sLYX tokens.
Minting sLYX tokens
To mint sLYX tokens, transfer a stake amount (all or a portion of the user's stake) to the sLYX token contract address. The sLYX token contract will automatically mint an amount of sLYX tokens equivalent to the amount of LYX they chose.
This can be done by interacting with the transferStake(address,uint256,bytes)
function in the sLYX token contract, providing the following parameter:
address to
: MUST be theSLYXToken
contract address.uint256 amount
: the amount of staked LYX to convert as sLYX tokens.bytes data
: optional data to include in the transaction.
Not that if the address interacting with this function is a Universal Profile (๐), the bytes data
parameter will be sent when notifying the ๐ via its universalReceiver(...)
function that some sLYX tokens were minted for its address.
Therefore, a Universal Profile recipient could implement custom functionalities when receiving sLYX tokens.
See the LSP1 Standard documentation for more details on docs.lukso.tech.
Burning sLYX tokens
To burn sLYX tokens, call the burn(address,uint256,bytes)
function in the sLYX token contract with the amount of sLYX tokens to burn. The contract will then transfer the equivalent amount of LYX back to the user (including any accumulated rewards).
The parameters to provide are as follow:
address from
: the address that will burn its sLYX tokens to convert them back to (illiquid) staked LYX in the Vault.uint256 amount
: the amount of sLYX tokens to burn and to convert to staked LYX.bytes data
: optional data to include in the transaction.
Similarly to the transferStake(...)
function, if the address interacting with this function is a Universal Profile (๐), the bytes data
parameter will be sent when notifying the ๐ via its universalReceiver(...)
function.
Conversion functions
The SLYXToken
contract includes functionalities to calculate the amount of sLYX tokens backing a given amount of staked LYX in the Stakingverse's vault and vice versa.
These functions are:
getNativeTokenValue(uint256)
to get the amount of staked LYX that could be obtained for a certain amount of sLYX.getSLYXTokenValue(uint256)
to get the amount of sLYX tokens that would be minted if converting a certain amount of staked LYX.getExchangeRate()
the get the currentsLYX / LYX
ratio ("how many LYX are worth 1 sLYX").
These functions are useful for Defi protocols that do not interact with the Stakingverse vault directly, but use sLYX tokens as liquidity in pools for instance for swapping, lending or borrowing.