Shielded transfers
on Solana.

Break the on-chain link. Send, receive, and withdraw $ZPHS tokens with absolute privacy. Powered by zero-knowledge proofs and Solana's speed.

Zephyros protocol flow
192 B
proof size
Groth16
BN254
2^20
tree capacity
1
pool

How it works

Two steps. Deposit privately, then withdraw your way.

01Shield

Deposit privately

Pick the fixed amount (25M $ZPHS) and your wallet sends a transfer into the pool. The browser generates a secret note and the program appends a Poseidon commitment to the Merkle tree. On the explorer it just looks like one anonymous deposit among many.

02Unshield / Transfer

Withdraw to any wallet or Zephyros user

Cash out to any Solana address — the browser builds a Groth16 proof of note ownership without revealing which note. Or send privately to another Zephyros user: tokens stay inside the pool, the old note is nullified and a fresh commitment is minted with an optional encrypted memo. Amount, sender and receiver all hidden on-chain. A relayer pays the gas in both cases.

Privacy model

What is hidden and what is not.

An honest account of today's guarantees. Zephyros breaks the link between the depositor and the withdrawer, and — with shielded transfers — also between sender and receiver. Every movement inside a pool moves the same fixed amount, so the value alone leaks no identity. Destination addresses for unshield withdrawals remain visible on-chain; shielded transfers reveal nothing beyond the encrypted memo.

Depositor on withdrawalhidden
Sender on shielded transferhidden
Receiver on shielded transferhidden (only ivk holder can decrypt)
Wallet signinghidden (relayer signs)
Which note was spenthidden (proven by zk-SNARK)
Transfer amountfixed denomination
Unshield destination addressvisible
Notes in your browserlocal, encrypted vault

The anonymity set

When you withdraw a note, an outside observer knows the amount left the pool but cannot tell which prior deposit it came from. Your privacy is proportional to the number of deposits in the pool: if there are 500 notes, your withdrawal blends into 500.

To maximise it:

  • Wait some time between deposit and withdrawal.
  • Withdraw to a fresh address with no history tied to you.
  • Use a pool with many active depositors.
  • Use a VPN to hide your IP address from relayers.
  • Use Tor for maximum anonymity (even we cannot see your IP).

⚠ Notes live only in your browser. Export an encrypted backup from the app — losing both the notes and the password means losing the tokens.

Transparency & code

Verifiable on-chain. Open source.

The Anchor program is deployed and inspectable on Solscan. The full source code is public — no hidden logic, no backdoors. Trust the math, not the team.

Your money. Your business.

Shielded pool on Solana mainnet-beta. zk proofs in your browser, withdrawal without exposing your wallet. Open the app, connect your wallet and run your first shield.