Private launches on Solana from a stealth deployer no wallet ever funded. Built on Helius Privacy Rings.
$SHADE: 12bTtDLSegj1rw2oxXWYm63Rxw5QxkVSXDHCEvRShaDe
Privacy Rings made private payments native to Solana.
We used them to fix the oldest problem in memecoins: every launch leads straight back to the dev's wallet.
Introducing Shade. Launch a coin with no wallet trail.
The problem
Every Solana launch is a public map. Fund a deployer and anyone can follow the SOL back to you: bubble maps, sniper bots, copy-traders. Hiding it meant CEX hops and burner chains, and those still leave a trail.
How Shade fixes it
1. Shield SOL into Helius Privacy Rings, where amounts are hidden
2. Pay for a launch pass from your shielded balance
3. The pass is blind-signed, so not even Shade can tell which payment bought it
4. A fresh deployer no wallet ever funded creates your coin
On-chain, your coin's creator has no funding source. Shade's relay pays the rent and makes your dev buy in the same transaction as the launch, so nobody can buy before you. No transaction connects your wallet to the token, its pool or its dev bag.
After launch, your stealth deployer still never needs SOL. Shade sponsors its sells and creator-fee claims, and you can recycle the proceeds into a pass for your next launch, unlinked from this one.
And it's fast. One page, one button: shielding, pass and launch run in under 30 seconds. You set the trading fee, 2% to 10%, and keep about half of it.
Every step is checkable: Shade's explorer shows what a launch reveals on-chain, and what it doesn't.
Private launches are finally possible on Solana, at Solana speed.
Built on Helius Privacy Rings and Meteora.
https://t.co/xVdzYkux5d
Today, Solana changes forever
Introducing Solana Privacy Rings - encryption at the speed of Solana
Rings are programmable, onchain environments for encrypting money, markets, and finance - without ever leaving Solana
Now live on mainnet.
926,411 $SHADE bought back and burned so far
Two buyback rounds have run since launch. Each one buys $SHADE on the open market and burns every token it bought:
→ Round 1: 0.238 SOL bought 711,760 $SHADE, all burned
→ Round 2: 0.061 SOL bought 214,651 $SHADE, all burned
Supply has gone from 1,000,000,000 to 999,073,588. That's 0.093% of all $SHADE gone for good, and every burn is a Token-2022 burn instruction anyone can read
Check it yourself:
→ every buy and burn is signed by one wallet: Hfx413Basow59CAKEDd8Ar7cWmjkTZt6p11sfvosiso1
→ the mint's live supply: https://t.co/mM8ymFRKoo
The buyback runs on its own. Every six hours it checks its wallet, and once there's enough for a worthwhile buy, it buys and burns again
More rounds to come
How Shade's relay pays for strangers without getting drained
Shade's relay pays network fees for keys that hold no SOL: stealth deployers, ghost wallets, Mystery Bag keys. A wallet that signs for anyone is a target, so it checks every request before it adds its signature
Sells and claims:
→ only for a Shade pool's own creator. The pool must sit on one of Shade's configs, and the signer must be the stealth deployer that made it
→ a sponsored sell has to return at least 0.002 SOL, and tiny claims are refused, so dust can't cost the relay more than it brings in
→ when a swap opens a temporary wrapped-SOL account on the relay's rent, the deployer pays that rent back in the same transaction. Otherwise every sponsored action would leak a little, and someone could farm it
Bag claims:
→ the relay only co-signs a transaction shaped exactly like a claim: Privacy Rings instructions with the relay as fee payer, plus account openings and transfers paid by someone else
→ it simulates first and refuses unless its own balance comes out no lower, so the bag repays the fee in full
Shielded moves for deployers:
→ simulated first, and refused if they would fail or cost the relay more than 60,000 lamports
Ghost buys:
→ the chip is checked, and marked spent in the same transaction that buys and delivers the tokens. If anything fails on chain, all of it is undone and the chip stays unspent
And rate limits count requests, not people. Each endpoint has one shared budget per minute, such as 30 ghost buys or 20 uploads, and no per-user record is kept to enforce it
The relay never needs to know who you are to say no
What Shade keeps in your browser, and for how long
Shade runs no database, so the question worth asking is what sits on your own device. Here's the whole list
In this tab only:
→ your vault seed, made from your unlock signature. It's gone when you close the tab, and Lock wipes it at once, along with every cached Privacy Rings identity, balance and scan
In this browser, per vault:
→ your pass and chip lists: which tier and which number you bought, and whether each is ready, spent or gifted. No tokens, blinding factors or signatures. Those are rebuilt from the seed or fetched again from the relay
→ the creator alias numbers you've launched under, and nothing else about them
→ your Glass scope labels, sealed with AES-GCM under a key derived from your seed, because a label like "Accountant" says who you share with
→ two preferences: the board's view and your slippage
On Shade's servers: none of it
Only two things can't come back on another device: which passes you gifted, since a gift leaves no trace outside the browser that made it, and your scope labels. Everything else returns from the same signature
The honest part: the pass and chip lists aren't encrypted. Anyone using this browser profile can see that it bought passes, and of which tiers. On a shared computer, lock the vault when you're done and clear the site's data
Pictured: the vault section of the docs, at https://t.co/5FLXm8anH6
What https://t.co/xVdzYkux5d lets your browser do, and what it blocks
A privacy app that loads trackers isn't one. Here's what every page on Shade is allowed to do, set in the headers it's served with
Where a page may connect:
→ https://t.co/xVdzYkux5d itself, for chain reads, sends and uploads
→ Helius's Privacy Rings gateway, for the shielded pool's indexer and prover
→ Arweave and its Turbo gateway, where token metadata lives
→ a local socket, for mobile wallet apps
Nothing else: no analytics, no ad networks, no third-party scripts. The fonts are bundled with the app too, so opening a page sends no request to Google
What's switched off:
→ The referrer. Click from Shade to Solscan, X or anywhere else, and that site isn't told which Shade page you came from, whether a token page or a gift link
→ Camera, microphone, location, payment requests and the browser's ad-interest topics
→ Framing. No other site can load Shade inside a frame and lay a fake page over the button that asks you to sign
→ Plain HTTP. The browser is told to use HTTPS only, and to remember that for two years
Why it matters here: your unlock signature can rebuild your whole vault, and gift and bag links carry their secret after the #. Outside code running on the page could read both
One rule is looser on purpose: pictures. A token's image loads from wherever its metadata points, which for Shade launches is Arweave
You can check all of this in your browser's network tab, or read the headers with any HTTP client
Shade checks every address you type against your own keys, before you send
Most privacy leaks aren't broken cryptography. They're someone moving funds from one of their own addresses to another. On Solana that line is public for good, and on Privacy Rings' Default Ring a private transfer still shows both keys
So every form on Shade that takes a destination, for sending, unshielding or paying privately, checks it against the keys your browser already knows: your connected wallet, your vault, your stealth deployers, your ghost wallets and your Glass scopes
What you'll see:
→ Stealth deployer to your wallet: "This links you." Leave the proceeds on the deployer, or shield them and recycle them into a pass
→ Stealth deployer to your vault: it links you too, because your wallet funded the vault
→ One deployer to another: both launches now point to one person
→ Unshielding to a deployer or a ghost: it ends its never-funded standing, and it doesn't need SOL anyway, because its sells are sponsored
→ A private payment to any of your own keys: the amount is hidden, the two keys aren't
→ Wallet to vault: fine. Your wallet funds the vault anyway, so nothing new is linked
It reads shielded addresses too. A Privacy Rings address is 99 bytes, and its first part is its owner's Solana key, so pasting the shielded form of one of your deployers still triggers the warning
All of it happens in your browser. The lookup tables are built from keys your seed already derives, so typing an address costs one table lookup and no network request. No server learns which address you checked
The warning explains the link. The choice stays yours
Builder note: where a Shade token's fee terms live, and why creators get 70.4%, not 70%
A Shade token's fee isn't a setting in our database. Every pool points at a Meteora curve config, and the config holds the terms. Shade keeps one config for each fee a creator can pick: 2%, 2.5%, and every whole number from 3% to 10%
What each config fixes:
→ the fee, opening at 25% and falling in a straight line to the chosen rate over 60 seconds, in 12 steps
→ fees taken in SOL, or in the pair asset for a pair launch
→ the first swap at the minimum fee, which is how the dev buy goes in at your rate
→ graduation near 86 SOL, into a Meteora DAMM v2 pool with your fee as its base fee
→ the liquidity there, split 50/50 and locked for good
Why 70.4%: Meteora's protocol takes 20% of every fee first. The creator's share of what's left is stored as a whole-number percent, so it can be 87% or 88% but never 87.5%, which is what an even 10% for Shade would need. So the split rounds in the creator's favour: 88% of the rest is 70.4% of the fee, and Shade gets 9.6%
A pool's config can't be swapped after launch, so its terms can't change. That's why tokens launched before 13 Nov keep the older split: they point at the older configs, which still exist
Check any token yourself: open its pool in the explorer and follow the config. The page shows the fee, the split and what it graduates to, and Solscan shows the raw account
Pictured: an older 2% config next to the current one, read straight from chain
Builder note: why Shade's pass keys are written into the app
Shade signs every launch pass blind, with one RSA key per tier. The public half of each key isn't served by an API. All five ship inside the app's code, and that's on purpose
If your browser asked a server for the key, a dishonest server could quietly give each visitor a key of their own. Every pass signed with your personal key would be recognisable when it came back to launch, and the blind signature would hide nothing. With the keys fixed in the code, everyone who buys a tier checks against the same key, so every pass in that tier looks alike, and anyone can compare the keys their browser received
The math, for the curious. n is the tier's 2048-bit modulus and e is 65537:
→ m is a SHA-256 hash of the tier and your pass token, stretched to fill the key
→ your browser sends m · rᵉ mod n, where r is a blinding number derived from your vault seed
→ the relay signs that and returns mᵈ · r
→ your browser divides out r and keeps s = mᵈ, a signature the relay has never seen
→ anyone can check that sᵉ mod n equals m
Three details that matter:
→ the hash includes the tier, so a pass can't be passed off as a different tier
→ ghost-buy chips use the same scheme with their own keys and labels, so a chip can never verify as a launch pass, or the other way round
→ the spent-marker that makes a pass single-use sits at an address taken from a hash of the token, never the payment
Since r and the token both come from your seed, a pass you paid for can be rebuilt on any device
Check it yourself: the five public keys are in the app, so any RSA library can verify a pass
What your token's picture could say about you, and what Shade strips from it
A photo straight off a phone often carries more than pixels: the camera model, the time it was taken, the app that edited it, sometimes the GPS position. Upload that as a token image and it sits on Arweave for good, next to a launch you meant to keep private
So on Shade the picture never leaves your browser as you picked it:
→ Your browser redraws it on a canvas, which keeps the pixels and drops EXIF and every other embedded detail
→ It gets a plain new name, token.webp, so the original file name stays on your device
→ It's sized down, from a longest side of 512 px, until it fits under 100 KB as WebP, or as PNG or JPG where a browser can't make WebP
Then the server checks it again:
→ under 100 KB, and PNG, JPG, WebP or GIF only
→ a name of up to 32 characters, a ticker of up to 10 and a description of up to 1,000
→ every link must start with https://
The upload goes through Shade's relay, which signs it. So the uploader on Arweave is Shade, and your IP never reaches Arweave
What no tool can strip is what's in the picture itself. A username in a screenshot, a reflection, a browser tab or a wallpaper you've posted before can all point back to you. Crop before you upload
The same goes for links. An X account or a Telegram group you already use ties the launch to you, however clean the picture is
How Shade's explorer reads a launch
Shade has its own explorer at https://t.co/CKZo3bQ1Lz. It reads Solana directly, with no indexer and no database behind it, and it says what happened in plain words
Paste any address and it works out what it is:
→ one of Shade's curve configs, the relay, or a known program
→ a Shade pool, or a Shade token's mint
→ a stealth deployer: a plain account that created a Shade pool
→ a token account, or an ordinary wallet
Open a transaction and it reads the first 8 bytes of every Meteora instruction, the tag that names it, to tell a launch, a buy or sell, a fee claim, a graduation or a config setup apart. Unlocks from Jupiter Lock are recognised too. Anything else shows as Other
Buy or sell comes from the curve's own token vault: it shrinks on a buy and grows on a sell. That works the same whether the coin trades against SOL, USDC or a stock
A launch page names every signer and instruction: the relay as fee payer, the mint, the stealth deployer, and the instruction that writes the pass's spent-marker
Then there's "Funded by". For a stealth deployer, the explorer reads the address's earliest transactions, up to its launch, and lists every one that raised its SOL balance. For a Shade launch that list is empty, so the page says "Funded by: nobody". If anything had funded it, the page would list it
Every address and signature also links to Solscan, so you can check us against a second source
Pictured: the launch of RQAT, one of our test tokens
On Shade, your browser never talks to a Solana RPC
Every balance check, transaction lookup and send from https://t.co/xVdzYkux5d goes to one place: Shade's own /api/rpc. The server passes on the request itself and nothing else: not your IP, not your cookies, not your browser's headers. So the provider sees Shade's server, and can't tie the wallets and tokens you look at to you. The RPC URLs and keys never reach your browser
What the relay forwards, and what it refuses:
→ 26 methods: 19 reads such as getBalance and getTransaction, simulateTransaction and sendTransaction, and five Helius calls for token data and priority fees
→ batches of 1 to 20 calls
→ any other method gets a 403, heavy program-wide scans included, apart from the one registry lookup the Privacy Rings SDK needs
Behind it sits a pool of providers, Helius first:
→ a provider that rate-limits sits out that method for about a second, doubling on each repeat up to 30 seconds
→ one that runs out of credits sits out for ten minutes
→ requests move to the next provider meanwhile, and if every one is cooling down, the relay waits up to three seconds rather than fail at once
→ errors come back as plain sentences, never raw RPC output
Shade's own server reads use the same pool, so the board, the explorer and your wallet view fail over together
Two honest notes. Shade's server sees your IP instead, so use a VPN or Tor if that matters to you. And Privacy Rings is the exception: your browser calls Helius's Rings indexer and prover directly, as the Rings SDK is built to
One wallet signature, every key Shade uses for you
When you unlock Shade, your wallet signs one message. It isn't a transaction and costs nothing. Your browser runs that signature through HKDF-SHA256 into a 32-byte seed, and every key Shade uses for you comes from that seed, each on its own path:
→ shade/vault: your vault, which holds your private balance
→ shade/deployer/0, 1, 2…: one stealth deployer per launch
→ shade/alias/n: your creator aliases
→ shade/ghost/i: one ghost wallet per ghost buy
→ shade/glass/n: your Glass Keys scopes, up to 32
→ shade/drop/d/i: one key per Mystery Bag
→ shade/pass/… and shade/chip/…: the token and blinding factor behind every pass and chip
→ shade/storage: a key that seals your Glass scope labels in this browser
Each path is one-way. A key on one path tells nobody anything about the seed or any other key, which is why a bag link or a Glass link can hand out its own key and nothing more
Finding them again needs no database:
→ deployers and ghost wallets are checked in order until three unused ones in a row
→ drops are found by scanning forward until a bag key that was never funded
→ aliases are matched against the public alias list, without naming yours
→ passes and chips you paid for are found by asking the relay, which matches each payment by the blinded token in its memo
Ed25519 signatures are deterministic, so the same wallet signing the same message gets the same seed on any device
The flip side: that one signature unlocks all of it. Only sign the unlock message on https://t.co/xVdzYkux5d
Four private tools, in questions
Born Shielded hides how much you hold and send. Mystery Bags hide what's in each bag until it's opened. Glass Keys prove one thing and nothing else. Ghost Buys leave no funding trail. Here's what people ask
Do I need SOL to use them?
Not to claim a bag, and not from a stealth deployer or a ghost wallet. Shade's relay pays those network fees, and sales and claims repay it in the same transaction. Your vault pays its own small fees from its public SOL
Does a private send hide who I paid?
No. The amount and the token are hidden, but both keys are public. So don't send between your own stealth deployer and your own vault
Can I take back a Glass link?
No. Whoever has it keeps it. If one leaks, move the funds out of that scope and stop using it
What if two people open the same bag link?
The first claim wins. The network refuses a spent bag, and a second open shows "already opened"
Can I lock a dev bag and shield it too?
No, pick one. A lock's escrow holds the tokens in public
Do chips expire?
No. Unspent chips are rebuilt from your vault's seed on any device. There are no refunds of unspent chips today
Does any of this hide everything?
No. Each feature hides specific things, and the docs list what stays public, feature by feature
https://t.co/5FLXm8anH6
Shade's private toolkit, in one tour
Shade started by cutting the line from your wallet to your token, and passes have always been paid for through Privacy Rings. Now the rest of the app uses it too
→ Born Shielded: every new token gets a private mode. Holders can shield it, send it with the amount hidden, and sell from shielded in one transaction
→ Mystery Bags: one-time links with hidden amounts, for raids, giveaways and jackpots. Claimers need 0 SOL
→ Glass Keys: show one thing about your shielded funds, as a link, to the people you choose
→ Ghost Buys: buy a Shade token from a wallet nobody funded
Where to find them:
→ the Vault: shielded tokens, passes, drops, chips and Glass Keys
→ each token's page: private mode, the shielded share of supply, the share held by ghost wallets, and a ghost buy panel
→ Portfolio: each stealth deployer's shielded tokens, and your ghost wallets
→ the docs: what each feature hides and what it doesn't, in sections 12 to 15
All four run on Privacy Rings' Default Ring, which hides amounts and assets. Who sent to whom stays public, and the docs say exactly where that matters
Watch the tour. No transactions, just where everything lives
https://t.co/5FLXm8aVwE
How a ghost buy works, step by step, and what anyone can see
1. You buy a chip. Your vault pays Shade's relay through Privacy Rings, with a blinded token in an encrypted memo
2. The relay signs it blind. Your browser removes the blinding and keeps a signature the relay has never seen
3. You spend it. Your browser derives a fresh ghost wallet and sends the chip. In one transaction the relay marks the chip spent, buys the token with its own SOL and delivers it to the ghost
4. The ghost holds the tokens. Nobody funded it, and it paid nothing
Hidden:
→ which vault paid for which ghost buy. Even Shade can't match them from its own records
→ that two ghosts belong to the same vault, as far as the chain shows
Public:
→ that your vault paid the relay, though not how much
→ every ghost buy: its token, its time and its size, and the size gives away the chip
→ each ghost's later sells
→ that ghosts exist as a class. The token page shows the share of supply ghost wallets hold
The honest catch: a ghost buy hides you among everyone holding unspent chips of the same size, and early on that can be a handful of people. A chip bought and spent minutes apart is easy to match by timing. Buy chips well ahead, in a common size, and let them sit
New on Shade: Ghost Buys
The first SOL a fresh wallet receives is the easiest thing on chain to trace. A ghost buy lands your tokens on an address no wallet ever funded, so copy-traders and wallet trackers have no funding trail to follow back to you
How it works:
→ Buy a chip privately from your vault. Chips come in 0.1, 0.25, 0.5 and 1 SOL, and each costs its size plus 0.005 SOL
→ Shade signs it blind, the same way it signs launch passes, so even Shade can't match the chip you spend to the payment that bought it
→ Spend it on any Shade token. In one transaction the relay buys with its own SOL and delivers the tokens to a ghost wallet derived from your vault
→ The ghost signs nothing and pays nothing. Only your vault can find it again
The buy names the fewest tokens you'll accept. If the price moves past that, the whole transaction fails and your chip stays unspent
Getting out: a ghost sells through the relay, which fronts the network fee and takes it back from the proceeds in the same transaction. Then shield the SOL and recycle it into a chip or a pass
Watch it: buy a chip, spend it on a token, see the ghost share on the token page, then sell half the ghost's bag and shield the proceeds. The demo uses a 0.01 SOL test chip so it costs pennies. The live chips are the four sizes above
Three kinds of Glass link, and exactly what each one shows
Watch link
→ Shows: one scope's balance and every payment in and out, past and future, with amounts and times
→ Doesn't show: your vault, your passes, your launches or your other scopes. It can't spend
"Hasn't moved" proof
→ Shows: one note's amount and, live, whether it has been spent. Green until it moves, then red, naming the transaction that spent it
→ Doesn't show: the scope's other notes or its history. It can't spend
→ It's a live view, not a lock. The owner can still move the note, and the proof turns red when they do
Receipt
→ Shows: one payment, who got how much, and any change that came back. Pay with receipt splits off an exact note first, so there's no change to show
→ Doesn't show: anything else your vault did
Before you share one:
→ A link can't be revoked. Whoever has it keeps it. If one leaks, move the funds back to your vault and stop using that scope
→ Every link names an address, and on the Default Ring who paid whom is public. A holder can follow scope to vault to the wallet that funded it. If an audience must not learn your wallet, don't give it a link
Links open at https://t.co/dYJzg1jWUF
New on Shade: Glass Keys
Privacy you can't prove is hard to trust. Glass Keys let you show one thing about your shielded funds, as a link, to the people you choose. Everyone else still sees only ciphertext
→ A balance, for your accountant
→ A prize pool that hasn't moved, for your community
→ One payment, for a partner
How it works: in your Vault, make a scope for each audience. A scope is its own shielded identity, derived from your vault's seed, and you fund it with a private transfer. Then share a link to it. Everything sits after the # in the link, so no server sees it, and the viewer's own browser does the checking
A link can show, but it can't spend. We tested that on mainnet: holding only a watch link, we built a withdrawal of a scope's funds. The network refused it, and the scope kept its funds
Your vault's own key is never shared. Shade refuses to make a link for the vault or for any stealth deployer
Watch it: a scope called Accountant, a watch link, a "hasn't moved" proof that turns red once the funds move, and a payment with a receipt
Three ways to use Mystery Bags, and why nobody needs SOL to claim one
Raids
Drop the links in a raid. Each one pays out once, to whoever claims it first. Amounts stay hidden until a bag is opened, so nobody knows which link is worth chasing
Giveaways
Equal bags, one link per winner, sent in DMs. You never have to ask anyone for a wallet address
Jackpots
Random amounts between a floor and a ceiling. Nobody can tell which link holds the big one until it's opened
Why 0 SOL: each bag has its own key, holding the bag. Shade's relay pays the claim's network fee, the bag repays it in the same transaction, and the relay checks first that its own balance comes out unchanged. That's also why a SOL bag holds at least 0.001 SOL: enough to pay its own way to a brand-new address
What funding a drop shows: your vault paid this many fresh keys, and when. What it hides: every amount, and whether the bags hold SOL or a token
A claim to a wallet is public, like any withdrawal. A claim into a Shade vault hides the amount, but the hops from the dropper's vault to the bag to yours are public. Claim to a fresh wallet if you'd rather not link your vault
Two rules: a link works once, and only open bag links on https://t.co/xVdzYkux5d. Any other site that shows you a link can take the bag first
New on Shade: Mystery Bags
Turn private SOL or a private token in your vault into one-time links. Each link holds one bag, and the amount inside stays encrypted on chain until someone opens it. Nobody watching the chain can tell which link holds the big one
How a drop works:
→ Pick up to 100 bags, with equal or random amounts
→ Your vault pays a fresh key for each bag, with private transfers
→ Share the links anywhere: a raid, a giveaway, a group chat
→ Whoever opens one sees the amount and claims it to their wallet, into their Shade vault, or to any address
Claimers need 0 SOL. Shade's relay pays the network fee, and the bag repays it in the same transaction
A link works once. Open it again and it says "already opened". Bags nobody opened can be reclaimed into your vault at any time, and their links then open empty
One rule: the link is the bag. Only open bag links on https://t.co/xVdzYkux5d
Watch it: a drop of three random bags, one claimed by a wallet holding 0 SOL, a second open that comes back "already opened", one claimed into a vault, and the last one reclaimed by its creator
Private mode, honestly: what it hides and what stays public
Privacy Rings' Default Ring hides amounts and which token moved. It doesn't hide who sent to whom. Here's each step, plainly
Shield
→ Public: which key deposited, which token and how much
→ Hidden: nothing yet. What it hides is what happens next
Holding
→ Public: the token's total shielded supply, shown on its page
→ Hidden: each key's shielded balance, and how the total splits across keys
Send privately
→ Public: the sender's key, the recipient's key, and when
→ Hidden: which token moved, and how much
Unshield, or sell from shielded
→ Public: the withdrawal and the sale, like any trade from that key
→ Hidden: whatever stays shielded
Early on, the shielded supply is roughly the dev bag, and the deposit that put it there names the stealth deployer. The dev buy was already public on the curve. What shielding hides is where the bag goes next, and in what amounts, until it leaves Privacy Rings
One habit to keep: both keys of a transfer are public, so a private send between your stealth deployer and your vault links them on chain. Keep them apart
Selling straight from shielded works on the curve of a SOL pair. After graduation, or on another pair, unshield first and sell as usual