Frontend Operators provide a web interface to the end-user enabling them to interact with the Liquity protocol. For that service, they will be rewarded with a share of the LQTY tokens their users generate.
LQTY rewards are being awarded to Stability Pool depositors and then proportionally shared between the users themselves and the Frontend Operator. How much each party gets is determined by the Kickback Rate which is set by the Frontend Operator and can range between 0% and 100%.
Setting a high Kickback Rate will make the Frontend Operator attractive to users, but offering a nice interface and additional functionalities might allow for a lower kickback rate while still garnering user interest.
Check the Liquity Runs on Decentralized Frontends video for more details.
Frontend rewards are paid out in LQTY. Learn more about LQTY here.
Rewards are calculated based on the total deposits tagged by the frontend. In a LQTY reward event generating
LQTY_d for a deposit
d made through a frontend with kickback rate
k, the frontend receives
(1-k)*LQTY_d and the user receives
k * LQTY_d.
Frontend rewards come from the same pool as user rewards. Frontends earn a share of the 32,000,000 LQTY being distributed to users based on the frontend's kickback rate and the total rewards accrued by its users.
Each Stability Pool deposit is tagged by the Ethereum address of the front end through which the deposit was made. This address is where the frontend’s LQTY rewards accrue.
A frontend tag is applied to a Stability Pool deposit when a user calls
provideToSP(uint _amount, address _frontEndTag). This tag will remain attached to a user's deposit even if they use another frontend. The tag can also be a 0 address, meaning the user will receive 100% of their accrued LQTY rewards.
In order to add a new frontend tag and benefit from a different kickback rate, a user will have to completely withdraw their Stability Pool deposit, and redeposit using the new frontend and new tag. As a Frontend Operator, keeping this dynamic in mind is important.
No, registering with Liquity's smart contracts as a frontend is a trustless process. This is done by calling the
registerFrontEnd(uint _kickbackRate) function on the Stability Pool smart contract. The kickback rate is a value between [0,1] (e.g. 0.8 = 80% kickback rate).
Frontends can view the registry listing process here.
In order to ensure that the Liquity protocol is decentralized from day 1, the Liquity team will not host or run a frontend to interact with the Liquity contracts. As such, it is incumbent upon Liquity community members to act as Frontend Operators and run interfaces for users.
In order to incentivize this behavior, each Frontend Operator may set a rate between 0 and 100% that determines the fraction of LQTY that will be paid out as a kickback to the Stability Providers using the frontend. If a frontend set the kickback rate to 60%, their users would receive 60% of their earned rewards while the frontend receives the remaining 40%.
Yes and no. Once an address is registered as a frontend with the Stability Pool and has a specified kickback rate, it cannot be changed.
However, if a Frontend Operator wishes to change their kickback rate, they must register a new frontend address with a new kickback rate. For user's to take advantage of the new kickback rate, they will have to withdraw their deposit and deposit again with the new frontend tag.
Not running our own frontend increases censorship resistance and decentralization, but also helps us bootstrap a distributed ecosystem.