Overview
Here's everything about getting started with building private applications.
Starknet privacy has a small set of builder surfaces. Start with the highest-level route that fits your product, and only move lower when you need more control.
Using shielded funds in Ready or Xverse? Back up the viewing key for each account before depositing meaningful value. It is separate from the seed phrase. Follow Viewing Keys & Backups for the Ready and Xverse export steps and screenshots.
Choose your integration route
| Builder goal | Start with |
|---|---|
| Build a private dapp anywhere from private DeFi, private consumer apps, private games, etc. | Anonymizer Contracts and Starknet Wallet API |
| Build a privacy wallet or advanced backend | Build Privacy Wallets |
| Run proof infrastructure yourself | Prover backend |
| Hide a user's main-wallet link during account-based app activity | Shadow Accounts |
| Fund a private balance from an EVM wallet, or withdraw it back to one | Privacy Bridge |
Core pieces
- STRK20 Pool: the live Starknet mainnet pool that holds ERC-20s as encrypted notes and enables shielded balances, private transfers, and private DeFi.
- Starknet Wallet API / starknet.js: the standard route for private dapps. The app asks the wallet to act; the wallet manages viewing keys, notes, proofs, and signatures.
- Anonymizer contracts: app-specific
privacy_invokeadapters for DeFi. The pool calls the helper atomically, then credits the result back into private notes. - Privacy SDK: the low-level route for wallets and advanced integrations that
need direct control over registration, channels, note discovery, and proving.
Open source (Apache 2.0): starkware-libs/starknet-privacy,
quickstart in
sdk/README.md. - Privacy Bridge: a value-movement engine that moves USDC between EVM
wallets/chains and the pool over Circle CCTP, so the funding side and the
withdrawal side are not linked onchain. It ships its own
OutboundAnonymizerandInboundAnonymizerCairo contracts plus a TypeScript engine with React hooks. Open source (Apache 2.0), early: starkware-libs/privacy-bridge. - Shadow accounts: persistent, pseudonymous per-dapp identities that hide
the public link to a user's main wallet. They are available through Wallet API
0.10.4with starknet.js10.8.0, and through Privacy SDK0.14.3-rc.8. The shadow account's own balances and calls remain public. - Prover backend: infrastructure for teams that need to operate their own proof generation.
What stays visible
Inside the pool, sender, receiver, token, amount, and spent notes are private. Deposits, withdrawals, timing, and some app-side activity may still be public.
Start from a template
The STRK20 starter kit is a
lean Next.js app with the Wallet API route already wired: wallet picker,
shield / unshield / private transfer, shielded balances, and a deployable
privacy_invoke helper. Try the live demo,
then swap the DEMO-labelled defaults for your own token and helper.