Skip to main content

CLI Cheatsheet

Essential CLI commands for managing your Axelar node and validator.

Key Management

Add New Key

axelard keys add KEY

Recover Key (via existing mnemonic)

axelard keys add KEY --recover

List All Keys

axelard keys list

Delete Key

axelard keys delete KEY

Wallet Operations

Check Wallet Balance

axelard q bank balances $(axelard keys show KEY -a) --node https://t-axelar-rpc.ruangnode.com:443

Send Tokens

axelard tx bank send YOUR_KEY RECEIVER_ADDRESS 1000000uaxl \
--chain-id axelar-testnet-lisbon-3 \
--node https://t-axelar-rpc.ruangnode.com:443 --fees 700uaxl \
--from KEY

Withdraw Rewards from All Validators

axelard tx distribution withdraw-all-rewards \
--chain-id axelar-testnet-lisbon-3 \
--node https://t-axelar-rpc.ruangnode.com:443 --fees 700uaxl \
--from KEY

Withdraw Rewards Including Commission

axelard tx distribution withdraw-rewards VALIDATOR_ADDRESS \
--commission \
--chain-id axelar-testnet-lisbon-3 \
--node https://t-axelar-rpc.ruangnode.com:443 --fees 700uaxl \
--from KEY

Staking Operations

Delegate Tokens to Yourself

axelard tx staking delegate $(axelard keys show KEY --bech val -a) 1000000uaxl \
--chain-id axelar-testnet-lisbon-3 \
--node https://t-axelar-rpc.ruangnode.com:443 --fees 700uaxl \
--from KEY

Delegate Tokens to Validator

axelard tx staking delegate VALIDATOR_ADDRESS 1000000uaxl \
--chain-id axelar-testnet-lisbon-3 \
--node https://t-axelar-rpc.ruangnode.com:443 --fees 700uaxl \
--from KEY

Redelegate Tokens to Another Validator

axelard tx staking redelegate $(axelard keys show KEY --bech val -a) VALIDATOR_ADDRESS 1000000uaxl \
--chain-id axelar-testnet-lisbon-3 \
--node https://t-axelar-rpc.ruangnode.com:443 --fees 700uaxl \
--from KEY

Unbond Tokens from Your Validator

axelard tx staking unbond $(axelard keys show KEY --bech val -a) 1000000uaxl \
--chain-id axelar-testnet-lisbon-3 \
--node https://t-axelar-rpc.ruangnode.com:443 --fees 700uaxl \
--from KEY

Governance

List All Proposals

axelard query gov proposals --node https://t-axelar-rpc.ruangnode.com:443

Check Vote

axelard query gov proposal PROPOSAL_NUMBER \
--chain-id axelar-testnet-lisbon-3 \
--node https://t-axelar-rpc.ruangnode.com:443 \
--output json | jq

Vote on Proposal

Vote options: yes, no, no_with_veto, abstain

axelard tx gov vote PROPOSAL_NUMBER VOTE_OPTION \
--chain-id axelar-testnet-lisbon-3 \
--node https://t-axelar-rpc.ruangnode.com:443 --fees 700uaxl \
--from KEY

Validator Management

Create Validator

axelard tx staking create-validator \
--amount 1000000uaxl \
--commission-max-change-rate "0.05" \
--commission-max-rate "0.10" \
--commission-rate "0.05" \
--min-self-delegation "1" \
--pubkey=$(axelard tendermint show-validator) \
--moniker "YOUR_MONIKER" \
--website "https://yourwebsite.com" \
--identity "YOUR_KEYBASE_ID" \
--details "YOUR_DETAILS" \
--security-contact="your@email.com" \
--chain-id axelar-testnet-lisbon-3 \
--node https://t-axelar-rpc.ruangnode.com:443 --fees 700uaxl \
--from KEY

Edit Validator

axelard tx staking edit-validator \
--new-moniker "YOUR_MONIKER_NAME" \
--identity "YOUR_KEYBASE_ID" \
--details "YOUR_DETAILS" \
--website "YOUR_WEBSITE_URL" \
--chain-id axelar-testnet-lisbon-3 \
--commission-rate 0.05 \
--from KEY \
--node https://t-axelar-rpc.ruangnode.com:443 --fees 700uaxl

Unjail Validator

axelard tx slashing unjail \
--chain-id axelar-testnet-lisbon-3 \
--node https://t-axelar-rpc.ruangnode.com:443 --fees 700uaxl \
--from KEY

Check Jail Reason

axelard query slashing signing-info $(axelard tendermint show-validator)

Get Validator Details

axelard q staking validator $(axelard keys show KEY --bech val -a)

Node Maintenance

Get Validator Info

axelard status 2>&1 | jq .ValidatorInfo

Get Sync Info

axelard status 2>&1 | jq .SyncInfo

Get Node Peer

echo $(axelard tendermint show-node-id)'@'$(curl -s ifconfig.me)':'$(cat $HOME/.axelar/config/config.toml | sed -n '/Address to listen for incoming connection/{n;p;}' | sed 's/.*://; s/".*//')

Check if Validator Key is Correct

[[ $(axelard q staking validator $(axelard keys show KEY --bech val -a) -oj | jq -r .consensus_pubkey.key) = $(axelard status | jq -r .ValidatorInfo.PubKey.value) ]] && echo -e "\n\e[1m\e[32mTrue\e[0m\n" || echo -e "\n\e[1m\e[31mFalse\e[0m\n"

Get Live Peers

curl -sS https://t-axelar-rpc.ruangnode.com:443/net_info | jq -r '.result.peers[] | "\(.node_info.id)@\(.remote_ip):\(.node_info.listen_addr)"' | awk -F ':' '{print $1":"$(NF)}'

Set Minimum Gas Price

sed -i -e "s/^minimum-gas-prices *=.*/minimum-gas-prices = \"0.007uaxl\"/" $HOME/.axelar/config/app.toml

Enable Prometheus

sed -i -e "s/prometheus = false/prometheus = true/" $HOME/.axelar/config/config.toml

Reset Chain Data

axelard tendermint unsafe-reset-all --keep-addr-book --home $HOME/.axelar

Service Management

Reload Service Configuration

sudo systemctl daemon-reload

Enable Service

sudo systemctl enable axelard

Disable Service

sudo systemctl disable axelard

Start Service

sudo systemctl start axelard

Stop Service

sudo systemctl stop axelard

Restart Service

sudo systemctl restart axelard

Check Service Status

sudo systemctl status axelard

Check Service Logs

sudo journalctl -u axelard -f --no-hostname -o cat

Remove Node

Complete Node Removal

cd $HOME
sudo systemctl stop axelard
sudo systemctl disable axelard
sudo rm /etc/systemd/system/axelard.service
sudo systemctl daemon-reload
rm -f $(which axelard)
rm -rf $HOME/.axelar
rm -rf $HOME/axelar