Confidential transfers on Solana
The address shows.
The amount doesn't.
Glassine is a workspace for Token-2022 confidential transfers. Your balance and every amount you send travel encrypted. The proofs are built on your device, and the page always tells you what stays public.
Design preview. Nothing on this site signs or sends.
- Public
- Sealed
- Postage: the proofs
Example envelope with invented addresses. Only someone holding a key can lift the tint.
Declaration
What's sealed, and what isn't.
Confidential transfers on Solana hide amounts. Most of the rest stays public. Here is the whole list, so you know what you are trusting before you send anything.
| Item | Status | What that means |
|---|---|---|
| Your confidential balance | Sealed | Stored on chain as ciphertext. Your key decrypts it. |
| The amount of each transfer | Sealed | Encrypted for the sender, the recipient, and the token's auditor if it has one. |
| Both token account addresses | Public | Anyone can see which account sent to which. |
| Which token moved | Public | The mint is part of the transaction. |
| That a transfer happened, and when | Public | It lands in a slot and pays a fee, like any Solana transaction. |
| Deposits and withdrawals | Public | Moving tokens into or out of a confidential balance shows the amount. |
| Swaps and other program calls | Public | A DEX route shows its amounts. Starting it from this page does not hide it. |
| The token's auditor key | Optional | Set by whoever created the token. If it is set, that key can read transfer amounts too. |
Glassine will show this list before every transfer, with the rows that apply to it.
Route
How a sealed transfer travels.
Four stops, from your wallet to the recipient's key.
-
Stop 1
Seal
Your wallet encrypts the amount for you, for the recipient, and for the token's auditor if there is one.
-
Stop 2
Stamp
Your device builds three proofs: the ciphertexts match, they are well formed, and the amount is in range. The math checks out without the number showing.
-
Stop 3
Post
The transaction lands like any other. The addresses, the token, the slot and the fee are public. The amount is not.
-
Stop 4
Open
The amount waits in the recipient's pending balance. They apply it with their key and read it on their own device.
Sealing desk
Seal an envelope.
Fill it in, seal it, stamp it, post it. All of it happens in this tab: nothing is signed, nothing is sent, and the log is gone when you reload.
- Seal
- Stamp
- Post
Draft. Change anything on the left and the envelope follows.
Nothing posted yet. Seal an envelope above and it shows up here.
| Time | To | Token | Amount | On chain it looks like |
|---|
The last column is random bytes, to show the shape of a ciphertext. Real ones are made by your wallet.
For builders
Plain code for sealed transfers.
Two sketches of the SDK we are designing, and the command line you can use today.
-
seal.tsSketch
The shape we want for sending: seal, stamp, post, with the public and sealed fields kept apart in the result.
-
open.tsSketch
Reading your own balance, including the pending step every recipient goes through.
-
cli.shWorks today
Solana's
spl-tokencommand line can already make confidential transfers on Token-2022 tokens. Flags change between versions, so checkspl-token --helpfirst.
Tracking
Where Glassine is right now.
-
23 Oct 2026
DeliveredThis site and the sealing desk
Everything on this page runs in your browser.
-
23 Oct 2026
DeliveredBrand and design notes
The mark, the envelope and the colours that mean sealed and public.
-
In progress
In transitSDK sketch
The API shape on this page is a draft. No package is published.
-
Not yet
Not shippedWallet connection
The site cannot connect a wallet yet.
-
Not yet
Not shippedReal transfers
Nothing is deployed. No tokens move through Glassine.
-
Not yet
Not shippedIndependent security review
No audit has been done. There is nothing to audit yet.
Confidential transfers depend on Solana's ZK ElGamal Proof program. Check that it is enabled on the cluster you use before you build on it.