Preview. Private transactions rely on the Starknet privacy SDK and
@avnu/avnu-sdk >= 4.1.0-next.2. The API surface may still change. Questions? Reach out on Telegram.How it works
A private transaction never moves tokens from a public account. Instead, it goes through three steps:- Private balance. Tokens you deposit into the privacy pool are held as shielded notes, so balances and amounts stay off the public ledger.
- Proof. Each action (withdraw, transfer, swap) becomes a proof you build client-side with the privacy SDK, against a recent
provingBlockId. - Execution. The paymaster bundles the proof into a single on-chain transaction through its forwarder contract, and can pay the gas on your behalf.
Fee modes
Every private transaction carries two costs: the gas fee that goes to the network, and the pool fee that goes to the privacy pool. Who pays each one, and in which token, depends on the fee mode you pick.| Mode | Gas fee | Pool fee | Fee token |
|---|---|---|---|
sponsored | Paid by relayer | Paid by user from private balance | Always STRK (hardcoded) |
sponsored_private (recommended) | Paid by relayer | Paid by user from private balance | User’s choice via fee_mode.pool_fee_token |
gasless (default) | Paid by user from private balance | Paid by user from private balance | User’s choice via fee_mode.gas_token |
gasless, or sponsor it for them using a paymaster API key from the Portal with sponsored or sponsored_private. The API key setup is the same as gasfree.
Transaction types
| Type | When | Example |
|---|---|---|
apply_action | No user call needed | Withdraw, private swap |
invoke_and_apply_action | A user call is required (such as an approve), wrapped in execute_from_outside and signed by the user | Deposit |
Prerequisites
Before you start, make sure you have:@avnu/avnu-sdk >= 4.1.0-next.2, which adds theprivate: trueflag toquoteToCalls- the Starknet privacy SDK, which builds the proof and the executor call
- a funded private balance for the token you want to sell, so deposit into the pool first
- the paymaster client pointing at
starknet.paymaster.avnu.fi, orsepolia.paymaster.avnu.fifor testing
Next steps
Private Swap via avnu
Execute a sponsored, gasless private swap step by step