# STRK20 — Privacy that works for crypto > STRK20 brings compliant, programmable privacy to any ERC-20 asset on Starknet. Shield balances, send private transfers, and use private DeFi — all on existing wallets and existing liquidity, with a built-in compliance path. Built by StarkWare. STRK20 is privacy that works for crypto: private by default, disclosable when required (per-user viewing keys and wallet-level screening). It runs on the apps and liquidity people already use on Starknet rather than a new chain. This is the full-content index of strk20.starknet.io for AI agents. Runnable code examples, the TypeScript SDK, and contract references live at strk20-by-example.org and github.com/starkware-libs/starknet-privacy. ## What you can do - Shield / unshield — any ERC-20 balance from your existing Starknet wallet. - Private transfers — send tokens with no on-chain link between sender and receiver. - Anonymous DeFi — swap and lend against existing AMM liquidity (Ekubo, AVNU). - Compliance-first — per-user viewing keys and wallet-level screening; private by default, disclosable when required. ## Integration routes - Build a private dapp — private DeFi, private consumer apps, private games. Anonymizer contracts + the Starknet Wallet API. (https://strk20-by-example.org/helpers/privacy-invoke) - Build a privacy wallet — or an advanced backend that needs direct control. The Privacy SDK. (https://strk20-by-example.org/sdk/getting-started) - Run your own prover — operate proof generation infrastructure yourself. (https://strk20-by-example.org/sdk/proving-config) - Hide the wallet link — break the public link between a main wallet and app activity. Private sub-accounts, coming soon. ## 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. (https://strk20-by-example.org/what-is-strk20) - Starknet Wallet API — the application-layer route, and the one most apps should use — integrate through starknet.js and ask the wallet to perform the private action, so the dapp never touches the user's viewing key or the SDK. (https://strk20-by-example.org/starknet-wallet-api/overview) - Anonymizer contracts — app-specific privacy_invoke adapters for DeFi; the pool calls the anonymizer atomically, then credits the result back into private notes. (https://strk20-by-example.org/helpers/privacy-invoke) - Privacy SDK — the low-level route for wallets and advanced integrations that need direct control over registration, channels, note discovery, and proving. (https://strk20-by-example.org/sdk/getting-started) - Private sub-accounts — an advanced account-privacy route for hiding the public link between a user's main wallet and app activity (coming soon). - Prover backend — infrastructure for teams that need to operate their own proof generation. (https://strk20-by-example.org/sdk/proving-config) ## Why build on STRK20 - Protocol-level privacy — built into the protocol, not bolted on at the app layer. Every shielded asset shares one unified privacy pool, so the anonymity set grows with total system usage. - Anonymous DeFi on existing liquidity — anonymous swaps run on existing AMMs (Ekubo, AVNU). No unshield-swap-reshield, no fragmented liquidity. - Multi-call composability — unshield, swap across AMMs, flash-loan, repay, and reshield inside one private transaction. - No new wallets — existing Starknet wallets via native account abstraction: multisig, hardware, social recovery. - Compliance-first — deposit screening is mandatory and enforced onchain: FPI screens the addresses that shield tokens and signs every deposit, and the pool verifies that signature. Running your own prover doesn't bypass it. Private by default, disclosable when required. - Built on Cairo — both the smart contract and the proving language, which is what makes atomic, composable privacy possible. ## Get involved - Proof of Privacy Incubator — eight weeks of mentorship, milestone-based support, and a demo day for teams building with STRK20. (https://proof.starknet.io) - Request for Startups — defined problem statements for specific builds: private payroll, lending, identity, and more. (https://strk20.starknet.io/rfp) - Book a call — a direct line to the team to validate your idea. (https://cal.com/adithyadinesh) ## Builder resources - STRK20 by Example — learn Starknet Privacy with runnable examples: the Starknet Wallet API, Cairo anonymizer contracts, and wallet-builder SDK flows. Agent-readable: https://strk20-by-example.org/llms-full.txt (https://strk20-by-example.org/) - Starknet Privacy SDK — the open-source monorepo (Apache-2.0): TypeScript SDK, pool contracts, and anonymizer reference packages. (https://github.com/starkware-libs/starknet-privacy) - Awesome STRK20 — a collection of Starknet privacy libraries, resources, and PoCs. (https://github.com/Akashneelesh/awesome-strk20) - Brand & UI kit — colors, fonts, logos, and components with machine-readable design tokens (/brand/tokens.json) and guidelines (/brand.md) — build interfaces that look like STRK20. (https://strk20.starknet.io/brand) ## Learn — video walkthrough summaries - What is shielding? — Shielding turns a public ERC-20 balance into an encrypted note in the STRK20 pool; unshielding turns it back. The token is unchanged — only its balance and movement become private. - Public vs private mode — An asset can move in public mode (normal transfers) or private mode (shielded notes). Users choose per action, and the same Starknet wallet handles both. - Anonymous swaps explained — Private swaps route through existing Starknet AMMs (Ekubo, AVNU) from inside the pool, so the AMM never sees that the trade came from a privacy pool — no unshield-swap-reshield. - Multi-call private transactions — One private transaction can unshield, swap across AMMs, flash-loan, repay, and reshield atomically — the first multi-call support inside a privacy system. - User walkthroughs — Step-by-step guides: get a Ready or Xverse wallet, bridge assets to Starknet, shield and unshield, transfer privately, and swap privately. ## Request for Startups (open problem statements) Full problem statements are at each linked page: - Privacy wallet — https://strk20.starknet.io/rfp/privacy-wallet - Private payroll — https://strk20.starknet.io/rfp/private-payroll - Private messaging — https://strk20.starknet.io/rfp/private-messaging - Private OTC settlement — https://strk20.starknet.io/rfp/private-otc-settlement - Sealed-bid auctions — https://strk20.starknet.io/rfp/sealed-bid-auctions - Cross-chain privacy hub — https://strk20.starknet.io/rfp/cross-chain-privacy-hub - Anonymous whistleblower — https://strk20.starknet.io/rfp/anonymous-whistleblower - Private subscriptions — https://strk20.starknet.io/rfp/private-subscriptions - Private prediction market — https://strk20.starknet.io/rfp/private-prediction-market - Private poker — https://strk20.starknet.io/rfp/private-poker - Private pump.fun — https://strk20.starknet.io/rfp/private-pumpfun - Social deduction game — https://strk20.starknet.io/rfp/social-deduction-game ## Key pages - Home — https://strk20.starknet.io/ (markdown: https://strk20.starknet.io/index.md) - Build — https://strk20.starknet.io/build (markdown: https://strk20.starknet.io/build.md) - Use STRK20 — https://strk20.starknet.io/app/live-apps - Request for Startups — https://strk20.starknet.io/rfp