LrefWFcNXGnLxnQUdKmuJ1U3fUrFBdNkm6xCfVfWwQW. Guardian and Cantina audited the program: see the audit reports. Lend Referral is a separate product from the Jupiter Referral Program, which earns integrator fees on trades.
How a wrapper works
A wrapper holds jlTokens for its users in a vault, one vault per wrapper. A deposit in the underlying token goes through the Earn market first, and the wrapper keeps the jlTokens Earn mints. A deposit in jlTokens goes straight to the vault. Either way, the user receives xTokens. The vault’s jlTokens are split into three balances: the users’, the partner’s, and Jupiter’s. The jlTokens earn Earn yield. At each accrue, the wrapper takes the partner fee out of the yield on the users’ balance and moves it to the two fee balances. An accrue runs at the start of every deposit, withdrawal and claim, and anyone can trigger one. You claim your balance to your fee recipient. Jupiter claims its own. What this means for your users:- The xToken balance stays the same. Yield shows up as a rising xToken value in jlTokens, net of the partner fee.
- The xToken is a plain token. It has the jlToken’s decimals and the market’s token program (Token or Token-2022). The wrapper is its mint authority, and it has no freeze authority.
- Exits stay open. A user can redeem xTokens for the underlying token or for jlTokens. If the underlying path is blocked, the jlToken exit still works. See Exit in edge cases.
Roles
A claim always pays the stored fee recipient, whoever triggers it. That is why claims are open to anyone by default.
After Jupiter transfers the wrapper authority to you, Jupiter cannot change your partner fee, fee recipient, claim authority or xToken metadata. Jupiter keeps two controls over your wrapper: the protocol share, and the global pause. A pause blocks every deposit, redeem and withdrawal,
accrue, and claims, for as long as it lasts.
Get a wrapper
Jupiter creates every wrapper.What you send Jupiter
What Jupiter does
Jupiter seeds the wrapper with a small amount of jlTokens that stay locked in the vault permanently. The seed makes share-price manipulation on a new wrapper expensive (see Share price and the seed). Jupiter then creates the xToken mint, the wrapper config and the vault, and writes the xToken metadata. It sets a claim authority if you asked for one, and transfers the wrapper authority to your admin address.What you get back
- The xToken mint address. Your code passes it to the SDK to find your wrapper.
- The wrapper config address: the program PDA
["wrapper_config", xTokenMint]. - The market’s jlToken mint and Lending account, the Earn market’s on-chain account.
- The vault address: the wrapper config’s associated token account for the jlToken mint.
- The fee recipient as stored on the wrapper.
Integrate
Fees and Yield
How the partner fee is charged, split and claimed, and what fee your users pay in practice.
SDK Quick Start
Install the SDK, read a wrapper, and send your first deposit.
Deposit and Withdraw
Move user funds in and out of a wrapper, with slippage bounds and edge cases.
Manage Your Wrapper
Read your earnings, claim fees, and change your wrapper’s settings.
Reference
Addresses, accounts, fields, limits, instructions, errors and events.
