Skip to main content
umbra-cli demo

Install

Step 1 — Add a user

Link a signer to the CLI. The simplest option is a local Solana keypair file (the same format used by solana-keygen).
The CLI defaults to ~/.config/solana/id.json. Pass --param keypair=<path> to use a different file:
For managed wallet providers (Privy, Turnkey, Para), see user add for the required params. The first user you add is automatically set as the active user. To switch later, run umbra user use <name>.

Step 2 — Configure the network

By default the CLI connects to devnet. To switch to mainnet:
Run umbra config get at any time to see current settings.

Step 3 — Register

Create your on-chain Umbra account. This publishes your encryption key and user commitment to the Solana network, enabling both encrypted balances and the mixer.
Registration is a one-time step per wallet. It performs up to three on-chain transactions and skips any that are already complete — so it’s safe to run again if interrupted.
Your wallet will prompt you to sign a message during registration. This signature derives your master seed — the root of Umbra’s key hierarchy. It is not a transaction and costs no SOL.

Step 4 — Deposit

Move tokens from your public wallet into an encrypted balance. Amounts are in native token units (accounting for decimals).
The command waits for the Arcium MPC callback to confirm before returning. You’ll see two transaction signatures: the queue tx and the callback tx.

Step 5 — Check your balance

Pass multiple mints to check several at once:

Step 6 — Withdraw

Move tokens back to your public wallet:

Next steps

  • Use --recipient on eta deposit to shield tokens directly into another user’s encrypted balance.
  • Use utxo create and utxo claim for anonymous mixer transfers.
  • Run any command with --help for the full option list.