# Useful commands

## 🖊️Working with your wallet🖊️

**Add new key**

```
lavad keys add wallet
```

**Recover existing key**

```
lavad keys add wallet --recover
```

**Query wallet balance**

```
lavad q bank balances $(lavad keys show wallet -a)
```

**List all keys**

```
lavad keys list
```

**Delete key**

```
lavad keys delete wallet
```

**Export key to a file**

```
lavad keys export wallet
```

**Import key from a file**

```
lavad keys import wallet wallet.backup
```

***

## 🔧Service🔧

**Info**

```
lavad status 2>&1 | jq .NodeInfo
lavad status 2>&1 | jq .SyncInfo
lavad status 2>&1 | jq .ValidatorInfo
```

**Check node logs**

```
sudo journalctl -fu lavad -o cat
```

**Check service status**

```
sudo systemctl status lavad 
```

**Restart service**

```
sudo systemctl restart lavad 
```

**Stop service**

```
sudo systemctl stop lavad 
```

**Start service**

```
sudo systemctl start lavad 
```

**Reload, disable, enable**

```
sudo systemctl daemon-reload
sudo systemctl disable lavad 
sudo systemctl enable lavad 
```

**Your Peer**

```
echo $(lavad tendermint show-node-id)'@'$(wget -qO- eth0.me)':'$(cat $HOME/.lava/config/config.toml | sed -n '/Address to listen for incoming connection/{n;p;}' | sed 's/.*://; s/".*//')
```

***

## 🔗Validator Management🔗

**Create new validator**

```
lavad tx staking create-validator \
  --amount 1000000ulava \
  --from <walletName> \
  --commission-max-change-rate "0.01" \
  --commission-max-rate "0.20" \
  --commission-rate "0.05" \
  --min-self-delegation "1" \
  --pubkey  $(lavad tendermint show-validator) \
  --moniker YOUR_MONIKER_NAME \
  --chain-id lava-mainnet-1 \
  --identity="YOUR_KEYBASE_ID" \
  --details="YOUR_DETAILS" \
  --website="YOUR_WEBSITE_URL" -y
```

**Edit Validator**

```
lavad tx staking edit-validator \
--new-moniker "YOUR_MONIKER_NAME" \
--identity "YOUR_KEYBASE_ID" \
--details "YOUR_DETAILS" \
--website "YOUR_WEBSITE_URL" \
--security-contact "Your_Email" \
--chain-id lava-mainnet-1 \
--commission-rate 0.05 \
--from <walletName> \
--gas 350000 -y
```

**Jail Info**

```
lavad query slashing signing-info $(lavad tendermint show-validator)
```

**Unjail**

```
lavad  tx slashing unjail --from Wallet_name --chain-id lava-mainnet-1 --gas 350000 --fees "7000"ulava  -y
```

**Active Validators List**

```
lavad q staking validators -oj --limit=3000 | jq '.validators[] | select(.status=="BOND_STATUS_BONDED")' | jq -r '(.tokens|tonumber/pow(10; 6)|floor|tostring) + " \t " + .description.moniker' | sort -gr | nl
```

**Inactive Validators List**

```
lavad q staking validators -oj --limit=3000 | jq '.validators[] | select(.status=="BOND_STATUS_UNBONDED")' | jq -r '(.tokens|tonumber/pow(10; 6)|floor|tostring) + " \t " + .description.moniker' | sort -gr | nl
```

**View validator details**

```
lavad q staking validator $(lavad keys show wallet --bech val -a)
```

***

## 🔈Governance🔈 <a href="#governance" id="governance"></a>

**List all proposals**

```
lavad query gov proposals
```

**View specific proposal**

```
lavad query gov proposal 1
```

**Vote yes**

```
lavad tx gov vote 1 yes --from Wallet_Name --gas 350000 --fees "7000"ulava --chain-id=lava-mainnet-1 -y
```

**Vote no**

```
lavad tx gov vote 1 no --from Wallet_Name --gas 350000 --fees "7000"ulava --chain-id=lava-mainnet-1 -y
```

**Vote abstain**

```
lavad tx gov vote 1 abstain --from Wallet_Name --gas 350000 --fees "7000"ulava --chain-id=lava-mainnet-1 -y
```

**Vote no\_with\_veto**

```
lavad tx gov vote 1 no_with_veto --from Wallet_Name --gas 350000 --fees "7000"ulava --chain-id=lava-mainnet-1 -y
```

***

## ⚙️Token management⚙️ <a href="#token-management" id="token-management"></a>

**Withdraw all rewards from all validators**

```
lavad tx distribution withdraw-all-rewards --from Wallet_Name --chain-id lava-mainnet-1 --gas 350000 --fees "7000"ulava   -y
```

**Withdraw and commission from your Validator**

```
lavad tx distribution withdraw-rewards valoper1amxp0k0hg4edrxg85v07t9ka2tfuhamhldgf8e --from Wallet_Name --gas 350000 --fees "7000"ulava --chain-id=lava-mainnet-1 --commission -y
```

**Delegate tokens to your validator**

```
lavad tx staking delegate Your_valpoer........ "100000000"ulava --from Wallet_Name --gas 350000 --fees "7000"ulava --chain-id=lava-mainnet-1 -y
```

**Delegate tokens to different validator**

```
lavad tx staking delegate valpoer........ "100000000"ulava --from Wallet_Name --gas 350000 --fees "7000"ulava --chain-id=lava-mainnet-1 -y
```

**Redelegate tokens to another validator**

```
lavad tx staking redelegate Your_valpoer........ valpoer........ "100000000"ulava --from Wallet_Name --gas 350000 --fees "7000"ulava --chain-id=lava-mainnet-1 -y
```

**Unbond tokens from your validator**

```
lavad tx staking unbond Your_valpoer........ "100000000"ulava --from Wallet_Name --gas 350000 --fees "7000"ulava --chain-id=lava-mainnet-1 -y
lavad tx staking unbond valpoer........ "100000000"ulava --from Wallet_Name --gas 350000 --fees "7000"ulava --chain-id=lava-mainnet-1 -y
```

**Send tokens to the wallet**

```
lavad tx bank send Your_address............ address........... "1000000000000000000"ulava --gas 350000 --fees "7000"ulava --chain-id=lava-mainnet-1 -y
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://service.block-pro.net/mainnet/lava/useful-commands.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
