Skip to main content
Push Protocol
· 5 min read

Staking & Migration Guide for PushV2 Rewards Program📜

Cover image of Staking & Migration Guide for PushV2 Rewards Program📜

A walkthrough on how to stake, harvest, and migrate your $PUSH tokens.

We recently released an article extensively discussing the details of our new staking programs of the Push V2 Rewards Program including…

  1. UNI-V2 LP Token Staking: Similar to v1 incentive program, this procedure allows users to stake their UNI-V2 LP tokens in our staking contract and earn $PUSH tokens as a reward.
  2. Push Fee Pool Staking: The second procedure is the new staking feature of the Push Core V2 smart contract that allows users to directly stake in the core contract itself and earn rewards in $PUSH Tokens generated from the Fee Pool.

In this article, we will now walk you through the specific steps for both the UNI-V2 LP pool and the Push Fee Staking pool:

  • How to Stake and Unstake Tokens
  • How to Harvest your rewards
  • How to Migrate your tokens (from the Old Staking pools to the New V2 Rewards Program, with just one click)

For each of these steps, we will first talk about the 🔴 Push Fee Staking Pool and then the 🟣 UNI-V2 LP Token Staking Pool

How to Stake & Unstake Tokens​

🔴 PUSH Fee Staking Pool​

Staking $PUSH Tokens​

Push Fee Staking Pool allows you to stake your PUSH tokens directly in the Push Core contract itself.

Follow the simple steps below to Stake to Push Fee Staking Pool:

  1. Go to Yield Farming v2 Page on PUSH Dapp 👉 https://app.push.org/yieldv2
  2. Go to the left-hand part of the UI that displays the PUSH Fee Staking Pool.
  3. Click on the Stake PUSH button
  4. Once you click on stake, you will be prompted to enter the PUSH token amount you wish to stake. 👇

Prompt to enter the PUSH token amount Image

  1. Then, simply click on Approve PUSH button to approve the transfer of your tokens.

  2. Once completed, you should have the option to click on the Deposit button right away.

  3. After successful execution of your transaction, you should see the right staked amount in the UI.

Right staked amount in the UI Image

Unstaking $PUSH Tokens​

  1. Simply click on the Unstake PUSH button to unstake from the staking pool.
  2. After successful execution of your transaction, your tokens should be unstaked from the contract and transferred back to your wallet.
Important considerations for the unstaking procedure in Push Fee Staking Pool:
  • The pool doesn’t impose any lock-in period. This means holders are free to stake or un-stake whenever they wish.
  • While no lock-in period is imposed, there is a delay period of at least one epoch before a user can withdraw or harvest. This means that any stake (within the current epoch) will require the user to wait T+1 epoch before they can claim rewards or withdraw their harvest. 1 epoch is 21 days long. Unstaking tokens in this pool will automatically harvest and transfer any pending reward tokens to your wallet as well. 🟣 UNI-V2 LP Staking Pool The UNI-V2 LP staking pool allows you to stake your LP tokens and earn yields for the same.

Note: In order to participate in this pool, providing liquidity to the PUSH/ETH Uniswap pool is the first step. To do that, simply:

  1. Go to the PUSH/ETH V2 pool on Uniswap (Remember to navigate to Uniswap V2 pool and not V3 pool).
  2. Add liquidity into the pool with both $PUSH and $ETH.
  3. Once added, you should receive UNI-V2 LP tokens in your wallet.
  4. You are now ready to stake to these LP tokens into for Push V2 reward program.

Staking UNI-V2 LP tokens​

  1. Go to Yield Farming v2 Page on PUSH Dapp 👉 https://app.push.org/yieldv2
  2. Go to the right-hand part of the UI that displays Uniswap v2 LP Staking Pool.
  3. Click on the Stake $UNI-V2 LP Tokens button

Click on the 'Stake $UNI-V2 LP Tokens' button Image

  1. Enter the amount of LP tokens to be staked, and click on Approve Uni-V2

  2. Once approved, simply click on the Deposit button.

Click on the 'Deposit' button

  1. After successful execution of your transaction, you should the right staked amount in the UI.

Unstaking UNI-V2 LP Tokens​

  1. Click on Unstake UNI-V2 button.
  2. This will trigger a metamask Pop-UP. Once confirmed you should simply be able to unstake your LP tokens from the pool.

How to Claim Rewards​

Claiming rewards for both the pools is fairly similar.

  1. Go to the respective pool on Push Dapp Yield Farming V2 page.
  2. Click on the Claim Rewards button of the PUSH Fee Staking Pool or UNI-V2 Staking Pool.
  3. Confirm the transaction and rewards will be transferred to your wallet.

However, there are a couple of considerations to keep in mind related when harvesting rewards.

🔴 Harvesting in PUSH Fee Staking Pool​

The very first claim reward procedure for this pool shall include two transactions:

  • 1st Transaction is to Set Holder Delegation for the Push Core Contract address.
  • 2nd transaction is to trigger the primary harvest function of the Push core contract to release the rewards.
What exactly is Setting Holder Delegation?
  • The $PUSH token has a time-weightage feature within itself which allows the contract to calculate the holder weight of a $PUSH token holder based on how long he/she has been holding the token.
  • During the harvest, the core contract is designed to be capable of updating the holder weight of the caller to the latest block.
  • Therefore, this set holder delegationtransaction approves the main Push Core contract to be capable of updating holder weight whenever needed.
  • It should be noted that this permission can be revoked anytime by the user.

Note: The setting holder delegation is a one-time process and only takes place during the very first instance of claiming rewards.

🟣 Harvesting in UNI-V2 LP Staking Pool​

  • The steps for harvesting in UNI-V2 LP Staking Pool are identical to that of harvesting in the PUSH Fee Staking Pool
  • Go to the UNI-V2 LP Pool on Push Dapp Yield Farming V2 page.
  • Click on the Claim Rewards button of the UNI-V2 Staking Pool.
  • Confirm the transaction and rewards will be transferred to your wallet.

How to migrate from the old staking pool to the new pool?​

If you’re an early holder of $PUSH, chances are you’ve staked in the first rewards program.

If that’s the case for you, the migration feature is specifically designed to provide you with a smooth and easy procedure to shift from the old staking pool to the new v2 staking pool.

Migration from old to new pools requires 3 simple transactions:

  1. Unstaking from old contracts: This transaction withdraws your staked tokens from the old contracts.
  2. Approval of tokens: This ensures you approve the new staking pool contracts.
  3. Staking into new pool: The final transaction ensures a successful deposit of your tokens to the new staking pools.

In order to perform the migration procedure, please follow the steps below:

  1. Go to Yield Farming v2 Page on PUSH Dapp 👉 https://app.push.org/yieldv2
  2. Go to the Yield Farming V1 (Deprecated) section.

Yield Farming V1 (Deprecated) Image

🔴 For Push Staking Pool Migration​

  1. Simply go to the Push Staking Pool section
  2. Click on Migrate to PUSH Fee Pool button
  3. After the above-mentioned 3 transactions, your staked tokens will be migrated from the previous $PUSH Token staking contract to the new $PUSH Fee Staking Pool (which essentially is the main Push Core contract itself).

🟣 For UNI V2 Staking Pool​

  1. The procedure remains the same as mentioned above.
  2. However, in this migration, your tokens will be staked in the new UNI-V2 Staking Pool.

Note: Unstaking tokens from old staking contracts doesn’t ensure the claiming of pending rewards. Make sure you claim pending rewards (if any) from old staking pools after the migration is completed.

In order to claim any available pending reward from your previous pools, you can click on the Claim Rewards button of that respective pool in the Yield Farming V1 section.

Be a part of the conversation by sharing this article

About Push Protocol
Push is the communication protocol of web3. Push protocol enables cross-chain notifications and messaging for dapps, wallets, and services tied to wallet addresses in an open, gasless, and platform-agnostic fashion. The open communication layer allows any crypto wallet / frontend to tap into the network and get the communication across.
Twitter
Discord
YouTube
Linkedin

We use cookies to personalize your experience. Learn more in our Privacy Policy.