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:
| Domain | Account Type | Balance Visibility | Ownership Visibility | Privacy Level |
|---|---|---|---|---|
| Public | ATA | Visible | Visible | None |
| Confidential | ETA | Encrypted | Visible | Amount hidden |
| Anonymous | Mixer UTXO | Hidden | Hidden | Full 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)
| Flow | Description | Privacy |
|---|---|---|
| ATA → ATA | Standard Solana transfer | None (fully public) |
| ATA → ETA | Shield public funds | Amount hidden after transfer |
| ETA → ATA | Unshield to public | Amount becomes visible |
| ETA → ETA | Confidential transfer | Amounts always hidden |
Mixer Flows (Maximum Anonymity)
| Flow | Description | Privacy |
|---|---|---|
| ATA → Mixer | Public deposit | Deposit visible, UTXO anonymous |
| ETA → Mixer | Confidential deposit | Everything hidden |
| Mixer → ATA | Public withdrawal | Withdrawal visible, source anonymous |
| Mixer → ETA | Confidential withdrawal | Everything hidden |
Multi-Hop Combinations
For maximum privacy, users can chain multiple hops:
| Route | Use Case |
|---|---|
| ATA → Mixer → ATA | Break transaction links between public addresses |
| ATA → Mixer → ETA | Public deposit, confidential withdrawal |
| ETA → Mixer → ATA | Confidential deposit, public withdrawal |
| ETA → Mixer → ETA | Maximum 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:
| Registration | Required For | Instruction |
|---|---|---|
| X25519 Public Key | Receiving ETA transfers, ETA visibility | RegisterX25519Pubkey |
| User Commitment | Receiving mixer UTXOs, mixer interactions | RegisterUserCommitment |
Registration Combinations
| X25519 Registered | Commitment Registered | Capabilities |
|---|---|---|
| ✗ | ✗ | 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
| Aspect | Details |
|---|---|
| Minimum Delay | Protocol-enforced waiting period after deposit |
| Anonymity Set | All UTXOs deposited during the delay period |
| Optimal Strategy | Wait longer than minimum for larger anonymity set |
| Enforcement | On-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
| Instruction | Purpose | Link |
|---|---|---|
RegisterX25519Pubkey | Enable ETA visibility | X25519 Registration |
RegisterUserCommitment | Enable mixer interactions | Commitment Registration |
Transfer Instructions
| Instruction | Flow | Link |
|---|---|---|
ConfidentialTransfer | ETA → ETA / ETA → ATA | Confidential Transfers |
DepositFromATA | ATA → Mixer | UTXO Creation (Public) |
DepositFromETA | ETA → Mixer | UTXO Creation (Confidential) |
BurnToATA | Mixer → ATA | UTXO Burn (Public) |
BurnToETA | Mixer → ETA | UTXO 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 Status | Strategy | Details |
|---|---|---|
| Registered | Use their User Commitment | Maximum anonymity, recipient burns when ready |
| Not Registered | Ephemeral keys | Sender creates and burns on their behalf |