A private DEX, without fragmenting liquidity

Private swaps and shadow-account positions are live on Ekubo for Starknet. Both settle in the same public pools as every other Ekubo trade.

Ekubo now supports private swaps and private liquidity provision on Starknet. Since September you have been able to swap from a shielded balance without the trade being publicly linked to your wallet. Shadow accounts now extend the same idea to liquidity provision: you can provide liquidity, earn trading fees and manage positions without publicly linking that activity to your main wallet.

Both settle in the same public pools as every other Ekubo trade. On Starknet those pools hold more than four-fifths of DEX liquidity and handled more than 98% of DEX trading volume over the last 30 days, so private activity starts in the deepest market on the network instead of a new, empty one.

Starknet DEXs, October 14, 2026EkuboAll other DEXs combined
Total value locked84%16%
Trading volume, last 30 days98.7%1.3%

Source: DefiLlama, DEX category, read October 14, 2026.

Private swaps

STRK20 is Starknet’s privacy framework for ERC-20 tokens. Shielding deposits a token into the STRK20 privacy pool, where your balance is held as an encrypted note. Transfers inside the pool do not reveal the sender, the recipient or the amount. It works with existing tokens, including USDC and strkBTC, without changing the token contracts.

Private swaps connect shielded balances to Ekubo’s public liquidity through a swap anonymizer, a small helper contract that the privacy pool calls to execute an exact-input Ekubo swap. It has no owner, no administrator and no storage, so nothing can be changed or held in it. Its source was reviewed with adversarial and fuzz tests before deployment, and the review is published in the contract’s repository. It is deployed at 0x029c55514b13a1198ff004ff4e52d282bf98daf4c5c0dfc0303c390ec6615c15.

The flow: choose Private on the swap card. Your wallet withdraws the input from your shielded balance and hands it to the anonymizer, which swaps it against Ekubo’s public pools using the same split and multi-hop routes as a public swap. The output goes straight back into the privacy pool as a shielded balance, all in one transaction. If the swap would return less than your minimum, the whole transaction reverts and your input stays shielded.

Shadow accounts

Shadow accounts do for liquidity what the privacy pool does for swaps. A shadow account is a separate Starknet address derived from your wallet’s private state. It has no keys of its own: only the STRK20 shadow-account contract can act through it, on instructions your wallet proves came from you. Nothing on chain links it to your main wallet.

To create a private position, choose Private on the Public/Private switch. Ekubo asks your wallet to find your shadow account, and you confirm one transaction in your wallet. That transaction moves the tokens from your shielded balance to the shadow account and adds the liquidity, and the shadow account becomes the position’s owner. When you withdraw liquidity or collect fees, the tokens go back to your shielded balance, not to your public wallet. Rewards earned by a private position are claimed the same way from the rewards page.

Private positions sit in the same pools as every other Ekubo position, so private liquidity deepens the market for everyone rather than splitting it off.

What is hidden, and what is not

Precision matters here. Swaps and positions are still visible on chain: the pool, the amounts, the price impact and the ranges. What is hidden is the public link to you.

  • Private swaps. The swap is not publicly tied to the address that initiated it, and your shielded balances are not visible.
  • Shadow accounts. Nothing on chain ties the shadow account to your main wallet. The shadow account itself is public: its balances, calls and positions can be seen by anyone. Ekubo uses one shadow account per wallet, so all of your private positions on Ekubo are visible as belonging to the same account.
  • The pool’s edges. Moving tokens into the privacy pool, or back out to a public address, is public, including the address and the amount. Distinctive amounts or quick in-and-out timing can make activity easier to connect.

An observer sees that someone traded, and that someone is providing liquidity. Without other information, they cannot see that it was you or what else you hold.

Privacy here is privacy from the public, not from lawful oversight. STRK20 screens deposits into the pool and escrows each user’s viewing key for an auditor, as described in its compliance documentation. The privacy pool and the shadow-account contracts are operated by StarkWare, not Ekubo, and charge their own fee per private transaction, currently 2.5 STRK. The interface stops new private deposits automatically if those contracts change, until we have reviewed the change. See our terms of use for how these features work and their risks.

What is not supported yet

Private swaps are exact-input only. Shadow accounts support creating positions, adding and removing liquidity, collecting fees and claiming rewards. Moving an existing public position into a shadow account, transferring a private position, and DCA or limit orders through a shadow account are not supported. Both features need a Starknet wallet that supports STRK20.

Why this matters

DeFi normalized total transparency: every position, every trade and every balance, attributable to an address forever. That was a property of the first implementations, not a requirement of the technology.

Eli Ben-Sasson, co-inventor of STARKs and a co-founder of Zcash, put it this way when private swaps went live on Ekubo:

This is what I’ve been dreaming about for more than a decade: As Zcash co-founder I’ve been saying for more than a decade that the real problem of privacy is making it usable with good UX for end-users, for doing more than just transferring a single asset.

Swaps were the first answer. Shadow accounts answer positions.

Try it

Shield an asset in a supported wallet, then swap it or open a position from your shadow account at ekubo.org. Everything executes against the deepest liquidity on Starknet, private activity included.