Private swaps are now live on AVNU ↗

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_invoke adapters 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 OutboundAnonymizer and InboundAnonymizer Cairo 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.4 with starknet.js 10.8.0, and through Privacy SDK 0.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.