Stabilizers- Assets for DeFi banking
Linking savers with a universe of loans and investments
Andy note 1/12/2023- We posted documentation and code for a Stabilizer implementation at docs.maxos.finance.
US banks reported $279B in profits for 2021. They earned this money with “waterfalls” that convert unstable investments into stable deposits. In a waterfall, a banker agrees to absorb losses in exchange for taking any extra profit. In DeFi terms, the banker puts in extra collateral to cover losses.
This diagram shows three types of funding pools that use a waterfall.
The rectangle on the top is the “senior tranche”. The holders of this part of the pool often get a fixed yield. The rectangle on the bottom is the “junior tranche.” The holders of this part of the pool absorb variable profits and losses.
MakerDAO built a decentralized bank by using the structure on the left. They lend DAI to match the deposits of extra collateral from borrowers in thousands of different “vaults.” So, their asset allocation is decentralized and automated. Then, they roll up the safer or “senior” tranche into DAI. Aggregating these senior tranches together makes a convenient product for savers.
MakerDAO wants to apply this idea to more types of assets, which they call “real world assets”. They might be able to expand DAI supply with vaults that hold bonds. They might be able to earn more interest if they invest in off-chain loans. They might be able to have more social, environmental, and growth impact if they fund projects outside of crypto. This article describes a structure that makes that possible — a stabilizer.
Stabilizers can place savings into investments
Stabilizers do some important jobs for savers:
- Deliver a senior tranche with appropriate safety and liquidity
- Harness bankers (junior tranche holders) for origination and management
- Harness bankers for asset allocation. The senior tranche contributions can match appropriate contributions to the junior tranche
- Bridge to regulated assets. Bankers are legal entities that qualify to make loans and buy securities. They can invest money from decentralized DAOs.
In return, stabilizers provide leverage to bankers. The bankers can borrow money from savers at <rate>. They will attempt to earn a spread by getting a return from assets of <rate>+<spread>. We can also set this up so that the savers and bankers share the spread, if positive.
[Andy’s note: In the diagram above, actual assets are depicted in the column on the right. The “senior tranche / junior tranche” areas are imaginary accounting numbers. We know what we owe the senior tranche. We can estimate how much cash we can get back from our assets. The junior tranche area is <estimated asset value>-<what we owe the senior tranche>]
- Stabilizers can invest in on-chain strategies, off-chain securities, and off-chain loans
- Stabilizers “stabilize” risk, return, and liquidity so that differing investments can meet the needs of a specific pool of savers. They implement a waterfall with a standardized set of parameters.
- We can automate asset allocation by allowing stabilizers to borrow money into the safe tranche (and redeem out) under pre-programmed conditions.
- At the macro level, the conditions include the price of the resulting savings coin and an interest rate that balances savings and investment. At the stabilizer level, the conditions include the input or redemption of junior tranche money, which is related to available returns.
- Securities and loans require a banker that is a qualified individual or business. The banker needs to deal with AML and other rules. Stabilizers should provide a structure for taking funds into the safe tranche from a decentralized savings protocol. In this case, the junior tranche is owned by an entity with specific responsibilities.
- We can provide pre-packaged business structures for bankers, including legal structure, governance, and custody or trust to handle assets.
- Transparency is important for DeFi lending and investment. We recommend that bankers push as far as possible into real-time reporting from downstream investments and borrowers.
Join us to build the future of banking [link]
The rest of the article explains these recommendations in more detail.
Build value by plugging in assets
Stabilizers are a standard interface to customized investment strategies. Stabilizers can invest in on-chain strategies, off-chain securities, and off-chain loans.
Collateralized on-chain strategies
We can attach a smart contract “vault” that invests in on-chain assets. This results in a fully collateralized holding that can implement a yield aggregator or a lending market. The current generation of Frax AMOs fits into this category. On chain strategies can have low risk and high liquidity. They are likely to be the first place that money can get added or redeemed.
We can ask the bankers to invest in off-chain securities. Mechanically, the stabilizer pool will send bank-redeemable money such as USDC to the address of a securities custodian. The banker will direct trading. This opens up infinite possibilities for asset-backed strategies. Currently, there is a significant demand for cash-like portfolios which include US treasuries and short term, investment grade bonds. These portfolios act as low risk “sweep” account to harvest interest from stablecoin holdings that otherwise pay zero interest.
Bankers can arrange off-chain loans and fund them with the help of stabilizers. Off-chain lending is high impact and challenging. We can meet these challenges by engaging with experts, seeking underserved markets, and holding off-chain collateral with trustees.
Set parameters to adjust economics
Stabilizers “stabilize” the risk, return, and liquidity so that differing investments can meet the needs of a specific pool of savers. They have a standard set of parameters.
- Maximum allocation.
- Junior tranche percentages
- Redemption delays
- Rate and spread expectations
- Borrowing and redemption triggers
- Method for borrowing savings
- Investment asset
Maxos will describe a more complete parameter set in a white paper. We will also run simulations and small-scale experiments to tune the liquidity and risk response.
Automate asset allocation
We can automate asset allocation by allowing stabilizers to borrow money into the safe tranche (and redeem out) under pre-programmed conditions.
DeFi protocols must automate their asset allocation in order to respond to inflows and outflows that happen much faster than their governance processes. Many existing DeFi protocols automate their asset allocation by matching a contribution of collateral. When saver money is available, it goes into assets that have excess collateral. When savers want money back, the protocols ask for money back, with larger requests going to vaults with lower collateral ratios and faster liquidity.
Grow and redeem with price and interest rates
How do we know if we should take money in, or redeem money out?
- In a stablecoin market, price is a signal. Frax “AMO” assets are programmed to sell Frax (getting USDC and investing it) if the FRAX coin trades above $1.00. They attempt to redeem out and buy back if FRAX is trading below $1.00.
- In a collateralized lending market, interest rates provide a signal. Interest rates are set by “utilization”. When there are more deposits of un-utilized assets to lend, it lowers rates, incentivizing borrowing and reducing deposits. These forces bring the market into balance within hours.
A savings protocol can use price in the short term. Demand for the coin at the current interest rates will send the coin above its target price (triggering minting and investment) or below (triggering redemption requests).
Interest rate adjustments will manage demand in the medium term. Setting rates is complicated because the rates are balancing a two-sided market. A higher interest rate will send price up by increasing saver demand. And, the demand from bankers to invest money goes down, liquidity increases, and the interest rates that the system can pay are dragged down by unused money. The ideal “neutral” rate will have about equal demand from savers and bankers. Finding a neutral rate can be difficult, because both sides have a delayed reaction. I am confident that protocols can develop effective algorithms and signals for balancing this market. The ideal rate setter will be predictable from day to day, and still much faster than DAO governance.
Allocate by matching bankers
If we take more risk, we will earn higher returns and have a higher real world impact. We can take more risk if we engage bankers to evaluate the risks. Bankers can signal that they see a good investment opportunity by expandin their capital contribution in the junior tranche. Bankers can signal that we should pull out of an investment by making redemption requests. Savers can follow this allocation by matching money going in and out.
Improve economics by aggregating many stabilizers
We gain economic advantages by aggregating many senior tranches together into a large-scale protocol for a stablecoin or savings coin. That’s why we have “banks” and not just markets for individual assets.
We can imagine each stabilizer as an independent asset-backed security. Investors could shop around and pick the tranches that they want to invest in. Many such options already exist. However, they are not very popular.
- It’s a lot of work to evaluate the risk and return of individual investments. It’s also work to re-allocate when the loan expires or the utilization drops. People are not willing to do the work for a low interest rate.
- A single investment is riskier than a portfolio (which is a lot of work to maintain)
- The liquidity versus return tradeoff is bad. If I have a single investment and I want liquidity, I can invest in a pool with low “utilization” and a lot of available cash. That will reduce the rate of return, since we are only earning interest on the portion of the cash that is used. If I want higher returns, I can invest in a pool with high utilization. However, I will not be able to get my money back on demand.
A portfolio that invests in many stabilizers produces better liquidity, and better returns. We start with an advantage because it is more likely that we can find a stabilizer that will accept money or redeem money when we need it. Then, we manage liquidity. We program it to have a small number of high liquidity investments that will absorb deposits and redemptions. Then, we can run the longer duration assets at high utilization. They can increase returns by finding money for borrowers on demand.
Drive for transparency
Transparency is a DeFi superpower. Instead of reports, auditing, and regulation, DeFi provides something different and better — a real time view where your money is.
A DeFi system that bridges into off-chain financing runs the risk of importing the obscurity and risk that is built into CeFi. We should not allow that to happen. Instead, we should push transparency into the off-chain world. We should add visibility and real-time reporting to every off-chain deal.
A Stabilizer should support this reporting by providing two levels or reporting. The first level is a standard view of the settings, assets and liabilities of the stabilizer. The second level is a plug in data view that is customized for the attached asset. We will want an on-chain contract address to get on-chain information, and a URL to call that will render off-chain information.
Benefit from a toolkit
Maxos will provide some components that make it easier to leverage DeFi money as a banker, and work with savings protocols.
Standard stabilizer contracts and parameters
Bankers can set up a stabilizer by attaching the asset of their choice, tuning the protections for the senior tranche, and adding junior tranche protection. Savings protocols can shop for the safe tranches of these standardized assets.
Bankers can get pop-up entities to own a junior tranche. We hope to work with partners to provide appropriate legal entities with DAO-style treasuries.
Custody and trust
We will need at least one custodian that agrees to hold securities for the benefit of stabilizer pools managed by their client bankers. We will want a trustee that can hold the rights to other types of collateral. These structures protect the stabilizer pool if the banker runs into problems.
Maxos is actively working to improve the quality of the deals offered to “uncollateralized” (off-chain) lending pools. We can improve transparency, industry diversification, lender representation, and junior tranche coverage.
APPENDIX: Stabilizer structure
There are a lot of options for setting up stabilizer pools. I’m making some specific recommendations.
Divide responsibility for the junior tranche?
A junior tranche with random participants is fine for on-chain strategies. We can sell tokens to wallets. The stabilizer will enforce conditions on them, such as redemption delays. The wallets who step into the banker role will give us what we need — loss reduction, and the brains to increase investment when spreads look good, and pull out when spreads look bad.
This will not work if we want to invest in securities. Security investments require a person or legal entity who can pass the requirements to qualify for brokerage and custody accounts. If we want to invest in securities, our banker will need to be a specific person or legal entity.
Can we off-chain lending be managed by dispersed token holders? Having a single banker to negotiate and manage a loan is efficient. Having contributions from multiple bankers is helpful for spreading risk.
Protocols are succeeding at some level by selling off the junior tranche to multiple risk-taking investors. TrueFi and Goldfinch offer some of their spread to “stakers.” This increases centralization. TrueFi stakers rely on TrueFi management to qualify borrowers and approve loans. They have simplified the process of adding capital to scale their centrally managed portfolio. However, TrueFi doesn’t have a clear path to expanding with additional “bankers” or decentralized and transparent governance.
Maple uses a hybrid approach, where bankers called “pool delegates” put in some fraction of the junior tranche “cover,” and gain some autonomy to organize loans. That is good! But not good enough. Their current approach still results in a large amount of central control, limited visibility into the loan agreements, a high dependence on their MPL token (which should be irrelevant to dollar lending), and low junior tranche coverage.
To organize loans in a scalable way, we propose to work with bankers as coherent and independent entities that can:
- Bring skills to negotiate and approve loans
- Qualify as counterparties by passing AML and other requirements
- Respond quickly to problems, negotiate with borrowers, and press legal claims
- Reduce “agent conflicts” by putting meaningful amounts of money at risk
Recommendation: In my diagram for off-chain lending and investment, the junior tranche money comes from a legal entity, a “banker.”
After we set up the junior tranche, can we sell it off as tokens — similar to an asset backed security?
MakerDAO and Centrifuge have a long running experiment with this structure.
Centrifuge pools are very similar to the Stabilizer structure. Centrifuge takes loans and divides them into senior and junior tranches (“drop” and “tin” — not my branding). Each tranche is represented by a tokenized bond. Their intention is to put the senior tranche into a DAI vault, and access low cost funding from the MakerDAO protocol. In theory, this is a great setup. You could for example, run liquidations on the DAI vault by finding qualified buyers to buy the tokenized bond that represents the senior tranche.
However, it is not working out. After two years, Centrifuge pools have less than $90M of assets. Non-tokenized pools from Maple accumulated about $1B in the last year. MakerDAO has approved bigger allocations that do not use the Centrifuge structure.
- MakerDAO is putting $100M into a loan book from Huntingdon Bank. Their structure is much closer to the stabilizer structure. Their banker is a single entity, a LITERAL BANK. They automatically match cash flows into the loan pool. They set up a trust to holds the loan claims.
- MakerDAO is putting $500M into a portfolio of investment grade loans through a “banker” that they set up called Monetalis. This is structurally similar to a stabilizer, but with low risk assets, low capital requirements, and asset allocation that is pushed through from Maker.
I suspect that Centrifuge is growing slowly because they are issuing private, tradable bonds. Private, tradable securities is a bad category, because regulatory constraints. Their structure is difficult to set up, requiring two different legal entities. The bonds it produces are affected by punitive trading rules and cannot be traded as normal tokens.
Recommendation: Do not ask stabilizers to handle assets that require special handling as private securities.
How do we meet AML requirements?
Authorities and regulators do not want bad actors and politically sanctioned entities to be able to move money. They have spent thirty years instrumenting the banking system with Anti Money Laundering requirements. Banks and other money handlers that receive money are required to do some work to figure out who the money is coming from and how it got there.
Crypto transfers bypass AML checks. That’s the bad news. The good news is that blockchains provide new ways to follow money. And, when we analyze blockchain transfers using these new tools, it turns out that less than 1% involve suspicious wallets. This might easily be less than the money handled by suspicious accounts in the bank and cash system.
In the CeFi view of the world, every dollar comes from a specific person or company that can be qualified (or disqualified) through an AML process. That’s NOT how DeFi works. A lot of DeFi dollars come from smart contracts that are handling money from pools. These smart contracts can’t pass an AML check. They “compose” higher level services. DeFi needs this composition in order to innovate and provide good services for its users.
Bankers are exposed to some regulatory risk when they take money from DeFi pools.
There are various approaches to managing this risk.
- Some protocols have adopted a sort of legal obfuscation by stacking entities in Switzerland, BVI, and Caymans. This adds complexity without reducing regulatory risk. At some point, an entity is taking money from a protocol pool, and not from an AMLed person. The entity that does this matters. The other entities do not matter.
- Uncollateralized lending protocols such as Goldfinch and Centrifuge require KYC and AML and other qualifications for all of the contributors to a lending pool. This gives the borrower assurances that they are complying with AML rules. This is working. However, it doesn’t support composition. Smart contracts don’t qualify to put money it. It doesn’t allow us to make a bank that aggregates assets together, smooths returns, manages risk, and expand the channel to savers. As a result, it produces a crappy product for most savers.
- Maple and Orthogonal have set up an “unpermissioned” pool. Orthogonal allows wallets to contribute to the pool without going through AML, but they hire Chainalysis to look at activity of the contributing wallets and make sure that they don’t fit the profile of a bad actor.
- Bankers can say that they collected dollars from accounts that passed AML, and in return sell a token that can circulate to non-AML wallets. Circle and Paxos and other stablecoin vendors use this strategy on an industrial scale. Their main AML requirement is to block some addresses with a “blacklist”. This seems like a practical way to meet AML requirements, which are quite weak in this case. Backed Finance has been approved the Swiss regulators to extend this strategy to create wrapped and freely transferrable securities.
- Bankers, who pass AML requirements, can vouch for the money that they get from DeFi pools. That’s what Orthogonal is doing. This practice is actually extremely common. It’s practiced by any individual or money manager that uses DeFi. When money is cheap in DeFi, they margin their crypto, and they borrow dollars from open-access lending pools. Those same fungible dollars go into bank accounts, payments, and securities purchases.
Recommendation: Protocol contracts will put money into the senior tranche of a stabilizer. This can be described as depositing, selling, or lending to the stabilizer. Bankers should take responsibility for showing that the money isn’t suspicious. They can do that by qualifying the original buyer, or the protocol. This is the only way to compose a good product for savers.
Who is the lender?
Who is the lender making an off-chain loan? It turns out to be a complicated question.
Off-chain lending protocols tend to say that the borrower is borrowing from a DeFi pool (like our stabilizer). This sidesteps some banking and securities regulations. The DeFi pool is not an entity. It is just a smart contract that administers a peer-to-peer relationship between the lenders and borrowers.
This may put lenders in a weak position. What if the borrower doesn’t pay? Who has the legal standing to enforce their loan agreement? The current state of the art is to ask the borrower to sign a loan agreement (an agreement with nobody — it’s a “one sided agreement”) that authorizes an entity affiliated with the protocol to represent lenders.
A straightforward way to handle this is to say that the “banker” is the lender. Conceptually the banker is borrowing the senior tranche money, and then lending out their own money.
Custodians and trustees can protect the lending pool by holding collateral. Custodians hold security assets in the name of the investors (in this case, the pool). If the banker (money manager) runs into legal or financial problems, the investor money is protected. Trustees can provide a similar role for other types of assets. You might ask a trustee to hold the title to a house that was mortgaged. Then the trustee can pass assets back to the funders (in this case the pool) even if the banker runs into trouble. Trusts are traditionally a way of handling situations where the manager of an asset is not the same as the owner of an asset.
Recommendation: None yet. This remains an interesting question for lawyers.
- Decentralized bank architecture — A unified view of moves from protocols like MakerDAO, Frax, Aave, Circle
- Liquidity — How do we pay money back? What happens when everyone wants money back?
- Compliance — How do we fit this global system into national regulations?
- Money supply — How does DeFi contribute to macro investment?
Maxos is building decentralized banking with standardized assets, real world lending and investment, and reliable dollar interest. Please consider following us on Medium or on Twitter, or chatting with me on the Maxos discord.