NestDevelopers
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 and global accounts

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.

MarketIssuerMintDecimalsBorrow LTVLiquidationOracle
SPYx
SPYx
xStocksXsoCDF2W870%80%pyth-lazer
QQQx
QQQx
xStocksXs8SmWHZ860%70%pyth-lazer
AAPLx
AAPLx
xStocksXsbEJzJp850%60%pyth-lazer
GOOGLx
GOOGLx
xStocksXsCPq6aN850%60%pyth-lazer
METAx
METAx
xStocksXsa6o5Zu850%60%pyth-lazer
NVDAx
NVDAx
xStocksXsc99qEh850%60%pyth-lazer
TSLAx
TSLAx
xStocksXsDoHzoB850%60%pyth-lazer
COINx
COINx
xStocksXs7ZPxNu850%60%pyth-lazer
CRCLx
CRCLx
xStocksXsue3bd1850%60%pyth-lazer
SPCXx
SPCXx
xStocksXs3oqpH8850%60%pyth-lazer
SPCX
SPCXbp
BackpackSPCXimGb650%60%pyth-lazer
MU
MU
BackpackMUxEGay1640%50%jupiter-signed
SNDK
SNDK
BackpackSNDKRhfH640%50%jupiter-signed
DRAM
DRAM
BackpackDRAMY4Cw640%50%jupiter-signed
SPYon
SPYon
Ondok18Wondo970%80%jupiter-signed
QQQon
QQQon
OndoHrYNondo960%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),
    ...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