Summary:
Modify MonPol min/max rates from 0.5%/50% to 0.1%/50% for WBTC and WETH lend markets on Arbitrum.
Abstract:
The Semilog Monetary Policy determines the lend market borrow rate according to the market utilization. Reducing the min rate will modify the behavior of the rate curve, making rates moderately lower to increase market utilization.
Motivation:
A reasonable heuristic is to target market utilization of at least 80%, especially for high-quality collateral types. The current rate curve assigns a ~20% borrow rate at this utilization, much higher than what borrowers are willing to pay. To improve the efficiency of the market (i.e., improved utilization → improved returns to lenders) we should reduce rates. Reducing min rate while leaving max rate the same achieves this without increasing the risk of prolonged market illiquidity that might result from a surge in demand for leverage. The new rate at target U (80%) will be ~14.4%.
Specification:
The black curve shows the current Semilog parameterization and the red line shows the proposed parameterization.
Vote Actions
def encode(sig: str, *args):
x = web3.keccak(text=sig)[:4] + encode_single(sig[sig.find("(") :], args)
return x.hex()
BROADCASTER = "0xb7b0FF38E0A01D798B5cd395BbA6Ddb56A323830"
WETH_MONPOL = "0xec48e0AF8f392Df8f4823A4be3D02853d3525901"
WBTC_MONPOL = "0x38b9FC867625d5ff804619df75F0A7cA3FD39390"
MIN_RATE = 31709791
MAX_RATE = 15854895991
ACTIONS = [
(BROADCASTER, "broadcast", [ # Set Rates
(WETH_MONPOL, encode("set_rates(uint256, uint256)", MIN_RATE, MAX_RATE)), # set WETH rates
(WBTC_MONPOL, encode("set_rates(uint256, uint256)", MIN_RATE, MAX_RATE)), # set WBTC rates
], 1000000, 1000000000),
]
