Yield Farming or Liquidity Mining is a aspect of DeFi that allows Liquidity Providers (LPs) to passively earn a return on capital contributed to a liquidity pool. The Yield Farm provides LPs with rewards over time to incentivize LPs to continue to provide liquidity to the pool as well as to help offset their risk.
This guide covers yield farming on KyberSwap Elastic. It covers the following aspects of yield farming on KyberSwap Elastic:
- Staking Liquidity Positions
- Harvesting and Claiming Rewards
- Unstaking Liquidity Positions
Staking Liquidity Positions
To be eligible to earn rewards, you will first need to stake some liquidity positions.
Step 1: Select your network. If this is your first time interacting with KyberSwap Elastic liquidity pools on this particular network, you will need to give approval for the farming smart contract to manage your wallet and balances.
Click on the “Approve Farming Contract” button on the Farms page to begin. This will require an onchain approval through your Web3 wallet.
Note: Be sure to check that the smart contract address is correct before authorizing the smart contract. KyberSwap Elastic farming smart contract addresses can be found here.
Once the approval transaction is confirmed, the green “Approve Farming Contract” button will disappear from the UI. You can now stake any farming NFTs into the farming contract to earn rewards.
Step 2: Approve and add liquidity to the farm of your choice. A guide on how to do this can be found here. For the purposes of this guide, we will use the following USDC-stMATIC pool on Polygon.
Step 3: Deposit liquidity into the farming contract by clicking on the “Deposit” button on the Active Farms page and then selecting the NFT associated with the liquidity position that you would like to stake. Click the “Deposit Selected” button to proceed. (This is an onchain transaction.)
You should now see that the amount of liquidity that you have deposited into the farming contract has changed. Some farming actions will also now be enabled for the pool that you have selected.
Step 4: Click on the “+” button to stake your NFT position. Select the appropriate NFT from the list on the next screen and click the “Stake Selected” button to proceed. (This is an onchain transaction.)
Your position is now staked and is now eligible to accumulate rewards for the duration of the farming phase. You should now also be able to see your farming pool under the “My Farms” tab. This page will also display ended phases for the farms that you are currently participating in.
Note: Depending on the farming mechanism associated with your farm, your rewards will be calculated depending on the value of your liquidity position staked in the farm relative to other farmers, how long your liquidity position has been active in the pool (i.e. in range), and the trading volume utilizing your active liquidity position in the pool.
Harvesting and Claiming Rewards
After you have accumulated rewards, you can harvest them from the pool and subsequently claim them (i.e. withdraw rewards to your wallet).
Step 1: From the Farms page, click on the small “pickaxe” button associated with your desired pool to bring up the Harvest screen. Alternatively, if you have multiple pool farms and would like to harvest them all at once, you can use the “Harvest All” button to batch all the harvest transactions together. Please note that this does not save you any gas fees since every individual harvest call of the smart contract still needs to be broadcast to the blockchain.
From the Harvest screen that appears, click on the “Harvest” button to proceed. This is an onchain transaction that will require wallet confirmation.
If the pool does not have a rewards vesting schedule, your rewards will automatically be sent to your wallet. But if the pool has a vesting schedule, you will need to wait some time after harvesting for the rewards to vest before you can claim them.
Step 2: This step only applies to certain pools with a vesting schedule for rewards. Rewards harvested from such pools will need to be claimed in a separate action. Click the “Claim” button in the Vesting tab of the Farms page.
Note: The vast majority of active yield farming pools on KyberSwap do not have a vesting schedule, and these do not require this separate claim step.
Unstaking Liquidity Positions
If a farming phase ends and a new phase begins, you will first need to unstake your liquidity position from the pool and re-stake it in order to resume accumulation of rewards. You may also choose to unstake from a farming pool at any time, even while the pool is still active.
Step 1: On the Farms page, click on the “-” button of the pool you would like to unstake from. On the screen that opens, select the liquidity position(s) that you would like to unstake and then click the “Unstake Selected” button. This is an onchain transaction.
As part of this action, any as-yet unharvested rewards will also automatically be harvested.
From this point on, your liquidity position can either once again be staked into an active phase of the pool to earn rewards, or it can be withdrawn entirely from the farming contract.
Step 2: If you no longer want to participate in the farm, you can withdraw your liquidity from the farming contract. Click the “Withdraw” button on the Farms page. From the screen that appears, select the liquidity positions to withdraw and click the “Withdraw Selected” button. This is an onchain transaction.
Note: You can only withdraw liquidity positions that have already been unstaked. Staked positions will be greyed out and unselectable.