Operating a Market
Managing Credit & Debt
When a market receives dUSD (e.g. by selling a synthetic asset), it should deposit them into the market manager using the depositMarketUsd
function. This effectively credits all of the pools (and relevant liquidity positions) backing this market pro rata.
When a market needs to pay out dUSD (e.g. when a synthetic asset is sold back to the market), it may withdraw dUSD from the market manager using the withdrawMarketUsd
function. This increases debt among all of the pools (and relevant liquidity positions), backing this market pro-rata. A market can withdraw no more than the amount returned by the getWithdrawableMarketUsd
function.
The amount of dUSD withdrawn by the market minus the amount deposited can be retrieved using the getMarketNetIssuance
function. (Note that this value can be negative.) This, plus the getMarketReportedBalance
, results in the getMarketTotalDebt
. The amount of collateral backing the market can be retrieved with the getMarketCollateral
function.
Minimum Delegation Duration
Market implementations may call the setMarketMinDelegateTime
with a duration (of seconds) that must elapse between calls where a pool or liquidity provider alters their delegation to this market. Similar to the minimumCredit
value, if this is set very aggressively, liquidity providers will be disinclined to delegate collateral to the market.
This functionality helps mitigate the front-running of liquidity providers. For example, an active liquidity provider or pool manager may be able to anticipate that a market will call depositMarketUsd
with a large amount, delegate collateral to the market just before this transaction and then remove their collateral just after the transaction completes. The intention here would be to extract risk-free yield at the expense of passive liquidity providers; this is limited if the minimum delegation duration forces them to continue to be exposed to the market's performance for a longer time period.
Market-Provided Collateral
The DexToro Protocol may permit specific markets to deposit collateral. Markets can use the value of the collateral directly towards their credit capacity.
Market-provided collateral opens up new market design mechanisms to support the scalability of the stablecoin, as this collateral can be minted against at its full value. Allowing any market to take advantage of the functionality would introduce significant risk to the protocol, as there isn't a liquidation mechanism for this collateral. Accordingly, the DexToro Protocol is able to permit specific markets to utilize this feature, up to a cap, after assessing that the market implementation introduces sufficient risk mitigation in its design.
Last updated