Umbra Privacy LogoUmbra Privacy
Transaction Lifecycle

X25519 Public Key Registration

Registering your X25519 public key to enable encrypted token account visibility and receive confidential transfers

Before you can receive confidential transfers or view your Encrypted Token Account (ETA) balances, you must register your X25519 public key on-chain. This registration enables other users and the MPC network to encrypt data specifically for you.


Why Registration is Required

The X25519 Keypair is used for Diffie-Hellman key exchange-deriving shared secrets with other parties. For someone to encrypt data for you (whether it's a transfer amount or MPC computation result), they need your public key.

Without registration:

  • No one can look up your X25519 public key
  • Senders cannot encrypt transfer amounts for you
  • The MPC cannot encrypt computation results for you
  • You cannot receive ETA transfers

What Gets Registered

FieldDescription
X25519 Public KeyYour 32-byte Curve25519 public key
Associated L1 AddressThe Solana address this key is registered under

The registration creates an on-chain mapping from your L1 address to your X25519 public key, allowing anyone to look up the correct encryption key for sending you confidential transfers.


Registration Process

Step 1: Generate Your X25519 Keypair

If you haven't already, generate your X25519 keypair. This can be done:

MethodDescription
DeterministicallyDerive from your master seed or L1 private key
RandomlyGenerate independently for information-theoretic security

For details on key generation approaches, see X25519 Keypair.

Step 2: Submit Registration Transaction

Call the RegisterX25519Pubkey instruction with your public key:

Step 3: Verification

After registration, your X25519 public key is stored on-chain and can be queried by:

  • Other users wanting to send you confidential transfers
  • The Arcium MPC network for encrypting computation results
  • Any application integrating with Umbra

Capabilities Unlocked

Once your X25519 public key is registered, you gain the following capabilities:

CapabilityDescription
Receive ETA TransfersOthers can send you confidential transfers with encrypted amounts
View ETA BalancesDerive the shared secret with MXE to decrypt your balances
MPC CommunicationReceive encrypted results from MPC computations
Peer-to-Peer EncryptionEstablish shared secrets with other registered users

What You Still Cannot Do

Registration of X25519 alone does not enable:

CapabilityRequired Registration
Receive mixer UTXOsUser Commitment Registration
Interact with mixer poolUser Commitment Registration
Spend mixer UTXOsUser Commitment Registration

If you only need confidential transfers (ETA ↔ ETA) and don't need the anonymity provided by the mixer pool, X25519 registration alone is sufficient.


Security Considerations

Key Custody

ConsiderationRecommendation
Private Key StorageNever expose your X25519 private key
BackupEnsure private key is backed up (or derivable from master seed)
Compromise ImpactIf compromised, attacker can see your ETA balances but cannot steal funds

Registration Immutability

Once registered, your X25519 public key is associated with your L1 address. Key rotation is not currently a supported protocol operation. If your X25519 private key is compromised:

  1. Your ETA balance visibility is compromised
  2. You can still control funds via your L1 key
  3. Consider migrating to a new L1 address with fresh keys

Relationship to Other Registrations

X25519 registration is independent from User Commitment registration:

RegistrationPurposeCan Be Done Alone?
X25519 OnlyETA-only usage, confidential transfersYes
Commitment OnlyMixer-only usage (unusual)Yes
BothFull Umbra functionalityYes (recommended)

Summary

AspectDetails
PurposeEnable ETA visibility and receiving confidential transfers
What's RegisteredX25519 public key (32 bytes)
EnablesETA transfers, balance visibility, MPC communication
Does Not EnableMixer interactions (requires User Commitment)
SecurityCompromise affects visibility only, not fund control