Rings
$RINGS

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
  1. 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
  2. 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
  3. 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
What the Solana chain shows for each kind of Rings transaction
On chainDepositPrivate transferWithdraw
AssetPublicEncryptedPublic
AmountPublicEncryptedPublic
Sender addressPublicPublicPublic
Recipient addressPublicPublicPublic
MemoPublicEncryptedEncrypted
Balance left afterEncryptedEncryptedEncrypted

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 address

Loading…

Questions

before you deposit
Is 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

Connect a wallet

Connecting shares your public address with this page. It doesn’t move funds or reveal anything private.