MediumWhat is STRK20 and what are Shadow Accounts? | by Cumulo | Cumulo.pro | Nov, 2026 | Medium
Sitemap
Cumulo.pro

Toda la info sobre blockchain en español

What is STRK20 and what are Shadow Accounts?

Privacy on Starknet, explained

7 min readNov 4, 2026

--

Press enter or click to view image in full size
Press enter or click to view image in full size

The starting point

On a public blockchain, every address is an open record. If you use the same wallet to receive payments, make swaps, lend, and provide liquidity, anyone with a block explorer can see your balance, your positions, when you trade, and with whom.

No one needs to know your name. It’s enough for that address to be associated with you just once (a withdrawal from an exchange, a payment to someone you know, a public profile) for everything else to be linked to you, both before and after.

This has very concrete effects. A competitor can follow your trading strategy. A scammer knows how much you have before contacting you. A company cannot pay salaries on-chain without publishing each person’s salary.

Starknet has begun to address this problem in two steps: STRK20, launched on the mainnet in June 2026, and Shadow Accounts, announced on October 13. Let’s see what each one does and, above all, where their limitations lie.

STRK20: Private balances on the usual tokens

STRK20 is Starknet’s privacy framework. It’s not a new token or a separate network: it allows any Starknet ERC-20 token (STRK, USDC, strkBTC, and others) to move from a public balance to a private one, called a shielded balance, and back again when needed.

The process, without getting into cryptography, is as follows. When you “secure” a token, you deposit it into a shared contract, the privacy pool. There, your balance ceases to be a number visible in your address and becomes a set of encrypted notes that only you can read. Each time you send funds within the pool, you spend notes and create new ones.

Each transaction involves a zero-knowledge proof. This proof demonstrates that the notes exist, that they belong to you, that you haven’t spent them before, and that the accounts balance, without revealing who pays, to whom, or how much. The network verifies the proof before accepting the transaction.

Today, you can shield and unshield transactions from Ready and Xverse wallets, send private transfers, and perform private swaps against Starknet’s existing liquidity (AVNU, Ekubo). According to Starknet, each shielded transaction costs 4 STRK.

What STRK20 doesn’t hide are the doors. A deposit into the pool is visible: you can see which address is depositing, which token, and how much. A withdrawal is too. What remains encrypted is what happens inside. A simple way to visualize it: it’s a room with two doors in full view of everyone; you can see who enters with how much and who leaves with how much, but not what happens inside.

Press enter or click to view image in full size

Private, but not secret

StarkWare‘s motto for STRK20 is “ privacy, not secrecy .” Privacy refers to privacy from the public, not from a legal investigation. The system has two mechanisms to achieve this.

Filtered upon entry. Every deposit into the pool is checked against sanctions lists (using data from Elliptic) and signed by a Financial Privacy Inc. (FPI) service. The contract verifies this signature on-chain; a deposit without it is rejected.

Viewing keys. Each account using the pool has a viewing key: the key that allows you to read its encrypted notes. It cannot be used to move funds (that still requires your account signature), only for viewing. Upon registration, an encrypted copy of this key is stored on-chain, encrypted for an auditor.

According to Starknet, the auditor’s master key resides in a secure environment operated by FPI, backed by a multi-signature system with three out of four signatories (two from StarkWare and two from FPI) and another with seven out of twelve signatories held by Starknet’s Security Council. It is only used upon a legal request: from a court, regulator, or competent authority, through official channels and with a verified legal basis.

This is called selective disclosure: the activity of a specific person is deciphered, not everyone’s. StarkWare adds that FPI only releases the requested information (for example, a transfer on a specific date).

An important point for users: selective disclosure doesn’t mean you share your viewing key. Anyone who has it can see all your private activity, past and future, and it can’t be changed; if it’s leaked, the only solution is to switch to another account. It’s advisable to keep a backup, because if you lose it, you could lose access to your private balances.

Why this design? Starknet justifies it with the case of Tornado Cash, the Ethereum mixer sanctioned by the US in 2022 (sanctions lifted in 2025). Beyond the legal aspects, the practical problem was that exchanges and issuers began treating any funds that had passed through it with suspicion. STRK20 attempts to avoid that. Whether regulators will accept it as sufficient remains to be seen.

Shadow Accounts: using DeFi without tying it to your wallet

With STRK20, a swap can leave the pool and return to it. But many DeFi operations require an address that holds a position over time: a loan, a liquidity position, a vault deposit. That address is public, and if you fund it from your wallet, it becomes linked to you.

Subscribe to Friend of Medium to remove upgrade prompts from your unlocked stories.

Get Cumulo’s stories in your inbox

Join Medium for free to get updates from this writer.

Shadow accounts solve exactly that problem. A shadow account is a separate address, one per app, that’s funded from your private balance. Here’s how it works:

  1. You have a private balance in STRK20.
  2. The app offers a private mode. Your wallet transfers funds from the pool to a new address, specific to that app.
  3. That address operates in the application like any other: it deposits, lends, provides liquidity, accumulates.
  4. When you finish, the funds are returned to your private balance.

Some details help to understand it. The shadow account doesn’t have its own keys and can’t sign; it can only be moved by a Starknet contract (the ShadowAccountAnonymizer) following commands authorized by your wallet through the pool. It’s persistent: the application recognizes you when you return. And you can have multiple shadow accounts within the same application if you want to separate identities.

If an image helps: it’s like using a different alias for each service. What you do with each alias is visible, but nothing public indicates that you’re behind them all.

Press enter or click to view image in full size

What it protects and what it doesn’t.

This is the part that is being exaggerated the most in some headlines, so it’s worth clarifying.

Transfers within the pool

  • Everyone sees it: that someone is using the pool, and when.
  • It remains hidden: who sends, who receives, how much, and which token.

Deposits and withdrawals

  • Everyone can see it: the address, the token, and the amount.
  • Nothing remains hidden.

Shadow account

  • Everyone can see it: your address, balances, transactions, positions, amounts, and schedules.
  • It remains hidden: what wallet is behind it.

The key difference is between a hidden link and hidden activity. Within the pool, the activity is hidden. A shadow account , on the other hand, only hides the link: what it does is as public as any other address. StarkWare’s own documentation states it this way: it serves to unlink, not to hide the account’s content.

And that bond can be broken in other ways:

  • Amounts and timing. If you deposit 12,347 STRK into the pool and a minute later a shadow account receives 12,347 STRK, the connection is obvious. Official documentation acknowledges that recognizable amounts or rapid inflows and outflows compromise privacy.
  • Behavior. A shadow account accumulates a public history. If your habits on that app are easily recognizable, they can give you away even without a direct link.
  • How many people use the pool? The privacy of a pool depends on how many users you’re interacting with. With fewer users, it’s easier to guess who’s who.
  • Who else sees the data? The application and the wallet know which session performed each transaction. RPC nodes, relayers, and testing services see metadata such as the time and IP address. The StarkWare reference repository summarizes this with a warning: shadow accounts should not be presented as untraceable.
  • The auditor, in response to a legal request, as we saw earlier.

From the infrastructure

From the perspective of someone operating nodes, the most interesting aspect of STRK20 and Shadow Accounts isn’t just the cryptography. The documentation itself identifies the infrastructure surrounding the protocol (RPC nodes, relayers, test services) as points where activity can be correlated. A user’s privacy also depends on what the node their wallet connects to sees and what that node does with that data.

Our assessment: the design is honest about its limitations, and that’s a good sign. Separating the link from the activity is a useful step for users and institutions that need to trade in DeFi without publishing their entire history. But it’s not anonymity, and anyone using it should know that from the outset.

At Cumulo we operate validation and RPC infrastructure on Starknet, and we will closely follow how this layer evolves.

Press enter or click to view image in full size
Press enter or click to view image in full size

Follow us on: Twitter | Medium | LinkedIn | Discord | cumulo.pro
or our news channel on Telegram

--

--