Penta LogoDocumentation

PENTA DOCS

The Shielded Cash for Solana

PrivateFastTrustless

Overview

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.

Core Concepts

Shielded Notes

When you deposit into Penta, your assets are converted into shielded notes — encrypted commitments that represent value inside the privacy pool.

note = (asset_id, amount, recipient_pkd, rho, r, memo)
commitment = Poseidon(note)

Notes are not tokens in your wallet — they are cryptographic records stored inside the Merkle tree.

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.

Nullifiers

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.

Zero-Knowledge Proofs

When spending or withdrawing, the wallet generates a zkSNARK proof that:

  • The note exists in the Merkle tree
  • The user owns it (knows the secret)
  • It hasn't been spent yet
  • Inputs = Outputs + Fee

The smart contract verifies this proof without learning any private data.

Protocol Design

1. Deposit (t → z)

Move assets from transparent wallet into shielded pool. Generate random note client-side and submit commitment on-chain.

2. Transfer (z → z)

Move value between shielded addresses anonymously. Sender proves ownership, consumes nullifiers, creates new commitments.

3. Withdraw (z → t)

Exit shielded pool to transparent address. Prove ownership and vault releases funds to public address.

Assets Supported

SOL
via wrapped SOL
$PENTA
native utility token
SPL Tokens
coming in v2

Relayer Network

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.

Keys and Addresses

Spending Key (sk)

Used to prove ownership and spend notes

Viewing Key (vk)

Optional, to audit incoming transactions without compromising privacy

Address (pkd)

Derived public key (bech32: penta1...)

Cryptography

ConceptImplementation
Proof systemGroth16 zkSNARK
HashPoseidon
CurveBN254 (altbn128)
TreeMerkle (fixed depth)
NotesEncrypted JSON payload
RandomnessBLAKE2b / Poseidon RNG

Token Utility — $PENTA

Fee Token

Pay relayers and protocol fees inside shielded pool

Governance

Vote on protocol parameters and upgrades

Staking

Optional relayer bonding in v2

Burn Mechanism

Portion of relayer fees burned for deflation

Roadmap

v0 - PoC / Devnet

Deposit / Withdraw only (t↔z)

v1 - Mainnet Beta

Full shielded transfers (z→z), Relayer prototype

v2 - Stable

View Keys, Multi-Asset Pool, DAO Governance

v3 - Advanced

Universal Plonk, Aggregated Proofs, Audit APIs