Up to 30% APR to be realised in POL tokens by the Stakers with a capping of 200,000 POL per 14-day epoch.
[Pre IEO, POL-USDC will be equivalent to the latest fundraising price. Post-IEO: POL-USDC will be computed using TWAP through the epoch. POL rewards per Trader = Dollar Rewards/POL-USDC].
Liquidity is a core component of any successful exchange. To promote liquidity and incentivize professional arbitrageurs, POL will be distributed to users who stake approved stablecoins to the liquidity staking pool. The community approved arbitrageurs will use the staked stablecoins to arbitrage on the Polysynth protocol, furthering the price pegging across the markets. Arbitrageurs are restricted from using borrowed funds outside of the Polysynth protocol, thus ensuring maximum benefit to the Polysynth community.
Stakers will earn POL rewards for staking stablecoins. POL rewards will be distributed continuously according to each staker’s portion of the total stablecoins across all stablecoin pools.
Each staker and arbitrageur is required to become a party to the Revolving Credit Agreement. The agreement puts into natural language the terms of the liquidity staking pool to give each staker an enforceable right against any arbitrageur who does not repay the borrowed stable coins. The agreement is only between each staker and each arbitrageur. The Polysynth Foundation is not a party to the agreement and has no rights or obligations under it.
Unstaking & Withdrawals
A staker must request to withdraw funds at least 7 days (Blackout Window) before the end of an epoch in order to be able to withdraw it after the end of that epoch. If stakers do not request to withdraw, their staked stable coins will roll over into the next epoch.
Withdrawals cannot be requested during the Blackout Window.
Borrowers from the pool are not required to lock collateral. All borrowers are professional and reputable arbitrageurs. The list of allowed borrowers and their pool allocations are updatable by governance.
When users request to withdraw stablecoins, a borrower’s allocated balance for the next epoch may drop below the borrower's currently borrowed amount. In this situation, the borrower is responsible for paying back the difference between its borrowed and allocated balances before the end of the epoch.
If a borrower fails to repay an owed balance back to the pool by the end of the epoch, it is considered to be in default and is disallowed from borrowing further until the debt is repaid.
Stakers may lose their stablecoins in the event a borrower never repays a debt. Stakers can lose a portion of staked stablecoins if an arbitrageur were to lose stablecoins and be unable to replenish the liquidity staking pool.
Stakers also are exposed to smart contract risk if there is a vulnerability in the underlying smart contract code. Know more about our audit reports here.
To reduce the risk to stakers, each staker and arbitrageur will be required to become a party to the Revolving Credit Agreement, but entering into the agreement does not ensure that an arbitrageur will repay all amounts borrowed, even if a staker's rights under the agreement are enforced.
Staked Balance Accounting
A staked balance is in one of two states:
Active: Available for borrowing; earns staking rewards; cannot be withdrawn by the staker
Inactive: Unavailable for borrowing; does not earn rewards; can be withdrawn by the staker
A staker may have a combination of active and inactive balances. The stablecoin is accounted for epoch-by-epoch as shown in the following example:
The following operations affect staked balances as follows:
Stake: Increase active balance
Unstake: Move some active stable coins to inactive
Withdrawable Balance: Inactive stable coins become withdrawable at end of the epoch
Withdraw: Decrease withdrawable balance
What is stkUSDC, stkUSDT, stkDAI et al?
Stablecoin holders who deposit and stake their stable coins into the Liquidity Staking Pool will receive a tokenized position (for eg, stkUSDC for USDC).
stkUSDC is minted when a user stakes USDC and is burned when a user withdraws staked USDC. In the same transaction that USDC leaves a staker's wallet, stkUSDC enters the staker's wallet; or vice-versa when unstaking.
A stkUSDC balance can be active or inactive. Active stkUSDC can be transferred as an ERC-20, but cannot be withdrawn. Inactive stkUSDC can be withdrawn, but cannot be transferred. For example, a user may have 100 active and 100 inactive stkUSDC in their wallet, and the user's balance will show 200 stkUSDC, but a transfer will revert if the user tries to transfer more than 100 stkUSDC.
How do I earn staking rewards?
Stakers can deposit stablecoins at any time to the liquidity staking pool and start earning rewards immediately.
POL rewards are earned on a continuous basis according to each staker’s share of the total pool on a second-by-second basis.
Rewards can be claimed and withdrawn at any time. Staked stablecoins earn rewards for the period of time that it remains active.
How do I deposit and stake USDC to the Liquidity Pool?
To stake stable coins to the Liquidity Pool, follow these steps:
You must enable stablecoin of choice the first time you deposit
You will only have to do this once and pay gas fees only once
Enter the amount of stablecoin of choice you want to stake in the pool
Click “Stake Funds” - you will need to pay gas fees to stake, request to withdraw, and withdraw stablecoins
Staked USDC is now active and starts earning rewards immediately.
To deposit and stake stable coins directly on the smart contract, users call the stake function. Users can also deposit and stake stable coins on behalf of another address by calling the stakeFor function. Even if you stake stablecoins directly on the smart contract, you will be deemed to have notice of and reviewed, the Revolving Credit Agreement.
What is the Blackout Window?
A blackout window is a period of time during which users cannot request the unstaking of staked stablecoins. The blackout period is the 7-day period before the end of any epoch.
How do I withdraw staked stablecoins from the staking pool? How long does it take?
An epoch schedule is enforced for withdrawals in order to provide predictability and a regular cadence for the availability of stablecoins in the pool. A staker must request to unstake stable coins in the current epoch in order to be able to withdraw the staker's stablecoins after the end of the subsequent epoch. If stakers do not request to withdraw, their staked stablecoins are rolled over into the next epoch.
To unstake stable coins to the Liquidity Pool, follow the following steps:
Enter the amount of stablecoins you want to request to withdraw from the pool, and click "Request withdraw". You will need to pay gas fees to unstake stable coins
Stakers who request to unstake stable coins in the previous epoch can withdraw their stablecoins at the start of the next epoch.
What parameters can governance change?
Polysynth governance is responsible for:
Doing due diligence on existing borrowers
Adding new borrowers to and/or removing existing borrowers from the Staking Liquidity Pool
Allocate funds to approved borrowers
Changing allocations of borrowed stable coins to approved borrowers
The setBorrowerAllocations and setBorrowingRestriction functions are called to change the allocations of certain borrowers. They can be used to add and remove borrowers. Increases take effect in the next epoch, but decreases will restrict borrowing immediately. These functions cannot be called during the blackout window. Epoch length and blackout window are set upon creating the contract but can be changed.
Staked USDC enters a pool that is allocated to approved borrowers.
Each borrower has an allocation percentage controlled by governance and may borrow up to this allocation.
Unstaking is subject to an “epoch schedule” - unstaked stable coins may only become withdrawable at the end of an epoch.
changeStable coins requested for withdrawal must be returned by borrowers before the end of the current epoch. In case of underpayment, the underpaid amount becomes a “debt balance” and the staking contract is re-stabilized. The offending borrower must pay back the debt balance and will be restricted from borrowing until reinstated by governance.
What are the risks of staking to the liquidity staking pool? What happens if a borrower fails to pay back borrowed funds?
A system for un-collateralized borrowing requires a much higher standard of trust that must be met by a borrower. Arbitrageurs borrowing from the liquidity staking pool cannot move borrowed funds outside of the liquidity staking system and Polysynth Protocol. Still, staked stablecoins could be lost if an arbitrageur were to lose funds trading and be unable to replenish its borrowed allocations through external funding sources.
In this event, inactive funds may be subject to socialized losses as laid out below in the event of a shortfall where a borrower is late to pay back funds that have been requested for withdrawal. In case of default on borrowed funds, a delinquent borrower will face significant reputational damage.
Although each staker and borrower is a party to the Revolving Credit Agreement. This agreement does not provide a guarantee that borrowers will repay their obligations.
How does the contract maintain solvency?
At any point in time, the contract will be in one of the following states based on the relationship between the staked and borrowed balances:
The contract is said to be insolvent:
if the total borrowed balance is greater than the total active balance
or equivalently if the total inactive balance is greater than the total unborrowed balance
or equivalently if the total withdrawable balance is greater than the contract’s stable coin balance
Otherwise, the contract is said to be solvent.
Because borrowing is limited to a borrower’s allocated proportion of active stablecoins, and because the inactive balance can only increase between epochs, the contract can typically only move from a solvent to an insolvent state during the transitions between epochs.
If at the start of a new epoch, the contract is insolvent, it is important to re-stabilize it as soon as possible. Solvency is restored via a mechanism called “debt accounting.” Anytime the contract is insolvent, the markDebt() function may be called, by anyone, by specifying a list of borrowers who have exceeded their allocations. The amount by which a borrower's borrowed balance exceeds their allocation is called the borrower's shortfall amount.
When markDebt() is called, the shortfall amount of each borrower is moved out of their borrowed balance and into a balance called the debt balance. At the same time, the aggregate of these shortfall amounts is taken out of staker inactive balances and distributed as staker debt receipts. Each staker’s inactive balance will take a haircut, and each staker will receive an equivalent amount in the form of debt. In this way, the loss from insolvency is socialized (pro-rata) across all stakers holding inactive balances.
This process is illustrated below:
What does debt represent?
In the event of borrower default, the shortfall amount (up to 100% of inactive balances) is converted from an inactive balance into a debt balance (socialized loss among inactive balance holders). A Staker's debt balance does not entitle the Staker to withdraw from the pool of staked stable coins — it must be paid back specifically in the form of debt repayments.
The Debt represents a receipt for stable coins which can later be redeemed for stablecoins, either when the Borrower makes a debt repayment. Staker needs to first convert the debt receipt to debt tokens or debt balance and redeem the same using the Redeem Debt functionality whenever there is sufficient balance in Clearance Pool.
What recourses are available to stakers if a borrower defaults?
Stakers and borrowers are parties to the Revolving Credit Agreement which is intended to create an enforceable agreement between each staker and each borrower. In addition, the Liquidity Staking Pool smart contract is designed to give stakers recourse against borrowers, though it cannot guarantee repayment.
When markDebt() is called on a borrower, that borrower loses the right to borrow any further funds from the contract. This right can be reinstated by governance.
Once the debt has been “marked,” it is removed from the main system of accounting, and can be recovered by stakers in multiple ways. If the indebted borrower pays back the debt (or if another party, such as governance, pays it back on its behalf) then the stakers who were owed the debt may recoup the funds on a first-come, first-served basis by redeeming their debt tokens against the repaid debt pool.