> ## Documentation Index
> Fetch the complete documentation index at: https://docs.nacrelabs.xyz/llms.txt
> Use this file to discover all available pages before exploring further.

# Mint wPRL

> Deposit PRL on Pearl, receive wPRL on Solana.

Minting wPRL is a two-step on-chain process: you send PRL to a Deposit
Address derived from your Solana key, and the validator quorum mints the
corresponding wPRL to your Solana wallet after the deposit confirms.

<Note>
  **UI walkthrough placeholder.** Screenshots and exact button labels will be
  filled in once the Nacre app is published. The flow described below is
  authoritative against the protocol, not the UI.
</Note>

## Prerequisites

* A Solana wallet that holds a small amount of SOL for transaction fees
  (Phantom, Backpack, Solflare, or similar).
* A Pearl wallet that holds the PRL you want to bridge.
* A minimum deposit large enough to cover bridge fees (see
  [Fees](/wprl/overview#fees)).

## Step-by-step

<Steps>
  <Step title="Open the Nacre app and connect your Solana wallet">
    Visit `TBD` and connect the Solana wallet that will hold wPRL.
    *(UI: connect-wallet button, screenshot TBD.)*
  </Step>

  <Step title="Create a Deposit Address">
    Click **Deposit PRL**. The app calls `create_hot_reserve` on the
    `nacre_liquidity_management` program, which derives a Pearl Taproot
    address unique to your Solana key.

    The Deposit Address has two spending paths:

    * **Key-path:** controlled by the validator quorum (this is the path used
      to sweep your deposit to the Cold Reserve and mint wPRL to you).
    * **Script-path:** controlled by you, but only after **7 days** (1,008
      Pearl blocks). This is your [emergency exit](/wprl/recover).

    *(UI: Deposit Address card with QR code and copy button, screenshot TBD.)*
  </Step>

  <Step title="Verify the address (recommended)">
    Click **Verify offline**. The app re-derives the Deposit Address from
    your Solana key entirely client-side and compares it with the on-chain
    record. If they don't match, **do not deposit**.
  </Step>

  <Step title="Send PRL to the Deposit Address">
    From your Pearl wallet, send PRL to the displayed address. Send any amount
    above the minimum; the protocol does not require an exact amount.

    Validators wait for a configurable confirmation depth (default **6**
    Pearl blocks, set on-chain in `ProtocolConfig.confirmation_depth`)
    before processing the deposit. At Pearl's typical block time this is
    roughly `TBD` minutes.
  </Step>

  <Step title="Wait for the sweep">
    Once confirmations are reached, the validator quorum signs a sweep that
    moves your deposit from the Deposit Address into the shared Cold Reserve.
    The Nacre app shows live progress:

    1. **Detected:** deposit transaction has appeared in a Pearl block.
    2. **Confirming:** the indexer is tracking the deposit through each
       block toward the configured confirmation depth (UI shows
       "n / 6"). No validator action yet.
    3. **Confirmed:** confirmation depth reached; the validator quorum
       begins attesting.
    4. **Swept:** Cold Reserve sweep broadcast and confirmed.
    5. **Minted:** wPRL credited to your Solana wallet.
  </Step>

  <Step title="Receive wPRL">
    The `nacre_two_way_peg` program mints `user_net` wPRL to your associated
    token account, where:

    ```
    user_net = deposit_amount − miner_fee − validator_margin − protocol_fee
    ```

    See [Fees](/wprl/overview#fees) for the parameter values.
  </Step>
</Steps>

## How long does it take?

| Phase                                  | Typical duration   |
| -------------------------------------- | ------------------ |
| Pearl confirmations (default 6 blocks) | `TBD`              |
| Validator detection + quorum signing   | seconds to minutes |
| Cold Reserve sweep confirmation        | 1 Pearl block      |
| Solana mint transaction                | \< 1 minute        |
| **End-to-end**                         | **`TBD`**          |

## Troubleshooting

<AccordionGroup>
  <Accordion title="My deposit confirmed on Pearl but wPRL hasn't been minted">
    Validators wait for the configured confirmation depth (default 6
    Pearl blocks) before sweeping. After that, the sweep and mint
    typically complete within minutes. Check the Nacre app
    status. If it's been stuck for more than a few hours, contact support
    (`TBD`).
  </Accordion>

  <Accordion title="I sent PRL to the wrong address">
    If the address belongs to someone else, the PRL is theirs. If you sent it
    to a Deposit Address you control but for the wrong Solana wallet, you can
    still mint into the *correct* address by re-running this flow from the
    original wallet, or [recover the deposit](/wprl/recover) and start over.
  </Accordion>

  <Accordion title="I want my PRL back without minting wPRL">
    Use the [emergency exit](/wprl/recover). After 7 days you can spend the
    deposit yourself via the script-path on the Deposit Address.
  </Accordion>
</AccordionGroup>
