Skip to main content

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.

Every Hot Reserve address has a built-in escape hatch: after 7 days (1,008 Pearl blocks), you can spend the deposit yourself, without any validator signatures. This is the protocol’s trustless guarantee that your PRL never gets stuck.
You only need this flow if a deposit was not processed (no wPRL was minted) and you want your PRL back. If wPRL was minted, use the Burn flow instead.

When to use this

Use the recovery flow if:
  • You deposited PRL to a Hot Reserve more than 7 days ago, and
  • No wPRL was ever minted to your Solana wallet for that deposit, and
  • The deposit has not already been swept into the Cold Reserve.
If any of these are false, the standard flows apply and you should not need to recover manually.

How the script-path works

Your Hot Reserve address is a Taproot output with two spending paths:
Hot Reserve = Taproot(
  internal_key = Privy validator quorum,        // key-path
  script_tree  = [
    leaf 0: <1008> OP_CSV OP_DROP <your_xonly_pubkey> OP_CHECKSIG
  ]
)
The script-path leaf requires:
  1. Time: the input must have nSequence ≥ 1008, and the deposit must have been confirmed at least 1,008 blocks ago.
  2. Signature: a Schnorr signature from a key you control, deterministically derived from your Solana wallet.
The key is derived as:
user_emergency_secret = HKDF(solana_signature_over_domain_separator)
Anyone holding your Solana wallet can re-derive this key — there is nothing extra to back up.

Option A: Use the Nacre app

1

Open the Nacre app and connect your Solana wallet

Visit TBD. Use the same Solana wallet that created the Hot Reserve.
2

Find the stuck deposit

Open Activity → Stuck deposits. The app lists deposits that are older than 7 days and have not been processed. (UI: screenshot TBD.)
3

Sign and broadcast the reclaim transaction

Click Reclaim, enter the Pearl address that should receive your PRL, and sign the reclaim message with your Solana wallet. The app builds the script-path spend, broadcasts it, and shows confirmation status.

Option B: Use the nacre-reclaim CLI

For users who don’t trust the web app — or if the app is unavailable — Nacre ships a static, reproducibly-built CLI you can run yourself.
1

Download the binary

Grab the latest release from TBD and verify the checksum against the one published in the release notes.
curl -L -o nacre-reclaim TBD
sha256sum nacre-reclaim
2

Run the reclaim command

nacre-reclaim \
  --solana-keypair ./my-solana.json \
  --pearl-recipient <pearl-address> \
  --pearl-rpc https://pearl.rpc.example
The CLI:
  1. Derives your Hot Reserve address from your Solana key.
  2. Scans Pearl for any unspent deposits older than 7 days.
  3. Builds a script-path spend to your recipient address.
  4. Signs and broadcasts.
The CLI is musl-statically built and reproducible — anyone can rebuild from source and check the binary hash against the released artifact.

Frequently asked questions

No. The script-path spend uses only your signature. Validators, the aggregator, and the admin multisig are not involved.
The emergency key is derived from your Solana key, so if you lose access to that wallet you lose access to the reclaim path as well. Keep your Solana wallet backed up.
The Cold Reserve is shared across all users and is not user-recoverable. If a sweep happened but wPRL was not minted, contact support (TBD) — the on-chain DepositInteraction record can still be used to attest the mint.
The 7-day delay gives validators enough time to process every legitimate deposit under all expected conditions (extended Pearl reorgs, validator outages, scheduled maintenance) while still capping how long your PRL can ever be unrecoverable.