dForce to Introduce Yield Enhancing Protocol

Mindao YANG
dForce
Published in
6 min readJan 30, 2020

As I presented Unlock Collatral for Yield at WTF side event duiring Dev5 in Osaka, this is an introduction of a general protocol for yield enhancement.

The protocol is under-implementation (dForce Improvement Proposal 001 or DIP001) and will be integrated into dForce’s USDx stablecoin protocol and its trading protocol StableSwap (introduction to come).

In this article, I would like to give a deep dive into its design.

The protocol basically involves unlocking collaterals from an initiated collateralized DeFi protocol and supply those collaterals into designated yield generating protocols (i.e Lendf.Me, Compound, dydx etc)

I would like to walk through the process and design choice for USDx that we have regarding its implementation.

Over-collateralization is a standard implementation for DeFi protocols, with the majority of them sitting at over 300% collateralization ratio (CR), there is sound rationale and merits for higher CR given the volatility of the collaterals. However, there are certainly scenarios where there is good chance optimizing the CR to improve the yield generating capability of the underlying protocol.

Before our dive into the design, a brief context regarding USDx protocol.

USDx (usdx.dforce.network) is the first of series protocols developed by dForce team. It is a synthetic stablecoin protocol, for each USDx, there is 1:1 backing with a composite of 0.35 USDC, 0.35 PAX and 0.3 TUSD. Users are able to deposit the above constituent stablecoin into USDx protocol, it will automatically mint USDx; vice versa, users can deposit USDx into the protocol and disaggregate into constituent stablecoins in pre-determined weighting. It is 100% collateralized.

As a stablecoin protocol, similar to other fiat-back stablecoin, it is predictable that the majority of the collaterals sit indle in the pool, this is a typical low liquidity preference protocol (for their reserve).

The yield enhancing protocol we propose is a protocol which allows the initiated protocols with collaterals to unlock their collateral pool and then re-supply them into a designated lending protocol for yield generating.

i.e in DIP001, we propose that 60%-70% of the constituent stablecoin reserve of USDx protocols are unlocked and re-supplied into Lendf.Me (or similar designated protocol like Compound, dydx etc) to earn yield. The additional yields could be pooled for future distributions (i.e to distribute to all USDx holders or to burn DF token)

Assuming that the constituent stablecoins are able to earn 4% APR, which translate into 2.4% (4%*60% = 4%) yield on the total outstanding USDx balance (assuming only 60% collaterals unlocked), this systemic yield is on top of lending yield that USDx depositors could earn by depositing their USDx into Lendf.Me protocol. This is a significant improvement on the yield of USDx stablecoin and it basically mirrors the treasury management of fiat-back stablecoin, resembling the process for fiat-back stablecoin issuers to use the dollar reserve to reinvest into bonds or treasury bills and redistribute those earned interest to fiat stablecoin holders (despite that no fiat-stablecoin issuer actually redistributes the earned interest back to its holders). It is quite difficult to implement such policy in a fiat-back stablecoin design, but a very simple task for money protocol like USDx, salute to DeFi’s composability.

Given the supplied collaterals are also over-collateralized in the designated lending protocol (i.e minimum 125% CR in Lendf.Me), hence the collateralization of USDx actually improve from 100% CR to 115% (40%*100%+60%*125%).

DIP001 is a general framework and could be implemented in any collateral-based protocol.

Albeit its obvious yield enhancing capability, DIP001 introduces some liquidity constraints which warrant caution when implementing. The liquidity constraints is a result of lent-out collateral, so DIP001 is generally more suitable for protocols that deal with collaterals which has low liquidity preference for their reserve, i.e for USDx, the underlying collaterals will only be required upon disaggregation of USDx; and it is particularly beneficiary to protocols with high yielding collaterals (i.e stablecoins)

The framework has the following factors that we should consider when implementing:

Suitability Test

Protocols with the following characteristics are suitable for DIP001:

  • Collateralized or over collateralized protocols (USDx, MakerDAO, Uniswap)
  • Protocols with low liquidity preference on their reserve assets (i.e don’t require 100% liquidity at all times)
  • Collateral with interoperability and yield generating capability (i.e stablecoins are best candidates)

There are also some risk factors worth considering when implementing, I would like to highlight two major risks and their mitigants:

Smart Contract/Counterparty Risk:

Obviously, for any smart contract interacting with another contract introduces additional smart contract and counterparty risk.

Mitigants: Neutralized the interaction between protocols, i.e supplying of USDx’s constituent stablecoin to lendf.me is just a normal transaction and Lendf.Me treats the transaction neutrally. It is also advised to build upgradability into the protocol with back-stop mechanism to securely phase out the implementation.

Liquidity Risk:

Liquidity risks compound on two fronts, on the initiated protocol (i.e USDx), there could be liquidity demand when users try to disaggregate USDx into its constituent stablecoins, so it is generally not advisable to supply 100% of the reserve to the designated protocol (i.e Lendf.Me or Compound); if 100% reserve supplied to designated protocol, users who try to disaggregate USDx may fail.

There is also liquidity risk on the designated protocol side, i.e if the available reserve in the initiated protocol dried up, it automatically triggers transaction to withdraw the supplied collaterals from designated protocol, such withdrawal could fail if the liquidity of the designated protocols are fully lent out.

Mitigants:

Retain a percentage of the reserve (i.e 30%- 40%) in the initiated protocol, so there is sufficient buffer to handle liquidity demand when users withdraw from the initiated protocols; interact only with designated protocols which has an incentivized responsive liquidity mechanism in place (i.e Lendf.Me , Compound, dydx etc), if assets are lent out and liquidity of the respective assets will dry up, and push up the interest rates for both the borrowing and lending of the asset, which in turn, incentivizes more supply and disincentivizes more borrowing and rebalance its liquidity back to normal.

The above are just very high-level illustration of risks involving the protocol, more specification need to iron out when it comes down to particular implementation.

There are also other approaches, i.e using Compound’s c-Token, what we present here is a more general framework that can deal with a broad variety of protocols and scenarios.

In dForce’s specific case, the DIP001 protocols will help to build a liquidity bridge between our asset protocol (USDx) and the lending protocols like (Lendf.Me), Compound, dydx etc, so every dollar of issuance of USDx will automatically become a % of supply of its underlying stablecoin reserve in the lending protocols, so it both helps optimizing the yield of USDx and capital efficiency of the lending protocols and provides value capture for DF token.

The yield enhancing protocol is under external security audit, the codes will be open sourced when the audit is done and you are encouraged to play around it and try different iterations, look forward to more discussion regarding DIP001 and welcome to join our community to further exploration.

--

--