Skip to main content

Documentation Index

Fetch the complete documentation index at: https://umbra.0xcreator.dev/llms.txt

Use this file to discover all available pages before exploring further.

umbra register [options]
Creates your on-chain Umbra identity. Registration is required before depositing, withdrawing, or using the mixer. It performs up to three on-chain transactions in order:
  1. Account initialization — creates your EncryptedUserAccount PDA on-chain.
  2. X25519 key registration — stores your encryption public key, enabling encrypted balance (Shared mode) and deposits from others.
  3. User commitment registration — registers your Poseidon commitment via a ZK proof, enabling the mixer and anonymous transfers.
Registration is idempotent. Each run checks which steps are already complete on-chain and skips them. If a previous run was interrupted, re-running will pick up where it left off.

Options

FlagDefaultDescription
--confidentialtrueRegister the X25519 key for encrypted balance support
--anonymoustrueRegister the user commitment for mixer support
--user <name>Active userRegister a specific configured user without changing the global active user. Useful for registering multiple users concurrently in automation.

Examples

# Full registration (recommended)
umbra register

# Register only for encrypted balances, skip mixer
umbra register --no-anonymous

# Register only for the mixer, skip encrypted balance
umbra register --no-confidential

# Register a specific user without switching the active user
umbra register --user alice

# Register multiple users concurrently
umbra register --user alice &
umbra register --user bob &
wait

Checking registration status

To see whether an account is already registered without submitting any transactions, run umbra register — it will report “already registered” and exit cleanly if all steps are complete.