🎆Trading Rewards and Rewards Module

An overview of Trading Rewards and the Rewards Module.


Trading Rewards will be distributed to users who trade on dYdX Chain based on the Trading Rewards formula. The objective of Trading Rewards is to (1) incentivize all traders to use the dYdX Chain and (2) accelerate market liquidity and overall product usage.






The account which Trading Rewards are funded from


The token that Trading Rewards are funded in


The decimals of the Trading Rewards token


The market which tracks the oracle price of the token that Trading Rewards are funded in


The protocol constant “ C” for the Trading Rewards

Module Accounts










Vest Module

Field Name


The account to vest tokens from

The account to vest tokens to

The token that is vested

The start time of vesting

The end time of vesting










Trading Rewards Formula

The characteristics of the dYdX Chain Trading Rewards are as follows:

  • self-trading should not be profitable,

  • any distributed rewards should be proportional to fees paid to the protocol,

  • trading rewards should be deterministic,

  • trading rewards should be settled and distributed every block,

  • trading rewards should limit the protocol overspending on trading activity.

DYDX will be distributed to traders on the dYdX Chain using the formula below. DYDX from Trading Rewards will be sent directly to a given user’s account after each order fill (which takes place at the end of a given block). Users can earn trading rewards up to, but not exceeding, 100% of a fill’s net trading fees. As such, Trading Rewards distributed by the protocol, each block, are capped at the dollar equivalent of the total net trading fees generated by the protocol that block.




Amount of tokens distributed from T in a given block.


Constant value ranging from 0 to 1.


The size of the Rewards Treasury pool, which fluctuates according to protocol activity and contains vested DYDX tokens.


Price of DYDX


Sum of all trader’s scores

The calculation of the trader scores (S) incorporates the following elements:

The sum of all traders’ rewards scores at a given block (“S”) is essentially the amount of total fees paid accounting for maker rebates and fees.

In the event there is a remaining amount of DYDX in the Rewards Treasury (T-A), such DYDX will remain in the Rewards Treasury and be distributed to traders in a proceeding block.

Rewards Treasury

DYDX vests every second from the Rewards Treasury Vester to the Rewards Treasury. At the end of a given block vested DYDX (Trading Rewards) will be automatically distributed to a trader’s dYdX Chain account.

Rewards Vester

In DIP 2 on the dYdX Chain, the dYdX community voted to credit the dYdX Chain Rewards Vester with 54,077,073 unvested DYDX tokens based on the remaining allocation for Trading Rewards from DIP 29 on dYdX v3.


How does DYDX vest from the Rewards Vester to the Rewards Treasury?

The Vest Module allows the vesting process to happen on the dYdX Chain. The module is responsible for determining the rate of tokens that vest from Vester Accounts to other accounts such as a community_treasury and a rewards_treasury. The rate of token transfers is linear with respect to time. Thus, block timestamps are used to vest tokens.

The dYdX Community through a governance vote has the ability to create, update, or delete vest_entries through a governance vote.

Based on the start_time and end_time, DYDX will vest from the Rewards Vester to the Rewards Treasury at approximately ~0.64 DYDX per second.

How much DYDX will I earn in Trading Rewards?

Immediately following the execution of each trade, the dYdX Chain protocol calculates the projected amount of trading rewards related to such trade. The dydx.trade user interface displays the maximum potential rewards for a given trade size before the trade occurs. It's important to note that users can accumulate trading rewards from 0-100% of the net trading fees of a fill, paid in DYDX, but not exceeding this limit.

Can the dYdX community change the Trader Rewards formula?

Yes, the Trading Rewards formula can be modified by the dYdX community through a dYdX Chain Software Upgrade Proposal. If the dYdX community wishes to change any of the parameters outlined in the Parameters section above, e.g. the fee_multiplier_ppm, it can be done through a dYdX Chain Parameter Change Proposal.

How much Trading Rewards will be distributed?

In DIP 2 on the dYdX Chain, the dYdX community voted to credit the dYdX Chain Rewards Vester with 54,077,073 unvested DYDX tokens based on the remaining allocation for Trading Rewards from DIP 29 on dYdX v3.

The dYdX community could choose to transfer more vested DYDX from the dYdX Chain Community Treasury to the Rewards Vester through a Community Spend Proposal, e.g. to increase trading rewards in the future.

Last updated