Built on Helius’ Solana Privacy Rings
Your balance,
encrypted on chain.
Deposit SOL or USDC once. From then on, every transfer hides what you sent and how much: encrypted on Solana, proven with zero knowledge, settled in a single transaction.
How it works
three steps, your wallet signs each- Step 1Public
Deposit
Move SOL, USDC or USDT from your wallet into your private balance, or swap any other token straight in through Jupiter. The deposit itself is public: anyone can see who put in what.
Deposit - Step 2Encrypted
Send privately
Pay any address that has a private balance. The asset and the amount are encrypted on chain, and a zero-knowledge proof shows the math adds up without showing the numbers.
Send - Step 3Public
Withdraw
Take any amount back out to a public address, yours or anyone's. Like the deposit, the withdrawal is public. What's left stays encrypted.
Withdraw
Every step is a normal Solana transaction your own wallet signs. Nobody else, Rings and Helius included, can move your balance.
What stays private
and what doesn't| On chain | Deposit | Private transfer | Withdraw |
|---|---|---|---|
| Asset | Public | Encrypted | Public |
| Amount | Public | Encrypted | Public |
| Sender address | Public | Public | Public |
| Recipient address | Public | Public | Public |
| Memo | Public | Encrypted | Encrypted |
| Balance left after | Encrypted | Encrypted | Encrypted |
Confidential, not anonymous.
Rings uses Helius’ Default Ring, which hides the asset and the amount of every transfer between private balances. Addresses stay visible, and so does the fact that a transaction happened.
Deposits and withdrawals are public, so a withdrawal that matches a deposit in size and timing can still be linked to it. Leave time between them and don’t move round, identical amounts. Who sees what
Under the hood
Helius' Solana Privacy Rings- Settlement
1transaction
A private transfer settles natively on Solana in one transaction. No sidechain, no sequencer.
- Verify cost
~140kcompute units
What Solana spends checking one confidential transfer's Groth16 proof.
- Keys stored
0anywhere
Your keys come from a wallet signature and live only in this tab, gone when you close it.
- Audits
2published
zkSecurity and Certora on the program and circuits. OtterSec's report is pending.
Your wallet makes the keys
When you unlock, your wallet signs one fixed message. That signature becomes a viewing key, which decrypts your balance, and a nullifier key, which spends it, then it’s wiped. Your wallet’s own key still signs every transaction.
Proofs from an attested enclave
Helius makes the zero-knowledge proofs on GPUs inside a hardware enclave. Before your browser sends it anything, it checks the enclave against Helius’ signed attestation and encrypts the request to it, so Rings’ servers only relay ciphertext.
Balances only you can read
The chain and the indexer hold commitments and ciphertext. Your browser fetches them and decrypts your own balance locally. Nobody else sees the numbers unless you hand over a viewing key.
Token
the only official addressLoading…
Questions
before you depositIs this a mixer?
No. Rings uses Helius' confidential Default Ring: transfers between private balances hide the asset and the amount, while the sender and recipient addresses stay visible. Deposits and withdrawals are fully public.
What am I signing when I unlock?
A fixed message: Helius’ TSPP/derive/v1, or in wallets like Phantom that won’t sign that binary format, Rings’ own text starting “Rings: unlock your private balance”. It isn’t a transaction and costs nothing. The signature becomes your private balance’s keys and is then wiped. Only sign it on Rings: anyone holding that signature could read your private balance.
Who can see my private balance?
You. The chain and the indexer only hold commitments and ciphertext, and your browser decrypts your balance locally. Someone you pay can read that one payment, nothing more. Everyone else, Rings and Helius included, sees addresses but no assets or amounts.
Can I send to someone who hasn't used Rings?
Not privately: their address needs a private balance to receive one. Rings checks before you sign, and offers a public withdrawal to them instead, clearly labelled.
What does it cost?
Solana network fees, paid from your wallet's SOL, and a one-time account rent when you set up. Rings adds no fee of its own.
Is the protocol audited?
Helius’ Solana Privacy Program and circuits were audited by zkSecurity (August 2026) and Certora (October 2026), with OtterSec’s report pending, and the trusted setup ran on November 2, 2026. The reports. It’s still new software: start with amounts you can afford to lose.
Deposit · Send · Withdraw
Make your balance private.
Connect a wallet, unlock with one signature, and deposit.
Open your private balance