NestDocs
Reference

Mainnet deployments

Mainnet program IDs, protocol accounts, token mints, and collateral-market addresses.

Load addresses from the versioned deployment manifest at /deployments/mainnet.json, verify its cluster and schema, and verify each downloaded IDL's address before constructing a transaction. Do not use addresses copied from screenshots or old transactions.

Programs, tokens, and global accounts

Programs

ProgramMainnet addressPurpose
Nest CoreHxbLPNuQD7KKDVQoSQgY1cLMLrsaoseT65Xoczh7zHQWBorrowing, collateral, nUSD, and PSM accounting
nUSD stakingEdYg6JsyntWpf3WGofNWKzBYnQPEvWFZSzUNim3PLbhBnUSD and snUSD staking
NEST stakingJ1aaoi1XYJH8Erg7VtJECLiRHmHPc1dQDY9j4tYj7ehMNEST cooldowns and funded nUSD rewards
Leveraged vaultsEwwEjYvZ1CU3kVFNobn3nHtn8JVLuymLtaeZ2KF2fAav2SPY and 2QQQ vault accounting

Nest-issued token mints

TokenMainnet mintPurpose
NEST68Nq68CrtLVpyvK5Un7UADiNczaGf39hBbj3diRsYj6DProtocol participation and incentives token
nUSDBKvheJ3skKvXqUbfroAgCf8dFfUKJM4W38raUaygLiUSNest dollar token
snUSD3ff7JAqqEyq7kyeWkxcqNCDjLWMB1Fh85Zq15k7yj4ZDShare token for staked nUSD
2SPY6JstqnYXjvCu6Frao9MHJDVCTqAekLXpydYuuK8rQriXNest 2X S&P 500 share token
2QQQDExogeVKoLrCZ7jh18vQu8V9M3Gzpzy9f8k1foUiMDrLNest 2X QQQ share token

Protocol state and product accounts

AccountMainnet addressPurpose
Protocol PDA9kXrR4medW7vU6QQDYfkuVXmKErXuTKPrMiGbf7H4SrRGlobal Nest Core state
nUSD staking stateDHfVbFFfkVKhr2hDihbTV7KnU37GsYyskk976npyDAKsGlobal nUSD staking state
NEST staking pool3sCE4aL7Nis7dgM4gowRkhUdN8VA2AZYw91jVEtdhb7eGlobal NEST staking state
2SPY vaultDLVJ6NrvE8YJdJ1cNGTdqyiaHbn7m1vmuEApu3aAmw9BNest 2X S&P 500
2QQQ vaultFHEynnxf1a8ddKmgSpov4eZjWC5tzF1kiMZeQjKD2ncYNest 2X QQQ

Protocol token accounts

AccountMainnet addressPurpose
PSM USDC vault9dYA9d2QePsBp8ZjD5E5vXkMKJUDqqYrXdfCLo2MiavLImmediately available PSM USDC
PSM Kamino collateral vaultAC4wmWELCx27CEDC86LZbUvp7WqUUs6TzgWahjpGrFR3Receipt token for deployed PSM reserves
nUSD staking vaultGzCZdqBirZFeNXcy5gK1K49a4SU2RWMVrYuw5ZjHcF5RnUSD backing snUSD shares
Staker revenue vault98QGnW3yYDfnW2ggzj8uZ22YNmnRmXhD1oRCDqR18vsWRevenue allocated to snUSD
Insurance nUSD vaultEGvPwW7sEHChb2raqSaigZZS6kNEfiauZAVR1h1XbYiHProtocol insurance balance
Protocol revenue nUSD vault4Y6wxXkfc4uHbtPeHg78VhVajZnvhw1Z699nGbMfXjJWAccrued protocol revenue
NEST staking vaultEyXPBVWVvjEM72B4qUmKuDhuNzKKrzHFixa4Ze7XTmSiNEST held by active and cooling positions
NEST reward nUSD vault4x4pynrBbM2tzo8iaYGV7yx9i3fUAixCip4WF5jzBRtfFunded rewards for NEST stakers

External settlement token

TokenMainnet mintPurpose
USDCEPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1vExternal settlement and PSM reserve asset; not issued by Nest

Supported collateral markets

Each row is a separate market. Two markets can represent the same underlying asset while using different mints, issuers, decimals, configurations, and vaults. Use symbol as the stable API key and never select a market by display symbol alone.

MarketIssuerMintMarket configCustody vaultDecimalsBorrow LTVLiquidationOracle
SPYx
SPYx
xStocksXsoCDF2WD1xjdrqm6tL1XCys870%80%pyth-lazer
QQQx
QQQx
xStocksXs8SmWHZ5KaXUFKA7tcP6ptS860%70%pyth-lazer
AAPLx
AAPLx
xStocksXsbEJzJp2s5npo1J7u7Fw71a850%60%pyth-lazer
GOOGLx
GOOGLx
xStocksXsCPq6aN7CJEbn651XrA6SCR850%60%pyth-lazer
METAx
METAx
xStocksXsa6o5ZuDyfTjwUK5TnkZ2oZ850%60%pyth-lazer
NVDAx
NVDAx
xStocksXsc99qEh2U7GH6CzBgjDLSyf850%60%pyth-lazer
TSLAx
TSLAx
xStocksXsDoHzoBC24fkgXtXuMDhvPV850%60%pyth-lazer
COINx
COINx
xStocksXs7ZPxNuE9CyWAEN4sVwNs3U850%60%pyth-lazer
CRCLx
CRCLx
xStocksXsue3bd1Giy4QXrwGFwmAi3G850%60%pyth-lazer
SPCXx
SPCXx
xStocksXs3oqpH8G8weB7jNzUVg4Cqw850%60%pyth-lazer
SPCX
SPCXbp
BackpackSPCXimGb6QUvGyvx5xmgWpaG650%60%pyth-lazer
MU
MU
BackpackMUxEGay1J8hcsMeCFLfDKXRc640%50%jupiter-signed
SNDK
SNDK
BackpackSNDKRhfHHXpVxvcQ5VU7ofNP640%50%jupiter-signed
DRAM
DRAM
BackpackDRAMY4Cw3oPcHw8w3b7VRpv3640%50%jupiter-signed
SPYon
SPYon
Ondok18WondoE4ZHWZ9qHzhVuJvS970%80%jupiter-signed
QQQon
QQQon
OndoHrYNondoFKDnoGyWFkrc3oxr960%70%jupiter-signed
BOT
BOT
BackpackBoTx6d8T7jKLYP91BNC7Gg7C640%50%jupiter-signed
SKHY
SKHY
BackpackSKHY9EQ386uKJgnj3KnBms4x640%50%jupiter-signed
HOOD
HOOD
BackpackHooD3e9A8JG27ijMHLviVk9N640%50%jupiter-signed
INTC
INTC
BackpackiNTCxFaFGbbPiR5x4Qs9nheE640%50%jupiter-signed
SOL
SOL
SolanaSo111112HGgE2DJx3BkAo9Xk950%65%pyth-lazer
JitoSOL
JitoSOL
JitoJ1toGCPnA4Tji7v98vA5w5iL950%65%pyth-lazer
MSTR
MSTR
BackpackMSTRU7NzJADCfJdZ7wWtSP9Y640%50%jupiter-signed
TTWO
TTWO
BackpackTTWoFbKoFfXxEeCC3zWw86sR640%50%jupiter-signed
SILV
SILV
DominionSiLVB35LHnSbaeKW6toVV97r660%70%jupiter-signed

Pinning a deployment

import { PublicKey } from "@solana/web3.js";
import type { Deployment } from "../nest-client";

// Nest developer documentation hosts the versioned deployment manifest.
const NEST_DOCS_ORIGIN = "https://docs.nestusd.com";

export async function loadNestMainnetDeployment(
  origin = NEST_DOCS_ORIGIN,
) {
  const response = await fetch(`${origin}/deployments/mainnet.json`, {
    cache: "no-store",
  });
  if (!response.ok) throw new Error(`Deployment fetch failed: ${response.status}`);
  const deployment = await response.json() as Deployment;
  if (
    deployment.schema !== "nest-public-deployment-v1"
    || deployment.cluster !== "mainnet-beta"
  ) throw new Error("Unexpected Nest deployment manifest");

  // Parsing every address also rejects malformed or truncated manifests early.
  [
    ...Object.values(deployment.programs),
    ...Object.values(deployment.accounts),
    ...Object.values(deployment.mints),
    ...Object.values(deployment.vaults),
    ...Object.values(deployment.tokenStaking),
    ...deployment.vaultProducts.flatMap((product) => [
      product.vault,
      product.shareMint,
    ]),
    ...deployment.collateral.flatMap((market) => [
      market.mint,
      market.collateralConfig,
      market.collateralVault,
      market.tokenProgram,
    ]),
  ].forEach((address) => new PublicKey(address));
  return deployment;
}

For Nest mainnet, origin is https://docs.nestusd.com. It is configurable so an integration can pin and serve a reviewed copy from its own release. The public API has a different origin, https://api.nestusd.com, and should not be used as the deployment-artifact origin.

For a production integration, pin the exact manifest revision you reviewed or compare its expected program IDs before allowing writes. A new collateral row does not require your app to support it automatically.

On this page