---
# System prepended metadata

title: 'Step-by-Step Guide: Deploying Staking Rewards for wPOKT'

---

# Deploying Staking Rewards for wPOKT

This guide will walk you through the process of deploying staking rewards for wPOKT using a step-by-step approach. 

## Step 1: Deploy the wPOKT Bridge (Completed)

The wPOKT bridge to the mainnet has already been deployed. A Gnosis Safe owned by the Pocket Network Foundation (PNF) serves as the admin for the wPOKT contracts on the mainnet.

## Step 2: Create the Uniswap V2 Pool

1. Go to [Uniswap V2 Pool Creation](https://app.uniswap.org/pools/v2).
2. Create a new pool with the correct ratio of ETH and wPOKT tokens.

## Step 3: Deploy the Staking Rewards Contract

Using the Pool ERC20 contract, the wPOKT ERC20 contract, and the Gnosis Safe admin contract, deploy the Staking Rewards contract on the mainnet. 

Parameters for this contract:
- `_owner`: PNF Gnosis Safe
- `_rewardsDistribution`: PNF Gnosis Safe
- `_rewardsToken`: wPOKT token
- `_stakingToken`: Uniswap V2 Pool Token

## Step 4: Set the Rewards Duration

Note: This step can be skipped unless you are setting the rewards duration to anything other than 90 days. The default is ALREADY set to 90 days.

1. Open the WalletConnect app on the Gnosis Safe UI.
   - [Gnosis Safe UI](https://app.safe.global/apps?safe=eth:0x2f16615234827eE4dF14d02d40C24E6a258dD360)

![](https://hackmd.io/_uploads/HymGxZy-a.png)

![](https://hackmd.io/_uploads/BJTMl-y-a.png)



2. Open the contract page on Etherscan.
   - [Etherscan Contract Page](https://goerli.etherscan.io/address/0xAC5bA933060F24ab8ffCC09583Fa65062365A233#writeContract)
   - Open "Write Contract" under "Contract"
   - Click on "Connect to Web3" and choose "WalletConnect." Copy the link.
   - 
![](https://hackmd.io/_uploads/BkUClZyWa.png)

![](https://hackmd.io/_uploads/S1AbbW1-T.png)

3. Go back to the WalletConnect app tab on Gnosis Safe and insert the copied WalletConnect connection link to connect your Gnosis Safe to the Etherscan page.

![](https://hackmd.io/_uploads/ryPBbZyWT.png)

4. On the Etherscan page, click on `setRewardsDuration`, enter the desired duration (e.g., 7776000 seconds for 90 days), and click "Write."

![](https://hackmd.io/_uploads/H1gKWZJba.png)

5. Return to the WalletConnect app tab on Gnosis Safe. You should see a prompt to create a transaction for `setRewardsDuration`. Review the transaction details and "Sign" the transaction.

![](https://hackmd.io/_uploads/H1F3--JWT.png)

6. Request all required signers to visit the transactions page on the Gnosis Safe UI and sign the transaction. Finally, execute the transaction.

## Step 5: Load the Staking Rewards Contract with wPOKT Rewards

Transfer the required amount of wPOKT tokens directly to the Staking Rewards contract address.

## Step 6: Notify Reward Amount on the Staking Rewards Contract

1. Follow a similar process as in Step 4, but this time call the `notifyRewardAmount` function with the total reward amount for the next rewards period. Ensure this amount does not exceed the balance of the Staking Rewards contract. Also ensure this amount includes an additional six zeroes to account for the number of decimals in the wPOKT ERC20 token.

Example: If you intend to notify a total reward amount of 1 wPOKT, you should enter "1000000" to accommodate the token's six decimal places.

2. Once this transaction is confirmed, the rewards period will begin, allowing users to stake their pool tokens and claim their rewards.

## Step 7: Deploy the Staking Rewards Frontend

Deploy the Staking Rewards frontend with the necessary parameters to enable users to interact with the staking rewards system.

Congratulations! You have successfully deployed staking rewards for wPOKT, allowing users to participate in the rewards program.