Categories
Fees Getting Started Staking Voting

How do Staking Rewards work?

Staking rewards on SafeCoin are determined by a variety of factors, some of which are related to the chosen validator, while others depend on the global network state.

Rewards are automatically added to the active stake to compound, which means withdrawing earned rewards also requires the cooldown phase to pass.

Staked Supply: Newly issued tokens are rewarded to those staking, which means that if there is a lower percentage of the circulating SAFE supply at stake, those staking will receive higher rewards.

Transaction Fees: Transaction fees in SafeCoin are dynamically adapting based on the load in the system. 50% of fees is burned, which indirectly benefits SAFE holders as this lowers the overall SAFE supply. The rest is retained by the validator proposing the block containing the transaction.

State Rent: Accounts and contracts on SafeCoin are charged rent in proportion to the space they occupy. 50% of the rent the protocol collects is burned, decreasing the overall SAFE supply, and the rest is distributed to validators as part of the transaction fees.

Validator-Specific

Commission Rate: Validators can set a commission fee in the protocol. This percentage is the proportional cut that validators receive from delegated stake for operating the node infrastructure on behalf of token holders.

Uptime: Validator nodes earn credits for blocks on the majority fork they successfully voted on. Stakers earn a portion of inflation rewards based on their proportional stake times the percentage of blocks their validator successfully voted on. As an example, if a validator missed to vote on 10% of blocks, its delegators will only receive 90% of the staking rewards.

Categories
Voting Withdrawing

Withdraw from Vote Account

You can withdraw funds from the vote account at any time. The vote account collects the commission earned from staking operations.

~/Safecoin/target/release/safecoin withdraw-from-vote-account <VOTE_ACCOUNT_ADDRESS> <RECIPIENT_ADDRESS> <AMOUNT>