Private Swaps
Trade from a shielded balance and keep the result shielded.
A shielded balance in Sombra can fund any trade on Solana. Deposit once, buy or sell privately through the protocols already there, and what comes back is a shielded note you can withdraw whenever you want.
The trade itself runs in public, at public prices. What stays private is whose trade it is: your public wallet is never part of it.
Not live yet. Private transfers are what runs on devnet today. There are no dates on this page on purpose.
The three steps
A transfer is one proof and one result. A swap cannot be, because the trade has to run in public, on real tokens, and it can fail. So it splits into three transactions.
1. Open. Your wallet proves it owns the input notes, exactly as it does for a transfer. The notes are spent and the value moves into a holding account that exists only for this one action. The same step commits to both outcomes — the note you get if the trade fills, and the note you get back if it does not.
2. Execute. The public part. The held funds route through Jupiter, like any other trade on Solana.
3. Settle. The outcome selects one of the two committed notes. It is appended to the tree, the holding account closes, and your balance is shielded again.
If step 2 never happens — a route nobody fills, a protocol that is paused — the action can be reclaimed after a timeout and the refund note is yours.
An example
You hold 100 USDC privately. JUP is around $0.25, so 100 USDC is about 400 JUP. Routes move while you sign, so you accept 398 and walk away below that.
Opening the swap pins all of it at once:
| Pinned when you open it | Value |
|---|---|
| Going in | 100 USDC |
| Coming out, at the least | 398 JUP |
| If it fills | a note for the JUP, yours |
| If it does not | a note for the 100 USDC, yours |
It cannot settle at 390, and it cannot settle at nothing.
Why both outcomes are agreed first
This is the part that makes three separate transactions safe.
Because the two possible notes are fixed before any value leaves the pool, the public trade is only choosing between them. You either receive the amount you accepted, or you get your original token back. There is no partial fill, and nothing settles at a worse price than the one you agreed to.
It also means nothing is left stranded if the middle step fails. Failure is one of the two outcomes, not an error state somebody has to clean up.
What is public while it runs
| Public for the window | Still hidden |
|---|---|
| The amount going in | Who you are |
| Both tokens | Which notes funded it |
| The protocol you are using | Your balance, before and after |
| That a swap is happening | Everything after it settles |
The window is short, and the value is outside the anonymity set while it is open. One practical note: a fresh swap output has a publicly known amount, so a wallet should merge it with your other notes before you use it for anything sensitive.
One integration reaches a long way
Jupiter is a router, so a single integration reaches any token with liquidity on Solana. That part is obvious. This part is less so: a note holds a fixed amount of a token, and most yield on Solana is already a token whose value grows.
A liquid staking token does not pay you rewards — its exchange rate against SOL rises. A lending receipt does not pay you interest — its price rises. In both cases the balance never changes while the thing you hold becomes worth more, which is exactly what a note can carry.
So one integration produces several products:
| What you want | What you hold |
|---|---|
| Trade any token privately | the token |
| Stake SOL privately | a liquid staking token |
| Earn yield on private dollars | a lending receipt or a tokenized treasury |
| Hold tokenized stocks privately | the stock token |
| Hold an index or a commodity privately | the basket token |
Earning is the row worth pausing on. Once the position is a note, nothing happens on chain while it earns. No reward claim, no restake, no compounding transaction. There is nothing for anyone to watch, and your yield is as private as your balance.
Next: Use Cases — what this is worth building on.