Managers as oracles

Background: When would managers issue or redeem?

Managers issue new longZCB when they want to gain exposure to the lending pool. In doing so, they supply capital to the lending pool from the vault.

Managers redeem longZCB when they want to offload risk from the lending pool. In doing so, they withdraw capital from the lending pool to the vault, receiving their collateral + profit/loss .

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 mechanism for pricing collaterals in the context of lending.

A third-party oracle is not a necessity as the managers themselves would be responsible for accurately pricing the risk of the collaterals. At a fundamental level, a manager would not supply liquidity to a pool, and would instead withdraw from the pool, when the maxBorrowableAmount per collateral exceeds their perceived price of the collateral. The maxBorrowableAmount would dynamically adjust as a function of the amount of longZCB issued/redeemed.

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, 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.

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.

Last updated