Borrow Limits Rules

With the Borrow Limits patch code completed, it is now time to decide on a set of rules that the community board will follow when setting the borrow limits. If approved by the governance process, this board will control a multisig that will act as the Borrow Limits Guardian. The community board will consist of 6 addresses with 4 required consensus: two controlled by members of the compound team and 4 by the community.

This set of rules dictates how the community board sets market borrow limits. It aims to keep limits as tight as possible without restricting normal use of the protocol. Here is something to start off with.

Stable Coins: USDC, USDT, Not DAI

130% of max borrowing in past 14 days

DAI excluded for now due to sporadic farming usage.

If borrowing comes within 5% of the limit, it will be raised ASAP to the new calculated level unless malice is detected.

Non-Stable Coins: ETH, WBTC, ZRX, BAT

110% of max borrowing in past 14 days with a floor of $3M.

If borrowing comes within 5% of the limit, it will be raised ASAP to the new calculated level unless malice is detected.

We will have a bot setup to monitor the market conditions and notify us when adjustments are required. Additionally, every other week, limits will be recalibrated in case they need to be lowered.


Arr00, thanks for spearheading this - and starting the discussion before the proposal to add borrowing limits to the protocol gives everyone a nice chance to think throw the how/why of how it will function.

I see two primary approaches to setting borrowing limits:

  1. Governance sets borrowing limits, and these change infrequently; the Borrow Limit Guardians step in only in emergencies (when a 5-day governance process is not sufficient).
  2. The Borrow Limit Guardians set borrowing limits; Governance is available as a fall-back (or veto).

Everyone is welcome to weigh in with this poll:

  • COMP Governance sets Limits; Guardians in emergencies
  • Guardians set Borrowing limits; COMP Governance can veto

0 voters

My personal opinion is that, because this is a new system (and an extremely useful one – thank you!!), using the Governance process to set borrowing limits might create more widespread support for changes (and an understanding of them). Once clear policies have been established, and are working well, the Guardians can take over to relieve the overhead on Governance.

In terms of policies, it’s possible we start slowly, and only use borrowing limits to protect the protocol from extreme scenarios. The first that comes to mind are the BAT/DAI yield-farming trend in which the borrowed volume of the asset exceeded the asset’s total supply; capping borrowing to 50% (or even 100%) of the total supply of an asset seems like a logical protection.

Would love yours and others thoughts.


I agree that I may have gotten a bit too ambitious with this proposal and things should be taken slower. It is logical for governance to set high limits initially while the community learns about the new feature. Eventually, Borrow Limit Guardian can take control and start setting tighter limits if the community wants.

While It’d be a nice idea to be able to limit borrowing to 100% of farmed asset’s total supply, I don’t believe this is the correct method to do so. Setting the borrow cap to 100% of DAI supply would immediately disable all borrowing of DAI which could obstruct normal liquidation operations. A supply cap is the way to go here, but as we’ve realized previously, that is a much more extensive protocol change.

If governance is setting limits, I’d advocate for high limits on all assets. This would show system functionality and add some safety but not restrict the protocol.

If I’m understand correctly, there are sort of 2 objectives here:

  1. Prevent an infinite minting scenario — no constraint on normal borrowing; add in human discretion to constrain abnormal behavior of certain tokens
  2. Establish a more general borrowing cap related to protocol security & decentralization (to defend against more general token risks) — constrain normal borrowing of certain tokens (WBTC/USDT/Less liquid tokens/etc…)

If this is the case, maybe we could do something that allows for the community board to set parameters related to #1 (shorter-term, flexible borrowing limits to prevent infinite minting), while governance could manage parameters related to #2 (bigger-picture hard cap on borrowing for an asset).

1 Like

Yes, @JacobPPhillips you are exactly correct and what you suggested is along the lines of what we have been proposing so far.