Providing liquidity
One USDC vault takes the other side of every Anyperp market. Liquidity providers deposit USDC into it and receive vault shares, a receipt on its NAV. The vault earns 60% of trading, liquidation and borrow fees, plus net funding and its side of trader PnL. Deposits fill at the next NAV, and withdrawals wait 72 hours in a queue.
What the vault does
The vault is the counterparty to the net position in each market. When longs outweigh shorts in a market, the vault is short the difference; when shorts outweigh longs, it is long. Positions that offset each other inside a market net out, and the vault carries only the skew.
The vault's token account also holds cash that belongs to others: trader margin, pending deposits, priced withdrawals and claim balances. That cash is kept apart from NAV. Before an open fills, the program checks that the vault's cash covers all of it plus the funding owed to traders and a reserve against each market's net exposure; an order the reserve can't cover does not fill.
The Vault page
| Row | What it shows |
|---|---|
| NAV | the value that belongs to shareholders |
| Share price | NAV per share, in USDC |
| Available liquidity | cash not held for margin, deposits, withdrawals, claims or reserves |
| Reserved margin | trader margin held in escrow |
| Net exposure | the vault's position across all markets, in USDC |
| Fees earned · 24h | the vault's share of fees, in total and over the last 24 h |
| Insurance fund | the insurance fund's balance |
| Withdrawal queue | the number of queued requests and their value |
"NAV as of" gives the time of the NAV shown. Under Your liquidity you see your shares and what they are worth, your pending deposit and queued withdrawals, and anything ready to claim.
NAV and shares
NAV is the vault's cash, less the cash it holds for others, less the PnL it owes traders on open positions, plus the funding and borrow fees traders owe it:
Only the vault's 60% of an accrued borrow fee counts toward NAV before it is collected. The share price is NAV divided by the shares outstanding. Shares are a classic SPL token with 9 decimals.
NAV generations
A NAV used for deposits and withdrawals is a NAV generation: a snapshot taken once every market has synced to a fresh print and every open position has been valued at it. The program writes the snapshot once and never changes it. A deposit or withdrawal prices at the first generation whose prints were all fetched after the request landed or unlocked, so it prices at a NAV that nobody could see when the request was made.
Depositing
- Open Vault. Under Your liquidity, enter an amount in Deposit USDC.
- Press Deposit and approve the transaction. The USDC moves into the vault as a pending deposit.
- The deposit waits for the next NAV generation; "Fills at the next round's NAV."
- A keeper fills it at that NAV. Your new shares land in your claim balance as "Shares ready to claim".
- Press Claim to wallet to move them into your wallet, or leave them where they are: a withdrawal request can use claimable shares directly.
The shares you receive are the deposit times the shares outstanding divided by NAV, rounded down:
For example, if the deposit prices at a NAV of $2,000,000 with 1,900,000 shares outstanding, 10,000 USDC buys 9,500 shares.
Each wallet has one deposit pending at a time.
Requesting a withdrawal
- Under Your liquidity, enter a number of shares in Withdraw shares.
- Press Request withdrawal and approve the transaction. The program takes the shares from your claim balance first, then from your wallet, and holds them in escrow.
- The withdrawal shows "Withdrawal · queued" with a countdown under "Unlocks".
The queue is 72 hours. Queued shares stay part of the vault until they are priced, so their value keeps moving with NAV while they wait. The queue means a liquidity provider can't leave ahead of a print they can already see coming. Each wallet has one withdrawal queued at a time.
Executing a withdrawal
When the 72 hours have passed, a keeper prices the withdrawal at the first complete NAV generation after its unlock time. The shares are burned and the USDC amount is fixed:
Execute withdrawal then appears on the withdrawal. Press it and approve; the USDC lands in your claim balance, and Claim to wallet moves it to your wallet.
For example, 9,500 shares priced at a NAV of $2,100,000 with 1,900,000 shares outstanding pay 10,500 USDC.
What earns the vault money
| Source | How |
|---|---|
| Fees | 60% of every trading fee, liquidation fee and borrow fee |
| Funding | the side that adds to the skew pays more than the other side receives; the vault keeps the difference |
| Skew premium | orders that add to the skew fill above the index (longs) or below it (shorts) |
| Trader PnL | the vault is the counterparty to each market's net position, so it gains what that position loses |
The insurance fund is separate from the vault. It receives 10% of fees and any slashed listing bond, and it covers a position whose losses exceed its margin at a liquidation or settlement before the vault does.