跳到主要内容

Cosmos SDK Modules

Reference for all active Cosmos SDK modules on Monolythium. Each section covers the module's purpose, key queries, key transactions, and governance-adjustable parameters.


auth

Account management, authentication, and sequence tracking.

Purpose: Maintains account state (address, public key, sequence number). All transaction signature verification flows through this module.

Key Queries:

# Get account info (sequence, pub key, account number)
monod query auth account mono1abc... --output json

# Get module account (e.g., fee_collector, distribution)
monod query auth module-account fee_collector

# Get all auth parameters
monod query auth params

Key Transactions: None (auth is read-only; accounts are created implicitly on first receive or send).

Parameters:

ParameterValueGovernance
max_memo_characters256Yes
tx_sig_limit7Yes
sig_verify_cost_ed25519590Yes
sig_verify_cost_secp256k11000Yes

bank

Token transfers, balance queries, and supply tracking.

Purpose: Handles all native token transfers (alyth), maintains balance state, and tracks total supply including burned amounts.

Key Queries:

# Query account balance
monod query bank balances mono1abc...

# Query specific denomination
monod query bank balances mono1abc... --denom alyth

# Query total supply
monod query bank total

# Query supply of a specific denom
monod query bank total --denom alyth

# Check denomination metadata
monod query bank denom-metadata --denom alyth

Key Transactions:

# Send tokens
monod tx bank send <from-key> mono1recipient... 1000000000000000000alyth \
--chain-id mono_6940-1 --keyring-backend file --yes

# Multi-send (multiple recipients in one tx)
monod tx bank multi-send <from-key> mono1recip1... mono1recip2... 1000000000000000000alyth \
--chain-id mono_6940-1 --keyring-backend file --yes

Parameters:

ParameterValueGovernance
send_enabledtrue (for alyth)Yes
default_send_enabledtrueYes

staking

Validator set management, delegation, and unbonding.

Purpose: Manages the active validator set, handles delegation and undelegation of alyth, and coordinates validator set updates at the end of each block.

Key Queries:

# List all validators
monod query staking validators

# Query a specific validator
monod query staking validator monovaloper1abc...

# Query delegations for a delegator
monod query staking delegations mono1abc...

# Query a specific delegation
monod query staking delegation mono1abc... monovaloper1xyz...

# Query unbonding delegations
monod query staking unbonding-delegations mono1abc...

# Query redelegations
monod query staking redelegations mono1abc...

# Query staking pool (bonded vs unbonded)
monod query staking pool

Key Transactions:

# Delegate tokens
monod tx staking delegate monovaloper1abc... 100000000000000000000alyth \
--from mykey --chain-id mono_6940-1 --keyring-backend file --yes

# Undelegate tokens (begins unbonding period)
monod tx staking unbond monovaloper1abc... 50000000000000000000alyth \
--from mykey --chain-id mono_6940-1 --keyring-backend file --yes

# Redelegate (move delegation between validators)
monod tx staking redelegate monovaloper1src... monovaloper1dst... 50000000000000000000alyth \
--from mykey --chain-id mono_6940-1 --keyring-backend file --yes

Parameters:

ParameterValueGovernance
max_validators53Yes
unbonding_time259,200s (3 days)Yes
bond_denomalythNo
max_entries7Yes
historical_entries10,000Yes

slashing

Validator signing enforcement, jailing, and unjailing.

Purpose: Monitors validator uptime. Validators that miss too many blocks are jailed (removed from the active set) and may have their stake slashed.

Key Queries:

# Query validator signing info
monod query slashing signing-info monovalcons1abc...

# Query slashing parameters
monod query slashing params

Key Transactions:

# Unjail a jailed validator (after downtime jail period)
monod tx slashing unjail \
--from validator-key --chain-id mono_6940-1 --keyring-backend file --yes

Parameters:

ParameterValueGovernance
signed_blocks_window100Yes
min_signed_per_window0.50 (50%)Yes
slash_fraction_downtime0.01 (1%)Yes
slash_fraction_double_sign0.05 (5%)Yes
downtime_jail_duration600s (10 min)Yes
Double Signing

Double signing results in a 5% slash of the validator's total stake (including delegators) and permanent tombstoning. The validator cannot rejoin the active set.


distribution

Block rewards, validator commission, and community tax.

Purpose: Distributes block rewards (from inflation) to validators and delegators based on voting power. Collects a community tax for the community pool.

Key Queries:

# Query outstanding rewards for a validator
monod query distribution validator-outstanding-rewards monovaloper1abc...

# Query delegator rewards from a specific validator
monod query distribution rewards mono1abc... monovaloper1xyz...

# Query all delegator rewards
monod query distribution rewards mono1abc...

# Query community pool
monod query distribution community-pool

# Query commission earned by a validator
monod query distribution commission monovaloper1abc...

Key Transactions:

# Withdraw rewards from a specific validator
monod tx distribution withdraw-rewards monovaloper1abc... \
--from mykey --chain-id mono_6940-1 --keyring-backend file --yes

# Withdraw all rewards from all validators
monod tx distribution withdraw-all-rewards \
--from mykey --chain-id mono_6940-1 --keyring-backend file --yes

# Withdraw validator commission (validators only)
monod tx distribution withdraw-rewards monovaloper1abc... --commission \
--from validator-key --chain-id mono_6940-1 --keyring-backend file --yes

Parameters:

ParameterValueGovernance
community_tax0.10 (10%)Yes
base_proposer_reward0.00Yes
bonus_proposer_reward0.00Yes
withdraw_addr_enabledtrueYes

gov

Governance proposals, voting, and deposits.

Purpose: Allows on-chain governance through proposals. Token holders vote to approve or reject parameter changes, software upgrades, and community pool spends.

Key Queries:

# List all proposals
monod query gov proposals

# Query a specific proposal
monod query gov proposal 1

# Query votes on a proposal
monod query gov votes 1

# Query your vote on a proposal
monod query gov vote 1 mono1abc...

# Query deposits on a proposal
monod query gov deposits 1

# Query governance parameters
monod query gov params

Key Transactions:

# Submit a text proposal
monod tx gov submit-proposal draft_proposal.json \
--from mykey --chain-id mono_6940-1 --keyring-backend file --yes

# Deposit to a proposal
monod tx gov deposit 1 10000000000000000000000alyth \
--from mykey --chain-id mono_6940-1 --keyring-backend file --yes

# Vote on a proposal
monod tx gov vote 1 yes \
--from mykey --chain-id mono_6940-1 --keyring-backend file --yes

# Vote options: yes, no, no_with_veto, abstain

Parameters:

ParameterValueGovernance
min_deposit10,000 LYTH (10000000000000000000000alyth)Yes
max_deposit_period172,800s (2 days)Yes
voting_period432,000s (5 days)Yes
quorum0.334 (33.4%)Yes
threshold0.50 (50%)Yes
veto_threshold0.334 (33.4%)Yes

mint

Block reward minting and inflation.

Purpose: Mints new alyth tokens each block according to a fixed inflation rate. Minted tokens are sent to the fee_collector module account for distribution.

Key Queries:

# Query current inflation rate
monod query mint inflation

# Query annual provisions
monod query mint annual-provisions

# Query mint parameters
monod query mint params

Key Transactions: None (minting is automatic).

Parameters:

ParameterValueGovernance
inflation_rate_change0.00 (fixed)Yes
inflation_max0.08 (8%)Yes
inflation_min0.08 (8%)Yes
goal_bonded0.67 (67%)Yes
blocks_per_year15,768,000Yes
mint_denomalythNo
Fixed Inflation

Both inflation_max and inflation_min are set to 8%, making the inflation rate fixed regardless of the bonding ratio. This simplifies economic modeling and ensures predictable issuance.


evidence

Double-sign evidence submission and processing.

Purpose: Accepts and processes evidence of validator misbehavior (double signing). When valid evidence is submitted, the offending validator is slashed and tombstoned.

Key Queries:

# List all evidence
monod query evidence

# Query specific evidence
monod query evidence <evidence-hash>

Key Transactions: Evidence is typically submitted automatically by consensus. Manual submission is possible but rarely needed:

monod tx evidence submit <evidence-json> \
--from mykey --chain-id mono_6940-1 --keyring-backend file --yes

Parameters:

ParameterValueGovernance
max_age_num_blocks100,000Yes
max_age_duration172,800s (2 days)Yes

feegrant

Fee grants for sponsored transactions.

Purpose: Allows one account (the granter) to pay transaction fees on behalf of another account (the grantee). Useful for onboarding new users who do not hold LYTH.

Key Queries:

# Query grants for a grantee
monod query feegrant grants-by-grantee mono1grantee...

# Query grants by a granter
monod query feegrant grants-by-granter mono1granter...

Key Transactions:

# Grant a basic fee allowance
monod tx feegrant grant mono1granter... mono1grantee... \
--spend-limit 100000000000000000000alyth \
--chain-id mono_6940-1 --keyring-backend file --yes

# Grant with expiration
monod tx feegrant grant mono1granter... mono1grantee... \
--spend-limit 100000000000000000000alyth \
--expiration "2027-12-31T23:59:59Z" \
--chain-id mono_6940-1 --keyring-backend file --yes

# Revoke a grant
monod tx feegrant revoke mono1granter... mono1grantee... \
--chain-id mono_6940-1 --keyring-backend file --yes

See Gas & Fee Mechanics for detailed fee grant usage.


x/validator

Custom module. Validator registration with mandatory burn deposit.

Purpose: Enforces Monolythium's validator registration process. Prospective validators must burn 100,000 LYTH and self-delegate 100,000 LYTH to register. This creates a significant economic commitment and reduces supply.

Key Queries:

# Query validator registration info
monod query validator info monovaloper1abc...

# Query registration parameters
monod query validator params

Key Transactions:

# Register as a validator (burns 100K LYTH + requires 100K self-delegation)
monod tx validator register \
--amount 100000000000000000000000alyth \
--pubkey '{"@type":"/cosmos.crypto.ed25519.PubKey","key":"..."}' \
--moniker "my-validator" \
--commission-rate 0.10 \
--commission-max-rate 0.20 \
--commission-max-change-rate 0.01 \
--from mykey --chain-id mono_6940-1 --keyring-backend file --yes

Parameters:

ParameterValueGovernance
burn_amount100,000 LYTH (100000000000000000000000alyth)Yes
min_self_delegation100,000 LYTHYes
Registration Cost

Registering a validator costs 200,000 LYTH total: 100,000 LYTH is burned permanently (reducing supply), and 100,000 LYTH is self-delegated (staked). See Validator Registration.


x/burn

Custom module. Protocol-level fee burning.

Purpose: Intercepts all transaction fees at the Cosmos SDK level and splits them 90/10 between burning and the block proposer. This is the primary deflationary mechanism.

Key Queries:

# Query total burned amount
monod query burn total

# Query burn parameters
monod query burn params

# Query burn address balance
monod query bank balances mono1qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqnrql8a

Key Transactions:

# Voluntary burn (send tokens to the burn module)
monod tx burn burn 1000000000000000000000alyth \
--from mykey --chain-id mono_6940-1 --keyring-backend file --yes

Parameters:

ParameterValueGovernance
burn_rate0.90 (90%)Yes
proposer_rate0.10 (10%)Yes

Fee Split Flow:

Transaction Fee (100%)
├── 90% → Burn address (permanent removal)
└── 10% → Block proposer (validator reward)
Two Fee Layers

The x/burn module handles protocol-layer fees (gas). The FeeCollector smart contract handles application-layer fees (DEX, MonoPump). See Fee Model for the full picture.


Module Accounts

Internal accounts managed by modules. These cannot be controlled by external keys.

ModuleAddressPurpose
fee_collectormono17xpfvakm2amg962yls6f84z3kell8c5l...Collects fees before distribution
distributionmono1jv65s3grqf6v6jl3dp4t6c9t9rk99cd8...Holds undistributed rewards
bonded_tokens_poolmono1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3...Bonded (staked) tokens
not_bonded_tokens_poolmono1tygms3xhhs3yv487phx3dw4a95jn7t7l...Unbonding tokens
govmono10d07y265gmmuvt4z0w9aw880jnsr700j...Governance deposits
# Query any module account
monod query auth module-account fee_collector