Introducing Discount Stablecoins
Tags: Obyte, Stablecoin Cryptocurrency, Cryptocurrency, Decentralized Finance, Stable Coin

Autonomous Agents (AAs) are now on mainnet and we are starting to roll out applications that AAs make possible. This post is about stablecoins. As the design that we developed is different from all other stablecoins known in crypto so far, we will use “discount stablecoin” as its name to note its difference. We’ll explain below why the term “discount” is applied in this implementation.

Attention to stablecoins has been growing lately and the largest stablecoin, Tether, is currently occupying the 4th position on CoinMarketCap. Among their benefits are their convenience as a stable and familiar unit of account, which makes them often being used in trading pairs on exchanges, as well as the ease and freedom of transferring value from one user to another, including from exchange to exchange. Lately, they have become an important building block in the fast-growing sector of Decentralized Finance (DeFi) applications.

In the market today, there are three general categories of stablecoins:

Fiat-backed (or more generally, asset-backed) — a 1:1 backing is provided by a company that holds the real-world asset to which they are pegged in a centralized manner. Examples are USDT (Tether), USDC, TUSD, DigixGold.

(or more generally, asset-backed) — a 1:1 backing is provided by a company that holds the real-world asset to which they are pegged in a centralized manner. Examples are USDT (Tether), USDC, TUSD, DigixGold. Crypto-collateralized — value is collateralized by cryptocurrencies that are locked to ensure the value of the stablecoin. A popular example would be DAI.

value is collateralized by cryptocurrencies that are locked to ensure the value of the stablecoin. A popular example would be DAI. Non-collateralized — no collateralization at all but instead they try to achieve stability by regulating issuance and burning of the coin, much like central banks do. An example is the Basis protocol, now defunct.

The stablecoin system we designed is within the crypto-collateralized category. It is similar to DAI in some respects, while different in others.

How it works

Issuance

To issue stablecoins, one needs to send some collateral to the stablecoin AA. Collateral is usually Bytes, usually denominated in GBYTE, as it is the most liquid asset on the Obyte network, but any stablecoin AA can define its own collateral of choice. This collateral will be locked on the stablecoin AA to back the issuance (minting) of stablecoin tokens.

The value of the stablecoin issued is lower than the collateral that is locked to ensure stability in terms of volatility of the collateralized asset, i.e. it is overcollateralized. Though anyone who sets up a stablecoin AA can set their own parameters for how much it will be overcollateralized, in our examples we’ll assume that the overcollateralization ratio is 150% (i.e. to issue $100 worth of stablecoins you need to lock up $150 worth of collateral) in order to keep things consistent so it’s easier to understand.

It’s important to note that a user who requests an issue of $100 worth of the stablecoin tokens however is not buying them for $150. The $150 is a collateral, and the user still owns the claim to the $150 collateral and receives $100 of stablecoins on top of it. In other words, the issuance of a stablecoin is the issuance of a collateralized loan in the form of a stablecoin. And the one who requests an issuance of the stablecoin is a borrower who locks up their collateral to secure the loan. To get the collateral back, they will need to return the same amount of stablecoins they borrowed.

The total supply of stablecoins increases as a new loan is issued, and decreases as a loan is repaid and the repaid stablecoins destroyed. So, the stablecoin is debt, much like modern fiat money is debt of a central bank or a commercial bank.

Minimum collateralization and auctions

The large 150% collateral is needed to protect against the inherent volatility of the token that was used as collateral (usually, Bytes). The value of collateral must always be greater than the value of stablecoins issued against it, otherwise the borrower can just walk away with the borrowed stablecoins and never repay the loan.

To ensure that the collateral is always sufficient, the borrower has an obligation to always keep it above a minimum collateralization ratio, let’s say it is 120% (AA parameters can define a different minimum collateralization ratio). The borrower can do so by sending additional collateral to the loan, or repaying the loan before its collateralization gets too low.

If the borrower fails to refill the collateral on time and the actual collateralization ratio drops below the minimum, the loan is put on auction and sold to the highest bidder. Participants of the auction compete to add more collateral to the undercollateralized loan, and the winner becomes the new owner of the loan, and therefore receives the right to repay the loan and receive all its collateral. Which is greater than the loan value and makes participation in the auction profitable. The original owner of the loan accordingly loses the right to repay the loan and receive the collateral back, which was worth 120% of the loan value when the auction started. So, letting the collateralization ratio drop below 120% is not a good idea — one can lose 20% of the loan value. Note, however, that the original owner can still participate in the auction like everybody else and has an opportunity to win back what they were about to lose. It’s also important to note that the AA that creates the stablecoin can set the auction duration, which has a default of 1 hour.

Since all this happens on a DAG, not a blockchain, all participants have equal opportunities to win an auction when many users rush to seize an undercollateralized loan. There are no miners who could front-run other users by inserting miner’s transactions before others or reorganizing the chain in their favor.

Collateralization levels are determined by using price data reported by an oracle set in the AA parameters. To make it harder to manipulate the market and cause premature auctioning off of multiple loans, the price data should ideally not be based on the instantaneous price but rather a moving average (MA) over some sufficiently long period (but not too long, to avoid excessive delays). Otherwise, it is relatively easy to cause a flash crash which will be reflected in the instantaneous price feed. With this method, it is much harder to keep the price away from equilibrium for a long time in order to significantly affect the MA price.

Value pegging

How do we ensure that a stablecoin is actually stable and its price is linked to the price of its benchmark? Here is where our stablecoin design diverges from DAI. We don’t try to regulate the supply and demand by incentivizing or disincentivizing additional issuance of stablecoins — a mechanism which central banks use. Sometimes it works but sometimes it is as effective as pushing on a string.

Instead, the stablecoin price is “pulled” to the benchmark price. How? At some future date, the stablecoin becomes convertible to the collateral (usually, Bytes) at the price registered on that future date. That is, one can use the AA which previously issued the stablecoins, to convert stablecoins to Bytes and vice-versa. The reverse direction (Bytes to stablecoins) is necessary e.g. for when the borrower needs the relevant stablecoin to pay back the loan but have sold their initial issuance. The exchange rate is fixed and is equal to the benchmark’s (USD, EUR, BTC, gold, etc) exchange rate to the collateral (e.g GBYTE) on that future date, which we call “Expiry Date”. The exchange rate is registered by an oracle set in the AA parameters.

Since all loans are overcollateralized, the AA is guaranteed to have enough GBYTE reserves to buy the entire outstanding amount of stablecoins from the market. Issuance of new stablecoins in exchange for GBYTE is completely reversible since the exchange rate is fixed.

So, each stablecoin has two distinct periods: before the expiry and after the expiry (the “after-life”).

After the expiry, no new loans are issued but old ones can still be repaid. The stablecoin’s exchange rate is fixed to GBYTE (or whatever was used as collateral), its price trajectory is identical to that of GBYTE, and therefore the stablecoin is no longer stable in its after-life.

Before the expiry, everybody knows that a USD-linked stablecoin will be exchangeable for $1 worth of GBYTEs at some future date, and a BTC-linked stablecoin will be exchangeable for 1 BTC worth of GBYTEs at some future date. Essentially, the stablecoin’s present price is pulled to its future value. This is similar to how the current prices of futures contracts are pulled to (but not necessarily equal to) the traders’ expectations about the future price of the traded commodity on the contract’s expiry date.

We expect that this pulling mechanism will keep the price of stablecoin aligned with the benchmark price, but not equal to it. This does not become equal because by buying 1 USD-linked stablecoin today you are buying $1 at some future date, not now. And $1 today is not the same as $1 next year due to the time value of money. So, it will be fair to pay less than $1 for a coin that is only redeemable for $1 in 1 year just like you would pay less for something you only get in the distant future. How much less, depends on active interest rates in the benchmark currency, which are normally positive for fiat currencies (but not now, when major currencies have 0 or even negative interest rates).

This is why such a stablecoin should trade with a discount to its benchmark, and explains the name “Discount Stablecoin”. The discount should be larger when further away from the Expiry Date, and should gradually decrease as the stablecoin approaches its Expiry Date. So, the price trajectory of a discount stablecoin should look like this:

This is exactly the same as the price trajectory of a zero-coupon bond.

Everything that is known about zero-coupon bonds as an investment instrument applies to Discount Stablecoins too. In particular, the prices of long-term Discount Stablecoins are very sensitive to changes in the interest rate and therefore can be used to immunize the interest rate risk of long-term liabilities.

Pros and cons

The ability to make money is the main benefit of a Discount Stablecoin. One cannot make money by holding any of the stablecoins that we’ve seen before — their value is constant (excluding some mild volatility). By holding Discount Stablecoins on the other hand, one has the potential to make money. This is achieved with little volatility, without wild price swings common for crypto, and with steady and slow appreciation, as expected from the above description of the value pegging mechanism.

There are risks however. This is a new unproven technology, there could be bugs, there could be wild market moves that could make it behave in unexpected ways (see the Risks section below). Higher risk justifies a larger discount, which translates to higher income for those who take it.

One downside of this stablecoin design is that it is not as stable as a classic stablecoin is supposed to be. Its market value relative to the benchmark is not 1:1 but changes, for example, from 0.95:1 to 1:1 over its lifetime, which is not convenient for a unit of account. However, the volatility of such a stablecoin is still significantly lower than that of regular cryptocurrencies, and when used as a medium of exchange, a small appreciation accrued during a short period of holding should not be a big issue. This allows us to still keep this design under the “stablecoin” category.

Another downside is that it expires, which makes it inconvenient as a store of value, unless the expiry period is really long, despite it still being good as a medium of exchange.

After expiry, the stablecoin loses stability and starts behaving like the collateral asset it was made from (usually, Bytes). Most holders of such stablecoins will not want to be exposed to volatility and will seek to sell the stablecoin before expiry. The best way to avoid this volatility is to trade it for another stablecoin that expires later.

The target audience

Similar to other crypto-backed stablecoins, the main driver of adoption is speculation.

Those who mint (borrow) stablecoins, do it to exchange the newly minted stablecoin for something else without selling their collateral.

For example, one might mint a USD-linked stablecoin while not having to sell their Bytes, thus essentially getting USD without sacrificing their Bytes. They could then exchange it for a gold-linked stablecoin if they speculate that the price of gold will go up. If the price of gold increases as they predicted, they could sell the gold stablecoin back for the USD stablecoin and subsequently repay the loan.

Or, mint a USD-coin and exchange it for a S&P-coin to take a long position in S&P. Or, vice versa, mint a S&P-coin and sell it for USD-coin in order to short S&P.

One could also mint $100 of a USD stablecoin by locking in $150 worth of collateral in GBYTEs and then use the $100 of USD stablecoin to buy GBYTEs, thus getting an exposure to $150 worth of GBYTEs for a net investment of $50 in GBYTE. That is, a 3x leveraged long position in GBYTEs (actually the leverage is slightly less than 3 because the borrowed stablecoin is discounted and 100 stablecoins can be sold for slightly less than $100 worth of GBYTEs).

These examples above are of positional traders. Note that none of them are trading their own capital. Instead, they are trading borrowed capital that they borrowed against GBYTE as collateral.

On the other hand, there are low-risk-tolerance investors who acquire Discount Stablecoins for the purpose of gaining profit with lower risk, though with lower potential ROI as well, by

acquiring them long before their Expiry Date with a large discount,

holding them for some time,

then selling with a smaller discount, i.e. at a higher price, thus earning some interest.

These two categories of investors have different yet complementary risk preferences. While the first group makes high-risk bets on the movement of prices, the second group earns interest in their favorable currency or asset, such as USD or BTC. For some assets, such as BTC, there are currently no options to earn interest without centralized custody. With Discount Stablecoins linked to these assets, we now get such options.

Note that the interest earned by those in the second category is implicitly paid for by the traders in the first category — when they mint a USD-linked stablecoin, they borrow a discounted coin that is worth, say, $0.95. By the time they close the position (repay the loan) the stablecoin will have already slightly appreciated and then they buy it from the market for, say, $0.96. The difference is small however, compared with the trader’s potential gain if their trade is profitable, but it is the price they have to pay for trading using borrowed money.

Although Discount Stablecoins are targeted at traders and investors, their activity eventually creates a few stable and liquid means of payment — for the rest of us.

The risks

Despite the built-in protections, there are still some things that can go wrong at a systemic level.

For example, though the large 150% initial collateral helps to protect against depreciation of the collateral asset the stablecoin AA holds, it is not a full guarantee.

When a loan’s collateralization ratio drops below a minimum set in the AA parameters (e.g. 120%) the loan is put on auction and, under most circumstances, will be recapitalized to a normal collateralization ratio. The possibility to lose a loan (with a 20% loss) if its collateralization ratio drops below the minimum and it’s put on auction, should make borrowers track their loans and refill the collateral before it gets too low.

However, if the price of the collateral asset drops too much and too fast, which is not often but can still happen, the borrowers might not have enough time to react and refill the collateral or the value of collateral can fall even below the corresponding value of stablecoins issued before the corresponding auction ends.

In such cases, the AA as a whole could become undercapitalized to back all the issued stablecoins, and the stablecoin would lose the peg. If the market price of the stablecoin drops too much below its benchmark, it might become profitable to buy the distressed stablecoins from the market to repay one’s loans and release the collateral which might be worth more. Such repayments would remove some of the stablecoins from circulation. Eventually, the market will find the price equilibrium, which will be below the benchmark, therefore the holders will lose part of their money under such circumstances. This risk factor they have to account for is part of the pricing mechanism for the stablecoin on the market.

No-governance

There are many parameters in the stablecoin AA that affect its behavior, and most importantly, security. However, we don’t know which parameter values are the best at the moment. That said, we do know that some of the most important parameters to take into consideration are: initial collateralization ratio, minimum collateralization ratio, auction period, and the oracle that reports the price.

Rather than trying to devise complex governance mechanisms that would allow the community to adjust these parameters in-flight, we chose, at least at this time, to have these parameters set once when an AA is created and stay immutable for its entire lifetime. Thus, to discover the optimal parameters, everyone will be able to launch a new stablecoin AA with any set of parameters, even with modified rules, and these various stablecoins will compete against each other in the open market. Since these stablecoins have a limited lifespan, the cost of mistakes can be minimized and the community will be able to learn from previous experience and improve the future generations of stablecoin AAs. This is evolution by forking, which has so far proved effective in crypto and in open source.

There are pros and cons to no-governance approach. Among the pros:

it is simple — there are no governance mechanisms that add complexity, increase the attack surface, and might fail;

it is fast to evolve, easy to experiment with, because there are no big stakes necessary;

it guarantees certainty about the rules of the game as no governance decisions can ever change them;

it doesn’t require any rent-seeking token (such as MKR) which often comes at a cost to the entire system;

it allows greater freedom of choice and doesn’t impose a one size that fits all.

The cons:

it is inflexible — there is no within-lifetime adaptability as adaptability is only in choice among the competing offerings and migration from one to another;

it causes fragmentation as there is no single stablecoin that everyone knows, instead there are many that can exist for any given asset or currency, of which some are illiquid.

As we get more experience, we might see some areas (e.g. some subset of parameters) that would benefit from some form of governance, but right now we are only at the start of the journey and don’t have any experience that would guide our decisions.

Another reason why Discount Stablecoins don’t need governance as much as DAI needs is exactly because they are discount-based. DAI loans are interest-bearing: one has to pay interest for using the borrowed money. There is no single interest rate that is right at all times because market conditions change, and thus the rate needs to be adjusted in response. This is why governance interventions are often necessary.

With Discount Stablecoins on the other hand, there is no explicit interest paid for borrowing stablecoins. Instead, the interest is paid implicitly, through discount, and the amount of this discount is wholly determined by the market. As market conditions change, the discount is automatically adjusted by the market (for example, should the Fed increase interest rates, the discount on USD-linked stablecoins will increase too), and it doesn’t need to be mediated by any governance body.

Curtain-up

Ostable.org is a website for creating new stablecoins and for various operations with them: minting, repaying the loans, participating in auctions, and exchanging to/from collateral after expiry.

Anyone can be a creator of a new stablecoin as there is only a simple form to fill out. A new stablecoin can be linked to any fiat currency, cryptocurrency, commodity, or index that is supported by an oracle. Currently, there are oracles that post the prices of fiat currencies, cryptocurrencies, and precious metals, and anyone can set up an oracle that posts any other prices or indexes. There is an example of oracle source code on github to start with.

Since this field is highly experimental and many things are likely to improve as we get experience, we recommend starting with shorter expiry periods, up to 1 year.

Each stablecoin is operated by its own AA, so their funds are segregated, and all AAs are parameterized AAs, i.e. they are all created from the same template (source code) and vary only by parameters.

Once issued, stablecoins can be traded on the ODEX decentralized exchange, and on the Oswap automated market maker when it launches.

For developers who want to try their hand in dapps, and receive some bounties, there are two small helper apps you are invited to build:

a bot that tracks all open loans and participates in auctions if any loan becomes undercollateralized;

a chatbot where users can register their addresses, and the bot will track the collateralization ratio of all loans opened under these addresses and notify users through chat messages (which are already delivered as push notifications to mobile wallets) whenever a loan’s collateralization ratio drops below some threshold. A link to the chatbot will be added on ostable.org.

If you are interested, contact us on Discord. The offers are open for two weeks. After that period, we may decide to develop the apps ourselves.