Exovia

Exovia docs

A privacy vault on Solana. Deposits sit inside a shared pool program as internal balances, so your address reads empty while your funds stay yours.

Vault programs in development

What is Exovia

Exovia is a privacy vault on Solana. A deposit does not sit in an account with your name on it — it moves into a program-owned pool and becomes one internal balance among all the others held there.

What an observer reads on chain is a pool settlement, the same shape any other payout from that program has.

Two vaults

  • Shielded VaultA zero-knowledge proof stands between the deposit and the withdrawal, so the two cannot be tied together. Works with SOL and any SPL token.
  • Guarded VaultA passphrase-derived guardian key sits over your balance, so funds hold even if your private key is taken. Includes transfers that stay inside the vault.

What you get out of it

  • An address that reads emptyWhatever you deposit leaves your account. Anyone looking up your address sees a wallet holding nothing.
  • No approved-token listNative SOL, stablecoins, or a mint created this morning — there is no list to be added to.
  • Transfers with no counterparty on recordMove a balance to another address without either side leaving the vault.
  • Exits that need no fee balanceA relayer can pay the network fee, so a fresh address never has to be funded first.

How it works

Deposit, wait, withdraw. The waiting is not a formality — it is where most of the privacy actually comes from.

  • DepositYour tokens move into the pool program and a commitment — a one-way fingerprint of a secret only you hold — is written on chain. Neither the amount nor your identity is part of what is published.
  • WaitEvery later deposit of the same size joins the crowd yours is standing in. Withdraw a minute after depositing and the timing alone narrows that crowd to one.
  • WithdrawYour browser builds a proof from the ticket and the program checks it. It learns that some valid deposit is being spent, and nothing about which one.

Deposit

Pick a vault, pick a token, enter an amount. Round amounts are worth preferring: a deposit of 1 SOL hides among every other 1 SOL deposit, while 1.0473 SOL hides among nothing.

A Shielded Vault deposit hands you a ticket the moment it settles:

exovia-{cluster}-{amount}-{base58}

The base58 payload carries the commitment, the secret, the nullifier and which token it was. It never leaves your browser, and it is not recoverable from anywhere else.

Lose the ticket and the deposit stays in the pool forever. Back it up the moment you get it — outside the browser.

Withdraw

Paste the ticket, name the address you want paid, and the proof is generated locally — the ticket is never sent anywhere. The program verifies it and records the nullifier so the same deposit cannot be spent twice.

Withdraw to an address that has never had anything to do with the one you deposited from. Sending funds straight back to the depositing wallet undoes the whole exercise in one move.

Relayer

A brand-new address holds no SOL, and funding it from your own wallet would draw exactly the line you were trying to avoid. A relayer submits the withdrawal for you, pays the network fee, and takes 0.30% of the amount.

The relayer sees the proof and the destination. It cannot alter either, and it cannot learn which deposit is being spent.

Guarded Vault

This vault answers a different question. It does not hide who deposited — it hides what they hold, and it adds a second lock in front of moving it.

Your passphrase is stretched in the browser into a guardian key, and withdrawals need both your signature and that key. A stolen private key on its own moves nothing.

The passphrase is never transmitted and never stored. Nobody can reset it for you.

Internal transfer

A transfer reassigns a balance from one address to another inside the vault. Nothing is withdrawn, so no transfer between the two addresses appears anywhere on chain.

The recipient sees the balance the next time they open the vault and can withdraw it like any other.

Managing tickets

Tickets are held in this browser's local storage. Clearing site data, using a private window, or switching devices means they are gone unless you copied them somewhere first.

Treat a ticket the way you would treat a bearer note: anyone holding it can withdraw the deposit.

Programs

Program addresses are published here once the vaults are deployed and their source is up for review.

Security model

What the design does hold, and what it does not:

  • No admin keyNo owner, no upgrade authority, no pause switch. Nobody can move your balance, including us.
  • No double spendEach deposit carries a nullifier recorded on first use. A second withdrawal against the same deposit is rejected.
  • Privacy has limitsThe vault hides links on chain. It cannot help with an unusual amount, a withdrawal seconds after a deposit, or an address you have already tied to your name elsewhere.
  • Your browser is part of itTickets and passphrases are handled locally. A compromised machine defeats every guarantee above.

FAQ

  • Is it live?Not yet. The interface is here to be read and walked through; the vault programs are still in development, and the app says so wherever an action would otherwise fire.
  • Do I need $EXOVIA to use it?No. $EXOVIA is the project token, not a toll on the vaults.
  • Can you recover my ticket or passphrase?No. Neither ever reaches us, so there is nothing on our side to recover from.
  • Which wallets work?Any Solana wallet that speaks Wallet Standard, which in practice is all of the current ones. Installed wallets show up in the picker on their own.