Skip to main content
This is a community-built CLI and is not an official product of the Umbra team. It is maintained independently as a contribution to the ecosystem.
Umbra CLI is a command-line tool for interacting with the Umbra protocol on Solana. It lets you shield tokens into encrypted balances, transfer them anonymously through the mixer, and manage everything from a single terminal command.

Extend with plugins

The CLI supports plugins — npm packages that add new commands to umbra. Install any compatible plugin and its commands are available immediately:

Two ways to use Umbra

Encrypted Token Accounts (ETA) Shield tokens from your public wallet into an on-chain encrypted balance. The balance is hidden — only you can decrypt it. Deposit, check your balance, and withdraw back to your public wallet at any time.
Stealth UTXOs (Mixer) Create stealth UTXOs in the mixer pool — anonymous token commitments that are unlinkable to their origin. Send UTXOs to other users or create them for yourself, then claim them back into your encrypted or public balance.

Command overview

CommandDescription
umbra user add <name> --backend <backend>Add a signer user (local keypair or managed wallet)
umbra user listList configured users
umbra user use <name>Set the active user for all commands
umbra user remove <name>Remove a user and its stored credentials
umbra config set <key> <value>Set a CLI-wide config value
umbra config get [key]Print one or all config values
umbra registerPublish your on-chain Umbra user account
umbra eta depositMove tokens from your public wallet into an encrypted balance
umbra eta balanceCheck your encrypted token balances
umbra eta withdrawMove tokens from your encrypted balance back to a public wallet
umbra utxo scanScan the chain for unspent stealth UTXOs
umbra utxo claimClaim found UTXOs to your wallet
umbra utxo createCreate a new stealth UTXO
umbra plugin add <name>Install a plugin from npm
umbra plugin listList installed plugins
umbra plugin remove <name>Uninstall a plugin
umbra plugin use <plugin> <name>Set the active user for a plugin

Before you start

Add a user before running any other command:
This links a signer to the CLI and sets it as the active user. Then run umbra register once to create your on-chain Umbra account. All network settings (rpcUrl, network, indexerApiEndpoint, etc.) can be configured with umbra config set. Run umbra config get to see current values.