> ## 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.

# Protocol addresses

> Authoritative on-chain addresses for Nacre.

This page is the canonical reference for every address and program ID Nacre
deploys. Each section is updated at the time of deployment; values marked
`TBD` are not yet deployed.

<Warning>
  **Always verify addresses against this page** before interacting with Nacre.
  The Nacre app and Reclaim CLI both pin these values; if anything you see in
  your wallet doesn't match, do not sign.
</Warning>

## Mainnet (Pearl mainnet ↔ Solana mainnet-beta)

### Pearl

| Item                                    | Value |
| --------------------------------------- | ----- |
| Cold Reserve address                    | `TBD` |
| Cold Reserve script-path leaf 0 (admin) | `TBD` |
| Validator quorum Pearl pubkey           | `TBD` |

### Solana

| Item                                    | Address |
| --------------------------------------- | ------- |
| `wPRL` SPL mint                         | `TBD`   |
| `nacre_two_way_peg` program ID          | `TBD`   |
| `nacre_liquidity_management` program ID | `TBD`   |
| `nacre_layer_ca` program ID             | `TBD`   |
| `nacre_protocol_config` program ID      | `TBD`   |

### Authorities & treasury

| Item                                                  | Address |
| ----------------------------------------------------- | ------- |
| Admin multisig (3-of-5, Solana)                       | `TBD`   |
| Admin recovery pubkey (Pearl, MuSig2 of admin 3-of-5) | `TBD`   |
| Protocol treasury                                     | `TBD`   |
| Validator margin pool                                 | `TBD`   |

## Testnet (Pearl testnet ↔ Solana devnet)

Live as of 2026-05-24. The canonical machine-readable snapshot lives at
[`infra/devnet/solana-devnet.json`](https://github.com/jake-nyquist/nacre/blob/main/infra/devnet/solana-devnet.json)
and is regenerated by `bootstrap-validators.sh` (idempotent).

### Pearl

| Item                                             | Value                                                                  |
| ------------------------------------------------ | ---------------------------------------------------------------------- |
| Cold Reserve script\_pubkey (hex, P2TR)          | `5120c07781181851012e1ef06e15a85174f2205b3522c39c245db45020da0e59e29c` |
| Cold Reserve internal key (BIP-86, x-only)       | `877e1cd52a2562259cca72b2d75557f7b94646555735458a2225db3ad7534666`     |
| Hot Reserve internal key (script-path, x-only)   | `291c84d258d3207aba795ddde5cb42bacf98ca11f3d5a593e0ce37fcc0822c20`     |
| Admin recovery key (Cold Reserve leaf 0, x-only) | `0f0fb9a244ad31a369ee02b7abfbbb0bfa3812b9a39ed93346d03d67d412d177`     |
| Admin recovery CSV                               | `1008 blocks (~7 days)`                                                |

### Solana

| Item                                    | Address                                        |
| --------------------------------------- | ---------------------------------------------- |
| `wPRL` SPL mint (Token-2022)            | `55Ms5N7ptGy6TyPWcsTYhZ3QyKC5cYUtPaff4sU5c59T` |
| `nacre_two_way_peg` program ID          | `6MHdc59tboxpkwt8QjHYt4Z1TMYeWNwWQGCDfNWPzmD3` |
| `nacre_liquidity_management` program ID | `2kxkzPTevW5XUD3MScrevAZXzkTvLpJUCvDA5Wqs5P6c` |
| `nacre_layer_ca` program ID             | `DRmZzeuvTuSQFPqtkpAMyxFuyyAgtTxYcwt3314kNvvm` |
| `nacre_protocol_config` program ID      | `5nFudgDygpRb6rw2eUF73m6Fnb1xo5bT2D593DL7inhD` |
| Address Lookup Table                    | `4aNQuoFRWQLsPwd2oTdrRZEV8BaCNWmxT1762UZ86Lif` |
| Protocol config PDA                     | `2ZhvVPNhCE3P1NgFwVMGf8T3v2v5TEkc3ZSktXmo4XdD` |
| wPRL mint authority PDA                 | `HFaCCg1L6rfXCvNxciLXcxJ4BfPSwa3kWBWDL4Du7Ljw` |
| Aggregator fee payer                    | `DfwKJECiAHXZHAi44WKzyQhkpW7ZJoSPX2dS9pNdqaJh` |
| Program upgrade authority               | `6C3hpoeDGfJYP35QdMU7JVXYWZKRAAra5PtQ1d2qEp2v` |

### Privy

| Item                              | Value                                                                |
| --------------------------------- | -------------------------------------------------------------------- |
| Wallet A ID (Pearl, secp256k1)    | `u665vnrkjle4057se9nrq0pc`                                           |
| Wallet A pubkey (compressed, hex) | `03877e1cd52a2562259cca72b2d75557f7b94646555735458a2225db3ad7534666` |
| Wallet B ID (Solana, ed25519)     | `ggmj5in8ctiyidecgkz0q9dt`                                           |
| Wallet B pubkey (base58)          | `CKBRCZXWYS9VUwm3YyDHTzVhV3dXVZNmHYkLMj9GVQX5`                       |

<Note>
  Hot Reserve uses an in-memory deterministic internal key (NOT Privy Wallet A) because Privy's `chain_type=pearl::raw_sign` is BIP-86 only and cannot sign Nacre's script-tree taproot Hot Reserve outputs. Cold Reserve uses Privy Wallet A directly (BIP-86). Solana attestations use Privy Wallet B. This is the `--signer split` topology — see `infra/devnet/solana-devnet.json` for the full picture.
</Note>

### Authorities & treasury

| Item                                                  | Address |
| ----------------------------------------------------- | ------- |
| Admin multisig (3-of-5, Solana)                       | `TBD`   |
| Admin recovery pubkey (Pearl, MuSig2 of admin 3-of-5) | `TBD`   |
| Protocol treasury                                     | `TBD`   |
| Validator margin pool                                 | `TBD`   |

## Verifying addresses

The Nacre source repository at `TBD` pins every program ID and reserve address
in the workspace `Anchor.toml` and in `nacre-types`. To verify:

```bash theme={null}
git clone TBD nacre && cd nacre
git tag -l                            # find the release you want
git checkout v<x.y.z>
grep -R "program_id" Anchor.toml
```

The Reclaim CLI also ships with these addresses baked in and rejects any
on-chain account that doesn't match.
