Overview
Cheqd is a blockchain network in the Cosmos ecosystem focused on improving privacy, trust, and decentralization in digital interactions. It aims to enable secure, direct communication without centralized control, support new business models for decentralized identity using its $CHEQ token, and bridge decentralized identity with DeFi for better user experiences and compliance.
Cheqd’s key innovation lies in decentralized identity technologies like Decentralized Identifiers (DIDs) and Verifiable Credentials (VCs), allowing users to securely manage their digital identities without needing multiple accounts and passwords. By introducing Self-Sovereign Identity (SSI), Cheqd puts control back in users' hands, offering more secure, seamless digital interactions while protecting privacy.
A central feature of this approach is “Creds” - portable, private, verifiable credentials that can be securely shared across platforms. Unlike public NFTs, these credentials remain private and revocable, making them ideal for various use cases.
Overall, Cheqd provides a forward-looking solution for digital identity management, emphasizing user control, security, and trust in an increasingly digital world.
Public Endpoints
| Type | Endpoint | Link |
|---|---|---|
| RPC | https://cheqd-mainnet-rpc.crouton.digital | |
| API | https://cheqd-mainnet-api.crouton.digital | |
| gRPC | cheqd-mainnet-grpc.crouton.digital:16190 | |
| peer | [email protected]:16156 |
Hardware requirements
Recommended server specs for a cheqd validator: 4–8 GB RAM and 2–4 x64 vCPUs at 2.0 GHz or equivalent. Minimum requirements: 2 GB RAM and 1 x64 vCPU at 1.4 GHz or equivalent.
Prepare
Update and install packages
sudo apt update && sudo apt upgrade -y && \ sudo apt install -y curl git wget jq make gcc clang tmux screen htop ncdu unzip tar lz4 bc build-essential pkg-config libssl-dev libleveldb-dev bsdmainutils fail2ban
Installing Go
VER="1.24.1" && \ cd $HOME && \ wget "https://golang.org/dl/go$VER.linux-amd64.tar.gz" && \ sudo rm -rf /usr/local/go && \ sudo tar -C /usr/local -xzf "go$VER.linux-amd64.tar.gz" && \ rm "go$VER.linux-amd64.tar.gz" && \ mkdir -p $HOME/go/bin && \ grep -qxF 'export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin' $HOME/.bash_profile || echo 'export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin' >> $HOME/.bash_profile && \ source $HOME/.bash_profile && \ go version
Binary
Building from source
cd $HOME && \ rm -rf cheqd && \ git clone https://github.com/cheqd/cheqd-node cheqd && \ cd cheqd && \ APP_VERSION="v4.2.1" && \ git checkout tags/$APP_VERSION -b $APP_VERSION && \ make install && \ cheqd-noded version --long | grep -E 'version|commit' # version: 4.2.1 # commit: f716291454b23198db6ce6ffd931073d66fb7ca9
Initialization
Initialize the node and create the default configuration files
cheqd-noded init MONIKER --chain-id cheqd-mainnet-1
Replace MONIKER with your own validator name. This name will be used as your node’s identifier on the network.
Genesis
Download genesis
mkdir -p $HOME/.cheqdnode/config && \ wget -O $HOME/.cheqdnode/config/genesis.json https://storage.crouton.digital/mainnet/cheqd/files/genesis.json
Addrbook
Download addrbook
mkdir -p $HOME/.cheqdnode/config && \ wget -O $HOME/.cheqdnode/config/addrbook.json https://storage.crouton.digital/mainnet/cheqd/files/addrbook.json
Configuration
Set the minimum gas price in app.toml
sed -i.bak \ -e 's|^minimum-gas-prices *=.*|minimum-gas-prices = "5000ncheq"|' \ $HOME/.cheqdnode/config/app.toml
Create a service file
sudo tee /etc/systemd/system/cheqd-noded.service > /dev/null <<EOF [Unit] Description=cheqd node After=network-online.target [Service] User=$USER WorkingDirectory=$HOME/.cheqdnode ExecStart=$(which cheqd-noded) start --home $HOME/.cheqdnode Restart=on-failure RestartSec=5 LimitNOFILE=65535 [Install] WantedBy=multi-user.target EOF
Start the node
sudo systemctl daemon-reload && \ sudo systemctl enable cheqd-noded && \ sudo systemctl restart cheqd-noded && \ sudo journalctl -u cheqd-noded -f -o cat
Restore node from snapshot
sudo apt install -y lz4 && \ sudo systemctl stop cheqd-noded && \ cp $HOME/.cheqdnode/data/priv_validator_state.json $HOME/.cheqdnode/priv_validator_state.json.backup && \ rm -rf $HOME/.cheqdnode/data && \ curl -L https://storage.crouton.digital/mainnet/cheqd/snapshots/cheqd_latest.tar.lz4 | lz4 -dc - | tar -xf - -C $HOME/.cheqdnode && \ mkdir -p $HOME/.cheqdnode/data && \ mv $HOME/.cheqdnode/priv_validator_state.json.backup $HOME/.cheqdnode/data/priv_validator_state.json && \ sudo systemctl restart cheqd-noded && \ sudo journalctl -u cheqd-noded -f -o cat
Key management
Wallet management commands are provided below as examples. Replace wallet with your own wallet name before running them.
cheqd-noded keys add wallet
After creating or importing your wallet, fund it with at least the minimum amount required by the network to create a validator. On cheqd mainnet, this is 1 CHEQ for self-delegation plus transaction fees.
Validator management
cheqd-noded tx staking create-validator \ --amount 1000000000ncheq \ --from wallet \ --commission-rate 0.1 \ --commission-max-rate 0.2 \ --commission-max-change-rate 0.01 \ --min-self-delegation 1 \ --pubkey $(cheqd-noded tendermint show-validator) \ --moniker "MONIKER" \ --identity "TESTKEY123" \ --website "https://example.com" \ --details "Reliable validator for the network." \ --chain-id cheqd-mainnet-1 \ --gas auto \ --gas-adjustment 1.5 \ --gas-prices 5000ncheq \ -y
Replace the example values with your own details. If the command fails or the transaction does not go through, try increasing the gas limit or the commission fee.
Validator commands
cheqd-noded status 2>&1 | jq
Make sure to replace wallet with the name of your wallet before running the command.
Governance
cheqd-noded q gov proposals
"1" is only an example proposal ID, so replace it with the actual one. Available voting options are "yes" to approve, "no" to reject, "abstain" to abstain, and "no_with_veto" to reject with veto.
Onchain
cheqd-noded tx distribution withdraw-rewards $(cheqd-noded keys show wallet --bech val -a) --commission --from wallet --chain-id cheqd-mainnet-1 --gas auto -y
cheqd-noded tx staking delegate $(cheqd-noded keys show wallet --bech val -a) 1000000ncheq --from wallet --chain-id cheqd-mainnet-1 --gas 300000 --fees 2000ncheq -y
These commands contain example values. Be sure to replace them with your own validator address, wallet name, wallet address, and any other required details before running them.
Service operations
sudo journalctl -u cheqd-noded -f -o cat
Manual upgrade
cd $HOME && \ rm -rf cheqd && \ git clone https://github.com/cheqd/cheqd-node cheqd && \ cd cheqd && \ APP_VERSION=v4.2.1 && \ git checkout tags/$APP_VERSION -b $APP_VERSION && \ make install && \ sudo systemctl restart cheqd-noded && \ sudo journalctl -u cheqd-noded -f


