Note
Terra Classic keeps the Cosmos SDK distribution module but relies on burn-tax inflows instead of inflation or seigniorage. Rewards are passively accumulated and must be withdrawn by validators and delegators.
Classic overview
- Burn-tax inflow. custom/auth/ante/fee_tax.goCopy custom/auth/ante/fee_tax.go forwards the burn-tax portion of every transaction to the fee collector. x/distributionCopy x/distribution allocates that balance at end block using the standard global split.
- Community pool. CommunityTaxCopy CommunityTax is set to 0.5Copy 0.5, so the community pool grows with every transaction. Governance or users can still call MsgFundCommunityPoolCopy MsgFundCommunityPool to deposit additional funds.
- Manual withdrawals. Validators use MsgWithdrawValidatorCommissionCopy MsgWithdrawValidatorCommission;delegators use MsgWithdrawDelegatorRewardCopy MsgWithdrawDelegatorReward. Nothing auto-claims.
Parameters (subspace distributionCopy distribution)
| Name | Description | Classic default |
|---|---|---|
| CommunityTaxCopy CommunityTax | Percentage of collected fees sent to community pool. | 0Copy 0 |
| BaseProposerRewardCopy BaseProposerReward | Fixed proposer reward share. | 0.01Copy 0.01 |
| BonusProposerRewardCopy BonusProposerReward | Additional proposer reward scaled by participation. | 0.04Copy 0.04 |
| WithdrawAddrEnabledCopy WithdrawAddrEnabled | Allow custom withdrawal addresses. | trueCopy true |
Reward flow
- Fees and burn-tax proceeds accumulate in the fee collector module account.
- During EndBlockCopy EndBlock, the distribution keeper pays proposer rewards (base + bonusCopy base + bonus).
- Any configured community tax is transferred to the community pool (no-op on Classic).
- Remaining coins are recorded in FeePoolCopy FeePool for future delegator withdrawals and oracle ballot rewards.
Messages used on Classic
- MsgSetWithdrawAddressCopy MsgSetWithdrawAddress — update the account receiving staking rewards.
- MsgWithdrawDelegatorRewardCopy MsgWithdrawDelegatorReward — claim rewards for a specific validator/delegator pair.
- MsgWithdrawValidatorCommissionCopy MsgWithdrawValidatorCommission — withdraw accumulated validator commission.
- MsgFundCommunityPoolCopy MsgFundCommunityPool — manually deposit funds into the community pool when governance approved spending budgets.
See the upstream Cosmos SDK documentation for full protobuf definitions and CLI usage examples.