# CLI Cheatsheet

<figure><img src="https://explorer.indonode.net/logos/c4e.png" alt="" width="188"><figcaption></figcaption></figure>

### Key Management

Add new key

```
c4ed keys add wallet
```

Recover existing key

```
c4ed keys add wallet --recover
```

List All key

```
c4ed keys list
```

Delete key

```
c4ed keys delete wallet
```

Export Key (save to wallet.backup)

```
c4ed keys export wallet
```

Import key

```
c4ed keys import wallet wallet.backup
```

Query Wallet Balance

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

### Validator Management

Create Validator

```sh
c4ed tx staking create-validator \
  --amount "1000000uc4e" \
  --pubkey $(c4ed tendermint show-validator) \
  --moniker "MONIKER" \
  --identity "KEYBASE_ID" \
  --details "YOUR DETAILS" \
  --website "YOUR WEBSITE" \
  --chain-id perun-1 \
  --commission-rate "0.05" \
  --commission-max-rate "0.20" \
  --commission-max-change-rate "0.01" \
  --min-self-delegation "1" \
  --gas-prices="0.0025uc4e" \
  --gas="auto" \
  --gas-adjustment="1.5" \
  --from wallet \
  -y
```

Edit Validator

```sh
c4ed tx staking edit-validator \
--new-moniker="MONIKER" \
--identity="YOUR_KEYBASE_ID" \
--details="YOUR_DETAILS" \
--website="YOUR_WEBSITE_URL" \
--chain-id babajaga-1 \
--commission-rate=0.05 \
--gas-prices="0.0025uc4e" \
--gas="auto" \
--gas-adjustment="1.5" \
--from wallet \
-y
```

Unjail Validator

```sh
c4ed tx slashing unjail --from wallet --chain-id babajaga-1 --gas-prices=0.0025uc4e --gas-adjustment 1.5 --gas auto -y 
```

Signing Info

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

List all active validators

```sh
c4ed 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 
```

List all inactive validators

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

View validators details

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

### Token Management

Withdraw rewards from all validators

```sh
c4ed tx distribution withdraw-all-rewards --from wallet --chain-id babajaga-1 --gas-prices=0.0025uc4e --gas-adjustment 1.5 --gas auto -y 
```

Withdraw comission and rewards from your validator

```sh
c4ed tx distribution withdraw-rewards $(c4ed keys show wallet --bech val -a) --commission --from wallet --chain-id babajaga-1 --gas-prices=0.0025uc4e --gas-adjustment 1.5 --gas auto -y 
```

Delegate to your validator

```sh
c4ed tx staking delegate $(c4ed keys show wallet --bech val -a) 1000000uc4e --from wallet --chain-id babajaga-1 --gas-prices=0.0025uc4e --gas-adjustment 1.5 --gas auto -y 
```

Delegate to other

```sh
c4ed tx staking delegate TO_VALOPER_ADDRESS 1000000uc4e --from wallet --chain-id babajaga-1 --gas-prices=0.0025uc4e --gas-adjustment 1.5 --gas auto -y 
```

Redelegate your stake to other validators

```sh
c4ed tx staking redelegate $(c4ed keys show wallet --bech val -a) TO_VALOPER_ADDRESS 1000000uc4e --from wallet --chain-id babajaga-1 --gas-prices=0.0025uc4e --gas-adjustment 1.5 --gas auto -y 
```

Unbond stake

```sh
c4ed tx staking unbond $(c4ed keys show wallet --bech val -a) 1000000uc4e --from wallet --chain-id babajaga-1 --gas-prices=0.0025uc4e --gas-adjustment 1.5 --gas auto -y 
```

Send tokens

```sh
c4ed tx bank send wallet TO_WALLET_ADDRESS 1000000uc4e --from wallet --chain-id babajaga-1 --gas-prices=0.0025uc4e --gas-adjustment 1.5 --gas auto -y 
```

### Governance

List all proposals

<pre class="language-sh"><code class="lang-sh"><strong>c4ed query gov proposals
</strong></code></pre>

Vote **YES / NO / ABSTAIN / NO\_WITH\_VETO**

```sh
c4ed tx gov vote 1 yes --from wallet --chain-id babajaga-1 --gas-prices=0.0025uc4e --gas-adjustment 1.5 --gas auto -y 
```

Create new text proposal

```sh
c4ed tx gov submit-proposal \
--title="Title" \
--description="Description" \
--deposit=100000000uc4e \
--type="Text" \
--from=wallet \
--gas-prices 0.0025uc4e\ 
--gas-adjustment 1.5 \
--gas auto \
-y 
```

### Utility

Set Indexer **NULL / KV**

```sh
sed -i 's|^indexer *=.*|indexer = "null"|' $HOME/.c4e-chain/config/config.toml
```

Set Custom Port

```sh
CUSTOM_PORT=13
sed -i.bak -e "s%^proxy_app = \"tcp://127.0.0.1:26658\"%proxy_app = \"tcp://127.0.0.1:${CUSTOM_PORT}658\"%; s%^laddr = \"tcp://127.0.0.1:26657\"%laddr = \"tcp://127.0.0.1:${CUSTOM_PORT}657\"%; s%^pprof_laddr = \"localhost:6060\"%pprof_laddr = \"localhost:${CUSTOM_PORT}060\"%; s%^laddr = \"tcp://0.0.0.0:26656\"%laddr = \"tcp://0.0.0.0:${CUSTOM_PORT}656\"%; s%^prometheus_listen_addr = \":26660\"%prometheus_listen_addr = \":${CUSTOM_PORT}660\"%" $HOME/.c4e-chain/config/config.toml
sed -i.bak -e "s%^address = \"tcp://0.0.0.0:1317\"%address = \"tcp://0.0.0.0:${CUSTOM_PORT}317\"%; s%^address = \":8080\"%address = \":${CUSTOM_PORT}080\"%; s%^address = \"0.0.0.0:9090\"%address = \"0.0.0.0:${CUSTOM_PORT}090\"%; s%^address = \"0.0.0.0:9091\"%address = \"0.0.0.0:${CUSTOM_PORT}091\"%; s%^address = \"0.0.0.0:8545\"%address = \"0.0.0.0:${CUSTOM_PORT}545\"%; s%^ws-address = \"0.0.0.0:8546\"%ws-address = \"0.0.0.0:${CUSTOM_PORT}546\"%" $HOME/.c4e-chain/config/app.toml
```

Get Validator info

```sh
c4ed status 2>&1 | jq .ValidatorInfo
```

Get denom info

```sh
c4ed q bank denom-metadata -oj | jq
```

Get sync status

```sh
c4ed status 2>&1 | jq .SyncInfo.catching_up
```

Get latest height

```sh
c4ed status 2>&1 | jq .SyncInfo.latest_block_height
```

Reset Node

```sh
c4ed tendermint unsafe-reset-all --home $HOME/.c4e-chain --keep-addr-book
```

Delete Node

```sh
sudo systemctl stop c4ed && sudo systemctl disable c4ed && sudo rm /etc/systemd/system/c4ed.service && sudo systemctl daemon-reload && rm -rf $HOME/.c4e-chain && sudo rm -rf $(which c4ed) 
```

### Services Management

```sh
# Reload Service
sudo systemctl daemon-reload

# Enable Service
sudo systemctl enable c4ed

# Disable Service
sudo systemctl disable c4ed

# Start Service
sudo systemctl start c4ed

# Stop Service
sudo systemctl stop c4ed

# Restart Service
sudo systemctl restart c4ed

# Check Service Status
sudo systemctl status c4ed

# Check Service Logs
sudo journalctl -u c4ed -f --no-hostname -o cat
```


---

# 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://docs.indonode.net/testnet/c4e-t/cheat.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.
