Earn double rewards on your DEUS Native tokens
Borrow DEUS AMMs IDLE CASH to increase your capital efficiency.

Update on 13.03.2021

Some little overview on what was updated or added after I wrote the Blog:

  • No liquidation of your collateral or similar ever.

Credit goes to https://twitter.com/r0bster97/ for helping us improving the concept.

Foreword

Since the beginning of DEUS, I wanted to explore different ways of leveraging the underlying Ethereum in our treasury to farm yield in other protocols as an additional reward for those supporting our ecosystem.

The DEUS ecosystem is ever-expanding and evolving to make this come true. Other projects have now proven that the concept of leveraging underutilized capital in their systems is a trend. For example, The Alchemix project allows users to deposit DAI to mint alUSD — a synthetic stablecoin used as collateral to earn yield on platforms like Curve, Yearn, or SushiSwap.

I am fundamentally for “efficiency”

A protocol or a treasury merely hoarding Ethereum as “idle cash” is something that is unsustainable long term, energy needs to flow, you shouldn’t hold it for too long in one place.

Which is why I am putting together a new team within DEUS to explore and implement functions that allow users to farm yield with their DEUS/DEA on many of the major protocols in the future.

Currently, there are two potential paths we could take:

  • Giving users the option to borrow ETH from the DEUS treasury against our tokens

As individuals, each user decides to take on the risk of using yield farms, and I believe every user should decide for themselves. There are always risks involved, even when we are using “risk-free” options and working with tranches of risk.

Leveraging Idle Capital

The new team is made up of an experienced and highly dedicated group of individuals who have worked on some of the top 100 projects in the DeFi space.

We are now introducing a feature that will allow users to borrow the underlying Ethereum in the DEUS treasury to farm in other yield protocols. We will start first by exploring Yearn and then expand the ecosystem to include many major protocols.

Users will be able to use their DEUS, DEA, or BPT (Balancer pool tokens) as collateral in the system. We are expecting a collateralization rate of 150%.

If we, as a community, decide that the Ethereum in the treasury should have further use, we could also explore a governance decision to lower the collateralization rates.

However, I think the best way of exploring new developments in the ecosystem is by actually enabling you to interact with them as an end-user. So, we have already begun developing a feature to give DEUS users the option of borrowing ETH from the DEUS treasury against our tokens.

Modifying our current staking contracts

I have thought long and hard about modifying our staking contracts while taking into consideration user fairness.

Those who have staked their tokens are the ones who put the most trust into the system, and so if we change our contracts, we need to incentivize those users first.

Here is an idea for a modification to our staking contracts:

https://github.com/deusfinance/staking-contracts/blob/dev/Staking.sol

And here are the contracts that currently hold the ETH I am talking about:

https://etherscan.io/address/0xD77700fC3C78d1Cb3aCb1a9eAC891ff59bC7946D

https://etherscan.io/address/0xc2fB644cd18325C58889Cf8BB0573e4a8774BCD2

These are the addresses for the tokens:

  • Balancer

0x136193485A8f4870f31B864429a72A9037a1fCE2

  • sDEUS

0x417d16BF319B7F413E950e131D0335004536A37E

  • sDEA

0xFd82cdf5A0212A5C838D7A69f43Ceb4A624ad7eF

Eventually, we will also make it possible for users to ‘opt-in’ to yield farms directly via our staking contracts.

I will provide an updated version of these in the next few days, but essentially we need to add a function so users can:

  • deposit()

This function deposits the Token and generates revenue based on BlockRewards and staking.

  • Yield()

A function that allows users to utilize their underlying ETH to farm yield at projects like Yearn.

We can create a button in our frontend that says:

  • Only Stake (which is deposited to our ordinary staking.sol)

It should also be possible to use the Yield() function later and switch between these options without having to withdraw and deposit to the new contract.

This new function will allow us to move the funds from our old staking contracts to the new staking contracts and give users the option to ‘opt-in’ to yield farming.

General Overview of how yield() should work

We need to create a smart contract that permits users to withdraw Ethereum from that contract. Alternatively, we will create another contract as an Escrow that does not have direct control over all Ethereum.

Ultimately, when a user deposits DEUS, the contract must allow them to withdraw Ethereum based on the price of the underlying token. They can then deposit that ETH into Yearn or other yield generators.

Here’s an example:

Calculating the Price of DEUS

We have 10,000 DEUS and you can fetch the current price of DEUS/ETH in this contract:

0xD77700fC3C78d1Cb3aCb1a9eAC891ff59bC7946D

Via this function:

calculateSaleReturn(uint256 tokenAmount)

1 DEUS returns currently 0.005657333878 ETH

Calculating the price of DEA

We should also create a contract with the same function but with DEA as our second token. DEUS backs DEA inside of Uniswap & DEUS Swap.

https://etherscan.io/address/0x92adab6d8dc13dbd9052b291cfc1d07888299d65

We can read the current token price of DEA here. We can then multiply it with the current DEUS price.

The current DEA price is:

36.78912945 DEUS, and with 0.003757333878, we get ~ 0.1508 ETH per DEA.

We’ll then get the current price of DEA in Ethereum.

Calculating the price of BPT Token

Here is a function to check the price of the BPT tokens:

https://app.deus.finance/bpt.json

BPT/ETH price

we can define the amount of ETH we withdraw from the DEUS treasury for every BPT token added to the yield() function.

The money earned on Yearn’s contracts will flow back to the staking contracts, minus a small fee paid to the DEUS DAO. The respective user can then claim it from their contracts.

We should also make this available for our sealed tokens:

  • sDEA

0xd8c33488b76d4a2c06d5ccb75574f10f6ccac3d7

  • sDEUS

0xc586aea83a96d57764a431b9f4e2e84844075a01

sDEUS & sDEA are 1:1 backed by their real equivalent.

Now, every major Token in our ecosystem should be covered by the newly added yield().

Timeline and Technical Requirements

1. Approximately 72–96 hours — Implementing yield through the Yearn protocol and creating the option for users to choose between stake/yield/stake & yield. The exact time depends on how the new staking contract will work.

2. Approximately 80 hours — Testing the workability of contracts (we will have to emulate the internal logic of Yearn protocol in tests to make sure that we connect everything correctly and that the yield() function works appropriately).

3. Approximately 8 hours — Deploy to testnet.

Please note that we have not included the time required for deploying to mainnet.

We also have questions for you, the front-end users:

A. What should happen to the user’s funds if they choose Stake & Yield?

B. Do users require a front-end part for Yield? If so, we can work on this in parallel with smart contracts development.

In summary:

  • Stake and earn from DEUS ecosystem

Here is the “core” of the whole operation.

You earn a yield on two protocols.

You deposit DEUS (or DEA or BPT) and earn fees on DEUS while borrowing ETH from the DEUS treasury and yield farm on AAVE/YEARN/ every other major protocol with it.

Leverage your locked capital

get trading fees from DEUS, and yield from Yearn finance, follow us now on twitter.com/DeusDao to be notified when we deploy to mainnet.

DAO member of DEUS Finance @lafayettetabor in telegram.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store