Skip to content

Lumen Cheat Sheet and Key Management

This guide provides essential commands for managing wallets, nodes, and validators on the Lumen network. Make sure the environment variables mentioned at the end are correctly configured before using these commands.

Set Environment Variables

Configuration:

Generated Code:

Loading...

1. Key Management

Create a New Wallet

bash
lumend keys add $WALLET

Keep the generated seed phrase safe. It is the only way to recover your wallet.

Recover Wallet from Seed Phrase

bash
lumend keys add $WALLET --recover

You will be prompted to enter your seed phrase.

List Wallets

bash
lumend keys list

Show Wallet Details

bash
lumend keys show $WALLET

Delete Wallet

bash
lumend keys delete $WALLET

2. PQC Key Management (Dilithium - Quantum-Resistant)

Lumen requires a Dilithium PQC key for all transactions (dual-sign with ed25519).
Warning: Losing either key (ed25519 or PQC) = permanent loss of funds/validator power.
Always backup hex values and keystore immediately.

Generate PQC Wallet

bash
lumend keys pqc-generate $PQC_WALLET

Output includes: Public (Hex) and Private (Hex)

Immediately copy and backup both hex values securely (offline, encrypted, multiple locations). These are your master keys for PQC signing.

Import PQC Hex

bash
cat > ~/pqc_public_hex.txt << 'EOF'
PASTE_PUBLIC_KEY_HEX_HERE
EOF
bash
cat > ~/pqc_private_hex.txt << 'EOF'
PASTE_PRIVATE_KEY_HEX_HERE
EOF

Import PQC Wallet

bash
lumend keys pqc-import \
  --name $PQC_WALLET \
  --privkey "$(cat ~/pqc_private_hex.txt)" \
  --pubkey "$(cat ~/pqc_public_hex.txt)" \
  --scheme dilithium3

Optional: Add --pqc-passphrase "strong-passphrase" for encryption.

bash
lumend keys pqc-link \
  --from $WALLET \
  --pqc $PQC_WALLET \

Enter keyring passphrase when prompted.

Verify PQC Setup

bash
lumend keys pqc-list      # List PQC keys & linked wallets
lumend keys pqc-show wallet-pqc   # Show details of one PQC key
bash
shred -u ~/pqc_private_hex.txt ~/pqc_public_hex.txt

Never leave hex files on disk! Backup hex offline first.

Requirement: Wallet must have ≥ 0.001 LMN (1000 ulmn) to execute this tx.
This is a DAO-governed parameter (dilithium3 min) and may change via governance.

bash
lumend tx pqc link-account \
  --from $WALLET \
  --pubkey "$(lumend keys pqc-show $PQC_WALLET | grep 'PubKey (hex)' | sed 's/.*: *//')" \
  --scheme dilithium3 \
  --chain-id $LUMEN_CHAIN_ID \
  --gas auto \
  --gas-prices 0ulmn \
  --node https://lumen-rpc.linknode.org \
  --yes

Verify PQC Wallet on-chain

bash
lumend query pqc account $(lumend keys show $WALLET -a) --node https://lumen-rpc.linknode.org

3. Wallet Operations

Check Balance

bash
lumend query bank balances $(lumend keys show $WALLET -a)

Send Tokens

bash
lumend tx bank send $(lumend keys show $WALLET -a) <receiver_wallet_address> <amount><denom> --chain-id $LUMEN_CHAIN_ID --gas-prices 0ulmn --gas-adjustment 1.5 --gas auto -y

Example:

bash
lumend tx bank send $(lumend keys show $WALLET -a) lmn1...yyy 1000000ulmn --chain-id $LUMEN_CHAIN_ID --gas-prices 0ulmn --gas-adjustment 1.5 --gas auto -y

Replace <amount> with the number of tokens and <denom> with the token denomination (e.g., ulmn).

Check tx hash

bash
lumend query tx <hash> --node https://lumen-rpc.linknode.org

You need indexer RPC to query tx status.

4. Node Management

Before running, ensure:

  • Node is fully synced (lumend statuscatching_up: false)
  • Wallet has enough ulmn for self-delegation
  • PQC is registered on-chain, see here

Create Validator

Configuration:

Generated Code:

Loading...
Parameter Explanation:
ParameterDetails
--amountTokens self-delegated to the validator. 1000000ulmn = 1 LMN
--fromWallet used for the transaction.
--commission-rateInitial commission rate.
--commission-max-rateMaximum allowed commission rate.
--commission-max-change-rateMax daily commission change.
--min-self-delegationMinimum tokens for self-delegation.
--pubkeyValidator's public key.
--monikerValidator nickname.
--identityKeybase ID for identity verification.
--websiteValidator's website URL.
--detailsValidator description.
--security-contactEmail for security-related contact.

Edit Validator

bash
lumend tx staking edit-validator \
--moniker "<new_moniker>" \
--identity "<new_keybase_id>" \
--website "<new_website>" \
--security-contact "<new_contact_email>" \
--details "<new_description>" \
--commission-rate "0.07" \
--chain-id $LUMEN_CHAIN_ID \
--gas-prices 0ulmn \
--gas-adjustment 1.5 \
--gas auto \
--from $WALLET \
-y

Delegate Tokens

bash
lumend tx staking delegate $(lumend keys show $WALLET --bech val -a) <amount>ulmn \
--chain-id $LUMEN_CHAIN_ID \
--gas-prices 0ulmn \
--gas-adjustment 1.5 \
--gas auto \
--from $WALLET \
-y

Withdraw Rewards (Delegator)

bash
lumend tx distribution withdraw-rewards $(lumend keys show $WALLET --bech val -a) \
--chain-id $LUMEN_CHAIN_ID \
--gas-prices 0ulmn \
--gas-adjustment 1.5 \
--gas auto \
--from $WALLET \
-y

Withdraw Rewards (Validator Commission)

bash
lumend tx distribution withdraw-rewards $(lumend keys show $WALLET --bech val -a) --commission \
--chain-id $LUMEN_CHAIN_ID \
--gas-prices 0ulmn \
--gas-adjustment 1.5 \
--gas auto \
--from $WALLET \
-y

Unbond Tokens

bash
lumend tx staking unbond $(lumend keys show $WALLET --bech val -a) <amount>ulmn \
--chain-id $LUMEN_CHAIN_ID \
--gas-prices 0ulmn \
--gas-adjustment 1.5 \
--gas auto \
--from $WALLET \
-y

Redelegate Tokens

bash
lumend tx staking redelegate $(lumend keys show $WALLET --bech val -a) <destination_validator_address> <amount>ulmn \
--chain-id $LUMEN_CHAIN_ID \
--gas-prices 0ulmn \
--gas-adjustment 1.5 \
--gas auto \
--from $WALLET \
-y

Validator Recovery (Unjail)

bash
lumend tx slashing unjail \
  --from $WALLET \
  --chain-id $LUMEN_CHAIN_ID \
  --gas auto \
  --gas-prices 0ulmn \
  --node https://lumen-rpc.linknode.org \
  --yes

5. Node Status & Info

Check Sync Status

bash
lumend status 2>&1 | jq .result.sync_info

Check Peer Info

bash
lumend status 2>&1 | jq .result.sync_info.catching_up
lumend status 2>&1 | jq .result.node_info.listen_addr

Show Node ID

bash
lumend tendermint show-node-id

Restart Node

bash
sudo systemctl restart lumend

View Node Logs

bash
sudo journalctl -u lumend -fo cat

6. Governance

List Proposals

bash
lumend query gov proposals

View Proposal Details

bash
lumend query gov proposal <proposal_id>

Vote on Proposal

bash
lumend tx gov vote <proposal_id> <yes|no|no_with_veto|abstain> \
--chain-id $LUMEN_CHAIN_ID \
--gas-prices 0ulmn \
--gas-adjustment 1.5 \
--gas auto \
--from $WALLET \
-y

7. Environment Variables

Make sure to set these in your ~/.bash_profile or equivalent shell config:

bash
export WALLET="wallet"
export MONIKER="YourMoniker"
export LUMEN_CHAIN_ID="lumen"
export LUMEN_PORT="13"

Apply the changes with:

bash
source ~/.bash_profile

This cheat sheet is provided to streamline Lumen validator and wallet management.