Deposit.
Hand over the vault's current mix, or pay with one token alone. Receive swSPCX.
How a deposit is priced
One swSPCX is a pro-rata slice of everything the vault holds: its liquidity in each of its four Meteora DAMM v2 pools and the idle balance of each of its five reserves (SPCXx, SPCX, SPCXon, USDC and SOL). There is no price oracle. Everyone who deposits adds the same slice of the same mix.
You choose how many swSPCX to receive. For s new shares, the vault:
- adds
s / supplyof its liquidity to every pool, rounded up, and cp-amm takes the matching amount of each pool's two tokens; - keeps
s / supplyof every idle reserve's balance, rounded up; - refunds whatever you sent beyond that, in the same transaction.
Every rounding goes against the depositor, so a deposit never dilutes existing holders. The amounts the app asks for come from the pool and reserve accounts at the moment you sign.
Deposit with the mix
If you hold every token in the vault's mix, you can deposit them directly. The app reads the current mix, shows how much of each token the deposit takes, and sends a little extra of each as a buffer. What the vault doesn't use comes back in the same transaction.
Deposit with one token
You can also pay with a single token: USDC, SOL, or any one issuer's SpaceX token (SPCXx, SPCX or SPCXon). It takes one transaction.
- An issuer's SpaceX token counts 1:1. One SPCXx, one SPCX or one SPCXon is one share of SpaceX. It goes into the vault's reserve as it is, and you receive swSPCX for its value after the vault fee.
- USDC is converted. The vault swaps it, inside the same transaction, into the issuer token it holds least of against its target, and counts what came out. SOL is converted the same way, through USDC if no pool pairs it with that token.
- A token at its cap is redirected. No issuer may be more than 40% of the vault. If your token is at its cap, the vault converts it into an underweight issuer token instead, and the app tells you before you sign.
The vault fee
Each token has a target share of the vault. The fee depends on where your deposit leaves your token against that target:
- at the target: 0.05%;
- above it: 0.05% plus 0.02% for every percentage point over, up to 1%;
- below it: less, down to a 0.03% discount.
So depositing the token the vault needs is cheapest, and the market keeps the vault balanced. The fee stays in the vault, for swSPCX holders, you included. A converted deposit also pays the pool fee and price impact of its swap; when the swap goes through one of the vault's own pools, that fee goes to the vault too.
When a token is not accepted alone
Pricing every issuer token at 1:1 only holds while they trade within 2% of each other. If one drifts further, the vault stops taking it alone, stops converting into it, and stops paying it out alone, until it comes back. The vault also stops single-token deposits while the keeper's prices are more than 10 minutes old, or while one of its pools trades more than 2% away from them. In those cases the app falls back to swapping your token into the mix and depositing the mix, in two transactions, and says why. A deposit with the mix never depends on prices.
For SOL, the app wraps it first and closes the temporary wrapped-SOL account in the same transaction, so its rent comes back. It keeps a little SOL in your wallet for the network fee and the token accounts a first deposit opens.
Slippage limit
Before you sign, the app shows a slippage limit. A deposit with the mix fails if it would take more of any token than you sent. A deposit with one token fails if it would mint fewer swSPCX than the limit. Either way, nothing moves and nothing is minted.
When deposits are paused
The admin can pause deposits as a circuit breaker for issuer events (pause, freeze, depeg). A deposit then fails with "Deposits are paused". Redemptions stay open.
Test tokens
On devnet, the faucet in the app's Devnet tab sends 10 mock SPCXx, 10 mock SPCX, 10 mock SPCXon, 2,000 test USDC and a little devnet SOL, once a minute per wallet. For larger deposits in SOL, get more devnet SOL from faucet.solana.com.
Mainnet deposit requirements, such as supported issuer tokens and minimums, are not decided yet.