Skip to main content
umbra init [options]
Writes a config file to ~/.umbra-cli/config.json. Run this once before using any other command. Re-running it overwrites the existing config.

Options

FlagDefaultDescription
--keypair <path>~/.config/solana/id.jsonPath to your Solana keypair JSON file
--network <name>devnetNetwork to connect to: mainnet, devnet, or localnet
--rpc-url <url>Network defaultHTTP RPC endpoint
--rpc-subscriptions-url <url>Network defaultWebSocket RPC endpoint
--indexer-endpoint <url>Umbra devnet indexerUmbra indexer API base URL (required for UTXO commands)
--defer-master-seedfalseDelay the master seed signing prompt until the first operation that needs it

Network defaults

NetworkRPCWebSocket
mainnethttps://api.mainnet-beta.solana.comwss://api.mainnet-beta.solana.com
devnethttps://api.devnet.solana.comwss://api.devnet.solana.com
localnethttp://127.0.0.1:8899ws://127.0.0.1:8900

Examples

# Use defaults (devnet, standard keypair location)
umbra init

# Mainnet with a custom keypair
umbra init --network mainnet --keypair ~/wallets/my-wallet.json

# Custom RPC and indexer
umbra init \
  --network mainnet \
  --rpc-url https://rpc.helius.xyz/?api-key=YOUR_KEY \
  --rpc-subscriptions-url wss://rpc.helius.xyz/?api-key=YOUR_KEY \
  --indexer-endpoint https://indexer.api.umbraprivacy.com

Config file

The config is saved at ~/.umbra-cli/config.json:
{
  "network": "mainnet",
  "rpcUrl": "https://rpc.helius.xyz/?api-key=YOUR_KEY",
  "rpcSubscriptionsUrl": "wss://rpc.helius.xyz/?api-key=YOUR_KEY",
  "walletPath": "/home/user/wallets/my-wallet.json",
  "indexerApiEndpoint": "https://indexer.api.umbraprivacy.com",
  "deferMasterSeedSignature": false
}
The --indexer-endpoint is required for UTXO commands (utxo scan, utxo claim). For encrypted balance commands only (eta deposit, eta balance, eta withdraw) it can be omitted.