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-cli demo

Install

npm install --global umbraprivacy-cli

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).
umbra user add alice --backend local
The CLI defaults to ~/.config/solana/id.json. Pass --param keypair=<path> to use a different file:
umbra user add alice --backend local --param keypair=~/wallets/my-wallet.json
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:
umbra config set network mainnet
umbra config set rpcUrl https://api.mainnet-beta.solana.com
umbra config set rpcSubscriptionsUrl wss://api.mainnet-beta.solana.com
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.
umbra register
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).
# Deposit 100 USDC (6 decimals → 100_000_000 base units)
umbra eta deposit EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v 100000000
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

umbra eta balance EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v
Pass multiple mints to check several at once:
umbra eta balance <mint1> <mint2> <mint3>

Step 6 — Withdraw

Move tokens back to your public wallet:
umbra eta withdraw EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v 50000000

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.