Depositing

How USDC becomes shares, step by step.

The three steps#

  1. Open. Your USDC moves into an escrow account owned by the zapper program. The whole plan is fixed in that moment and signed: exactly how much USDC each token’s purchase spends, and the minimum amount of each token it must receive (from your slippage setting). The entry fee stays in the escrow.
  2. Buy each token. Each asset is bought in its own transaction through Jupiter. A keeper runs these transactions, but it cannot change the plan: a purchase that would receive less than its minimum fails.
  3. Close. When every token has been bought, they are deposited into the vault in kind, your shares are minted, and the entry fee is paid to the creator and the platform. The escrow closes and its rent comes back to you.

All three steps are signed by your app wallet. Nothing opens in your own wallet.

How many shares you get#

For a fund that already has holders, the vault mints:

shares = min over held assets i of ⌊ deposited_i × basket_supply / vault_balance_i ⌋

Each token counts only up to the amount that keeps the fund’s proportions; anything above that is returned to your app wallet at close. This makes a deposit proportional by construction: it can never dilute the people already in the fund. The first deposit into an empty fund sets the share price at about $1.00.

Slippage#

Slippage is how much worse than the quote a purchase may land. The app starts at 0.5% and lets you change it; the contract refuses anything looser than 10% per token. Because the purchases happen in your escrow, with your USDC, before any share exists, your slippage is yours alone — it never lands on the fund’s other holders.

If a deposit stalls#

A purchase can fail to land if the market moves past your minimum. You then have two ways out, both signed by your app wallet:

  • Loosen the minimums. Allowed once the deposit has been stuck for a minute. It can only loosen, only for tokens not yet bought, and never past the 10% cap.
  • Cancel. Returns whatever the escrow holds right now — the USDC not yet spent and the tokens already bought — plus the entry fee. You can cancel at any time. Anyone else can trigger a cancel only after the deposit has expired (its window is set at open, between 1 and 30 minutes), and even then everything goes back to you.

What you need#

  • USDC in your app wallet for the amount.
  • A little SOL for network fees and for the rent of the temporary accounts the deposit opens. The rent comes back at close.

Depositing tokens directly#

Anyone can also deliver the basket’s tokens directly to the vault program and receive shares, without USDC or swaps. The same share formula applies, and the entry fee is charged in shares instead of USDC.