Staking rewards are designed to reward
Stakers (=Delegators). The sources of staking rewards are trading fees and gas fees collected by the protocol.
The protocol uses the CosmosSDK’s x/distribution module (opens in a new tab) to allocate the accrued trading and gas fees to
All trading fees (
USDC) and gas fees (
NATIVE_TOKEN) collected by the protocol are accrued and distributed within a block. Specifically — for each block, the fees generated are collected in
fee_collector module account and then sent to the
distribution module account in the following block. Then, the
validator_commission are subtracted from the collected pool and the resulting amount will be distributed to
Stakers in accordance with their staked token amount.
💡 Note that
Stakersmust claim the rewards manually. Unclaimed rewards will remain in the distribution module account until they are claimed.
Staking Rewards =
fee pool * (# of delegator's staked tokens / total # of staked tokens)
* (1 - community tax rate) * (1 - validator commission rate)
The details of how the Staking Rewards are calculated can be found in the CosmosSDK’s x/distribution documentation (opens in a new tab).
💡 The current configuration and parameters can be found by querying the network.
x/distribution: community_tax: specifies the proportion of fee pool that should be sent to
community_treasurybefore staking rewards are distributed. This value can be configured via gov.
x/staking: validator_commission: specifies the proportion of the staking rewards that a given validator will take from delegator’s reward. This is configured per validator and can be updated by the validator.
See CosmosSDK doc (opens in a new tab) for details.