Umbra Privacy LogoUmbra Privacy
Transaction Lifecycle

Unlocking Address Strategies

Choosing between registered commitments and ephemeral keys when creating UTXOs for different recipients

When creating a UTXO in the Unified Mixer Pool, you must set an unlocking address-the User Commitment that determines who can spend the UTXO. Your strategy depends on whether the recipient is registered with Umbra.


The Two Strategies

StrategyWhen to UseWho Burns
Registered CommitmentRecipient has registered their User CommitmentRecipient
Ephemeral KeysRecipient is not registered with UmbraSender

Strategy 1: Registered Commitment (Maximum Anonymity)

When the recipient has registered their User Commitment, you can use it directly as the unlocking address.

How It Works

UTXO Fields

FieldValue
Unlocking AddressRecipient's registered User Commitment
Destination AddressRecipient's L1 address

Who Does What

ActorActions
SenderCreates UTXO, funds deposit
RecipientWaits for mixing delay, generates ZK proof, burns UTXO

Privacy Analysis

AspectPrivacy Level
Sender AnonymityMaximum-recipient doesn't know who sent
Recipient AnonymityMaximum-part of full anonymity set
Amount PrivacyDepends on deposit source (ATA vs ETA)
Link BreakingComplete-no correlation possible

Why This Is Preferred

AdvantageExplanation
Full Anonymity SetRecipient's withdrawal is indistinguishable from all other burns
Sender PrivacySender doesn't need to reveal themselves
Timing FreedomRecipient chooses when to withdraw
Self-CustodyRecipient controls their own keys

Strategy 2: Ephemeral Keys (Non-Registered Recipients)

When the recipient hasn't registered with Umbra, you can still send them funds using ephemeral keys-a temporary set of keys you generate specifically for this UTXO.

How It Works

Ephemeral Keys Generated

You generate a complete set of keys for the ephemeral commitment:

KeyPurpose
Ephemeral L1 KeyPart of commitment hash (can be recipient's L1)
Ephemeral Spending KeyRequired for ZK proof generation
Ephemeral MVKRequired for commitment construction
Blinding FactorsRequired for commitment computation

UTXO Fields

FieldValue
Unlocking AddressEphemeral User Commitment (you control)
Destination AddressRecipient's L1 address

Who Does What

ActorActions
SenderGenerates ephemeral keys, creates UTXO, waits for delay, burns UTXO
RecipientNothing-funds arrive at their ATA or ETA

The Burn Process

Since you hold the ephemeral keys, you can generate the ZK proof and burn the UTXO:


Comparison of Strategies

AspectRegistered CommitmentEphemeral Keys
Recipient SetupMust be registeredNo setup required
Who BurnsRecipientSender
Recipient's ActionMust generate proof and burnNone (passive receipt)
Sender PrivacyMaximumSender knows the link
Recipient AnonymityFull anonymity setReduced (sender knows)
Timing ControlRecipient choosesSender controls
Key CustodyRecipient controls keysSender controls ephemeral keys
ComplexityLower for senderHigher for sender

When to Use Ephemeral Keys

Use Case 1: Onboarding New Users

Send funds to someone who hasn't joined Umbra yet:

The recipient doesn't need to understand Umbra-they just receive tokens in their regular Solana wallet.

Use Case 2: One-Time Payments

For single payments where the recipient won't use Umbra regularly:

ScenarioStrategy
Paying a merchantEphemeral keys → burn to their ATA
Refund to customerEphemeral keys → burn to their wallet
Gift to friendEphemeral keys → burn to their address

Use Case 3: Automated Payments

Systems that need to distribute funds programmatically:


Privacy Considerations

Ephemeral Key Limitations

When using ephemeral keys, be aware of reduced privacy:

LimitationExplanation
Sender Knows LinkYou created the UTXO and burned it-you know the connection
Timing CorrelationIf you burn immediately after delay, timing narrows candidates
Amount KnowledgeYou know exactly what the recipient received

Mitigations

MitigationHow It Helps
Encourage RegistrationAsk recipients to register for future payments
Variable TimingWait random time beyond minimum delay
Batch BurnsBurn multiple UTXOs in one transaction to obfuscate

Trust Model

StrategyTrust Required
Registered CommitmentNo trust-recipient controls everything
Ephemeral KeysRecipient trusts sender to burn and not keep records

Destination Address Options

Regardless of which strategy you use, the destination address determines where funds go when burned:

Burn to ATA (Public)

AspectDetails
AmountVisible on-chain after burn
Recipient AddressVisible
Best ForNon-Umbra users, off-ramping

Burn to ETA (Confidential)

AspectDetails
AmountStays hidden (encrypted)
Recipient AddressVisible
RequirementRecipient must have X25519 registered
Best ForContinued confidentiality

Complete Flow Examples

Example 1: Sending to Registered User

Alice wants to send 100 USDC to Bob, who is registered:

Privacy Result: Maximum anonymity for both parties.

Example 2: Sending to Non-Registered User

Alice wants to send 100 USDC to Carol, who isn't registered:

Privacy Result: Carol receives anonymous funds, but Alice knows the connection.

Example 3: Onboarding with Future Registration

Alice sends to David, expecting him to register later:


Implementation Considerations

Ephemeral Key Storage

When using ephemeral keys, you must store them until the burn is complete:

What to StoreWhy
Ephemeral Spending KeyRequired for ZK proof
Ephemeral MVKRequired for commitment reconstruction
Blinding FactorsRequired for ZK proof
UTXO DataRequired for proof generation

After burning, you can discard the ephemeral keys.

Automation

For systems making many payments:

For automated systems, the flow involves generating ephemeral keys, computing the ephemeral commitment, creating the UTXO with that commitment as the unlocking address, storing the ephemeral keys securely, and scheduling the burn after the mixing delay.


Summary

AspectRegistered CommitmentEphemeral Keys
Best ForMaximum privacy, registered usersNon-registered recipients, onboarding
Who BurnsRecipientSender
AnonymityFullReduced (sender knows link)
Recipient ActionMust burn themselvesNone required
ComplexitySimpleMore complex (key management)
RecommendationPreferred when possibleFallback for non-registered

Decision Flowchart