🏎 About Drift v2
Keeper Incentives

Keeper Incentives

Keepers keep the Drift network healthy.

Keeper Rewards

For matching orders, Keepers receive a portion of the taker fee.

For cancelling orders (that can be cancelled see Advanced Orders FAQ), Keepers will receive the cancel_order_fee on the state.

Liquidation rewards for keepers are different for every market and range from 0.75% to 3% of the amount liquidated. See Fee schedule (opens in a new tab).

Currently, the USDC reward function for keepers (f_keeper) is designed as:

fkeeper=min(0.01max(1,torder)1/4,0.1fuser)f_{\text{keeper}} = \textit{min}(0.01 \ast \textit{max}\left(1, t_{\text{order}}\right)^ {1/4}, 0.1 \ast f_{\text{user}})

where: tordert_{\text{order}} is seconds since the order was placed fuserf_{\text{user}} is the taker fee paid by the user who placed the order

This reward is subject to evolve to incentivise CLOB-like execution ordering. See source code (opens in a new tab) for the on-chain calculation.

plot of filler rewards (given user fee)

A Keeper reward multiplier (for taker price improvement) is applied to the keeper's minimum time-based reward component in the function above. Any percent improvement versus the baseline oracle +/- 10bps, increases this multiplier.

Future Work

30d fill volume for keepers is tracked on-chain via UserStats, allowing for logic to reward consistent keepers with a larger multiplier on rewards.