Table of Contents:
As we conclude Testnet Stage 1 with a number of learnings and upgrades, we are thrilled to announce the commencement of Stage 2 of our Testnet.
This second phase is designed to test the user interaction and reward mechanisms that set the foundation for the protocol’s privacy-preserving features. As Panther’s privacy is built upon unique game-theoretical features fostering user activity, Stage 2 is key for the upcoming Panther Protocol v1.
Let’s take a closer look at Stage 2. It comprises three main categories of reward mechanisms: Rewards, Recharge pool, and Vouchers.
Rewards or protocol reward points (PRPs) are created as an incentive for users to join and continuously use Panther Protocol. This implies converting the ‘Available PRP’ to ZKP which is accomplished via a single-sided AMM (automated market maker) pool. It is one-sided because users can only convert their PRP to ZKP and not vice versa. The exchange rate of this conversion is dynamic in nature and depends on several factors, including the amount of ZKP in the pool and the total available PRP held by users at any given point in time, among other factors. For details on how Panther Rewards works, please see Panther docs.
There are two types of PRPs:
- Available PRPs which can be exchanged to zZKP (ZKP within the MASP) immediately.
- Pending PRP is the accrued rewards that are not realized yet because a user has not spent those UTXOs. To make it available, the UTXO's should be included in transactions that a user performs within Panther.
2. Recharge Pool
The Recharge function is the cornerstone of the protocol’s reward system and allows protocol rewards vested on Mainnet to be injected into the reward distribution process on Polygon (viz the one-sided AMM launched in Stage 2). This dynamic interplay with the AMM pool through the Recharge function fosters active user participation while maintaining a responsive and adaptive reward structure within the protocol.
Vouchers are a reward mechanism that can be used by the Protocol to incentivize certain functions that have to be triggered by Users. We refer to them as Admin functions. Those could include but are not limited to functions such as:
- Recharging Reward Pool
- Trigger conversion of token
Note: the onboarding reward voucher issued atThe voucher this Stage is only for testing purposes.
When a new account is created and activated successfully, a user gets (a) 100 zZKP onto his zAccount and (b) 1 voucher which is worth 500 PRP. This is valid for all new users and the users who have created accounts during Stage 1.
Note: it can take up to a minute to get the voucher screen updated to let a user find his onboarding voucher.
The voucher has a stable predefined value which can be different depending on the type of performed action (onboarding = PRP 500, triggering recharge the reward pool = PRP 100). The voucher is nominated in PRP. To get those PRP, one should claim a voucher - it is about submitting a transaction “burn a voucher - get the corresponding PRP”.
Vouchers are grouped per type of action performed. Stage 2 will have two such groups - (1) Onboarding bonus voucher and (2) Recharge bonus voucher. Vouchers can be claimed by group only, which means a user gets the total PRP for all vouchers in a given group. When claiming is completed successfully, a user will see an updated balance on his (a) Dashboard → Panther Rewards Points section → Available PRP amount and (b) Rewards page → Redeem PRP screen → Available PRP section.
STAGE 2 TESTING
As we progress through our Testnet stages, we want to express our gratitude for your continued support, feedback, and enthusiasm. To start testing Stage 2, please visit Panther docs here to get the most updated test link and follow the steps:
- New user creates and activates Panther Account (existing users go through the same step but the onboarding process bypasses the KYC verification) - see the Stage 1 functionality and instructions.
Note 1.1: both (a) new accounts and (b) previously created during Stage 1 Panther accounts both are valid.
When your account is successfully created, you will find a success screen:
- Find the first part of your onboarding bonus on your dashboard. This bonus is in the form of Panther Account zZKP which is expected to fuel all types of transactions within Panther such as paying Protocol fees, paying to Relayer for gasless transactions, paying Miner’s fee etc. Users are expected to maintain a sufficient balance of this account in zZKP using transfer functions available in later stages.
- Find the second part of your onboarding bonus - an onboarding voucher,, which equals 500 PRPs. The voucher should be claimed to get the PRPs into your account. To find the second part, please follow the Rewards menu item => Vouchers screen => Onboarding Reward Vouchers.
Note 3.1: It takes time to detect and reflect the corresponding group of vouchers so there can be a case when the screen is empty before the data is updated:
Note 3.2: It takes time to make your voucher available for claiming, as the zAccount UTXO must be mined in advance. The UI will reflect your bonus voucher. Please be aware that claiming the voucher may take a few minutes in the test environment (due to lower mining activity which impacts transaction processing in the Bus Queue). The claim button is disabled until claiming is available.
- Claim your voucher via the Vouchers screen functionality. After Voucher is claimed successfully (Voucher screen will go back to the state mentioned in Note 3.1 upon a successfully claimed transaction), you can find the corresponding amount of PRP on the Redeem PRP screen, Available PRP field
Note 4.1: Sometimes, it may take a few minutes to display the PRP available for redeeming (due to lower mining activity in the test environment, which impacts transaction processing in the Bus Queue). The button is disabled until Redeem is successful.
- Redeem your PRP from the Redeem PRP screen to get your zZKP. This zZKP will now be available in your Private zAssets section and zAssets Summary section balance in the Dashboard screen.
6. Recharge the reward pool of PRP/zZKP AMM:
Step 1: Go to the Rewards page and click on recharge pool.
Step 2: Switch to the Goerli network. The recharge triggers the Vesting contract on the Goerli testnet (Ethereum on production). This requires users to switch networks if they are not on Goerli. This can be done using either in-dApp functionality (Switch Network option) or via Network Management modal (when you are already connected to the product), or via MetaMask functionality.
Step 3: Check available $ZKP for recharge. Checking that there is enough $ZKP for recharge helps make the decision to trigger the function. The Recharge button will be active only when the ‘Recharge size’ field is non-zero, however, it is not recommended to trigger this function for a smaller recharge amount.
Also, a zero or a low ‘Recharge size’ means that the recharge was done by other users.
Step 4: Check and top-up your Goerli ETH balance - this is required to pay for gas to trigger this functionality. To get a test Goerli ETH use the faucet e.g. https://beyondfaucet.com/goerli/.
Step 5: Complete the recharge-triggering transaction on the Goerli side by pushing the Recharge Reward Pool button.
Note 6.1: The recharge executes through bridging functionality which moves $tZKP from Goerli (Ethereum) to Mumbai (Polygon). This operation is dependent on the bridge and may take up to 20 minutes.
Step 6: Check the updated current recharge ratio field. Recharging the pool means injecting more rewards into the Reward AMM, hence, it impacts the ZKP:PRP ratio. The new ratio can be viewed here:
Note 6.2: Smaller recharge size value will make an insignificant impact on the rate. Testnet allows for multiple recharge to test functionality and bridging. However, it is advised to propose a maximum of once per day recharge in production which will also have a positive impact on the rate.
Step 7: Check the Vouchers screen. The protocol rewards users for performing the recharge function. Switch to the Mumbai network to view and claim your Recharge Reward Voucher.
To share your feedback, kindly fill in this form.
This phase marks not just an advancement in the protocol's capabilities, but gets us a step closer to our v1 release. As always, make sure to let us know if you have any additional feedback through our social and community channels.
Thanks for participating in Testnet Stage 2!
Panther is a cross-protocol layer that uses zero-knowledge technology to build DeFi solutions that meet regulatory requirements and satisfy users' on-chain data privacy needs. The goal of Panther is to allow seamless access to DeFi and create a cross-chain-supported architecture that serves different use cases. Panther's zero-knowledge primitives are also generalizable to KYC, selective disclosures between trusted parties, private ID, voting, and data verification services.