Managers as Oracles

No Third Party Oracles are needed in RAMM's CLP

Why Managers As Oracles?

There are no reliable oracles for long-tail assets. For ones that do exist, they are easily manipulated. Instead, using RAMM's managers as oracles is a straightforward incentive-compatible mechanism for pricing collaterals in the context of lending. Alignment stems from the fact that the system necessitates managers' 'skin-in-the-game' when they price the risk of collaterals.

The mechanism outlined below simply adjusts the maxBorrowableAmount per unit collateral based on simple supply-demand dynamics.

If more capital is supplied compared to the amount borrowed, supply>demand which lowers the price(maxBorrowableAmount) of the collateral.

If more capital is withdrawn compared to the amount borrowed, supply<demand which increases the price(maxBorrowableAmount) of the collateral.

Dynamic Max Borrowable Amount

The maxBorrowableAmount is a dynamically adjusted parameter and determines how much unit vault's underlying can the borrower borrow per unit collateral collateralized. For example, if maxBorrowableAmount is 500 for a USDC vault and with ETH as collateral, a borrower can borrow 500 USDC per ETH deposited.

The maxBorrowableAmount parameter represents a collateral's borrowing power 'agreed' by the managers. It replaces a third party price feed. maxBorrowableAmount is akin to an implied 'price' of the collateral as determined by the managers' collective longZCB demand.

During the lifetime of a lending pool instrument, maxBorrowableAmount will adjust to account for the collateral's value as perceived by the managers. Recall that whenever a manager issues longZCB the protocol supplies capital to the instrument, and whenever a manager redeems longZCB the protocol withdraws capital from the instrument. As a result, all else being equal, there is a bijective relationship between longZCB issuance and the utilization rate.

We can then create a relationship between maxBorrowableAmount and the utilization rate(or equivalently, how much longZCB at time t u_t, based on the central principle that a low utilization rate means both the managers(supplier) and borrowers(demander) deem maxBorrowableAmount low, and vice versa.

  1. Manager is bullish(bearish) with the given collaterals and maxBorrowableAmount

  2. Manager issue(redeems) longZCB, thereby supplying(withdrawing) to(from) the lending pool.

  3. Utilization rate goes down(up).

For the following parameters, we can determine B_T, or the maxBorrowableAmount for a lending pool at time T, as a function of all recorded utilization rate(urate) until time T.

B^:=initial maxBorrowableAmountIt=maxBorrowableAmount percentage increment at time Tuu:=upperthreshold urateul:=lowerthreshold urate\hat{B} := \text{initial} \ \texttt{maxBorrowableAmount} \\ I_t = \texttt{maxBorrowableAmount} \ \text{percentage increment at time T}\\ u_u:=upper threshold \ urate \\u_l:=lower threshold \ urate
It={xif urateuuxif urateul0otherwise I_t = \begin{cases} x& \text{if } urate \geq u_u\\ -x & \text{if } urate\leq u_l \\ 0& \text{otherwise} \end{cases}
0x10\leq x \leq 1
BT=B^i=1T(1Ii)B_T = \hat{B}\prod_{i=1}^T(1- I_i)

In words, maxBorrowableAmount will decrement by x if the urate is above a threshold(when managers redeem and thus withdraw from the pool), and increment by x if the urate is below a threshold(when managers issue and thus supply to the pool).

This relationship gives rise to some desirable properties

  1. Attack reslient, as borrowable amount increases in increments per unit time.

  2. When the pool is overdrawn, if the managers don't issue longZCB given the higher APR from a higher urate, maxBorrowableAmount will decrease.

  3. When the pool is underdrawn, if the managers don't redeem longZCB given the lower APR from a lower urate, maxBorrowableAmount will increase.

  4. When the managers' perceived value of collateral decreases, they redeem longZCB, which will increase maxBorrowableAmount over time.

  5. When the managers' perceived value of collateral increases, they issue longZCB, which will decrease maxBorrowableAmount over time.

  6. Overall, the process does not increase the action space for managers. They simply issue/redeem longZCB when they are bullish or bearish.

The dynamic is shown in the graph above. When managers redeem longZCB and utilization rate exceeds the upper threshold U_u, maxBorrowableAmount will decrease. When managers issue longZCB and utilization rate exceeds the lower threshold U_u, maxBorrowableAmount will increase. The more time spent under(over) the threshold, the more maxBorrowableAmount will change.

Liquidations

Based on B_T, an auction will be triggered to liquidate the collateral of the borrower if

BTCollateral postedBorrowAmountliquidationBufferB_T * Collateral \ posted \leq BorrowAmount - liquidationBuffer

Last updated