Validator Reward Playbook
ACCOUNT_ADDR="pokt18808wvw0h4t450t06uvauny8lvscsxjfyua7vh"
# Get latest block height from mainnet RPC
latest_height=$(curl -s https://shannon-grove-rpc.mainnet.poktroll.com/status | jq -r '.result.sync_info.latest_block_height')
# Check balance every 100 blocks for the last 1000 blocks
for ((h=latest_height-1000; h<latest_height; h+=100)); do
echo -n "Height $h: "
curl -s -H "x-cosmos-block-height: $h" \
https://shannon-grove-api.mainnet.poktroll.com/cosmos/bank/v1beta1/balances/$ACCOUNT_ADDR \
| jq -r '.balances[]? | select(.denom=="upokt") | .amount // "0"'
doneC. Validator Rewards
Check Community Pool Commission Accumulated
View accumulated tx commissions that haven't been withdrawn across all validators:
pocketd query distribution community-pool --network=main -o json | jqView Validator Commission Accumulated
export VALIDATOR_ADDRESS="poktvaloper18808wvw0h4t450t06uvauny8lvscsxjfx0wu80"
# View all un-withdrawn rewards for a particular validator:
echo -e "\n === View all un-withdrawn rewards for a particular validator ==="
pocketd query distribution validator-outstanding-rewards $VALIDATOR_ADDRESS --network=main -o json | jq
# View accumulated tx commissions that haven't been withdrawn across all validators:
echo -e "\n === View accumulated tx commissions that haven't been withdrawn across all validators ==="
pocketd query distribution commission $VALIDATOR_ADDRESS --network=main -o json | jq
# View all distribution-related information for your validator:
echo -e "\n === View all distribution-related information for your validator ==="
pocketd query distribution validator-distribution-info $VALIDATOR_ADDRESS --network=main -o json | jqWithdraw Validator Commission Rewards
Withdraw rewards for your validator and its delegations:
pocketd tx distribution withdraw-all-rewards \
--from=pokt18808wvw0h4t450t06uvauny8lvscsxjfyua7vh \
--network=main --gas=auto --fees=10upoktD. [WIP] Delegator Rewards
Check Delegator Rewards
View rewards from delegations (including self-delegation):
pocketd query distribution rewards <delegator-address> --network=main -o json | jqWithdraw Delegator Rewards
pocketd tx distribution withdraw-all-rewards --from=<delegator-address> \
--network=main --gas=auto --fees=10upoktE. [WIP] Tokenomics Relay Distribution Parameters
WIP for viewing tokenomics relay distribution parameters
Verify the current distribution parameters for relay rewards:
pocketd query tokenomics params --network=main -o json | jqKey parameters to check:
mint_allocation_percentages.proposer: Proposer's share of new mintsmint_equals_burn_claim_distribution.proposer: Proposer's share when mint equals burn
B. Monitoring Validator Balance Over Time
Monitor balance changes over time
Use the script above to sample the validator account balance (upokt) across past blocks. The script:
Fetches latest block height from the mainnet RPC.
Iterates from latest_height-1000 to latest_height in steps of 100 blocks.
Requests the bank balances for the validator account at each historic block height and prints the upokt amount (or 0).
Place your validator account in the ACCOUNT_ADDR variable before running.
Was this helpful?
