The Shielded Cash for Solana
Penta is a shielded wallet and privacy protocol for Solana, designed to bring true on-chain anonymity to SOL and SPL tokens. It allows users to deposit assets into a cryptographic pool, generate zero-knowledge proofs, and perform private transfers or withdrawals — without revealing the sender, receiver, or amount.
Built on zkSNARKs, Merkle commitments, and nullifier sets, Penta provides Zcash-style privacy at Solana speed.
When you deposit into Penta, your assets are converted into shielded notes — encrypted commitments that represent value inside the privacy pool.
Notes are not tokens in your wallet — they are cryptographic records stored inside the Merkle tree.
Every deposit and transfer adds a new commitment (leaf) into the on-chain Merkle tree. This allows users to later prove membership (ownership) of a note without revealing which one.
To prevent double-spends, every time a note is consumed (spent), a nullifier hash is published. Once a nullifier exists on-chain, that note can never be used again.
When spending or withdrawing, the wallet generates a zkSNARK proof that:
The smart contract verifies this proof without learning any private data.
Move assets from transparent wallet into shielded pool. Generate random note client-side and submit commitment on-chain.
Move value between shielded addresses anonymously. Sender proves ownership, consumes nullifiers, creates new commitments.
Exit shielded pool to transparent address. Prove ownership and vault releases funds to public address.
For true anonymity, Penta uses a trustless relayer layer. Relayers broadcast transactions on behalf of users and are paid only if the proof verifies on-chain. This enables full privacy even at the network level with no IP correlation.
Used to prove ownership and spend notes
Optional, to audit incoming transactions without compromising privacy
Derived public key (bech32: penta1...)
| Concept | Implementation |
|---|---|
| Proof system | Groth16 zkSNARK |
| Hash | Poseidon |
| Curve | BN254 (altbn128) |
| Tree | Merkle (fixed depth) |
| Notes | Encrypted JSON payload |
| Randomness | BLAKE2b / Poseidon RNG |
Pay relayers and protocol fees inside shielded pool
Vote on protocol parameters and upgrades
Optional relayer bonding in v2
Portion of relayer fees burned for deflation
Deposit / Withdraw only (t↔z)
Full shielded transfers (z→z), Relayer prototype
View Keys, Multi-Asset Pool, DAO Governance
Universal Plonk, Aggregated Proofs, Audit APIs