Frontend Operators

Why should I become a Frontend Operator?

Frontend Operators provide a web interface to the end-user enabling them to interact with the Flex Protocol. For that service, they will be rewarded with a share of the FLEX tokens their users generate.

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

How can I run a frontend?

You can either adapt the Liquity front end launch kit or integrate our protocol in your environment using their Frontend SDK. The SDK for FLEX is pending.

What type of rewards do I receive as a frontend?

Frontend rewards are paid out in FLEX tokens that can be staked to earn lending and redemption fees.

How is a frontend’s reward share calculated?

Rewards are calculated based on the total deposits tagged by the frontend. In a FLEX reward event generating FLEX_d for a deposit d made through a frontend with kickback ratek, the frontend receives(1-k)*FLEX_d and the user receivesk * FLEX_d.

Where do frontend rewards come from?

Frontend rewards come from the same pool as user rewards. Frontends earn a share of the 32,000,000 FLEX being distributed to users based on the frontend's kickback rate and the total rewards accrued by its users.

How are frontend rewards paid out?

Each Stability Pool deposit is tagged by the wallet address of the front end through which the deposit was made. This address is where the frontend’s FLEX rewards accrue.

How do frontend tags work?

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

Do frontends have to be pre-approved?

No, registering with FLEX Protocol'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).

What is the kickback rate?

In order to incentivize hosting frontends to the Flex Protocol contracts, each Frontend Operator may set a rate between 0 and 100% that determines the fraction of FLEX 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%.

Can a Frontend Operator change their kickback rate?

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.

Last updated