LEARN · ~5 MIN

How Skew vaults work

Two ways in: deposit into an agent-run vault and let it trade for you, or run your own agent and let others back it. This walks through both — and shows exactly how an agent actually trades, which is the part the marketplace can't show you with a button.

01THE MODEL

The 30-second version

A vault is a shared pool with one trader — an agent — and one hard rule: whoever deposits can pull their fair share back out at any moment, without the agent's permission.

You deposit a base asset (USDC or SOL). The agent trades the whole pool across Solana. Your deposit becomes shares of the pool. Whenever you want out, you redeem your shares for your pro-rata slice of whatever the vault holds right now — paid in kind, no lockup, no notice, no signature from the agent.

THE ONLY PROMISE
Skew guarantees exactly one thing: your anytime, pro-rata exit from what remains. It does not promise the agent trades well. A vault can lose money. Read the mode badge before you deposit.
02TWO SIDES

Are you depositing, or running the agent?

The same vault has two kinds of people. Everything below is written for one or the other, so know which you are.

DEPOSITOR

You back an agent with your capital. You deposit, watch, and redeem whenever you like. Jump to If you deposit.

OPERATOR

You run the agent. You create the vault, keep ≥5% skin in it, and trade the pool with your own bot. Jump to Run an agent.

03TRUST

The two modes, said plainly

Every vault declares one execution mode at creation and can never change it. The badge on the card is the trust model — it tells you what the agent is allowed to do with the pool.

JUPITER-ROUTED

The agent can only swap, and only through Jupiter. It can still swap badly on purpose — but it can't send funds to a wallet. You can always withdraw your share of what remains.

UNRESTRICTED

Full discretion — the agent can do anything with the pool. You are trusting it completely. You can always withdraw your share of what remains.

EITHER WAY
Neither mode promises the agent trades in your interest. What both guarantee is the same one thing: your pro-rata exit from what's left, forever. The difference is only how much rope the agent has.
04DEPOSITOR PATH

If you deposit

1
Pick a vault and read its badge
Open the marketplace. Each card shows the mode, all-time performance, TVL, the operator's skin, and its performance fee. The badge is the trust model — read it first.
2
Deposit the base asset
Connect your wallet, hit Deposit, enter an amount. For SOL vaults your SOL is wrapped for you automatically. You receive shares priced off the vault's exact base balance — no oracle, no estimate.
3
The agent trades — you don't have to do anything
Your capital is now part of the pool. The agent trades it. It can win; it can lose. Your card shows your live position.
4
Leave whenever you want
Hit Redeem, choose how much (25 / 50 / 75 / MAX). You get your pro-rata slice of everything the vault holds, in kind, immediately. No lockup, no agent signature.
WHY THE EXIT IS SAFE
Redemption is enforced by the program and signed by the vault itself — the agent isn't in the loop and cannot block, delay, or dilute it. That's the whole design.
05OPERATOR PATH · SETUP

Run an agent — create your vault

Anyone can run an agent. It's three moves: create the vault, hold your two keys straight, and seed your own skin.

1
Create the vault
Go to Run an agent. Set a name, a strategy blurb, the base asset, the mode, the performance fee, and a deposit cap. One signature from your operator wallet registers you and opens the vault. Mode, base, and fee are sealed forever.
2
Keep your two keys straight
You have two different keys, and mixing them up is the #1 confusion:
OPERATOR WALLET

Owns the vault. Signs create / pause / retire, earns the fee, holds the skin. Your main wallet. Keep it safe.

AGENT KEY

The hot key your bot trades with. Online 24/7, so it's the risky one. If it leaks, the thief can only trade — never steal or change rules.

Make a fresh agent key just for the bot:
# generate the agent (bot) key — put its pubkey in the form
solana-keygen new -o bot.json
solana-keygen pubkey bot.json   # → paste this as "Agent signing key"
3
Seed your own skin
The vault opens empty. Deposit into it yourself first — the program requires the operator to hold ≥5% of shares at all times (waived only once you retire). Your stake is the floor under everyone else's.
06OPERATOR PATH · TRADE

Making your agent actually trade

This is the part with no button. Trading is not done on this website. The site is for depositing, redeeming, and managing. To trade the pool, your own bot sends one instruction to the program —agent_execute— signed by your agent key. The program co-signs the swap with the vault's authority so the vault's funds move, then checks that nothing was stolen.

1
Register the assets your agent will hold
A Jupiter vault starts all-in-base (say USDC). Before it can hold anything else (SOL, an LST, a token), that asset needs a slot: register_holding creates the vault's token account for that mint. One call per mint, done by the operator.
2
Swap through agent_execute
Your bot fetches a Jupiter route (e.g. USDC → SOL), wraps that swap in agent_execute, and signs with the agent key. The vault's USDC swaps into its SOL holding. To go back, another agent_execute swaps SOL → USDC.
3
Repeat — that's your strategy
When and what to trade is 100% your bot's logic. Skew only guarantees the swap can't break the pool's custody or the exit — not that the trade is good.
The shape of what your bot does each cycle:
// 1. quote a route on Jupiter (USDC -> SOL) for the vault's authority
const route = await jupiter.quote({ inputMint: USDC, outputMint: SOL, amount });
const swapIx = await jupiter.swapInstruction(route, vaultAuthority);

// 2. wrap it in agent_execute and sign with the AGENT key
const tx = buildAgentExecute({
  agent:  botKeypair.publicKey,   // the hot key (bot.json)
  vault,                          // your vault
  innerProgram: JUPITER_V6,       // pinned in jupiter mode
  innerIx: swapIx,                // the Jupiter swap
  holdingProofs: [solHolding],    // proves the SOL account is a registered holding
});
tx.sign(botKeypair);
await connection.sendTransaction(tx);
STARTER BOT — COMING NEXT
A ready-to-run version of the above (give it bot.json and your vault, it does a real Jupiter swap) is on the way. Until then, this is the exact instruction shape. Test with a tiny amount first.
4
Manage the vault
From a vault card, as the operator you can pause / resume deposits or retire the vault (one-way; deposits close, redemptions stay open for everyone). None of this can touch depositor funds.
07THE FINE PRINT

What's guaranteed, what isn't

GUARANTEED
  • · Anytime pro-rata exit from what remains.
  • · Paid in kind — you get the actual assets.
  • · No agent signature, no lockup, no notice.
  • · Non-custodial: Skew never holds your keys or funds.
  • · Mode, base, and fee are immutable after creation.
NOT GUARANTEED
  • · That the agent makes money — it can lose all of it.
  • · That a Jupiter agent swaps in your interest.
  • · That an unrestricted agent does anything sensible.
  • · Protection from a bad strategy — only from theft.
SAY IT STRAIGHT
Depositing is trusting a trader. The structural guarantee protects your exit, not your returns. Size accordingly.
08QUESTIONS

FAQ

Where's the trade button?
There isn't one, by design. Agents run their own logic through their own bots calling agent_execute. The website handles deposit, redeem, and vault management — not trading.
Is my deposit locked up?
Never. Redeem any portion at any time, in any vault status, for your pro-rata slice of what's there.
What if the operator disappears?
Your exit doesn't need them. Redemption is signed by the vault itself; the operator can't block or delay it.
Do I need to code to deposit?
No. Depositing and redeeming are just wallet clicks. Coding is only for operators who want to run an agent's trading bot.
Can the agent steal the pool?
No. In Jupiter mode it can only swap; in both modes the program checks after every trade that the pool's accounts stay vault-owned and redeemable. It can lose to bad trades — that's disclosed — but it can't withdraw to itself.
What does it cost to run an agent?
A little SOL for on-chain account rent when you create the vault, plus your own bot's transaction fees. You keep your performance fee (10% of it goes to the protocol).

Ready?

Back an agent, or become one. Either way, your exit is yours.