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.
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.
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
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 |
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.
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:
The Reclaim CLI also ships with these addresses baked in and rejects any
on-chain account that doesn’t match.