Proposal #9: Launch Advanced Staking, Part 1: Terms & Methods

This proposal is the first one out of two governing the launch of version 0.5 of the Panther Protocol, known as “Advanced Staking”. It defines the parameters for the Advanced Staking program and procedures for software components deployment, which were discussed by the community on Panther’s Discourse forum [1] [2].
The second proposal, which is to be submitted and voted after execution of this one, will activate newly deployed software components by configuring newly and existing components of the Panther Protocol to work together.
This proposal also features an Annex, which details the different parts of the Advanced Staking process.


After extensive rounds of community testing, discussion of terms, and with tested, audited, open-sourced code, Advanced Staking can now be deployed to the Ethereum Mainnet and Polygon network. You can read the specifications for it in Panther’s documentation.
Panther’s Advanced Staking is a progressive step towards the development of the core technologies surrounding the Multi Asset Shielded Pool, in particular the way UTXOs are created, managed and tracked.
Advanced Staking acts as a step to deploy and test the above capabilities by issuing staking rewards within the MASP, without users having the ability to transact within the MASP or privately withdraw rewards from the MASP in this version. The version which will allow this functionality is further referred to as the “Panther’s v1”.
Only $ZKP issued as staking rewards (unlike $ZKP users staked) will be automatically added to the MASP (as $zZKP) in this version. Its mechanisms also involve minting a “stake proof” NFT with each stake, and adding this token to the MASP (as a zNFT) that qualifies users to receive Panther Reward Points (PRPs, see the Annex) upon the v1 launch.

Terms for smart contracts

The following terms resulted from multiple rounds of community discussions on Discourse and other channels:
First day stakes are accepted
As soon as all relevant PIPs are passed and executed.
Last day stakes are accepted
119th day since “first day stakes are accepted”, or earlier if “Amount of $ZKP allocated for rewards to all stakers” below has been already depleted, or earlier if Panther’s v1 is launched beforehand.
Amount of $ZKP allocated for rewards to all stakers
6,000,000 $ZKP
Number of days the staked $ZKP remains locked after stake creation
60 days
Reward formula, where: Reward - reward for a stake ($zZKP), Amount - amount staked ($ZKP), APR - Annual Percentage Rate (%), Period - rewarded period (days)
Reward = Amount * APR * Period / 365, where: APR - 15%, Period - 60 days
Number of “stake proof” NFTs issued
1 NFT per stake, but no more than 2000 NFTs in total (i.e. first 2000 stakes rewarded)
Minimum $ZKP amount per stake
Time since when a staker might withdraw rewards from the MASP (but forfeiting the right to accumulate PRPs)
120th day since the “First day stakes are accepted”
The above value indicates that there is an active program for 6 months with stakes being accepted until 4 months from the beginning of the Staking Program.
The stakes are locked for 2 months only, which means that:
  • Users can unstake after 2 months.
  • Users may restake for another 2 months after this.
Rewards are based on the locking period. Users will instantly earn a Staking reward calculated for a 2 months period. The rewards won't continue to accrue if the user leaves his tokens staked after 2 months. Therefore, to make the most of the whole staking duration, users must unstake and stake again to get the rewards for the next 2 months period.
In summary, this Staking program is designed to be flexible and configurable which allows two terms of Staking within the whole duration of the program. Stakers get the same fixed % APR for both terms.

Community Deployment Rewards

Costs of deploying Advanced Staking’s components shall be compensated to deployers (anyone who is technically capable of deploying components can choose to do so) as follows:
a. For smart contracts deployment - 6,000 $ZKP to the 1st deployer of the smart contracts on the Ethereum Mainnet and Polygon network.
b. For subgraph components deployment - 2,000 $ZKP to each of the first 2 first deployers of the subgraph on the Hosted Service
c. For front-end deployment - 2,000 $ZKP to each of the first 2 deployers of the front-end code to IPFS
Reimbursement shall be sourced out of the total 450M $ZKP allocated for protocol rewards.

Proposed actions

The following actions are proposed:
  1. 1.
    Approve all parameters included in the section “Terms for smart contracts”.
  2. 2.
    Allocate 6.0M $ZKP, out of the total 450M $ZKP allocated for protocol rewards, to be used for staking rewards (i.e. send to the VestingPools smart contract a blockchain transaction which registers the allocation).
  3. 3.
    Allocate 14,000 $ZKP out of the total 450M $ZKP allocated for protocol rewards, to be used for rewards to community members who will have deployed the Advanced Staking components as outlined in the Community Deployment section (i.e. send to the VestingPools smart contract a blockchain transaction which registers this allocation).


Please vote to accept or reject the proposed actions detailed above.
As per the existing DAO governance structure, as the staking smart contracts are not currently issuing any rewards, you need to hold $ZKP, staked or not, on the Ethereum Mainnet or Polygon to participate in voting.
Voting power is calculated by taking a snapshot of the number of ZKP tokens per holder at the block within which the proposal was created.

Full proposal details

The full details of this proposal are visible in a more human-readable form at:
and also in raw Markdown format on IPFS, e.g.

Annex: parts of the staking process

The following are the definitions of the multiple functions present in the Staking process. Note that specific terms and variables have been discussed by the Panther community prior to being introduced on this proposal.
Staking: Users’ stakes are securely locked in the Staking smart contracts on Ethereum Mainnet and on Polygon (same smart contracts users staked with before). Users can stake on both networks.
Unstaking: Users can unstake their principal amount from the Staking Contract after a locked time period (the two months since creation of a stake).
Staking Reward: The protocol will issue staking rewards in the form of $zZKP inside the MASP deployed on Polygon. Stakers on Mainnet will also see their rewards on Polygon even though their stakes will remain locked on Mainnet.
Reward Redemption: Users can redeem (withdraw) their $zZKP rewards from the MASP before the v1 launch by using the “Redeem” function. By doing this, they will forfeit their ability to accumulate accrued PRP rewards (see below).
Alternatively, users may wait for the launch of Panther’s v1 to use (withdraw, or transact inside the MASP) both $zZKP and entire PRP rewards.
Panther Reward Points (PRP) Rewards: To further test the protocol and the utilization of PRP, early stakers are eligible for PRP Rewards.
!!! Please note:
- PRP rewards will only be generated when Panther’s v1 launches.
- The following terms are subject to further approval through PIPs.
Panther’s smart contracts will allow conversion of PRP into $ZKP (or $zZKP) at a rate driven by the supply and demand. The rate will be initially set at “10 PRPs for 1 $ZKP”, but this value is not guaranteed to last unchanged even for a minute after the launch.
There will be two types of PRP rewards resulted from Advanced Staking:
a. Flat PRP rewards for holders of “stake proof” NFTs. The first 2000 stakers will receive 2000 NFTs. Each NFT will be eligible for the reward of 2000 PRPs. Holders of “stake proof” NFTs will be able to get the “flat PRP” reward after the v1 launch no matter if they have withdrawn $zZKPs or not.
b. Accrued PRP rewards. These are created by default as per the Privacy Reward logic of Panther Core. The reward amount is proportional to the $zZKP amount and the time it remains shielded in the MASP. To get the accrued PRP reward a user has to spend a $zZKP UTXO inside the MASP. It means, if a user redeems/withdraws his $zZKP before the v1 launch, the one loses this type of PRP rewards.