# Stage 4

**Status: Completed**

> For the current dApp, see the [entrypoint](/docs/panther-core/testnet.md). Note that, each stage's entrypoint is deprecated in favor of the next stage.

## Functionality

Stage 4 introduces two core functionalities:

* Internal Transfers (Send and Receive): Users can transfer zAssets to other Panther users inside the Shielded Pool. zAssets can be sent to another user using their zAddress. Every Panther user is assigned a zAddress that can be viewed on the Panther account.\
  The Receive screen is also available for your convenience to share your Panther account address (referred as zAddress) via QR code. Simply, navigate to the dashboard and click on the Receive button.
* Withdrawal: Users will be able to withdraw zAssets from the Shielded Pool back to an external wallet. This external wallet can also be a new account different from the account used to deposit assets. Compliance checks are performed to ensure that users prove they are the owner of the zAccount they are interacting with and that the wallet where assets are withdrawn is a clean wallet.

The Protocol rewarding mechanics have been enhanced with two new features:

* Automatically converting pending PRPs into available PRP upon spending of UTXO(s) due to transfers and withdrawals.
* Rewarding a user with a flat PRP bonus upon spending UTXO(s).

## User Testing Flow

*Internal Transfer:*

1. Navigate to the Send screen through:
   * Top main menu - zAssets - Send screen,
   * zAssets Portfolio card - Send button,
   * Dashboard - Private zAssets section - token line - token management buttons.
2. Set the amount.
3. Choose the token.
4. Manage UTXOs as needed.

**NOTE:** The current version allows the selection of a maximum of two UTXOs in a given transaction - that defines Selected Balance. By default, UTXO’s with the top two balances are selected. If the transfer amount is less than the chosen UTXO(s) amount, the new UTXO with the returned amount is added to users zAsset list.

5. Specify the destination address in the Panther account format, beginning with "ZK" and having a total of 42 characters - enter a new address or select from previously used options.
6. Push the Send button to initiate the internal transfer.

*Withdrawal:*

1. Navigate to the Withdraw screen through:
   * Top main menu - zAssets - Withdraw screen,
   * Dashboard - Private zAssets section - token line - token management buttons.
2. Set the amount.
3. Choose the token.
4. Manage UTXOs as needed.
5. Specify the destination address in Polygon network format, beginning with "0x" and having a total of 42 characters - enter a new address or select from previously used options.
6. Push the Withdraw button to initiate the internal transfer.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.pantherprotocol.io/docs/changelog/overview-1/stage-4.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
