Borrow nUSD
Deposit collateral, mint nUSD, calculate debt and position health, repay debt, and withdraw collateral.
One Nest borrow position is identified by:
owner wallet + collateral config -> vault PDAThe same wallet can have independent positions in multiple supported markets. Debt and collateral are not pooled across those positions.
- deposit collateral → 2. refresh oracle + mint nUSD → 3. monitor debt and health
- repay nUSD → 5. refresh oracle + withdraw collateral
Supported collateral
Do not route by a ticker alone. Match the exact market symbol, collateral
mint, configuration PDA, custody vault, token program, and decimals.
| Market | Issuer | Mint | Market config | Custody vault | Decimals | Borrow LTV | Liquidation | Oracle |
|---|---|---|---|---|---|---|---|---|
| SPYx SPYx | xStocks | XsoC…DF2W | D1xj…drqm | 6tL1…XCys | 8 | 70% | 80% | pyth-lazer |
| QQQx QQQx | xStocks | Xs8S…mWHZ | 5KaX…UFKA | 7tcP…6ptS | 8 | 60% | 70% | pyth-lazer |
| AAPLx AAPLx | xStocks | XsbE…JzJp | 2s5n…po1J | 7u7F…w71a | 8 | 50% | 60% | pyth-lazer |
| GOOGLx GOOGLx | xStocks | XsCP…q6aN | 7CJE…bn65 | 1XrA…6SCR | 8 | 50% | 60% | pyth-lazer |
| METAx METAx | xStocks | Xsa6…o5Zu | DyfT…jwUK | 5Tnk…Z2oZ | 8 | 50% | 60% | pyth-lazer |
| NVDAx NVDAx | xStocks | Xsc9…9qEh | 2U7G…H6Cz | BgjD…LSyf | 8 | 50% | 60% | pyth-lazer |
| TSLAx TSLAx | xStocks | XsDo…HzoB | C24f…kgXt | XuMD…hvPV | 8 | 50% | 60% | pyth-lazer |
| COINx COINx | xStocks | Xs7Z…PxNu | E9Cy…WAEN | 4sVw…Ns3U | 8 | 50% | 60% | pyth-lazer |
| CRCLx CRCLx | xStocks | Xsue…3bd1 | Giy4…QXrw | GFwm…Ai3G | 8 | 50% | 60% | pyth-lazer |
| SPCXx SPCXx | xStocks | Xs3o…qpH8 | G8we…B7jN | zUVg…4Cqw | 8 | 50% | 60% | pyth-lazer |
| SPCX SPCXbp | Backpack | SPCX…imGb | 6QUv…Gyvx | 5xmg…WpaG | 6 | 50% | 60% | pyth-lazer |
| MU MU | Backpack | MUxE…Gay1 | J8hc…sMeC | FLfD…KXRc | 6 | 40% | 50% | jupiter-signed |
| SNDK SNDK | Backpack | SNDK…RhfH | HXpV…xvcQ | 5VU7…ofNP | 6 | 40% | 50% | jupiter-signed |
| DRAM DRAM | Backpack | DRAM…Y4Cw | 3oPc…Hw8w | 3b7V…Rpv3 | 6 | 40% | 50% | jupiter-signed |
| SPYon SPYon | Ondo | k18W…ondo | E4ZH…WZ9q | HzhV…uJvS | 9 | 70% | 80% | jupiter-signed |
| QQQon QQQon | Ondo | HrYN…ondo | FKDn…oGyW | Fkrc…3oxr | 9 | 60% | 70% | jupiter-signed |
| BOT BOT | Backpack | BoTx…6d8T | 7jKL…YP91 | BNC7…Gg7C | 6 | 40% | 50% | jupiter-signed |
| SKHY SKHY | Backpack | SKHY…9EQ3 | 86uK…Jgnj | 3KnB…ms4x | 6 | 40% | 50% | jupiter-signed |
| HOOD HOOD | Backpack | HooD…3e9A | 8JG2…7ijM | HLvi…Vk9N | 6 | 40% | 50% | jupiter-signed |
| INTC INTC | Backpack | iNTC…xFaF | GbbP…iR5x | 4Qs9…nheE | 6 | 40% | 50% | jupiter-signed |
| SOL SOL | Solana | So11…1112 | HGgE…2DJx | 3BkA…o9Xk | 9 | 50% | 65% | pyth-lazer |
| JitoSOL JitoSOL | Jito | J1to…GCPn | A4Tj…i7v9 | 8vA5…w5iL | 9 | 50% | 65% | pyth-lazer |
| MSTR MSTR | Backpack | MSTR…U7Nz | JADC…fJdZ | 7wWt…SP9Y | 6 | 40% | 50% | jupiter-signed |
| TTWO TTWO | Backpack | TTWo…FbKo | FfXx…EeCC | 3zWw…86sR | 6 | 40% | 50% | jupiter-signed |
| SILV SILV | Dominion | SiLV…B35L | HnSb…aeKW | 6toV…V97r | 6 | 60% | 70% | jupiter-signed |
Borrowing workflow
| Step | Guide | Requires a fresh oracle update? |
|---|---|---|
| Open a position and transfer collateral | Deposit collateral | No |
| Borrow nUSD | Mint nUSD | Yes, atomically |
| Display risk | Position health | Read current price |
| Display current debt | Accrued stability fees | No |
| Reduce or close debt | Repay debt | No |
| Release collateral | Withdraw collateral | Yes while debt remains |
Position state
The vault stores:
type BorrowVault = {
owner: PublicKey;
collateralConfig: PublicKey;
collateralRaw: BN; // collateral mint base units
principalDebt: BN; // six-decimal nUSD base units
accruedFee: BN; // six-decimal nUSD base units
lastAccrualTs: BN; // Unix seconds
};The stored debt is principalDebt + accruedFee. Before minting, repaying, or
withdrawing, the program first accrues fees to the transaction's on-chain clock.
Therefore, a wallet read is a snapshot and applications should project the
additional fee since lastAccrualTs.
Collateral custody
A deposit moves tokens into the market's canonical collateral vault. The user's position PDA records the deposited amount. An integrating application does not receive or hold the user's collateral or nUSD.