How to stake/unstake

To stake your tokens:

  1. Go to and click "Launch App". Make sure to read the page before you proceed.

  2. Connect your blockchain wallet holding both $ZKP and native tokens to the app. You need native tokens (e.g. ETH on mainnet or MATIC on Polygon) to pay the transaction fees.

  3. Enter the number of tokens you want to stake manually.

  4. Click on the blue button at the bottom of the page. It should read "STAKE (NUMBER OF TOKENS) ZKP." Make sure all data is correct.

  5. Your wallet will prompt you to confirm the gas transaction associated with sending your tokens to be staked. Press "Confirm" if you want to proceed. Remember, the Ethereum network determines fees, so if you consider them too high, you can try at another time.

  6. Your wallet will inform you once your tokens are successfully staked. You'll be able to see your staked balance on this same page.

For any questions related to staking, you can contact our team and community.

The Advanced Staking App

The Advanced Staking app has two pages, one for Staking and one for managing [zAssets](../../panther-core/zAsset/ Our top Menu also links to Panther’s Snapshot.eth space, where Panther’s governance proposals are voted on. On the right side, the blue “Connect Wallet” button allows the user to permit the app to see and interact with their MetaMask wallet. This is necessary for the app to suggest transactions in which the wallet interacts with the Advanced Staking smart contracts.

User interface

The Staking page is the app’s homepage. It allows the user to:

  • Stake or unstake $ZKP.

  • Check their balances of unstaked $ZKP (available for staking), staked $ZKP, $zZKP rewards, and expected PRP balance.

  • See how much unclaimed $zZKP rewards are left for the Advanced Staking program and the current staking APR.

  • The time remaining until the staking program ends.

On the zAssets page, the user can:

  • Check their total balance per zAsset (through Advanced Staking, the only zAsset available will be $zZKP).

  • Inspect their $zZKP, Unrealized Privacy Rewards balance per individual stake, and total.

  • Redeem $zZKP before the mainnet dApp is launched.

You will find the Balances Card on the left side of the Staking page. This panel shows the user’s available $ZKP, staked $ZKP, zZKP rewards, and Expected PRP Balance. An approximate USD value is provided next to each $ZKP or $zZKP balance.

The panel also displays the user’s MATIC/ETH (depending on their connected network) balance in the top right corner. Make sure you have enough MATIC/ETH to pay the transaction fees required for some steps of the staking, unstaking, and rewards redemption processes.

To refresh the values, click on the refresh icon to the right of “Available ZKP balance,” and a MetaMask signature request will pop up. You will need to accept it, which does not incur gas fees.

Note: Data updating can take time. Please watch the spinning wheel inside the “Available ZKP Balance” field in the top right corner. Data should be up to date as soon as the wheel stops (but you might need to refresh the page).

Located to the right of the Balance Card, the Stats panel displays the amount of Advanced Staking rewards already distributed, the percentage of the total they represent, and the total rewards offered. It also shows the time left until Advanced Staking closes and its current APR. Note: Staking APR and Privacy rewards APR are two different parameters.

Staking $ZKP

The tab for staking $ZKP in Advanced Staking is located below the Stats panel on the Stake panel.

You can input the amount of $ZKP you intend to stake on the box on the top or click the “MAX” button on the right side next to the Panther logo to automatically insert your entire $ZKP balance. The minimum stake size is 1000 $ZKP.

The warning below the amount box refers to the lockup period of 60 days set on PIP-9, to which all stakes in Advanced Staking are subject. Only after this period can you unstake your originally-deposited $ZKP. The lockup period doesn’t apply to the rewards from staking, as we will address on the zAssets Page session.

After the warning message, you can preview the $zZKP and Expected PRPs staking rewards your stake will entitle you to. This preview is just a forecast, and final numbers may vary slightly.

As time progresses, you will accrue additional Unrealized Privacy Rewards (non-flat PRPs) on top of your initial amount (2,000, only for the first 2,000 stakes). These additional rewards will only be awarded if you keep your $zZKP rewards in the pool till mainnet beta’s launch.

If you’re satisfied, you may click the blue button. This step requires $MATIC/$ETH (depending on the network you’re on) to cover gas fees.

After clicking the blue button, three MetaMask windows will appear in quick succession. The first will prompt you to approve Panther’s Advanced Staking contract to move your $ZKP. The second window will ask that you accept the actual staking transaction. Gas fees apply to both steps.

After staking, you can see your updated balance on the Balances Card and the zAssets page.

Unstaking $ZKP


IMPORTANT: The difference between unstaking and early redemption

It’s important to understand the distinction between unstaking (of staked $ZKP) and early redemption (of $zZKP rewards). Unstaking and redeeming are separate functions of separate smart contracts.

Users can unstake $ZKP after their stake’s lockup period ends (60 days per individual stake). Doing so returns only their original $ZKP stake to their wallet. The accumulated staking rewards need to be redeemed separately.

A user can redeem their $zZKP rewards from a specific stake after 120 days since the launch of the Advanced Staking program. Doing so before the launch of Panther mainnet beta, necessarily entails forfeiting all Unrealized Privacy Rewards (one of two types of PRP rewards) associated with that stake.


The Stake panel has two tabs: Stake ZKP and Unstake ZKP. You can switch between them through the buttons on the panel's top. The Unstake ZKP tab allows you to inspect and unstake your stakes.

To unstake one of your stakes, click the “unstake” button on the right side of said stake. This will prompt you with a MetaMask window where you can confirm the transaction —gas fees apply. Your $ZKP will be returned to you once the network confirms the transaction.

Exactly as with staking, you can see your updated balance on the Balance Card and the zAssets page.\

Last updated