Skip to main content

Overview

Starkzap supports two privacy protocols. They are independent implementations, not two backends behind one interface — they have different state models, different proving setups, and different submission paths. You pick one per integration and code against it directly.
  • STRK20 privacy pool — one pool for every token. Your balance is a set of private notes. A remote proving service builds a proof, and a relayer submits it, so your account never appears on-chain.
  • Tongo — one contract per token. Your balance is a single encrypted number on your own account. Proofs are generated locally, and you submit the transaction yourself.
The names matter more than the words “privacy” and “confidential”, which are near-synonyms in English but point at different protocols here. Say STRK20 or Tongo.

Comparison

Which one to use

Choose STRK20 when you need to hide who transacts, not just how much. Because a relayer submits the transaction, the sender’s address, nonce, and gas payment stay off-chain. That is the property Tongo does not offer. Choose Tongo when hiding amounts is enough, and you want an integration you can ship today: it installs from npm with no access request, works with any wallet, proves locally with no external service, and batches with your other calls in a single transaction.
Starkzap does not offer a shared abstraction over the two. Quoting the SDK itself: Tongo keeps an encrypted balance per account and proves locally, while the privacy pool spends notes and needs a remote prover whose output rides on the transaction rather than inside a call. There is no shared interface to code against.

What neither protocol hides

Both protocols privatize what happens between entering and leaving. Entering and leaving are public in both.
Deposits and withdrawals are public. Withdrawing to the address you deposited from puts both ends of the pool on one address, which is enough to link them — so a fresh address is what preserves the gap.
Neither protocol hides that you interacted with it at all, and neither hides the timing or the token. Treat them as tools for unlinking a source from a destination, not as cloaks over your whole on-chain history.

Next steps

STRK20 privacy pool

Hide amounts, sender, and recipient. Notes, a remote prover, and relayer submission.

Tongo

Hide amounts. Encrypted balances, local proving, batches with your other calls.