Managers as Oracles
No Third Party Oracles are needed in RAMM's CLP
Last updated
No Third Party Oracles are needed in RAMM's CLP
Last updated
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.
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' collectivelongZCB
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.
Manager is bullish(bearish) with the given collaterals and maxBorrowableAmount
Manager issue(redeems) longZCB
, thereby supplying(withdrawing) to(from) the lending pool.
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.
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
Attack reslient, as borrowable amount increases in increments per unit time.
When the pool is overdrawn, if the managers don't issue
longZCB
given the higher APR from a higher urate,maxBorrowableAmount
will decrease.When the pool is underdrawn, if the managers don't redeem
longZCB
given the lower APR from a lower urate,maxBorrowableAmount
will increase.When the managers' perceived value of collateral decreases, they redeem
longZCB
, which will increasemaxBorrowableAmount
over time.When the managers' perceived value of collateral increases, they issue
longZCB
, which will decreasemaxBorrowableAmount
over time.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.
Based on B_T, an auction will be triggered to liquidate the collateral of the borrower if