[Statistics] Estimated Yearly Revenue By Vault Class

Edited to include forward-looking estimates below, for comparison purposes only; also added clarification that the impetus for action is not oracle fees but holding excess risk for negative yield.

I’ve not seen that anyone is specifically tracking revenue by each of our business lines. PM me for more detailed data – it is difficult to present this intuitively on the forum – but here are some quick facts as of May 17th, 2021 (NB: this was before the crash this week)

Estimated Yearly Revenue by Standard Ilks (excludes PSM, RWA, etc):
Numbers in nearest thousands of DAI

Vault Type Estimated Revenue (DAI, thousands)
ETH-A 18,531
WBTC-A 5,355
ETH-C 3,528
ETH-B 2,461
YFI-A 1,416
LINK-A 937
TUSD-A 531
UNI-A 299
BAT-A 82
LRC-A 34
ZRX-A 32
BAL-A 10

Note that this does not include liquidation revenue. That should be considered separately, because it also presents a stronger risk of loss to both Maker and its users. Estimated yearly revenue by ilk was determined by taking total vaults*average lifetime fees, then dividing by years that ilk has been available to users. Figures are expressed in 1,000’s of DAI, and are approximate, due to variation within the monthly calendar when different vault classes were activated.

Also note that this is backward-looking data. We have experienced a lot of growth, so future revenues will certainly be much higher for the most-used vault classes.

Conversations with the head of Oracles, @NikKunkel, has led to a “ballpark” estimate for non-LP tokens requiring 200k/year in oracle-related expenses. LP tokens apparently cost slightly less, but do require the usage of 3 oracles – 1 for each underlying token, and 1 for the LP token. This means the presence/absence of the underlying tokens determine whether oracles are more or less expensive to run for an LP token.

The numbers above strongly suggest we have quite a few vault classes (ilks) that are losing money on an ongoing basis. Maker is in effect paying money to facilitate these loans, while also paying money to carry the risk of those loans going bad.

Many ilks are fairly new, and perhaps should be given time to see if they become profitable, or even serve another purpose such as marketing or as a favor to entities we would like to partner with in more meaningful ways (maybe GUSD?).

But ilks that are clearly not carrying the costs of their own oracle feeds and have been operational for >10 months are: BAT-A, KNC-A, ZRX-A, USDC-B

Ilks that appear on track to be unprofitable at the end of their first year and have also been operational >5 months include the above plus: AAVE-A, RENBTC-A, COMP-A, MANA-A, USDT-A, BAL-A, GUSD-A

I recommend that the Open Markets Committee review options to make these ilks profitable if there are not other uses or plans for them. Alternatively, Growth may have opinions on whether any of these unprofitable vault classes have potential for future demand. Risk may also have updated guidance on how much risk each of these vault classes presents from a perspective of underperforming liquidations.

I also recommend that any ilk that cannot carry its own oracle costs over a 12 month period be retired. Note that this also means MakerDAO needs to establish a standard way to retire unprofitable vault classes that simultaneously preserves user experience, protects the protocol from losses, and is not subject to moral hazard.

(Attn: @Nadia @MarianoDP @ultraschuppi @Primoz @Aes et al)

Edited To Add Estimated Forward Revenue By Vault Class

Estimated Yearly Revenue by Standard Ilks (excludes PSM, RWA, etc):
Numbers in nearest thousands of DAI

Vault Type Estimated Revenue (DAI, thousands)
ETH-A 119,468
WBTC-A 15,291
ETH-C 7,649
ETH-B 4,459
YFI-A 2,738
LINK-A 2,649
UNI-A 318
BAT-A 140
LRC-A 42
ZRX-A 56
BAL-A 17

Note that these numbers carry an assumption of 0% growth going forward, which is unrealistic. This does, however, provide more insight into which vault classes are declining in use and which are growing – and may justify being retained even if unprofitable currently. The order of vault class has been retained from the earlier table for easier comparison.

Standouts that dropped precipitously in forward-looking estimates vs backward-looking are COMP-A, which fell from ~$44k in revenue yearly to a forward estimate of $4k, and KNC-A, which fell from $3k in revenue yearly to a forward estimate of $499 (rounded to $1k in the table).

I also want to take a moment to perhaps clarify that ~200k in oracle costs per vault is not material to our earnings on an individual basis. What would be material is if some of these loans went bad. Maker is in the business of holding risk in exchange for payment. A vault that loses money does not simply bleed oracle fees. It means that Maker is paying money for the right to hold risk that has a non-zero chance of going bad.

By way of illustration, if the single largest ZRX vault that was liquidated in this week’s crash had experienced disorderly auctions, the protocol could have – instead of burning hundreds of tokens – been left with a hole in the Stability Buffer to refill.

The reason to close unprofitable vault classes is not because of the ongoing cost of oracle feeds. That is simply an easy filtering mechanism to identify the places where the protocol is collecting negative revenue in exchange for holding risk. This is bad business, and while it does not represent an existential crisis, it does represent a material risk to our earnings in the unlikely event of these vault classes holding bad debt. And it is 100% avoidable. Fixing this does not need to be our top priority, but it is not difficult from a technical or governance standpoint.


Great work Sir!! I believe @SebVentures keeps track of such and reports such in a different fashion, but this digs in deeply and it’s easy to understand. Thank you for researching and providing the details to the Community.

A few personal Opinions on why some of these Vaults don’t generate traction:

UNI-A: Most folks are better off using their UNI tokens in Compound. Pays a little tiny Yield and you get rewarded with COMP tokens for providing such.

AAVE-A: Best to Stake in AAVE and earn more AAVE–no brainer.

COMP-A: Best to Stake in Compound and earn more COMP–no brainer.

MANA-A: Such an amazing Team–just not enough traction and has tons of competition ahead.

BAL-A: Best to Stake in Balancer and earn more BAL tokens–no brainer.

Just my thought on someone who navigates the ecosystem :slight_smile:


Most of the UNI ilks are also very new. Too early to tell how much adoption they will get.

Which should also emphasize what a runaway success ETH-C is

1 Like

Very neat to have this all laid out! As you mention, vault revenue is pretty hard to estimate but I think your approach is pretty reasonable. I do think liquidation revenue should be considered, as we wouldn’t be adding a collateral type if we didn’t feel the market was liquid enough to handle some forced selling. The liquidation penalty helps address the risk of having the vault type to begin with. Additionally, I think it’s important to consider Oracles as a Business. Depending on the type of services desired, we might be maintaining an oracle regardless of vault profitability.

In general though I would say my hesitancy to offload collaterals comes from a place of portfolio management. All else being equal, the protocol is safer when our DAI collateral is spread out through as many tokens as possible, provided they are roughly in their market proportions. Obviously that weighting is not the case as there is massive disparity between market cap and DAI utilization. Yet, there is still some added safety from this diversity that I don’t think should be ignored.

In a crisis situation we also benefit from having available DC across a wide variety of collaterals for people to generate DAI when there is massive buying pressure on the peg. So that brings me to the question, how do we evaluate the risk benefit of keeping these collaterals onboarded? What kind of discount is appropriate for their revenue streams given that our balance sheet is made safer by having different collateral types?


So the trouble with this thinking is that – from Maker’s perspective – we are collecting negative rates in a bull market, and in a bear market the risk of disorderly liquidations is heightened. I also dislike the implications of a vault class only being profitable when our customers “get rekt.”

I should be clear that there may be entirely legitimate reasons to maintain an unprofitable vault type. GUSD stands out as one that we may with to maintain to do something with later on.

But in the absence of data on the users of the money-losing ilks also being customers in other types – and I have yet to look into that – I would assume these are flat-out losing DAI. There are only 6 ilks that even have 100 or greater active vaults. ETH-B has 97, so you may wish to round that to 7.

The obvious money losers are simply not used by more than a couple dozen wallets each (at most).

1 Like

I’m with you in terms of not wanting to count on liquidation revenue, but it definitely exisits and as a platform we have to have faith in our liquidations framework in order to scale.

Having a wider variety of vaults also can attract users to our platform. One thing I note when surfing defiexplore.com is how many wallets currently or in the past have used different vault facilities.

So with both the risk benefit I mentioned in my first comment and this “marketing” one above, what do you feel an appropriate discount is for the vault types? If it costs us 200,000 DAI to maintain, should the line be drawn at 50k annual revenue? 100k? More?


This list of revenue streams highlights why RWA vaults are so important to derisk the MakerDAO portfolio.


I have the data for total vaults and currently active vaults for all of them, if you have specific ones you are curious about. Examples:
-MANA-A has 10 active vaults and 47 vaults ever in ~9 months of operation.
-BAT-A has 56 active vaults and 475 vaults ever in ~18 months of operation.
-AAVE-A has 41 active vaults and 110 vaults ever in ~5 months of operation.
-ETH-C has 247 active vaults and 382 vaults ever in ~2 months of operation

The thing to note is that the obviously weak vault classes simply have low numbers of users in addition to low amounts of fees collected. Contrast this with the proposed YFI-B vault, which already has established demand, requires no further oracle, and does not rely upon attracting new users to be profitable. We have limited resources, so I think a shift toward this type of arrangement (imagine 10 more Nexo customers) is just a lot easier for us than widening our eligible crypto collateral at the moment. That being said, it does not look like it was intuitive at time of onboarding collateral types which would succeed, so I support Nik’s idea of “onboard liberally, off board liberally.”

But there is also a non-zero risk to holding these vault classes. It is entirely possible the ZRX vault class could have lost millions of DAI, wiping out our liquidation profits this week. Luckily someone was willing to take it out in each chunk.

As for what line we should use to decommission vault classes? I don’t have super well-developed opinions on it yet, but if it can’t even cover the cost of oracle monitoring over 12 months, I feel there’s unlikely to be much downside to simply setting DC to 0 and raising SF each month until users migrate away.

1 Like

Great post Sir @PaperImperium
I think that the general approach could be something similar to “Why an exchange delist a pair”, obviously, due to low/non-existent volume.

Currently Working on this with teams that have their tokens listed as collaterals.


Thanks for putting this thread together, definitely something important for us to analyze. Do we know who the vault users of these unprofitable vaults are? Are any of our largest customers using these vaults? I would hate to shut them off because of them being unprofitable if it in any way negatively impacted our largest customers.

Have you also done any analysis on what their current profitability looks like and what it looks like on a forward looking basis? Next 3-12 months based on their current growth trajectory? Might be a question for @NikKunkel but do we think there is a demand for OAAS for some of these smaller vault types? If we do, I would think having an active oracle/vault would help earn trust with customers.


So this is something I need to look into. ZRX I pulled because it mostly got wiped out this week anyway, and has a maximum 23 active users. Most (I believe 18, but don’t have it in front of me) do use other vault types, though I have not tracked how much or which ones. Only 2 of the active vault users opened their ZRX vaults prior to other vault types, which suggests it is not a “loss leader” that onboards users to other vault classes.

So the bad news is I don’t know the answer to this definitively. The good news is that it is an answerable question. Maybe someone can throw me a grant to slog through this and make some formal reports that aren’t just posting facts on the forum.

I’m still trying to get time series data. At the moment I only have aggregated data and current data.

At the moment, though, the most obviously unprofitable of these appear to have declining usage. KNC has just ~7% of its all-time vaults still active, and ZRX has just ~26%. Both have been active for around 11 months. Compare to WBTC which has an active vault base of ~35% of all-time vaults, and a similar operational lifespan of 12 months.

There are a total of 10 “standard” vault classes that have single-digit active vaults. Many of these are UNI LP vault classes and may gain traction at some point. Several others are vault classes already being discouraged, like USDT-A. But BAL-A, GUSD-A, KNC-A, and MANA-A all have 10 or fewer active vaults.

We should be cautious about exactly how quickly to offload these vault classes, and perhaps some of them hold value in the future or in ways that aren’t just stability fees. But a few – ZRX, KNC, BAL, MANA – seem obvious candidates to offload based on the length of time they have been in operation and the demonstrated lack of demand in terms of both users and debt volume.

More importantly, the DAO should have a generalized discussion about establishing a pre-determined set of criteria for initiating the winding down a vault class. Preferably it could be in a manner that does not require a vote every time, as long as certain agreed-upon conditions are met.


Why do we continue to use oracles for USDC? The PSM exists - so we’re assuming USDC is pegged anyway. Similar question about GUSD-A.

I don’t know for sure that we do for those two. Whether we do or not probably depends on how firmly we believe they are redeemable at face value and will maintain their own peg. That’s not a question for me, though.

We do not. USDC, GUSD, TUSD and PAXUSD each use a DSValue that is set to 1 USD. DSValue is essentially a manual price feed that Governance controls.


This. USDT is the only stablecoin for which we have a real-time Oracle, due to questionable backing. DSValue’s don’t consume any gas unless the value is changed by governance through a vote.


Is there any chance for getting some information/calculations on oracle economics? How did we get to such number? What percentage of the costs are fixed, are we talking only about gas fees costs? Oracle unit team costs are probably not included in this number, i assume.

I would also ask how can we increase oracle efficiency regarding the cost. I know that wasn’t a problem before, but I believe there is plenty of ways to decrease the cost, such as updating the oracle only during big volatility, or based on the vault at risk. Gas token, may be not anymore but still 4 months …

Also we noticed that vaults are not kicked even if they are under collateralized how difficult would it be to kick the vault during the next update?
And perhaps add this metric too on when to push a feed.

Or use uniswap to update onchain the price, like uniswap -30min to -15min before the price changed and the oracle updates the fees during the 15 min left only if there is more than 3% gap.

I am not aware on how the oracle works but it seems in the current state not optimized for high gas price, which is totally understandable as gas wasn’t an issue before.

Depending on the project, it can work the other way as well; being onboarded as a collateral type can help boost a project’s reputation.

Is the suggestion here that some kind of origination fee for adding new collateral types would be appropriate?

1 Like

Not necessarily. Mostly that I didn’t want to out of hand dismiss ilks that do not show profit immediately. But I would like to see a process for regular re-evaluation of an ilk’s risks and profit potential, and if there are any reasons particular to that ilk to overlook an obviously unprofitable — and therefore risky — ilk.

1 Like