Before You Get Started on Part 5.
This was last updated on Feb 10th 2021, the latest version is always kept here.
Unlike the previous four parts of the course, you don't need a MetaMask wallet to do the DIY portion. You will need a few dollars to buy some stable coin with, ten dollars or euro should be enough. As a caveat, this section of the course is quite involved as Celo is an entire software platform, not just a cryptocurrency. I recommend reading the full article through once and then going back and picking out what you want to try for yourself. BTW, I own cGLD and some cUSD.
If you've missed Parts 1 - 4 of this course, here are the links:
- Part 1, Wallet Setup for DeFi.
- Part 2, Uniswap, a Decentralized Currency Exchange.
- Part 3, Lending Platforms.
- Part 4, Harvest.Finance, a Decentralized Hedge Fund.
- Part 5: Stablecoins & Celo.
Disclaimer: Crypto is still in its infancy and very high risk. I recommend setting the expectation that you will lose all of the money you invest as you're learning and treat it as an education. Throughout the mini-course, I will indicate the cryptos I hold myself, so at least - if you do copy me - I'll lose money if you do! This course is not investing advice, it is intended to teach you how DeFi works! You are reading these materials and taking any guided steps at your own risk. Crypto is technical and funds are easily lost if you are not careful with passwords as well as sending and receiving money to/from the right wallet addresses - not to mind bugs in nascent software platforms or bad actors. Learn with small amounts to minimise your risk.
Update June 2021: Disclaimer and Workaround for High Gas Costs.
Given the high transaction costs on Ethereum, it may be wise to learn instead on Binance Smart Chain or Celo - two blockchains I have used. One stablecoin on Binance Smart Chain is BUSD. On Celo there are many, including cUSD and cEUR.
Part 5, Stablecoins & Celo
Crypto's volatility problem
One criticism of crypto is that prices fluctuate too much to be useful. Stablecoins aim to get around this issue by pegging their value to fiat currencies such as the US dollar or the Euro. Broadly speaking, stablecoins can be split in two:
- Backed by real currency in a bank account. USD Coin (USDC) and Tether (TUSD) take this approach.
- Backed by other cryptocurrencies. Examples here are Dai and Celo US dollar (cUSD) - both pegged to the US dollar.
The benefit of the first approach is that the value of the stablecoin is easily maintained provided there is at least a matching amount of currency in bank accounts. On the downside, the platform has to keep fiat currency reserves in a bank account, which that risk and control are more centralised.
The second approach, by contrast, is more easily decentralised. In the Maker platform, participants submit a cryptocurrency (e.g. Bitcoin) to a smart contract (e.g. Bitcoin) and use that crypto to support the issuance of a stable coin (a stablecoin called Dai in the case of Maker). The downside of this approach is that the underlying cryptocurrency (e.g. Bitcoin) often fluctuates in value and may drop below the value of the stablecoin in circulation that it is meant to support (or "collateralise"). Platforms like Maker allow for some volatility and require participants to commit more in crypto value than the issued stable coin. For example, a protocol like Maker might require $5 worth of Bitcoin to be deposited in a smart contract in order to issue $1 worth of a stablecoin. However, if Bitcoin falls in value by a factor of 10, then there is only $0.5 worth of BTC backing the $1 stablecoin - and this is a problem.
Platforms such as Maker do have got provisions in place to start selling off the collateralising cryptocurrency (Bitcoin in the above example) if it's value falls. However, in the case of a rapid market crash, there is no guarantee that stablecoins backed by falling cryptos are safe. If platform reserves (used somewhat interchangeably with the word collateralisation) fall below the issued value of stablecoins, a sitution can arise where stable coins drop below $1.00 in value - known as "de-pegging". Once a stablecoin loses it's peg (i.e. drops more than a few cents away from a dollar in value) it can be very difficult to recover because owners of the crypto typically sell their holding asap before value drops further.
*Buying some stablecoins
Stablecoins generally aren't an appreciating investment. You take on the risks of the platform [go back to Part 2 to learn about risks] but the price is stable - so no appreciation! The purpose of Stablecoins is really to transact!
In order to be useful in transactions, it helps for a) the crypto price to be stable - hence we're talking about stablecoins, b) transaction fees to be low (a problem with stablecoins built on the Ethereum platform like USDC), and c) have an easy to use interface.
One stablecoin that scores well on these three fronts is cUSD, the Celo US dollar stablecoin, which is built on an independent blockchain protocol called Celo.
In Parts 1-4 of this course, you'll have used DeFi tokens such as Aave, USDC and FARM - all of which are built using the Ethereum software protocol. One huge problem right now is that transaction costs are insanely high on the Ethereum problem. As a solution, to create cUSD , Celo built their own independent protocol - originating from a hard fork of Ethereum but adapted in a number of key ways, including a move to proof of stake. You can read more about how Celo achieved these low transaction costs, but first - let's do some DIY and discover how Celo have nailed part c) I mentioned above - user design.
*Go to the app store on your phone and download the Valora App (which is part of the Celo ecosystem).
*Use the app to load a small amount of cUSD. You can do this with a debit card. One word of caution, while you can deposit cUSD right now, it's possible to withdraw that money to a bank account but less easy (you need to do it via an exchange or withdraw the funds by applying funds towards a wide selection of gift cards including Amazon, Walmart and Uber). So, don't put in more money than for testing unless you're happy to leave it there for some time or use it for transactions.
*Bonus* As of Feb 2021, there are rewards being paid for holding up to $500 worth of cUSD on the Valora app. To qualify, you just have to load money onto the app. The rewards are paid in Celo Gold (cGLD), which is the governance token for the platform.
*As a final step - because one of Celo's key features is that it can link your Celo wallet to your phone number - you can send a small amount of cUSD to one of your friends - even if they don't yet have the Valora app. Once they download the app, they'll be able to get the funds.
So, basically, Celo/Valora is like using Venmo, and fees are very low - about $0.001 for many transactions.
Why use Valora/Celo over Venmo?
Venmo is free you might say. Correct. Well, there are at least two benefits that may transpire as critical over the long term with Valora/Celo:
- The fees for merchants can be lower than charged by Stripe (~1% fee vs 2.9% for Stripe), and much lower if there is foreign exchange involved. Putting on my economics nerd hat, this saving should flow through to consumers from merchants in competitive markets (e.g. fuel, groceries, airline tickets).
- Valora can be used on a very basic phone - somewhat like how MPesa (a phone based payment system popular in Africa) - is used.
Celo as an early example of low transaction costs with Ethereum
When Celo was started, one of the problems to be solved was the high transaction fees of using the Ethereum network. One solution - and the current roadmap - for the Ethereum network is to move from proof of work (like Bitcoin currently is) to a proof of stake type of system.
In proof of work, decentralised computers solve long maths problems with brute force, and the solution serves as a form of key that allows the computer to make a transaction official (and earn rewards in return). It's hard for a bad actor to rewrite the history of transactions without controlling a very large portion of total computing power.
In proof of stake, you don't solve long maths problems, you just need to prove that you own a certain amount of crypto currency, and you get one vote per each unit of currency. This is much less energy intensive and can also allow for lower transaction costs. Vitalik Buterin has a more technical description of why proof of stake is an important step to take.
Well, Ethereum wasn't progressing fast enough, so Celo took a step ahead and developed an independent protocol using proof of stake, rather than proof of work, for consensus. This is quite a major engineering effort to undertake but, as you can see if you've tried Valora, the transaction fees are orders of magnitude lower on the Celo platform than on Ethereum. Indeed startups are now emerging that are building with Celo rather than Ethereum.
*Running a Celo Node
If you're ambitious, you can run a Celo node on your laptop. This basically entails getting a live feed of current transactions on the Celo network. By running a node, you can also vote on governance matters or in validating transactions using the proof of stake protocol (all with the help of celocli software). In the future, you'll also be able to get paid for running a node that serves people with low powered mobile phones that aren't powerful enough to directly interact with the blockchain by themselves.
*Instructions for running a full node are here: https://docs.celo.org/getting-started/mainnet/running-a-full-node-in-mainnet
If you're weak at coding (like me!), it will take some time - maybe half a day - to get this running. Take things slowly and get a programming friend on the phone! Find Celo on Discord and ask questions there as well.
Running a Celo Validator
If you're very ambitious, you can take a role on the Celo network to validate transactions. This means you're getting involved in the proof of stake aspects of the network. The barriers to doing this are relatively high:
- You need at least 20,000 cGLD tokens (about $65k USD worth as of Feb 2021) to even offer validator services.
- You need to operate the validator service on the Celo test network - without downtime - for one month before you can get approved on mainnet - the main network. This requires a reasonable level of software knowledge.
- You need to be elected as a validator - requiring votes from 2,000,000 cGLD as of Feb 2021. The most realistic approach to this is to make an application to Celo Foundation making the case as to why your involvement would strengthen the network.
- If you do get elected as a validator, you get paid about $75k per year in cUSD -tasty!
BTW, all of this is not something you do on a laptop. The typical approach would be to hire computing services with Amazon/Google/Microsoft web services and run the node remotely.
I haven't run a validator myself. However, I have found validator groups and I have delegated my votes to them for approval of transactions on the Celo network. They like that because it gives them the chance to be elected as validators (or consolidates their position), and when I vote (even if delegated) I get paid about 6% interest per year by the Celo protocol. Read on to try doing that.
First, a brief digression. There are two forms of votes on Celo. There are governance votes, where the network votes on changes to the protocol. There are also votes to elect validators who approve transactions on the Celo network. You don't get paid for governance votes. You do get a ~6% payment (annualised) if you use your votes in validator elections.
*Voting your CELO governance tokens (by proxy)
If you hold some cUSD in your Valora app, you'll start to receive some cGLD as an incentive for those holdings.
*To vote those tokens, you need to use a Ledger, which is a hardware wallet - it basically stores your crypto offline on a usb stick-like device.
*Once you get your Ledger device, you can transfer your cGLD from Valora onto your Ledger device.
*If you have at least 100 cGLD, then you can delegate the voting (but not the ownership or custody of the cGLD) to a validator like WOTrust. This is what I did.
*Next, you'll connect CeloTerminal with the active address on your Ledger device (you need to have your Ledger device connected to your computer to do this).
*Once you have your wallet address loaded onto CeloTerminal, you can proceed to "lock" your Celo - which is required in order to vote. Note that there is a timedelay of three days if you want to unlock that Celo.
*Lastly, to allow your Celo to be voted by WOTrust, you can navigate to "More Apps" and add the CeloVote app (which is now the preferred method over using the CeloVote.com web app):
The Stablecoin Quiz!
That brings us to the Part 5 quiz. If you enjoyed this mini-course, consider letting one or two more friends know about it, and also subscribing to Pinotio.com at the free level or at the premium level (if you want to get my investment portfolio updates).
Once you've clicked Submit on the quiz, scroll up to see your answers!