dForce Yield Markets (dToken)

I am glad that we finally completed our security audit (by Trail of Bits) , tests and beta runs and ready to launch our Yield Markets — the dToken protocol. In addition to our synthetic stablecoin USDx and there will be more dForce family yield tokens, dUSDx, dUSDT, dUSDc, dDAI, dWBTC, dGOLDx etc on the horizon.

As the Whitepaper unveils our vision to build an integrated and unified money and open finance protocol matrix, dForce has been pioneering in protocol aggregation and composability since our launch of USDx (launched in July 2019), the first synthetic stablecoin protocols. USDx was later upgraded to incorporate our yield enhancement protocol — DIP001 (Jan 2020), which essentially was to connect the constituent reserve within USDx protocol into our lending protocol Lendf.Me (already deprecated), so that interest generated from lending protocol can be redistributed to USDx holders (in form of USR, USDx Saving Rate). Now, with the launch of dToken, We are about to bridge USDx into dToken to empower its yield harvesting capability.
DeFi is quickly trending towards vertical and horizontal aggregation, a trend we envisioned when we launched our first asset protocol.

I am even more convinced that it is enviable that standalone DeFi protocol has no competitive edge to capture liquidity or value, and the future belongs to matrix and aggregation players.

We have been working on a yield aggregator protocol (dToken) for a while, it is an upgrade and abstract from DIP001, USDx’s USR is the first stablecoin with yield aggregation capability (yield comes from lending out underlying reserve stablecoins).

dToken protocol, is another layer of abstraction from the yield aggregators, it abstracts on two levels:
First, it abstracts away from single stable-asset reliance (i.e USDx), and becomes a general yield aggregator supporting all stable-assets (i.e., USDT/USDC/DAI/WBTC etc);

Secondly, it abstracts away from relying on one underlying yield pool (i.e cToken attached to Compound, aToken to Aave), dToken will not be enslaved to only dForce’s lending protocols, but will be supportive to all existing and future yielding protocols, including Compound, Aave, Curve, Balancer, yearn, etc.

It is a general assets protocol that pools yield across the DeFi stacks, however, with the flexibility to serve customized pools with different assets. So, it offers the following features:

  1. It offers best risk-adjusted yield and not enslaved to any single pool, unlike cToken or aToken

  2. It harvests governance token into its underlying yield. dToken is the first aggregation protocol, not only aggregates governance tokens in the underlying supported lending protocols, it automates the governance token conversion (via DEX) into underlying yield.

  3. No impermanent loss risks. Unlike yield aggregator that built on top of AMM, which are subject to impermeant loss. We only supply to protocols with no exposure to impermanent loss or have mechanism to ringfence the risks.

  4. Gas efficient. dToken has internal buffer pool that serve as buffer for user mintage/redemption, so it’s gas efficient and don’t need to interact with underlying lending protocol for each mintage/redemption, rebalancing will only happen periodically.

dToken is a wrapper of ERC20 tokens, representing a pro rata claim of a specific ERC20 token plus yields earned, reducing the friction to use DeFi protocols, and improving the interoperability for other platforms or protocols to interact with dForce. This protocol can wrap any ERC20 token into dToken with interest-generating capability, i.e., dUSDx (a wrapper of USDx), dUSDT (a wrapper of USDT), or dETH (a wrapper of WETH). Users will receive dToken when they deposit the corresponding ERC20 token, which is proportional to the stake in the pool and is redeemable at any time. dToken can be transferred to other users, platform or smart contract.

dToken can attend to a variety of yielding protocols (either dForce-native, eco-system projects or third-party protocol like Compound, Aave, etc) simultaneously, for example, integrating with lending protocols for saving interest, liquidity protocols for trading fees, aggregator optimizing returns across protocols, and etc. Each dToken can independently manage yielding protocols supported, and use the built-in dispatcher and optimized strategy to facilitate deposit and redemption of funds. Better liquidity and higher turnover ratio will greatly enhance the return on capital employed.

On a higher level, dToken is an asset protocol, interchangeable, composable and compatible to all DeFi protocols, i.e., it can be supplied to Curve pools for stablecoin swap, can be integrated for yield generating in smart contract wallet, can be supplied to Uniswap/Balancer as liquidity; can be composed into rToken, where interest can be separated from principal. It is designed as an independent yield asset protocol.

Each asset has its pool, so the risk is contained and segregated in one pool only; holders of dToken of a specific pool, will not be exposed to risk of other asset pools, i.e the de-peg of DAI will not impact holders of dUSDT.

dToken is designed to support all major governance token mining, i.e it will support mining COMP in Compound’s pool and will automatically convert mining yield into underlying stable-asset yield or into other tokens of chosen.
Pool Architecture

dToken supports a variety of stable asset tokens, each token has its segregated pool, on-chain and off-chain stratigeis are employed to allocate capital in different pools.

broadly speaking, the pools will be organized in three categories:

  1. Internal Buffer Pool. The buffer pool is for mintage/redemption and to reduce frequency for interacting with underlying lending protocols and to be gas efficient.

  2. DeFi Pool. Allocated toward battle tested DeFi lending protocols, i.e Compound, dForce Lending, dYdX, Aave, etc

  3. dForce Hybrid Pools. The pool specifically allocated toward customized lending pools for specific assets and for serving subset of users (i.e., staking asset pool for big PoS holders/validators), it features a decentralized lending functionality, where all borrowing, repayment and liquidation are on-chain. It could also extend to facilitate financing for high yield farming strategies or extend to fund un-secured credit facilities.

Allocation and Rebalancing Strategies

The general strategies for allocating capital in the pool is to seek for best risk-adjusted return taking into account the liquidity availability.

We will evaluate the underlying supported protocol on a case-by-case basis, the following parameters are also important for considering the allocation strategies:

  1. Cap on each protocol allocation. Particularly for less liquid assets, it is important to cap allocation to such pool.

  2. Minimum available liquidity requirement in each protocol. Given the protocol requires liquidity availability when users convert dToken back into underlying tokens. Hence, it is important to be aware of the liquidity availability in the underlying pool, an on-chain and off-chain monitoring mechanism is implemented for monitoring availability status and to react accordingly.

  3. Optimized rebalancing strategies. Rebalancing strategies will be formulated with on-chain triggers. Rebalancing is a trade-off among factors, including frequency, yield optimization and emergency response.
    The rebalancing strategies are to achieve the following goals:

  4. Structured capital allocation for best risk-adjusted and liquidity aware yield.

  5. Reducing gas cost by using internal buffer pool to shrink the frequency of integrating with underlying lending protocols.

  6. The initial range for the internal buffer pool is 5%-10%, in the event the buffer pool (due to redemption) is less than 5% of total capital, it will trigger withdrawal from underlying pool to refuel internal pool to 10%; in the event that internal pool’s surplus (due to deposit) is more than 10%, it will trigger rebalancing to allocate the surplus to underlying lending protocols so that it won’t exceed 10%. The rebalancing range can be changed and shall be optimized as the size of the pool grow.
    Yield aggregator protocol is ultimately an asset protocol that pool and capture liquidity and it could evolve to support a rotating set of underlying yield generating protocols and they could outlive most of the underlying functional protocols.

For dForce, these are not just asset protocols, but the most critical pillar of our liquidity matrix.