Docs
Shade is a swap page for Solana. Jupiter finds the route, your wallet signs one transaction, and that transaction goes to Jito as a private, bundle-only transaction with an on-chain check at the end. There is no Shade fee, no account and no custody.
One swap, step by step
- Quote. The page asks Jupiter for the best route and the minimum you get at your slippage (
otherAmountThreshold). - Build. It takes Jupiter's instructions (compute budget, setup, swap, cleanup) and appends two of its own: the Shade Guard check and a Jito tip transfer. Everything is one versioned transaction.
- Sign. Your wallet (Phantom, Solflare, Backpack or any Wallet Standard wallet) signs it. The page never sees a key.
- Send privately. The signed transaction goes to Jito's block engine with
bundleOnly=true. It is not forwarded to the public path that searchers watch. - Land or vanish. Jito includes it only if every instruction succeeds. If the Guard reverts, nothing lands and nothing is paid.
Shade Guard
A tiny program with one instruction and no state. It stores nothing, holds nothing, moves nothing and has no admin. Data is 9 bytes: a kind and a minimum.
| Kind | Accounts | Check |
|---|---|---|
0 token | wallet (signer), its token account for the bought mint (SPL Token or Token-2022) | the account belongs to the wallet and its amount is at least the minimum |
1 SOL | wallet (signer) | the wallet's lamports are at least the minimum |
The page sets the minimum to your balance before the swap plus Jupiter's quoted minimum out. For SOL output the tip, the network fee and a possible temporary account are subtracted first, so the SOL check is looser than the token check. On success the program logs wallet, mint, balance, minimum, so every guarded swap is a public record.
| Error | Meaning |
|---|---|
| 1 | missing accounts |
| 2 | wallet did not sign |
| 3 | data is not 9 bytes or the kind is unknown |
| 4 | not a token account |
| 5 | token account belongs to someone else |
| 6 | balance below the minimum: the swap reverts |
Size about 2.4 KB, about 1,300 compute units per check. Tests (Mollusk, the real SBF runtime) cover passing and failing balances, Token-2022 accounts with extensions, someone else's account, fake token accounts, missing signer, bad data and duplicate accounts.
Fees
| Item | Who gets it | Amount |
|---|---|---|
| Solana network fee | validators | 0.000005 SOL per signature |
| Jito tip | Jito validators | you choose: Standard, Fast or Turbo are the live 50th, 75th and 95th percentile of landed tips |
| DEX fees | the pools on the route | included in Jupiter's quote |
| Shade fee | nobody | none |
A new token account for a token you never held costs about 0.002 SOL of rent; it stays yours and comes back if you close the account.
What Shade does and does not do
- It keeps a swap out of the public path until it lands, so it cannot be sandwiched before that.
- It enforces the quoted minimum on chain.
- It does not hide your wallet, mix funds or break the link between addresses. Your swap is public once it lands, like any Solana transaction.
- Jito's block engine and the leader see the transaction. Shade relies on Jito not front-running bundles.
Risks
- Unaudited. The Guard is small and tested, but it has not been reviewed by a third party.
- If Jito is congested your tip may be too low to land; nothing is charged, pick Fast or Turbo and try again.
- Memecoins move fast. A tight slippage may revert often; a wide one guarantees less.
- Shade depends on Jupiter's API, Jito's block engine and a public Solana RPC.
Addresses
| What | Address |
|---|---|
| Shade Guard program | 9yM7kbi6zLpJ7C5b54dL34wC7iVpJPCsoKFUXUaDcs4F |
| Routing | Jupiter Swap API |
| Sending | Jito block engine, bundle only |