Skip to main content

Token Flows

The inflows to the EOS staking protocol travel through a few different contracts, each with their own responsibilities. We will cover the contracts that are involved in the inflows to the staking protocol, as well as the origins of the funds.

Tokenomics Change

In May of 2024 the EOS network underwent a tokenomics change that introduced a new bucket of EOS tokens designated for staking rewards.

250 million EOS was set aside in this bucket to be emitted with a halving schedule every 4 years. Meaning that in the first 4 years 125,000,000 EOS will be distributed as staking rewards (31,250,000 EOS per year), and in the next 4 years 62,500,000 EOS will be distributed as staking rewards (15,625,000 EOS per year), and so on.

Inflation for the chain was also shut off during that change, and the various buckets replaced that inflated EOS. This means that instead of inflating the chain at a set rate of X% per year, the chain now distributes a percentage of the pre-allocated reserved supply to various parts of the network, like staking rewards.

Flow of Staking Rewards

Every time a block producer claims their rewards, they trigger a chain of events that results in the distribution of various token allocations to target accounts.

Staking Inflows

The block producers claim rewards from the System Contract, which then flows EOS into their accounts, and into the eosio.saving account that holds a contract which distributes EOS to EOS Labs, the EOS Network Foundation, and the Staking Rewards buckets (these are configured in the eosio.saving contract).

As the rewards flow into the eosio.saving account, they are immediately split up according to the distribution configurations on that contract, which are set by a 15/21 multisig of the block producers and tallied into the claimers table.

Once funds are available, each entity can claim their rewards by calling the claim action, which then sends the funds to the account specified in the configuration.

In the case of the Staking Rewards bucket, the funds are sent to the eosio.reward contract, which sit in the account until they are distributed to the various strategies that are configured there by an account calling the distribute action.

When the distribute action is called, the funds aimed at EOS Staking are used in the donatetorex action back on the System Contract which adds those funds to the REX pools, and then sends the funds to eosio.rex for accounting purposes.

These pathways and mechanisms allow all participants to clearly see the flow of EOS as it makes its way through the chain's various contracts and accounts, and ensures that the funds are distributed according to the network's governance decisions instead of being hardcoded into smart contract logic with low visibility and flexibility.

Flow of User Tokens

User token flow

When a user stakes their EOS to the protocol staking system they are transferring their EOS tokens to the system contract which then issues them REX tokens in return and forwards their EOS to the eosio.rex account for accounting purposes.

Since the value of REX can never go down, the user is guaranteed to receive at least the same amount of EOS back when they unstake, sell, and withdraw their REX tokens.