Umbra Privacy LogoUmbra Privacy
Transaction Lifecycle

Burning UTXOs to Encrypted Balance

Learn how to withdraw funds from Umbra's Unified Mixer Pool to an Encrypted Token Account (ETA) while maintaining full transaction privacy and anonymity.

Burning a UTXO to an encrypted balance withdraws anonymous funds from the Unified Mixer Pool directly into an Encrypted Token Account (ETA). This provides the highest level of privacy-the withdrawal amount remains hidden while the source stays anonymous.


Overview

When you burn a UTXO to an ETA, the withdrawal amount is encrypted before being credited to the destination account. External observers can see that a withdrawal occurred, but they cannot determine the amount or link it to any specific deposit.

Privacy Characteristics

AspectVisibility
Withdrawal AmountHidden (encrypted)
Recipient AddressVisible (destination ETA owner)
Source of FundsAnonymous (could be any UTXO)
Link to DepositImpossible to determine

Comparison to Public Burn

AspectBurn to ATABurn to ETA
AmountVisibleHidden
RecipientVisibleVisible
SourceAnonymousAnonymous
Overall PrivacyGoodMaximum

Why Burn to ETA?

Burning to an ETA is the preferred option when:

ScenarioRationale
Maximum PrivacyKeep amount hidden end-to-end
Continued ConfidentialityPlan to use funds confidentially
Re-entering Mixer LaterETA deposits hide amount
Hiding WealthTotal holdings stay private

The ETA → Mixer → ETA Flow

This is the gold standard for privacy:

StageWhat's Hidden
EntryAmount (ETA deposit)
In PoolIdentity (mixer anonymity)
ExitAmount (ETA withdrawal)

No information is ever exposed publicly.


Prerequisites

Same as burning to ATA, plus ETA requirements:

RequirementDescription
Unlocking AuthorityKnow preimages of UTXO's unlocking address
Mixing Delay PassedSufficient time since deposit
UTXO Not SpentNullifier not in nullifier set
Destination MatchMust burn to the destination set at deposit

Note: Recipient's X25519 registration is not required at burn time. If the recipient hasn't registered, funds are held securely until they register and claim. See Recipient Without X25519 Registration.

Destination Address Constraint

The destination address is fixed at deposit time. For ETA burns, this means the destination ETA must belong to the L1 address specified when the UTXO was created.


The Burn Process

Step 1: Construct the Zero-Knowledge Proof

Same proof requirements as public burn:

ClaimWhat You Prove
MembershipUTXO commitment exists in Merkle tree
OwnershipKnow all preimages of unlocking address
Nullifier CorrectnessNullifier correctly derived
Destination MatchBurn outputs to correct destination

Step 2: MPC Involvement

Unlike public burns, ETA burns involve the Arcium MPC for encrypted balance updates:

Step 3: Encrypted Balance Update

The MPC:

  1. Receives the withdrawal amount
  2. Encrypts it using the recipient's X25519 public key
  3. Adds the encrypted amount to the recipient's ETA balance

All arithmetic happens in the encrypted domain.

Step 4: Amount Correctness Verification

To ensure the amount credited to the ETA exactly matches the amount burned from the UTXO, Umbra uses the Polynomial Commitment Protocol. This is a hybrid verification approach combining both Zero-Knowledge Proofs and MPC verification.

How the Protocol Works

  1. Commit Phase: The burn amount is encoded as a polynomial and committed using a hiding commitment scheme
  2. ZK Proof Generation: The spender generates a proof that the committed amount matches the UTXO value without revealing the actual amount
  3. MPC Evaluation: The Arcium MPC network evaluates the polynomial at a secret point, producing a share of the result
  4. Cross-Verification: The MPC collectively verifies that the encrypted amount being credited to the ETA corresponds to the same polynomial commitment
ComponentRole
Polynomial CommitmentBinds the hidden amount to a verifiable commitment
ZK ProofProves the committed amount matches the UTXO without revealing it
MPC VerificationConfirms the encrypted ETA credit matches the committed amount

This ensures no value is created or destroyed during the burn - the exact amount leaving the mixer pool equals the exact amount entering the ETA. The polynomial commitment acts as a cryptographic bridge between the ZK domain (UTXO spending) and the MPC domain (ETA balance updates).

Step 5: On-Chain Updates


Burning to Your Own ETA

When burning to your own ETA (self-withdrawal):

AspectDetails
Unlocking AddressYour User Commitment
Destination AddressYour L1 Address
Who BurnsYou
Who Sees AmountOnly you (via X25519)

Burning to Someone Else's ETA

When using ephemeral keys, you can burn to another user's ETA:

AspectDetails
Who BurnsYou (the sender)
Who ReceivesRecipient (at their ETA)
Amount VisibilityHidden from everyone except recipient (after they claim)
Recipient's ActionIf registered: none. If not registered: must register X25519 and claim

If the recipient has already registered their X25519 public key, funds appear immediately in their ETA. If not, see the next section.


Recipient Without X25519 Registration

You can still burn to an ETA even if the recipient hasn't registered their X25519 public key. The funds are held securely until the recipient registers and claims them.

How It Works

When burning to a non-registered recipient:

StageBalance Visibility
Before RegistrationEncrypted for MPC only - no one can see the amount, not even the recipient
After Registration + ClaimEncrypted for both MPC and recipient - recipient can now see their total balance

The Claim Process

Claiming requires two separate instructions:

  1. Register X25519 Public Key - The recipient registers their X25519 keypair on-chain
  2. Claim Pending Burns - The MPC converts the balance into a form readable by the recipient

When the recipient claims:

  • The MPC re-encrypts the balance so the recipient can decrypt it with their X25519 private key
  • The recipient sees their total aggregated balance from all pending burns
  • Individual transfer history from before registration is not available - only the total

Linker Derivation

Linkers are cryptographic identifiers used to connect UTXOs with their intended recipients and enable the MPC to correctly route funds. Importantly, different MVKs are used at creation vs. claim:

OperationMVK UsedExplanation
UTXO CreationSender's MVK (part of sender's User Commitment)The sender uses their own MVK to create the linker, binding the UTXO to their identity for auditability
ClaimUnlocking user's MVKThe recipient derives the linker from their own MVK to prove they are the intended recipient

This design ensures:

  • Sender auditability: The sender's MVK is used during creation, creating an auditable record of who sent the funds
  • Recipient verification: The unlocking user's MVK is used during claim, proving they hold the keys corresponding to the unlocking address
  • Dual accountability: Both parties have cryptographic linkage to the transaction through their respective MVKs
  • Privacy preservation: Neither MVK is revealed publicly - only the derived linkers are used in the protocol

Privacy During Pending State

InformationVisibility
Individual burn amountsHidden from everyone (including recipient)
Total pending balanceHidden from everyone (only MPC knows)
That burns occurredPublic (on-chain events)
Recipient addressPublic

Even while funds are pending, no external observer - and not even the recipient - can see the amounts. Privacy is maintained throughout.

After Claiming

InformationVisibility
Total ETA balanceVisible to recipient (via X25519)
Individual transfer amountsNot visible (aggregated into total)
Transfer historyNot available for pre-registration burns

Alternative: Burn to ATA

If you prefer the recipient to see funds immediately (sacrificing amount privacy):

This makes the amount publicly visible but requires no registration from the recipient.


Technical Details

Instruction: BurnToETA

ParameterDescription
proofZero-knowledge proof of UTXO ownership
nullifierDerived nullifier
merkle_rootMerkle root being proven against
amountWithdrawal amount (for MPC processing)
destinationDestination L1 address (ETA owner)

On-Chain Effects

ChangeDescription
Nullifier SetNullifier added
Pool BalanceDecremented
Destination ETA BalanceEncrypted increment
Destination ETA NonceUpdated

MPC Processing

The MPC handles the encrypted balance update by adding the encrypted withdrawal amount to the recipient's existing ETA balance. All arithmetic is performed in the encrypted domain using the recipient's X25519 key.


Privacy Analysis

What's Hidden

InformationHidden From
Withdrawal AmountEveryone except recipient
Source UTXOEveryone
Link to DepositEveryone
Recipient's New BalanceEveryone except recipient

What's Visible

InformationVisibility
That a burn occurredPublic
Recipient's L1 addressPublic
NullifierPublic
Transaction timePublic

Privacy Advantage Over ATA Burn

With ATA burns, observers can:

  • See exact withdrawal amounts
  • Potentially correlate with deposit amounts
  • Build statistical models of likely deposit-withdrawal pairs

With ETA burns, observers see only that a burn occurred-no amount data to correlate.


Error Conditions

ErrorCauseResolution
Invalid ProofProof verification failedCheck proof inputs
Nullifier Already UsedUTXO already spentCannot spend again
Mixing Delay Not MetToo soon after depositWait longer
Destination MismatchWrong destination addressUse original destination

Note: Burning to a recipient without X25519 registration is not an error - the funds are held until they register and claim.


Use Cases

Anonymous Savings

Multiple deposits from various sources, consolidated into your ETA with hidden total.

Private Payments to Registered Users

Send to someone's ETA without revealing the amount publicly:

Anonymous Revenue Collection

Businesses can receive payments through the mixer:

Competitors cannot see individual payment amounts or total revenue.


Summary

AspectDetails
SourceUnified Mixer Pool (UTXO)
DestinationEncrypted Token Account (ETA)
Amount VisibilityHidden (encrypted)
Source AnonymityHidden - cannot link to any deposit
Proof RequiredZK proof of UTXO ownership
MPC RequiredYes - for encrypted balance update
Amount VerificationPolynomial Commitment Protocol
Non-Registered RecipientsSupported - funds held until they register and claim
Best ForMaximum privacy - hidden amounts, anonymous source