Asset Valuations and Oracles
Last updated
Last updated
Stack has been designed to make borrowing better/safer for users, less predatory and somewhat less risky (leverage always risky!)
Most collateral tokens have a standard oracle with a volume weighted/time-weighted average price. The current market price of the collateral tokens is always shown in the UI, however the oracle value is used to calculate position parameters including LTV. In most cases the oracle price is a representation of the market price history.
LTV calculations use the oracle price which in the case of $USTB and $MORE are not always derived from the market price.
The exception to this rule is $USTB
, which has a steady oracle price that always returns $1. We take on the risk, that $USTB
will always be redeemable for $1.00 so users can't be liquidated if $USTB
depegs. If $USTB
is trading at $0.90, Stack still values it as $1.00.
Additionally, the default oracle for $MORE
fixes the price of $MORE
at $1.00. Our goal is to avoid a situation were $MORE
trading above a dollar opens up a position to liquidation. Even if price manipulations push $MORE
up, your position is safe.
Example: A users has an open position where the borrowed amount is very close to the max LTV. If $MORE
goes above a dollar, the borrowed amount may technically move above what's allowed. In this case, the $MORE
price cap at $1 prevents the liquidation.
Vault | Oracle | Address | Notes |
---|---|---|---|
Static oracles are hard-coded values into the vault and can only be updated via multi-sig. These values can not expire nor go stale, so they're not updated on a regular basis.
The arcUSD oracle is maintained by the Arcana team as there is currently no safe, decentralized solution to reliably manage this process, where 3rd party data failures would not trigger false liquidations. The oracle confirms the arcUSD backing value to Stack every 23.5 hours. In the event arcUSD were to become under-collateralized, the Arcana team is automatically notified and the new value will be confirmed by the team, updating the oracle through a 2-of-3 multisig transaction. Any subsequent change in backing value would also require multisig approval.
DIA oracles are completely maintained by DIA, fully independent from the Stack team using the default values of 0.5% price movement to trigger an update and a 24-hour heartbeat.
Collateral token oracle
Static, always returns $1
Borrow token oracle
Static, always returns $1
Collateral token oracle Oracle wrapper
Maintained by team, notes below
Borrow token oracle
Static, always returns $1
Collateral token oracle Oracle wrapper
Maintained by the team (same as arcUSD)
Borrow token oracle
Static, always returns $1
Collateral token oracle
Maintained by DIA
Borrow token oracle
Static, always returns $1