Skip to main content

Based Rewards

Based Rewards is the amount of Moxie that a user will automatically earn for every eligibile transaction that they execute on Base.

In this tutorial, you will explore the key parameters and concepts used to calculate Based Rewards. An example is also provided at the end to illustrate these concepts in action.

Pre-requisites

Multipliers

A multiplier value is applied to each eligible transaction, depending on the amount of protocol fees paid by the user to the allowlisted protocol contract that the user interacts with.

The applicable multipliers are as follows based on the percentage of protocol fees paid per transactions:

Transaction TypeMultiplier Value
Tx on allowlisted contracts with protocol fee F0.25%F \le 0.25\%1×1\times
Tx on allowlisted contracts with protocol fee 0.25%<F0.5%0.25\% \lt F \leq 0.5\%2×2\times
Tx on allowlisted contracts with protocol fee 0.5%<F0.75%0.5\% \lt F \leq 0.75\%3×3\times
Tx on allowlisted contracts with protocol fee F>0.75%F \gt 0.75\%4×4\times
Tx on Moxie Bonding Curve & Staking (Creator Coins Transactions)4×4\times
Tx on Non-Allowlisted Contracts0×0\times

To view the current contracts allowlisted and their associated fees and multipliers assigned, click here.

Total Gas Used

The Total Gas Used by a user UU is calculated as the sum of all gas fees (in gwei), multiplied by a multiplier value, for all eligible transactions completed by the user within a single day.

A transaction is considered eligible for this calculation if it satisfies both of the following conditions:

  1. The to address of the transaction must belong to one of the allowlisted contracts on Moxie. These contracts, listed here, are selected from the top 50 Base protocols with user fees.
  2. The value of the transaction must be at least $5, which can have either Ether or ERC20 tokens transferred within the transactions.
Based Rewards Partner

Based rewards program is a great opportunity for builders on Base to increase the usage of their app, grow the user base, and get a greater level of exposure through the Moxie ecosystem.

As a Based Rewards Partner, all eligible contract addresses from your project will be allowlisted, and Moxie users will be to earn rewards when interacting with your contracts onchain.

To apply to be a Based Rewards Partner, click on this link here.

Using the criteria and multipliers above, given user UU has made transactions tx1,tx2,...,txjtx_1, tx_2, ..., tx_j on the Base chain, then the Total Gas Used for user UU can be formulated using the following equations:

Gused(U)=i=1jm(txi)×E(txi)×G(txi)G_{used}(U) = \sum_{i=1}^j m(tx_{i}) \times E(tx_{i}) \times G(tx_{i})

where:

NotationDescription
Gused(U)G_{used}(U)Total gas used by user UU on Base.
m(txi)m(tx_{i})Multiplier on transaction txitx_{i}, which is based the protocol fee paid. Check details in Multiplier tables above.
E(txi)E(tx_{i})If transaction txitx_{i} is eligible, return 1. Otherwise, return 0.
G(txi)G(tx_{i})Gas used on transaction txitx_{i}

Reward & Percentage Contribution

Each day a fixed number of Moxie, represented by variable MM, will be distributed to all users proportionally based on the % amount they contributed to the pool that day. It is important to keep in mind that the variable MM will differ from day to day.

The Base Usage of user UiU_i is defined as the amount contributed to the pool in a given day.

This can be formulated as the sum of the product of the Moxie Score, the total eligible gas spent by each user on Base, and the total USD amount transacted in the day, which can be written as an equation shown below:

Busage(U)=Mscore(U)×Gused(U)×AvgUSD(U)B_{usage}(U) = {M_{score}(U) \times G_{used}(U) \times Avg_{USD}(U)}

where AvgUSD(U)Avg_{USD}(U), that is the average $USD value spent by user UU, can be expanded further to:

AvgUSD(U)=TUSD(U)ntx(U)Avg_{USD}(U) = \frac{T_{USD}(U)}{{n_{tx}(U)}}

By summing up all the Base Usages from all users U1,U2,...,UkU_1, U_2, ..., U_k, the Total Base Usage to the reward pool can be defined as follows:

P=i=1kBusage(Ui)P = \sum_{i=1}^k B_{usage}(U_i)

And the Percentage of Contribution of a user UU to the pool in a given day can be calculated using the equation below:

Busage(U)P\frac{B_{usage}(U)}{P}

Thus, by definition, the Based Rewards of a user UU can be represented as follows:

Brewards(U)=Busage(U)P×MB_{rewards}(U) = \frac{B_{usage}(U)}{P} \times M

where:

NotationDescription
kkTotal number of users
PPTotal amount contributed to the pool in a given day
ntx(U)n_{tx}(U)Total amount of transactions made by user UU
Busage(U)B_{usage}(U)The Base usage by user UU
Brewards(U)B_{rewards}(U)Based Rewards of user UU
Mscore(U)M_{score}(U)Moxie Score of user UU
Gused(U)G_{used}(U)Total gas used by user UU on Base. For more details, read Total Gas Used.
AvgUSD(U)Avg_{USD}(U)Average USD amount transacted in the day
TUSD(U)T_{USD}(U)Total USD amount transacted in the day

As shown by the equation above, the amount of Based Rewards is directly proportional to the amount of Moxie Score you have. Thus, the more account you connect to your Moxie profile, the higher amount of Based Rewards you will earn for each transaction on Base.

Similarly, the more active you are on Base, the higher amount of gas on Base you will spend, which will result in higher amount of Based Rewards you will earn for each transaction on Base.

These data is available in Dune publicly where you can fetch the data for your own analysis, projects, or apps. To learn more about this, click here.

Example

Let's consider an example where there are 3 users on Base, and the total amount of Moxie distributed on a given day is 5,000 Moxie. The Moxie Score and gas spent by each user on Base are as follows:

UserMoxie ScoreGas UsedTotal USD transactedNumber of Transactions
A22100100101022
B55200200151555
C10103003001001005050

The total amount contributed to the pool in a given day can be calculated as follows:

P=2×100×102+5×200×155+10×300×10050=10,000P = 2 \times 100 \times \frac{10}{2} + 5 \times 200 \times \frac{15}{5} + 10 \times 300 \times \frac{100}{50} = 10,000

Thus, the % of contribution of each user to the pool will be:

User% Contribution
A10%=2×100×10210,00010\% = \frac{2 \times 100 \times \frac{10}{2}}{10,000}
B30%=5×200×15510,00030\% = \frac{5 \times 200 \times \frac{15}{5}}{10,000}
C60%=10×300×1005010,00060\% = \frac{10 \times 300 \times \frac{100}{50}}{10,000}

Finally, the total 5,000 Moxie will be distributed to each user as Based Rewards based on their % contribution to the pool:

UserBased Rewards
A500=10%×5,000500 = 10\% \times 5,000
B1,500=30%×5,0001,500 = 30\% \times 5,000
C3,000=60%×5,0003,000 = 60\% \times 5,000