Proposal to Reduce the Replenishment Incentive
TL;DR
- Reduce
replenishmentIncentiveBpson FiRM markets from 5000 → 1000 (50% → 10%). - Borrowers still pay the same replenishment cost; we only change how it’s split between replenisher vs DAO.
- The DAO Treasury’s share of replenishment revenue goes from 50% → 90%.
Background
When a user has a DBR deficit, anyone can call forceReplenish on the market:
- The user incurs a replenishment cost in DOLA (added to their debt).
- A share of that cost, controlled by
replenishmentIncentiveBps, is paid to the caller asreplenisherReward. - The DAO Treasury effectively captures the rest via the market/lender setup.
In the Market contract, this is:
uint replenisherReward = replenishmentCost * replenishmentIncentiveBps / 10000;
FiRM launched with replenishmentIncentiveBps = 5000 (50%) to bootstrap keepers and make sure deficits are cleared quickly.
Motivation
1. Keeper ecosystem is already competitive
After almost three years live, FiRM is fully integrated into multiple bots and keeper stacks:
- Replenishments are already highly competitive on larger positions.
- The original 50% incentive has done its job as a bootstrap parameter.
We no longer need to give away half the revenue to maintain healthy replenishment activity.
2. Treasury is overpaying for the same outcome
The borrower always pays 100% of the replenishment cost as new DOLA debt. This proposal only changes the split:
- Before: 50% to caller, 50% to DAO
- After: 10% to caller, 90% to DAO
3. 10% is still enough to keep things running
We don’t want to push incentives so low that:
- Small deficits remain unreplenished for a long time, or
- Gas economics no longer make sense for callers.
At 10%:
- Larger deficits still pay a meaningful absolute reward.
- Existing bots already monitor FiRM, so infra cost is largely sunk.
- If we ever observe persistent unreplenished deficits or degraded behavior, governance can revisit the parameter.
On-Chain Actions
For all active FiRM markets (of which there are 28 currently, so this will be split into 2 on-chain proposals, of 14 markets each), defined as markets that:
- have
totalDebt > 100 DOLA, or - have
borrowPaused == false,
perform:
setReplenismentIncentiveBps(1000)
This sets replenishmentIncentiveBps to 10% on those markets, shifting replenishment revenue to 90% DAO / 10% caller without changing DBR pricing, liquidations, or user-facing mechanics.