voidcashdocs

Key concepts

The handful of ideas behind voidcash - notes, the vault, the privacy set, keys, registration, private gas, the exit fee and the burn, and VOID.

Notes, commitments and nullifiers

  • A note is a private amount of one asset, HYPE or a token the vault lists (today VOID), that belongs to one owner. Your private balance in each asset is the sum of your unspent notes of it.
  • A commitment is how a note appears on-chain: a hash that reveals neither the amount nor the owner. Next to it the chain stores the note's contents encrypted to the owner, so the owner's app can find and read it.
  • A nullifier marks a note as spent. Only the owner can compute it, and nobody else can link it back to the note.

→ Notes, commitments and nullifiers

The vault

The vault is one contract on Elysium that holds the HYPE and the tokens behind every note. Three actions use it:

ActionFromTo
ShieldHYPE or a listed token in your walletA new private note
Send privatelyYour notesA new note for the recipient, plus your change
UnshieldYour notesPublic HYPE or tokens at any address

A note holds an amount of one asset. It does not earn or change in value: it holds what was put in it until it is spent.

Tokens are listed one at a time by the vault's admin; today they are VOID, VOLTA (Volta's own token), BLOB and YIELDEX. Shielding a token takes two wallet transactions, an approval and the shield, which the app sends from one click. Payment links and private addresses work with HYPE only.

→ The vault

The privacy set

Every note ever created lives in one Merkle tree. A proof shows that you spend some notes in that tree without saying which ones. The privacy set is the number of notes you hide among: the more people use voidcash, the larger it is, and the better everyone is protected. The app shows it in its figures as "Privacy set".

Shields and unshields are public. Early on the set is small, so the timing and amounts of what goes in and out matter more. Staying private has practical advice.

Keys from one signature

You never write down a new seed phrase. Your wallet signs one message, and the app derives from it:

  • a viewing key, which finds and decrypts your notes;
  • a nullifier key, which proves inside the proof that you own a note.

Spending also needs a fresh signature from your wallet for each transaction. So a leaked activation signature reveals your notes but cannot move them. Your wallet must sign deterministically, so that the same message always gives the same keys.

→ Keys

Registration

You register your public keys on the vault once, with one ordinary transaction. Other people's apps read them from the vault to send you private notes at your address. Registration is optional: you can shield, send and unshield without it. It is public, so anyone can see that your address uses voidcash, but not what it holds.

A private address is a second way to be paid: a link anyone can pay, which does not show your address. See Private address.

Private gas

If a private transaction were sent from your wallet, the chain would show your address as its sender. So the vault is its own ERC-4337 account: a bundler submits each private action, and the action pays its gas in HYPE from the notes it spends. What an action overpays for gas goes to the fee collector, never to the bundler.

Gas is always HYPE. A private action that moves a token pays its gas from one of your private HYPE notes, spent in the same proof, so you need some shielded HYPE to move a token privately.

→ Gas

The exit fee and the burn

Shielding and private sends carry no fee beyond gas. An unshield pays 1% of what it pays out, in the asset it pays. A HYPE exit fee goes to the fee collector, which splits what arrives in half:

  • half to the team;
  • half buys VOID on its Volta pool and sends it to the dead address, where nobody can spend it.

A token's exit fee, VOID's included, goes to the team in that token, and feeds no burn.

An unshield that pays out more than the vault's large-exit threshold for its asset waits 24 hours before it is paid, and the vault's guardian can stop it in that time. A token also has a cap on what its exits can pay out at once in each 24-hour window; exits beyond it wait 24 hours too.

→ Fees and Unshield

VOID

VOID is an ordinary ERC-20 launched on Volta, a launchpad on Elysium. It trades on a Uniswap v4 pool against native HYPE. VOID is the vault's first listed token: you can shield it, send it privately and unshield it like HYPE. It gives no claim on the vault's HYPE and is not needed to use voidcash, and the app does not trade it. It is burned by the fee collector's buys and by Volta's own buyback.

→ VOID

On this page