Umbra Privacy LogoUmbra Privacy
Transaction Lifecycle

Transaction Lifecycle Overview

Understanding all transaction types and flows between ATAs, ETAs, and the Mixer Pool in the Umbra protocol

The Umbra Protocol enables a rich set of transaction types that move value between three distinct domains: public token accounts (ATAs), encrypted token accounts (ETAs), and the Unified Mixer Pool. Understanding how these domains interconnect is fundamental to leveraging Umbra's full privacy capabilities.


The Three Domains

Umbra operates across three fundamental domains, each offering different privacy characteristics:

DomainAccount TypeBalance VisibilityOwnership VisibilityPrivacy Level
PublicATAVisibleVisibleNone
ConfidentialETAEncryptedVisibleAmount hidden
AnonymousMixer UTXOHiddenHiddenFull anonymity

All Possible Flows

Every connection between these three domains is possible-either directly or through a single hop. This gives users complete flexibility in choosing their privacy level for any transaction.

Direct Transfers (No Mixer)

FlowDescriptionPrivacy
ATA → ATAStandard Solana transferNone (fully public)
ATA → ETAShield public fundsAmount hidden after transfer
ETA → ATAUnshield to publicAmount becomes visible
ETA → ETAConfidential transferAmounts always hidden

Mixer Flows (Maximum Anonymity)

FlowDescriptionPrivacy
ATA → MixerPublic depositDeposit visible, UTXO anonymous
ETA → MixerConfidential depositEverything hidden
Mixer → ATAPublic withdrawalWithdrawal visible, source anonymous
Mixer → ETAConfidential withdrawalEverything hidden

Multi-Hop Combinations

For maximum privacy, users can chain multiple hops:

RouteUse Case
ATA → Mixer → ATABreak transaction links between public addresses
ATA → Mixer → ETAPublic deposit, confidential withdrawal
ETA → Mixer → ATAConfidential deposit, public withdrawal
ETA → Mixer → ETAMaximum privacy: confidential in, anonymous mixing, confidential out

Registration Requirements

Before interacting with Umbra, users may need to register cryptographic material depending on their intended use:

RegistrationRequired ForInstruction
X25519 Public KeyReceiving ETA transfers, ETA visibilityRegisterX25519Pubkey
User CommitmentReceiving mixer UTXOs, mixer interactionsRegisterUserCommitment

Registration Combinations

X25519 RegisteredCommitment RegisteredCapabilities
Public transfers only (standard Solana)
Confidential transfers (ETA ↔ ETA), no mixer
Mixer only (unusual configuration)
Full Umbra functionality

The Mixing Delay

When depositing into the mixer pool, a mixing delay is enforced before the UTXO can be burned. This delay is critical for privacy.

Why the Delay Matters

Without a mixing delay, an observer could correlate deposits and withdrawals by timing:

With a mixing delay, many deposits accumulate before any can be withdrawn, creating an anonymity set:

Delay Mechanics

AspectDetails
Minimum DelayProtocol-enforced waiting period after deposit
Anonymity SetAll UTXOs deposited during the delay period
Optimal StrategyWait longer than minimum for larger anonymity set
EnforcementOn-chain timestamp checks during burn

The longer you wait beyond the minimum delay, the larger your anonymity set becomes as more users deposit into the pool.


Transaction Types Quick Reference

Registration Instructions

InstructionPurposeLink
RegisterX25519PubkeyEnable ETA visibilityX25519 Registration
RegisterUserCommitmentEnable mixer interactionsCommitment Registration

Transfer Instructions

InstructionFlowLink
ConfidentialTransferETA → ETA / ETA → ATAConfidential Transfers
DepositFromATAATA → MixerUTXO Creation (Public)
DepositFromETAETA → MixerUTXO Creation (Confidential)
BurnToATAMixer → ATAUTXO Burn (Public)
BurnToETAMixer → ETAUTXO Burn (Confidential)

Sending to Non-Registered Users

A powerful feature of Umbra is the ability to send funds to users who haven't yet registered with the protocol. This is achieved through ephemeral keys and sender-initiated burns.

For a deep dive into strategies for setting the unlocking address when creating UTXOs, see Unlocking Address Strategies.

Recipient StatusStrategyDetails
RegisteredUse their User CommitmentMaximum anonymity, recipient burns when ready
Not RegisteredEphemeral keysSender creates and burns on their behalf