Skip to main content

Private Ethereum Accounts & Onchain Privacy

Platus is a private account layer for Ethereum. It uses encrypted notes and zero-knowledge proofs to validate private payments, while passkeys make account access feel like signing in to an app rather than managing a seed phrase.

What Platus does

  • Shielded balances: tokens are represented as cryptographic notes in an on-chain Merkle tree. The chain sees commitments; note value, asset, and recipient data remain encrypted.
  • ZK-proved transactions: each 2-in / 2-out Action proves a spend is valid without exposing private inputs or outputs.
  • Private, composable execution: shielded value can drive on-chain calls through per-application EIP-7702 AppAccounts, then return to the private pool.
  • Passkey-secured access: WebAuthn passkeys derive account material locally, avoiding a seed-phrase-first user experience.
  • Post-quantum note encryption: note delivery combines BabyJubJub ECDH with ML-KEM-768 so confidentiality does not rely on a classical primitive alone.

How Platus compares

Platus follows the path of Ethereum privacy but with less friction and more freedom. Compared with Tornado Cash, Railgun, and Privacy Pools, what matters is simple: cost, time, and what your funds can do once they're shielded.

What you care aboutPlatusTornado CashRailgunPrivacy Pools
On-chain gas, per private tx~350k/action in a 16-action batch~480k per deposit / withdraw~1.50M per private transact, ~762k to shielddeposit ~390k, private withdraw ~620k
Proof generation time0.57 s1.77 s0.50 s – 3.11 s by circuit shape0.82 s
First-use download~20 MB (one Action circuit + compressed CRS BN254 elliptic-curve points)~11.5 MB (proving key + circuit)~894 MB (proving keys across 91 circuit shapes)~20 MB (proving key + circuit)
Distinct circuits you download & trust11 (but one pool per fixed denomination)91 separate circuits, each its own key1
Protocol fee0.1% on deposits onlyNone at the protocolShield (0.25%) + Unshield (0.25%) = 0.5%0% or 0.5%
Can use DeFi?Yes with app accountsNoYesNo
Fresh stealth address every txYesNoNoNo
AmountsAny valueFixed (0.1 / 1 / 10 / 100 ETH)Any valueAny value
Post-quantum note encryptionYes, BabyJubJub ECDH + ML-KEM-768NoNoNo
Proof system / trusted setupNoir + UltraHonk, universal parameters, no per-circuit ceremonyGroth16, per-circuit ceremonyGroth16, per-circuit ceremony ×91Groth16, per-circuit ceremony

Start with the system model

Explore the cryptography

Explore the implementation

  • App accounts: the EIP-7702 execution layer for private on-chain actions.
  • Orchestrator: the protocol's on-chain entry point.
  • Action circuit: the constraints enforced for each private action.

For product context and research updates, visit the Platus website and blog.