Introduction
Lucidly Finance is a yield infrastructure layer on top of Liquid Staking Derivatives.
The first product offering is an ETH derivative called lcdETH.
lcdETH is minted from a Reserve Bucket that is used to source liquidity and allocated to liquidity pools based on a voting mechanism.
Overview
A user deposits ETH into the protocol and creates a bond. The bond is represented as an ERC-721 NFT which represents the bond amount, time of creation, accrued value & bond status in the metadata of the NFT.
The funds deposited for creating are bond are directed to a Pending bucket and staked in a basket of LSDs and the bond accrues the boosted token lcdETH as a virtual balance. The accrual rate or how fast/slow the bond accrues lcdETH is depending on a bonding curve.
After creating a bond, a user has the option to bond in where they receive the amount of lcdETH accrued in the bond by forfeiting the initial principal amount which they initially deposited. Every time a user bonds in, new lcdETH in minted.
This ETH + staking yield then is directed toward the reserve bucket which acts as the backing for lcdETH.
At any point after bond creation, a user has the option to cancel the bond or bond out, which will return the initial principal amount deposited and the yield generated from the ETH will be directed towards Reserve Bucket. So at any point in time, the principal amount is essentially protected.
If a user decides to bond in they get lcdETH, which they can either choose to sell on the open market for ETH or redeem for ETH from the protocol.
What are the different system buckets?
The ETH deposited in the protocol is in either one of the following buckets
-
Pending Bucket: Receives
ETHfrom user deposits and is distributed in a basket of LSDs. The yield generated from the pending bucket is credited to theReserve Bucket. -
Reserve Bucket: Backs the total
lcdETHsupply.lcdETHis fully redeemable for the underlyingETHin theReserve Bucket.
Bond Usage
The protocol consists of a Pending Bucket and a Reserve Bucket.
There are 4 important user-facing functions -
createBond()bondIn(uint256 bondId)bondOut(uint256 bondId)redeem(uint256 amountOfLcdETH, uint256 minAmount)
Creating a bond involves calling the payable createBond() function with ETH which mints a NFT representing the bond data.
The ETH is allocated to a Pending Bucket and earns staking yield. The Pending Bucket yield is allocated to the Reserve Bucket.
The NFT accrues a virtual balance of lcdETH according to a certain accrual curve.
A user can choose to either bondIn or bondOut after acquiring the NFT.
- Bonding in - This involves calling the
bondIn(uint256 bondId)function, which transfer the principal ETH + staking yield earned to theReserve Bucketand mints the accrued amount oflcdETHin the bond to the caller. - Bonding out - This involves calling the
bondOut(uint256 bondId)function, which transfers the principal amount back to the caller. The yield earned is allocated to theReserve Bucket.
A lcdETH holder can at any point of time choose to sell lcdETH for ETH in the open market or redeem for ETH from the protocol at the redemption price.
lcdETH balance accrual
Creating a bond involves calling a function called createBond() with a minimum amount of ETH which then mints an NFT to the caller which denotes their bond data.
struct BondData {
uint256 ethAmount; // in wei amount
uint256 claimedLcdETHAmount; // in wei amount
uint64 startTime;
uint64 endTime; // timestamp of bondIn/bondOut event
BondStatus status;
}
The bond accrues lcdETH according to a bonding curve which looks like this -

The accrual curve is asymptotic, i.e., it approaches but never exceeds a certain capped value.
The equation for accrued lcdLUSD accrual is given by -
\[ accruedLcdETH = \frac{bondAmount}{redemptionPrice} \cdot \frac{t}{t + \alpha} \]
αparametrizes the slope of the curve and could be automatically adjusted by the protocol in order to control the speed of the value accrual which depends on the evolving price premiumtdenotes time
Since the rate of lcdETH accrual is the change in accrued lcdETH per unit time, if everything else remains constant -
- Larger bonds accrue lcdETH faster than smaller bonds
- Younger bonds accrue lcdETH faster than older bonds
lcdETH accrual cap
The lcdETH cap is an upper bound on the amount of lcdETH that the bond can accrue, based on the accrual curve mentioned above.
The lcdETH cap is calculated by the following formula:
\[ cap = \frac{bondAmount}{redemptionPrice} \]
Pending Bucket
On a bond creation, funds are directed to the Pending Bucket where they are staked to receive the base consensus layer rewards.
All the yield generated from the pending bucket are redirected to the reserve bucket which acts as the backing for lcdETH.
Reserve Bucket
When a user bonds in, the initial principal amount + yield generated from the bonded principal is directed to the reserve bucket and in return the users claims their virtual balance of lcdETH and forfeit the ETH which they had deposited for creating the bond.
The total supply of lcdETH is backed by the total amount of ETH in the Reserve Bucket.
Liquidity in the Reserve Bucket is used to allocate liquidity to LSD/ETH pools on curve based on an auction for liquidity. DAOs/Protocols/Whales or other aligned parties get to rent this liquidity.
This bucket is implemented as ERC4626 Vault to allow liquidity allocation strategies to be plugged in and out.
ETH coming in the form of bond ins are allocated to these pools in an optimal ratio to bring the final ratio closest to the target ratio decided by the market.
Lucidly pbLSD will deploy an off-chain solver model to find the optimal ratio to allocate new liquidity to align with the voted upon target ratio.
Liquidity Rebalancing
Liquidity in the Reserve Bucket is auctioned through a Liquidity Allocation Vote and the protocol uses an off-chain solver auction model to rebalance liquidity.
On each bondIn(), the newly injected liquidity is allocated to pools in the Reserve Bucket in a certain ratio closer to the target ratio set through a Liquidity Allocation Vote.
Rebalancing liquidity in the reserve bucket is incentivised with the bribes paid by parties renting liquidity.
Bonding in when the pool weights are imbalanced yields a short-term opportunity to capture a split portion of the bribes earned by protocol.
Backing Ratio
The total market cap of lcdETH is backed by the total ETH in the Reserve Bucket.
Liquidity flows into the Reserve Bucket through the following sources -
- Yield generated by the
Pending Bucketfunds. - Bribes/Incentives by parties voting on the liquidity in the
Reserve Bucket. - Trading fees/emissions from adding liquidity to LSD/ETH pools.
- Redemption fees paid from
lcdETH➡️ETHredemptions.
Redemptions
Users can redeem their lcdETH into ETH through the protocol.
The backing ratio for lcdETH = Amount in Reserve Bucket / Total lcdETH Supply
Redemption price = lcdETH floor - redemption fee
The fee to redeem through the protocol is on a varying scale of anywhere between 3-5 basis points depending on the activity.
The redemption rate serves as the market floor price for lcdETH.
The redeemer of n lcdETH would get slightly less than the pro rata share x < n * fairPrice
The difference is kept in the Reserve Bucket. The captured fee increases the fair price of lcdETH by the same amount.
An exponentially decaying fee schedule is used to efficiently throttle redemptions: the fee is dynamically increased upon every redemption in function of the redeemed amount, decaying over time to a minimum when no redemptions take place.
Tokenomics
LCD is the governance + voting utility token for pbLSD.
LCD is locked for durations of 13, 26, 39 or 52 weeks to receive veLCD.
- 1
LCDlocked for 52 weeks mints 1veLCD, 0.75veLCDfor 39 weeks and so on and the balance ofveLCDdecays proportionately similar toveCRVtokenomics. - Holders of
veLCDcan choose to unlock with a penalty(tbd) which is directly proportional to the numbers of weeks left of the lock duration. veLCDallows for setting unlimited number of approved delegates to vote on the holder's behalf.- Voting occurs with decay-adjusted balances.
Gaugesare allocated to each pool in theReserve Bucket, which receive emissions adjusted by governance to any arbitrary logic.
veLCD is non-transferrable and receives a tax(tbd) from the yield earned in the Reserve Bucket and is used to vote on Liquidity Allocation.