A Mutual Credit ERC20 — CIP for Celo
The ERC20 specification permanently altered landscape of cryptocurrency by making token creation easy and accessible to anyone with a basic knowledge of smart contract development. This proposal seeks to be the ERC20 of mutual credit.
Our CIP provides a mutual credit protocol and reference smart contract for any project on Celo to be able to use. It will allow a token system that implements ERC20 but behaves and is issued as a mutual credit currency. See our pull request to Celo here.
First, what is Mutual Credit:
Mutual Credit is a multilateral exchange network, in which endogenously created money serves a medium of exchange. Endogenous money comes into existence as a result of a transaction between two parties in the form of a corresponding credit and debit in the balances of the parties involved. As a result, the total amount of money deposits within the system always matches the total amount of deficits. While definitions may vary, such a credit system is considered to be fully mutual if debtors and creditors are essentially the same people and frequently switch roles. In other words, a network of people lending and borrowing together. The WIR Bank in Switzerland is the most successful example of a mutual credit network in practice, with 62,000 business members trading and lending amongst each other.
A mutual credit network begins its life-cycle in a zero-deposits state, in which no money exists within the system. At this stage, all participants are being assigned empty accounts which can be overdrafted up to a predetermined sum depending upon their creditworthiness and existing.
Money is introduced into the system once a participant, Alice, decides to purchase an item from another participant, Bob. To do so, Alice has to create a deficit on her account which will then appear as a deposit on Bob’s account.
The same way, Carol will have to overdraft her account to purchase an item/service from Alice, returning Alice’s balance to zero.
If Bob now decides to purchase an item/service from Carol, his deposits will be remitted to her, covering Carol’s deficit while returning both their balances to zero. At this stage the network returns to its equilibrium zero-deposits state in which no debts, and hence no money, exist within the system.
Money created via this mutual debt-cycle retains its value by the fact that each money-unit in existence is required by someone within the system to close their debt; hence the supply of money always entails matching demand. The global limits of this elastic money-supply are determined solely by the number of participants within the network and the amount of debt each of them is allowed to assume. Consequently, the so-created money supply continuously contracts and expands to meet the changing demand of the economy it serves.
Accounts are assigned a credit line by a party assuming responsibility for overall network solvency (the “issuer”), a role played by credit validators who stake a cryptoasset to back creditworthiness of the business. Accounts with a credit line may spend into being some amount of the mutual credit currency (e.g. rUSD) to other wallets/accounts that are whitelisted by the issuer. When an account having a negative balance receives a payment, the negative balance is repaid in that amount. If it is fully repaid, the balance rises into the positive. Positive balances implement the ERC20 specification and may be transferred at will.
Why Mutual Credit is Useful for Designing a Stable Coin
There are many discussions about manipulating supply in various ways to maintain the peg of a stablecoin. However, mutual credit is a simple and direct mechanism wherein the currency is a pure unit of account. Money comes into being as it is needed. When the system returns to a steady state, the money disappears back into potentiality. No central authority mints or controls issuance of the currency itself. As a unit of account without the difficulties and frictions of acquiring and using a currency with central issuance, it is ideally situated to become a primary medium of exchange for commerce.
Building a Mutual Credit Protocol
Mutual credit is a powerful primitive for a unique style of monetary system that has not had much traction on the blockchain yet. We propose a protocol wherein a group can participate in a mutual credit system, either by creating their own mutual credit unit of account, or by collateralizing a token to gain the right to issue credit lines in rUSD, which will be interoperable.
We are currently building this mutual credit protocol and are currently launching with businesses in Asheville, NC and global networks of freelancers. Join our discord to collaborate!
Our Contracts for Mutual Credit On GitHub
Join ReSource Network (for Businesses)
POC App on Ethereum and Ethereum Mainnet rUSD contract
Written by: Julian Feder, Duke Jones, and Ashley Taylor