[Proposal] B2B Partnership Idle <> mStable

Hi mStable community!

My name is Salomé, I am a Swiss digital nomad and a member of Idle.finance DAO’s Treasury League. We are reaching out to the mStable community to explore potential opportunities to collaborate and build up synergies within our protocols.

Lets build money Legos!


Idle launched its DAO in December 2020 after the $IDLE release. Since then, we piloted a “league” structure with the support of our community and that experience allowed us to set up the current league’s format: Treasury League, Dev League and Communication & Marketing League.

The Idle community is committed to integrate and build DAO2DAO alliances with the best decentralised communities in the pursuit of strengthening the entire DeFi ecosystem. We are aspiring to experiment with the best practices for DAO governance and partner up with other DAOs to let the DeFi ecosystem grow and strengthen over time.

On the protocol side, Idle is a DeFi yield aggregator optimiser that interfaces with several of the largest lending platforms (Compound, DyDx, Aave), currently on Ethereum and Polygon (really soon, with an interesting aspect for B2Bs). Capital within an Idle strategy for a given asset can be allocated in chunks across several protocols simultaneously to either maximise the average returns or minimise risk exposure for depositors.

The tenets of the protocol are 4-fold:

  1. Competitive optimisation technology (Dynamic Allocation Mechanism),
  2. High security standards (5 audits, $500k bug bounty program, safety criteria for new implementations),
  3. Long track record (battle-tested since mid-2019).
  4. Yield infrastructure for B2Bs (focus on integrations with other DeFi protocols to develop the most secure infrastructure to connect with DeFi yields)


The upgrade we are proposing is to upgrade the current “mStable Save product” manual rebalance mechanism with Idle’s Best Yield allocation strategy or the perpetual tanches.

This, in essence, will higher the yield perceived by mStable Save depositors, lower fees for rebalance on behalf of mStable protocols, and entitle mStable to be part of Idle’s B2B Affiliation Program.


The very first synergy we could develop together is on the Best-Yield product side: instead of using a fixed allocation between Aave and Compound, mStable community can get the best out of Compound /Aave / dYdX by just integrating with Idle. With Idle continuously monitoring these protocols, and algorithmically allocating funds.

A second opportunity for mStable is to use Idle’s Perpetual Tranches (Senior or Junior) for their Save product as underlying yield source. Using tranches will allow mStable to pick the strategy logic according to the focus on what matters the most for its user base in terms of risk profile.


  • Idle has recently started a B2B partner program to share up to 50% of the generated fees with integrators (e.g. up to $2m annual revenues for $500m routed to Idle). This is an opportunity to benefit from Idle integration and earn protocol fees for deposits that originate from mStable’s gateway.

  • Automatic and dynamic rebalance mechanism instead of manual rebalance

  • Co-marketing activities between Idle & mStable: From tweets or blog-posts covering this partnership, to community engagement events such as AMAs

  • Fostering DAO2DAO activities and engagement + community co-communications within Idle and mStable communities

  • $IDLE rewards for mStable depositors

  • Lower gas fees overhead for mStable protocol


  • Smart contract risk associated with Idle Finance codebase

#Next steps

Next steps could be broken down into two macro-phases if the mStable community expressed a positive feedback about this proposal.

Development phase

The integration process is detailed in our documentation. More precisely, here you can find:

The Idle Dev League is always available for any inquiries and support for the integration of Idle’s allocation strategies in Discord (check for @Dev League tag).

Communications phase

After the integration and testing phases are completed, the Treasury and C&M Leagues would be keen to bring resources, marketing and business development expertise as well as incentivizing online community collaboration. AMAs hosted on both Idle and mStable Discord channels would be more than welcomed.

That being said, I would like to hear everyone’s feedback over this potential collaboration between Idle & mStable. I believe it is built on a solid foundation for an innovative mutually beneficial collaboration that will pave the way for greater interaction in further DeFi and/or B2B partnerships.

Let’s build money legos! :jigsaw: :partying_face:

#Appendix: Product Offering Details

Best-Yield allocation strategy

The central idea for this strategy is to allocate capital among multiple lending protocols in whatever ratios result in the highest net interest rate.

Imagine that you’ve deposited a significant amount of DAI into Compound. You’re happy with the lending rate, and go on with your daily DeFi life. You come back after a while and discover that a lot of capital has followed you into the Compound interest rates dynamics, dragging down your returns to the point where you’d be better off using Aave instead. So, you decide to move your capital.

After you do so, you check the rates again - only to find that Aave’s rate of return has decreased, and Compound’s has increased, to the point where Compound is once again the better place for your funds.

The ‘solution’ here is to only move some of your funds over to Aave, and leave the rest in Compound, in such a way as the average of the returns from the two is higher than you being purely in one or the other.

That is where Best-Yield strategy comes in - you don’t have to mediate your returns across protocols or spend plenty of time and gas fees to pursue the best interest rates.

Perpetual Yield Tranches for mStable

The various DeFi protocols can be - and often are – viewed as walled gardens from the perspective of the average lender: security concerns notwithstanding, they will deploy funds with the lending protocol promising the best returns.

However, not all mStable users share the same risk profile and tolerance.

Perpetual Yield Tranches offer a way to diversify asset allocation into a spectrum of different yields and risks. The advantage of using Tranches compared to other products is that there is no lock period and accrued governance tokens are automatically compounded in the pool.

Integrators get to choose the strategy according to the risk profile that they want to create for their customers:

  • Junior Tranches: higher risk, levered variable rate rewards.

  • Senior Tranches: lower risk, built-in coverage for variable rate rewards.

This product pools together user deposits into underlying markets and allocates the accrued yield on the sum between two different risk profile subsets.

In case of default (hack, loss of funds), Seniors are entitled to a first line of credit in case of default of the underlying pool. They share 80% of the yield accrued by the capital deposited into that given market with the junior depositors. While Junior Tranches have a higher risk profile, they also receive a proportional compensation by their Senior counterparts for taking such risks.

The novelty behind Idle Tranches is the epoch-free model, with limitless product iterations & interactions. mStable can now deposit and withdraw anytime, with no maturity date or locking periods – perpetually tranche your yield and risk.

Tranches added value for mStable:

  • Cheaper and optimized gas cost for deposit and redeem.
  • Governance tokens ($COMP, $stkAAVE) automatically harvested to boost yields.
  • Staking opportunity to receive $IDLE liquidity mining on top.

mStable community can check the current APYs provided by tranches here:
The codebase has been already audited with ConsenSys Diligence, and an additional review of the last changes will undergo in the next couple of months.

When depositing in Senior and Junior tranches, LPs receive LP tokens (named AA_idleDAIYield and BB_idleDAIYield respectively). These are ERC-20 tokens represent a claim on the deposited principal plus yield accrued over time, and are built with fungibility in mind, enabling to unlock many composable use cases.


Hi Salomé and welcome in the forum!

Thanks a lot for this very detailed introduction and proposal, and I think this gives plenty of fuel for a healthy and wholesome discussion in the coming days and weeks!

Super excited to see that Idle could so easily integrate with an existing product, and I think this would be very beneficial for both protocols down the line. I’m aware that the devs are super busy right now with the new staking contracts that are going live this month, but would be very curious to hear their opinion about feasibility and potential.

From my point of view, this is a no-brainer, and would pave the way for bringing both communities and governors closer together and create a mutually beneficial outcome down the line.

One question I have would be if, once deployed, the underlying sources for yield are fixed, or if you updated your own smart contracts with further options, the additional sources of yield would automagically be available to mStable’s Save product as well? This would also raise some interesting questions regarding governance of all of this, or if we would surrender this side to the capable hands of Idle finance?

Definitely stoked to see this, and looking forward to see the core contributors dive deeper with this soon!

1 Like

Let’s make this happen :hugs:

1 Like

Hello Salomé, thanks for this very comprehensive write-up!

I really like the idea of dynamically rebalancing one of our bAsset to potentially increase yield. We usually don’t rebalance the basket assets unless there is a good reason to do so. One good reason previously was the rebalancing of DAI from compound to Aave v2 because of Aave’s liquidity mining program.

So the benefits are clear:

  • higher yield due to dynamic allocation
  • additional $IDLE rewards (either to liquidate and increase APY, accumulate in the treasury or just distribute)
  • B2B rewards that we could earn and MTA stakers can decide what to do with.
  • Continue to earn and liquidate COMP or stkAave as we currently do (depending on allocation)

Our current basket allocation is the following:

USDT: Aave v2
DAI: Aave v2
USDC: Compound
sUSD: Aave v2

We would want to keep these assets somewhat diversified, meaning we would want to use USDC as the dynamically rebalanced asset. This could create the situation that all basket assets are allocated towards Aave v2 and concentrating the risk on one lending platform.

sUSD is not available on Compound, so there is no real benefit in using this asset either.

The question is really, whether DAI or USDT would make more economical sense in regards to potential rewards and to the possible outperformance.

DAI Yield on Idle from the beginning of this year to today

USDT Yield on Idle from the beginning of this year to today

So based on the historical data, I would say DAI generated the better yield, when it’s dynamically allocated.

  • This is assuming that Aave V2 + stkAave is not a real good benchmark, since IDLE would still allow earning stkAave? Can you confirm? @Sb199
  • Or do you @Sb199 have any better analysis to help out?
  • Does Idle finance take a fee for the generated yield?

One thing that I personally would be very keen on is Idle finance also integrating mStable’s SAVE product. The yield is generally higher compared to Aave and Compound and potentially in the future secured by MTA. @Sb199 Do you see any issues with this? Is the AMM model a potential hindrance?

Additionally, an RAI allocation with the launch of an RAI feeder pool could be possible in the future (if and when we decide to launch an RAI feeder pool of course).

1 Like

This is an extremely well-written and informative forum post - thank you for putting this together.

This is my first time interfacing with Idle, and I have to say, your application, product suite, and presentation oozes professionalism and usability: which are two core principals that mStable always tries to adhere by when approaching new ideas, releasing new products, and partnering with other protocols.

Given that, my immediate reaction to all of this is we should do everything we can to try and make a collaboration and partnership between these two protocols happen. What exactly that looks like right now, I’m still not entirely sure.

The auto-rebalancing mechanism is slick, and makes a ton of sense from a capital efficiency pov, my concern though is when comparing the projected APYs between Idle and those of depositing in Aave v2 or Compound directly, the difference appears to be somewhere around 2-4% higher on avg (please do share any stats/metrics you have if that’s incorrect). The question that jumps out at me then, is if exposing our bAssets (or asset) to another protocol (and therefore some additional sc risk, no matter how unlikely) is worth only a couple basis points? I tend to think so, but I could certainly see it debated.

Perhaps the fee sharing from the b2b program could provide additional sway here though? The referral program states that sub 100m routed results in 20% fee sharing. What’s generating these fees? Do you have any examples/metrics/numbers of what that looks like in action?

I think there’s been talk around here at one point or another about a potential second set of basket assets that could be more yield focused, and less risk adjusted. I could see without a doubt that at least one of Idle’s products could be implemented in that strategy, but I know that one is a long ways off, if ever, from seeing the light of day.

All that being said though, you’ve garnered at least one new Idle fan here, and I hope we end up partnering together in some shape or form.


Great comparative analysis!
Indeed, this was exactly the rationale that pushed Idle to reach out to MStable: dynamically allocating funds DOES increase yields.

Let go over your questions:

In February 2021, Idle Governance discussed Aave v2 wrapper integration and implemented it in idleDAI, idleUSDC, idleUSDT, idleSUSD, idleTUSD, idleWBTC, and idleWETH Best-Yield pools via IIP-5

Correct, the fee for the use of Idle strategies is set to 10% of gains. By joining Idle’s B2B partner programe (it is easy, just embedding an Ethereum address as referral), up to 50% of Idle’s performance fees will go back to mStable.

We also have made a profitability calculator (IdleFinance – Profit Simulator for DAOs [Public] - Google Sheets) that mStable can use to better understand the yields it will get with an integration on Idle.

The Idle Finance DAO is constantly researching further integrations with its partners and this means both upstream and downstream integrations.
There is opportunity for Idle to deploy funds on mStable but not (directly) using the SAVE product because when mStable uses Idle as a lending source (our proposal), this generates a loop: both the ideas can not be executed.

That being said, Idle’s perpetual tranches (fully fungible/composable yield bearing tokens) leave the door fully open to leverage mUSD, MTA and Fuse pools.

1 Like

yes, they will automagically be available! :mage:

Wow, I love this question! This is what DAO2DAO is all about :star_struck:

Safety always comes first on Idle Finance. The Idle DAO has introduced standard requirements for new integrations (Introducing Integrations Standard Requirements - 💡 New Features & Improvements - Idle) .

If the mStable DAO wants to propose any new integration (new asset, new protocol, or new strategy) they can do it at any moment on Idle’s Governance Forum. Feel free to DM me if you need any help.

Not wanting to sound like a broken record but nothing comes first than SAFETY on Idle Finance :female_detective:
The protocol has been battle-tested in real life for several years. We have several audits under our belt and the latest one is weeks old (Audits - Idle), optional Nexus Mutual insurance is available and we just introduced perpetual Tranches that further allows risk exposure/management.

Yep! We built a profitability calculator (IdleFinance – Profit Simulator for DAOs [Public] - Google Sheets) that mStable can use to better understand the yields it will get with integration on Idle


I’m not convinced using Idle adds much value for mStable Save.

The best rates does not change that much between Aave and Compound so there’s not much value in dynamically rebalancing from what I can see.

The following compare the returns from mUSD bAssets that are in both Compound and Aave for this year. Aave has been consistently performing better than Aave all year.

Here’s another view of the data but over the last 3 months. Again, Aave gives a higher return than Compound

I don’t have the DyDx rates in my data, but looking at Idle’s data, it is consistently at a lower rate than Aave and Compound.

imUSD returns consistently beats Aave, Compound, DyDx and Yearn so I would suggest Idle integrates with mStable to give its customers higher returns.

Here’s a comparison of USDC deposits against mStable’s imUSD Save for this year

Here’s a comparison of USDT deposits against mStable’s imUSD Save for this year.
Note yvUSDT is annualised over the 4 months it’s been operating and not the 9 months used for the others.

Here’s a comparison of DAI deposits against mStable’s imUSD Save for this year.

Here’s a comparison of sUSD deposits against mStable’s imUSD Save for this year.

Here’s a comparison of imUSD against USD products on Aave, Compound, Curve and Yearn

The above returns do not include platform rewards like COMP and AAVE. mStable already claims and liquidates these platform rewards for its Savers so using Idle doesn’t add anything in my view.


@naddison this is a fantastic post. I am completely agree with your stance (hard not to with the data).

I think mStable would be a strong addition to Idle yield, and am in favour of Idle integrating us. Unfortunately, upgrading the mAsset to reallocate bAssets to other markets is a significant upgrade, and one that does come with risk. I don’t think the increase in yield is sufficient for us to upgrade the contract

Interested in everyone’s thoughts

Hey @naddison @james.simpson, nice to meet you!
I’m Davide, member of the Idle Treasury League.

Thanks both for your analysis, happy to further discuss the performances reported here.

It’s important to compare products with the same nature and risks: cTokens and aTokens are interest-bearing tokens issued directly by lending primitives, while Yearn products are on-top vaults with leverage/harvesting mechanisms.

Idle aggregates Aave/Comp lending rates to let upstream integrators connect with all of them.
Due to its nature, Idle Best-Yield pools interact only with lending primitives because this reduces the complexity of the contracts and associated risks (that’s the main value proposition of that strategy).

Thus, mStable would not be compatible with the Best-Yield requirements and can not be integrated as an underlying yield source there.

Actually, it could fit our new Perpetual Yield Tranches. It would be awesome to have Idle Tranches using mStable, which uses Best-Yield :exploding_head::fire:
I would be happy to work on setting up a grant for this!

It’s in the long run that you see the difference between using a single yield source or an aggregator, not only in economic terms but also due to maintenance and security response.
Migration from Aave v1 to v2, stkAAVE distribution implementation, Compound token upgrade, and recently the issues connected with COMP distribution: dev resources allocated for such activities could be used to develop new products - having Idle protocol taking care of these implementations and updates.

It’s fine to say that our optimization algorithm is closely following Aave rates in this period. Interest rates in lending markets change fast and we do not know which yield source (with the same risk profile) will be the most profitable one in 6 months. With Idle, you would follow the best-performing protocol.

If we consider $IDLE liquidity mining on top of organic yields, Idle performs better than Aave, Compound, and also Yearn pools, despite the risks associated with such vaults are pretty different than straightforward yield aggregation with Idle.

The image below reports APY in the timeframe March - September (source).

If you consider Idle streams as the organic yield of imUSD, your final APY would further increase, combined with swaps APY and MTA rewards.

Lastly, it’s worth mentioning our upcoming Polygon release, with a $700k incentivization phase that will boost yields up to 20% relative increment. Strategies are already available here in beta, with Aave and Cream as underlying yield sources.

Assuming that your Polygon mUSD is directly connected with Aave, it would be nice to explore the same strategic plan presented above: mStable uses Idle Best-Yield, with the future deployment of Idle Tranches providing two new use cases on top of mStable :raised_hands:

1 Like

Hello @Davide

Thank you very much for taking part in the conversation and providing this in-depth analysis.

We understand that Idle Best-Yield pools interact only with lending primitives therefore mStable (built on top of these lending primitives) doesn’t fit Idle risk profile.
However, mStable is currently building the safest savings account in Defi with 18 months of uninterrupted operations and 3bn of transaction volume. Moreover, our contract robustness is close to compound’s & Aave’s (https://www.defisafety.com/pqrs)

We also get Idle value proposition to take care of new implementations and updates from those lending protocols and quite like it.

Regarding the march APY analysis, the comparison is somewhat not accurate as mStable yield is presented without MTA rewards while Iidle APY includes the IDLE rewards.

We would love to work with you on integrating mStable into Idle Perpetual Yield Tranches product. What would it take to do this?
I think a grant is a fantastic idea, happy to co-author this with you and set up a call to discuss it further :slight_smile:


We could also partner up and contribute from our own grantsDAO? Of course, the signers would need to vote, but that would send a strong signal for this collab!