Limiting our Dairy Intake with Asset Caps

CREAM — The First DeFi Money Market to Implement Asset Caps

C.R.E.A.M.
C.R.E.A.M. Finance
7 min readJan 11, 2021

--

For too many of us, drinking loads of heavy CREAM may feel good at first but lead to some serious stomach issues later. To protect against lactose intolerance, one needs to regulate how much new milky goodness one can consume.

That’s why the CREAM team has been hard at work to deliver an important new protocol safety feature — Asset Caps.

CREAM offers the largest selection of crypto assets of any DeFi money market, and we intend to keep it that way. We pride ourselves on the C.R.E.A.M. DAO’s ability to efficiently process new assets through governance and our contribution to the liquidity and fluidity of collateral in DeFi.

With such an expansive pool of assets, there also come risks. The protocol is already designed to protect against these risks using:

  1. The collateral factor — this limits the dollar value of assets that any one user is able to borrow from the protocol regulated by a percent of the dollar value of assets that this wallet supplies. The collateral factor protects the platform from the volatility of supplied collateral and can be voted on in C.R.E.A.M. DAO governance.
  2. The reserve factor — this the parameter that controls how much of the interest paid by borrowers for a given asset is routed to that asset’s Reserve Pool. CREAM’s Reserve Pool serve as additional liquidity for withdraw/borrow and grows with the protocol.

Both of these risk mitigation features help in their own way, but the protocol still faces problems if the value of one asset supplied becomes too large relative to that of other collateral assets.

This is why we’ve introduced an Asset Cap.

What is an Asset Cap?

The Asset Cap limits the number of units of any one collateral type that can be supplied to the entire CREAM platform. An Asset Cap of 1 million $ETH would mean that collectively, all lenders across the protocol, could not supply more than 1 million $ETH. This applies whether it be one or one hundred wallets supplying the $ETH.

Illustrating Asset Caps with $DDTG

This is Davey DayTrader Global

Imagine Davey created new social money called $DDTG, a membership token that gives holders rights to an exclusive chat with Davey where he shares his top 5 stock picks each day. $DDTG holders also receive a percentage of Davey’s sponsorship revenue.

The code has been audited and the token trades at US$1.00 per token with 200 million tokens in circulation, 100 million of which are held by Davey.

CREAM holders love Davey and see the value of his new asset, so they vote “Yes” on a governance proposal to add $DDTG as collateral. Three days later, they vote “Yes” to increase the $DDTG collateral factor to 50%.

Problem #1: Crowding Out other Borrowers

Davey wants to buy a new mansion, so he decides to borrow against his $DDTG holdings. He supplies his US$100 million in $DDTG to the CREAM app. Now, he can technically borrow up to US$50 million (Disclaimer: this puts him at very high risk of liquidation). But imagine that the current state of the CREAM protocol prior to Davey’s contribution is as follows:

Total assets supplied = US$100 million
Total assets borrowed = US$25 million
Available borrowing capacity = US$25M
*Assumes average 50% collateral factor across remaining assets

Let’s assume for the sake of our example, that Davey uses his entire collateral factor to borrow. The new CREAM protocol-wide metrics are as follows:

Total assets supplied = US$200 million
Total assets borrowed = US$75 million
Available borrowing capacity = US$25 million

So, what’s the problem here?

Well, while there are still US$25 million available assets left to borrow — the only asset left for any user to borrow on CREAM is now $DDTG (assuming, of course, that Davey borrowed new assets with his $DDTG collateral).

Problem #2: Worthless Collateral

One week later, Davey is hit by a bus and dies.

Though he rests peacefully in Chad Valhalla, there will be no more Davey Day Trader Global, no more stock pics, no more sponsorship revenue, and as a result, the price of $DDTG falls off a cliff.

As the market reacts to the news, Davey’s $100M $DDTG collateral is liquidated. However, buyer demand dries up and liquidators can’t sell the $DDTG collateral — it effectively is worthless. The new state of the CREAM protocol is as follows.

Total Assets supplied = US$100 million
Total Assets borrowed = US$75 million
Available borrowing capacity = US$0 (remember that the only asset left to borrow was $DDTG)

While the collateral factor can protect the protocol to an extent, it’s protection is limited when the liquidated collateral instantly becomes worthless and unsellable. If this were to happen to a collateral asset that represents a large percentage of CREAM’s Total value locked, there could be a scenario where total assets borrowed > total assets supplied.

Problem #3: Infinite Mint

One similar problem is that of an infinite mint.

Imagine Davey created the DDTG protocol so that he can mint an infinite amount of $DDTG without approval. If he wanted to use this to swap $DDTG for more valuable assets he could: mint an infinite number of $DDTG and in one transaction supply $DDTG as collateral to CREAM and borrow assets against it BEFORE the market price reacts to the new supply.

This “infinite mint” attack, could drain the entire CREAM protocol of valuable assets.

Let’s Introduce an Asset Cap

In order to minimize the risk that one particular asset (and by proxy, one large holder of the said asset) poses to the overall health of the CREAM protocol, we can implement a cap on the total number of $DDTG tokens that can be supplied across the platform. This Asset Cap applies to all $DDTG on the platform, not just $DDTG from one provider’s (ie: Davey’s) wallet.

For example, C.R.E.A.M. DAO might vote to add $DDTG as collateral with 50% collateral factor. In addition, community members could vote to introduce an Asset Cap of 10 million $DDTG tokens.

If we implement a 10 million cap on $DDTG, with a 50% collateral factor Davey would only be able to use 5 million $DDTG tokens as collateral. In addition, once the 10million cap has been reached, no other individual could supply $DDTG as collateral on CREAM until Davey removes his assets or the Asset Cap is increased via governance vote.

Now let’s revisit our example:

Solution #1: Make Room for Other Borrowers

If Davey wanted to borrow against his $DDTG to buy a new mansion, he’d have to settle for one less than $5 million (assuming $DDTG trades at US$1.00). Here’s why:

Davey’s Borrow Capacity = $DDTG Supplied*Collateral Factor*$DDTG Price

Where

$DDTG Supplied ≤ Asset Cap ≤ 10,000,000

Davey’s Max Borrow = 10,000,000*0.5*$1.00 = $5 million

We know Davey likes to live on the edge, so let’s assume he supplies 10,000,000 $DDTG and maxes his borrow amount, here’s the new state of the CREAM protocol:

Total Assets supplied = US$110 million
Total Assets borrowed = US$30 million
Available borrowing capacity = US$20 million
*Assumes average 50% collateral factor across remaining assets

In this instance, the introduction of the Asset Cap on $DDTG protected other CREAM users from a large holder of a single collateral type dominating the pool of assets available to be borrowed. Even after Davey borrows, there are still $20M assets available for other users to borrow ($5M $DDTG and $15M other assets).

Solution #2: Protect Against Worthless Collateral

We know what you’re thinking — does the introduction of the Asset Cap create some kind of Butterfly Effect alternate dimension in which Davey survives the bus accident?

Sadly, no. The hero of our story still dies, but as you’re about to find out —

The real hero here was CREAM’s new Asset Cap function all along.

This time, as the market reacts to the news of Davey’s untimely death, $DDTG still dumps, and Davey’s 10 million tokens are liquidated. There are still no buyers and no liquidity, so the price of $DDTG falls precipitously until it is basically worthless.

But here’s how the CREAM protocol adjusts with the Asset Cap in place:

Total Assets supplied = US$100 million
Total Assets borrowed = US$30 million
Available borrowing capacity = US$15 million

As you can see, our Asset Cap has protected the CREAM protocol from running out of assets.

This is why an Asset Cap is so important — it minimizes the financial contagion that one toxic asset can have on the overall protocol — including one that can be infinitely minted.

CREAM is the first DeFi money market to implement an Asset Cap that mitigates protocol risk.

Although this is the end of Davey’s story, it marks a new beginning for all of DeFi.

Our Asset Cap increases the overall health of the CREAM system, empowers all CREAM users to borrow quality collateral, and reduces attack vectors including the risk of financial contagion from the collapse of or infinite mint of any one asset supplied.

To learn more, join us on Discord, follow us on Twitter, or visit us at cream.finance.

C.R.E.A.M. DAO
Crypto Rules Everything Around Me, C.R.E.A.M.

--

--

C.R.E.A.M.
C.R.E.A.M. Finance

C.R.E.A.M Finance is a decentralized lending protocol. Crypto Rules Everything Around Me.