CLI Wallet Introduction
The Namada CLI wallet provides full access to all Namada features through the command line. Perfect for power users, developers, and validators.
Time & Difficulty
⏱️ 15 minutes | 🎯 Difficulty: Intermediate-Advanced
Prerequisites
- Basic command line knowledge
- Terminal access (Linux, macOS, or WSL)
- Namada binaries installed
Installation
Option 1: Download Binaries
- Visit Namada releases
- Download for your OS
- Extract and add to PATH
# Example for Linux
wget https://github.com/anoma/namada/releases/download/v0.31.0/namada-v0.31.0-Linux-x86_64.tar.gz
tar -xzf namada-v0.31.0-Linux-x86_64.tar.gz
sudo mv namada-v0.31.0-Linux-x86_64/* /usr/local/bin/
Option 2: Build from Source
# Install Rust if needed
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
# Clone and build
git clone https://github.com/anoma/namada.git
cd namada
make install
Verify Installation
namada --version
# Output: Namada v0.31.0
namadac --version
namadaw --version
CLI Tools Overview
| Binary | Purpose |
|---|---|
namada | Node operations |
namadac | Client for transactions |
namadaw | Wallet management |
Wallet Management (namadaw)
Create New Wallet
namadaw gen --alias my-wallet
You'll be prompted for a password and shown your mnemonic:
Enter your decryption password:
Generated mnemonic code:
word1 word2 word3 ... word24
Derived transparent address: tnam1qp6eyv...
Derived shielded payment address: znam1abc...
Save Your Mnemonic
Write down all 24 words immediately. This is your only backup!
Import Existing Wallet
namadaw derive --alias imported-wallet
Enter your 24-word mnemonic when prompted.
List Addresses
# All addresses
namadaw list
# Transparent addresses only
namadaw list --transparent
# Shielded addresses only
namadaw list --shielded
Generate Shielded Payment Address
namadaw gen-payment-addr --alias payment-addr --key my-wallet
Client Operations (namadac)
Check Balance
# Transparent balance
namadac balance --owner my-wallet --token NAM
# Shielded balance
namadac balance --owner my-wallet --token NAM --shielded
Transparent Transfer
namadac transfer \
--source my-wallet \
--target tnam1qp6eyv5q2s3e4h8r7t9u0i1o2p3a4s5d6f7g8h9j \
--token NAM \
--amount 100
Shield Assets
namadac transfer \
--source my-wallet \
--target my-wallet \
--token NAM \
--amount 100 \
--shielded
Shielded Transfer
namadac transfer \
--source my-wallet \
--target znam1abc123def456... \
--token NAM \
--amount 100 \
--shielded
Unshield Assets
namadac transfer \
--source my-wallet \
--target my-wallet \
--token NAM \
--amount 100 \
--unshielded
Staking Commands
Delegate to Validator
namadac bond \
--source my-wallet \
--validator tnam1validator... \
--amount 1000
Check Bonds
namadac bonds --owner my-wallet
Unbond
namadac unbond \
--source my-wallet \
--validator tnam1validator... \
--amount 500
Claim Rewards
namadac claim-rewards \
--source my-wallet \
--validator tnam1validator...
Governance Commands
List Proposals
namadac query-proposal
Vote on Proposal
namadac vote-proposal \
--proposal-id 1 \
--vote yay \
--signer my-wallet
IBC Commands
Transfer via IBC
namadac ibc-transfer \
--source my-wallet \
--receiver cosmos1abc... \
--token NAM \
--amount 100 \
--channel-id channel-0
Configuration
Config File Location
~/.namada/
├── config.toml # Node config
├── wallet.toml # Wallet config
└── chains/
└── namada.xxx/ # Chain data
Set RPC Endpoint
export NAMADA_RPC="https://rpc.namada.net"
# Or use --node flag
namadac balance --owner my-wallet --node https://rpc.namada.net
Common Flags
| Flag | Description |
|---|---|
--node | RPC endpoint URL |
--chain-id | Specify chain ID |
--gas-limit | Set gas limit |
--gas-price | Set gas price |
--dry-run | Simulate without executing |
--force | Skip confirmations |
Useful Aliases
Add to your .bashrc or .zshrc:
alias nw='namadaw'
alias nc='namadac'
# Quick balance check
alias nam-bal='namadac balance --owner my-wallet --token NAM'
# Quick shielded balance
alias nam-sbal='namadac balance --owner my-wallet --token NAM --shielded'
Error Handling
Common Errors
"No matching keys found"
# List available keys
namadaw list
"Insufficient balance"
# Check balance first
namadac balance --owner my-wallet --token NAM
"RPC timeout"
# Try different endpoint
namadac balance --owner my-wallet --node https://other-rpc.net
Security Best Practices
- Encrypt your keys: Always use password protection
- Backup wallet files:
~/.namada/wallet.toml - Use hardware wallet: When available
- Verify addresses: Double-check before sending
- Test with small amounts: Before large transfers
Scripts and Automation
Batch Operations
#!/bin/bash
# claim-all-rewards.sh
VALIDATORS=(
"tnam1val1..."
"tnam1val2..."
"tnam1val3..."
)
for val in "${VALIDATORS[@]}"; do
namadac claim-rewards --source my-wallet --validator $val
done
Monitor Balance
#!/bin/bash
# watch-balance.sh
while true; do
clear
echo "Balance at $(date)"
namadac balance --owner my-wallet --token NAM
sleep 60
done